aboutsummaryrefslogtreecommitdiffstats
path: root/dist/user-status-modal-8299.js.map
blob: 0ed41a83a605ece618aefa39ecfe71cf998bc04d (plain)
1
{"version":3,"file":"user-status-modal-8299.js?v=3d7c84a277b700b090a4","mappings":"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","sources":["webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue?vue&type=style&index=0&id=bfc4d14a&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue?vue&type=style&index=0&id=ac7b15ee&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=style&index=0&id=342d77f0&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue?vue&type=style&index=0&id=4b860ca9&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=style&index=0&id=0473fee1&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/PreviousStatus.vue?vue&type=style&index=0&id=ba802d4c&prod&lang=scss&scoped=true&","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue?vue&type=style&index=0&id=45c621ba&prod&lang=scss&scoped=true&","webpack://nextcloud/./apps/user_status/src/components/SetStatusModal.vue?dc19","webpack:///nextcloud/apps/user_status/src/filters/clearAtFilter.js","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatus.vue?7f0e","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatus.vue?159c","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatus.vue?74a5","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatusesList.vue?485b","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatusesList.vue?944d","webpack://nextcloud/./apps/user_status/src/components/PredefinedStatusesList.vue?26ad","webpack:///nextcloud/apps/user_status/src/components/PreviousStatus.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/PreviousStatus.vue","webpack://nextcloud/./apps/user_status/src/components/PreviousStatus.vue?ecd7","webpack://nextcloud/./apps/user_status/src/components/PreviousStatus.vue?e294","webpack://nextcloud/./apps/user_status/src/components/PreviousStatus.vue?a03f","webpack://nextcloud/./apps/user_status/src/components/CustomMessageInput.vue?d5a9","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue?vue&type=script&lang=js&","webpack://nextcloud/./apps/user_status/src/components/CustomMessageInput.vue?e84d","webpack://nextcloud/./apps/user_status/src/components/CustomMessageInput.vue?87a5","webpack://nextcloud/./apps/user_status/src/components/ClearAtSelect.vue?2c76","webpack:///nextcloud/apps/user_status/src/services/clearAtOptionsService.js","webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue","webpack://nextcloud/./apps/user_status/src/components/ClearAtSelect.vue?3e4c","webpack://nextcloud/./apps/user_status/src/components/ClearAtSelect.vue?b1cd","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue","webpack://nextcloud/./apps/user_status/src/components/OnlineStatusSelect.vue?f25e","webpack://nextcloud/./apps/user_status/src/components/OnlineStatusSelect.vue?1ac6","webpack://nextcloud/./apps/user_status/src/components/OnlineStatusSelect.vue?12b9","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue?vue&type=script&lang=js&","webpack:///nextcloud/apps/user_status/src/services/statusOptionsService.js","webpack://nextcloud/./apps/user_status/src/components/SetStatusModal.vue?6eac","webpack://nextcloud/./apps/user_status/src/components/SetStatusModal.vue?4fb2"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".clear-at-select[data-v-bfc4d14a]{display:flex;margin-bottom:10px;align-items:center}.clear-at-select__label[data-v-bfc4d14a]{margin-right:12px}.clear-at-select__select[data-v-bfc4d14a]{flex-grow:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/user_status/src/components/ClearAtSelect.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,yCACC,iBAAA,CAGD,0CACC,WAAA\",\"sourcesContent\":[\"\\n.clear-at-select {\\n\\tdisplay: flex;\\n\\tmargin-bottom: 10px;\\n\\talign-items: center;\\n\\n\\t&__label {\\n\\t\\tmargin-right: 12px;\\n\\t}\\n\\n\\t&__select {\\n\\t\\tflex-grow: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".custom-input[data-v-ac7b15ee]{display:flex;width:100%}.custom-input__emoji-button[data-v-ac7b15ee]{min-height:36px;padding:0;border:2px solid var(--color-border-maxcontrast);border-right:none;border-radius:var(--border-radius) 0 0 var(--border-radius)}.custom-input__emoji-button[data-v-ac7b15ee]:hover{border-color:var(--color-primary-element)}.custom-input__container[data-v-ac7b15ee]{width:100%}.custom-input__container input[data-v-ac7b15ee]{width:100%;margin:0;border-radius:0 var(--border-radius) var(--border-radius) 0}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/user_status/src/components/CustomMessageInput.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,YAAA,CACA,UAAA,CAEA,6CACC,eAAA,CACA,SAAA,CACA,gDAAA,CACA,iBAAA,CACA,2DAAA,CAEA,mDACC,yCAAA,CAIF,0CACC,UAAA,CAEA,gDACC,UAAA,CACA,QAAA,CACA,2DAAA\",\"sourcesContent\":[\"\\n.custom-input {\\n\\tdisplay: flex;\\n\\twidth: 100%;\\n\\n\\t&__emoji-button {\\n\\t\\tmin-height: 36px;\\n\\t\\tpadding: 0;\\n\\t\\tborder: 2px solid var(--color-border-maxcontrast);\\n\\t\\tborder-right: none;\\n\\t\\tborder-radius: var(--border-radius) 0 0 var(--border-radius);\\n\\n\\t\\t&:hover {\\n\\t\\t\\tborder-color: var(--color-primary-element);\\n\\t\\t}\\n\\t}\\n\\n\\t&__container {\\n\\t\\twidth: 100%;\\n\\n\\t\\tinput {\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\tmargin: 0;\\n\\t\\t\\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\\n\\t\\t}\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".user-status-online-select__label[data-v-342d77f0]{position:relative;display:block;margin:8px;padding:8px;padding-left:40px;border:2px solid var(--color-main-background);border-radius:var(--border-radius-large);background-color:var(--color-background-hover);background-position:8px center;background-size:24px}.user-status-online-select__label span[data-v-342d77f0],.user-status-online-select__label[data-v-342d77f0]{cursor:pointer}.user-status-online-select__label span[data-v-342d77f0]{position:absolute;top:calc(50% - 12px);left:8px;display:block;width:24px;height:24px}.user-status-online-select__input:checked+.user-status-online-select__label[data-v-342d77f0],.user-status-online-select__input:focus+.user-status-online-select__label[data-v-342d77f0],.user-status-online-select__label[data-v-342d77f0]:hover{border-color:var(--color-primary-element)}.user-status-online-select__label[data-v-342d77f0]:active{border-color:var(--color-border-dark)}.user-status-online-select__subline[data-v-342d77f0]{display:block;color:var(--color-text-lighter)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/user_status/src/components/OnlineStatusSelect.vue\"],\"names\":[],\"mappings\":\"AAMC,mDACC,iBAAA,CACA,aAAA,CACA,UANc,CAOd,WAPc,CAQd,iBAAA,CACA,6CAAA,CACA,wCAAA,CACA,8CAAA,CACA,8BAAA,CACA,oBAdU,CAgBV,2GAEC,cAAA,CAGD,wDACC,iBAAA,CACA,oBAAA,CACA,QAvBa,CAwBb,aAAA,CACA,UA1BS,CA2BT,WA3BS,CA+BX,iPAGC,yCAAA,CAGD,0DACC,qCAAA,CAGD,qDACC,aAAA,CACA,+BAAA\",\"sourcesContent\":[\"\\n@use 'sass:math';\\n$icon-size: 24px;\\n$label-padding: 8px;\\n\\n.user-status-online-select {\\n\\t&__label {\\n\\t\\tposition: relative;\\n\\t\\tdisplay: block;\\n\\t\\tmargin: $label-padding;\\n\\t\\tpadding: $label-padding;\\n\\t\\tpadding-left: $icon-size + $label-padding * 2;\\n\\t\\tborder: 2px solid var(--color-main-background);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t\\tbackground-position: $label-padding center;\\n\\t\\tbackground-size: $icon-size;\\n\\n\\t\\tspan,\\n\\t\\t& {\\n\\t\\t\\tcursor: pointer;\\n\\t\\t}\\n\\n\\t\\tspan {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: calc(50% - math.div($icon-size, 2));\\n\\t\\t\\tleft: $label-padding;\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\twidth: $icon-size;\\n\\t\\t\\theight: $icon-size;\\n\\t\\t}\\n\\t}\\n\\n\\t&__input:checked + &__label,\\n\\t&__input:focus + &__label,\\n\\t&__label:hover {\\n\\t\\tborder-color: var(--color-primary-element);\\n\\t}\\n\\n\\t&__label:active {\\n\\t\\tborder-color: var(--color-border-dark);\\n\\t}\\n\\n\\t&__subline {\\n\\t\\tdisplay: block;\\n\\t\\tcolor: var(--color-text-lighter);\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".predefined-status__label[data-v-4b860ca9]{display:flex;flex-wrap:nowrap;justify-content:flex-start;flex-basis:100%;border-radius:var(--border-radius);align-items:center;min-height:44px}.predefined-status__label--icon[data-v-4b860ca9]{flex-basis:40px;text-align:center}.predefined-status__label--message[data-v-4b860ca9]{font-weight:bold;padding:0 6px}.predefined-status__label--clear-at[data-v-4b860ca9]{color:var(--color-text-maxcontrast)}.predefined-status__label--clear-at[data-v-4b860ca9]::before{content:\\\" – \\\"}.predefined-status__input:checked+.predefined-status__label[data-v-4b860ca9],.predefined-status__input:focus+.predefined-status__label[data-v-4b860ca9],.predefined-status__label[data-v-4b860ca9]:hover{background-color:var(--color-background-hover)}.predefined-status__label[data-v-4b860ca9]:active{background-color:var(--color-background-dark)}\", \"\",{\"version\":3,\"sources\":[\"webpack://./PredefinedStatus.vue\",\"webpack://./apps/user_status/src/components/PredefinedStatus.vue\"],\"names\":[],\"mappings\":\"AAAA,2CCEC,YACC,CAAA,gBACA,CAAA,0BACA,CAAA,eACA,CAAA,kCACA,CAAA,kBACA,CAAA,eACA,CAAA,iDAEA,eACC,CAAA,iBACA,CAAA,oDAGD,gBACC,CAAA,aACA,CAAA,qDAGD,mCACC,CAAA,6DAEA,aACC,CAAA,yMAKH,8CAGC,CAAA,kDAGD,6CACC\",\"sourcesContent\":[\".predefined-status__label{display:flex;flex-wrap:nowrap;justify-content:flex-start;flex-basis:100%;border-radius:var(--border-radius);align-items:center;min-height:44px}.predefined-status__label--icon{flex-basis:40px;text-align:center}.predefined-status__label--message{font-weight:bold;padding:0 6px}.predefined-status__label--clear-at{color:var(--color-text-maxcontrast)}.predefined-status__label--clear-at::before{content:\\\" – \\\"}.predefined-status__input:checked+.predefined-status__label,.predefined-status__input:focus+.predefined-status__label,.predefined-status__label:hover{background-color:var(--color-background-hover)}.predefined-status__label:active{background-color:var(--color-background-dark)}\",\"\\n.predefined-status {\\n\\t&__label {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: nowrap;\\n\\t\\tjustify-content: flex-start;\\n\\t\\tflex-basis: 100%;\\n\\t\\tborder-radius: var(--border-radius);\\n\\t\\talign-items: center;\\n\\t\\tmin-height: 44px;\\n\\n\\t\\t&--icon {\\n\\t\\t\\tflex-basis: 40px;\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\n\\t\\t&--message {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tpadding: 0 6px;\\n\\t\\t}\\n\\n\\t\\t&--clear-at {\\n\\t\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tcontent: ' – ';\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&__input:checked + &__label,\\n\\t&__input:focus + &__label,\\n\\t&__label:hover {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\n\\t&__label:active {\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".predefined-statuses-list[data-v-0473fee1]{display:flex;flex-direction:column;margin-bottom:10px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/user_status/src/components/PredefinedStatusesList.vue\"],\"names\":[],\"mappings\":\"AACA,2CACC,YAAA,CACA,qBAAA,CACA,kBAAA\",\"sourcesContent\":[\"\\n.predefined-statuses-list {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tmargin-bottom: 10px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".predefined-status[data-v-ba802d4c]{display:flex;flex-wrap:nowrap;justify-content:flex-start;flex-basis:100%;border-radius:var(--border-radius);align-items:center;min-height:44px}.predefined-status[data-v-ba802d4c]:hover,.predefined-status[data-v-ba802d4c]:focus{background-color:var(--color-background-hover)}.predefined-status[data-v-ba802d4c]:active{background-color:var(--color-background-dark)}.predefined-status__icon[data-v-ba802d4c]{flex-basis:40px;text-align:center}.predefined-status__message[data-v-ba802d4c]{font-weight:bold;padding:0 6px}.predefined-status__clear-at[data-v-ba802d4c]{color:var(--color-text-maxcontrast)}.predefined-status__clear-at[data-v-ba802d4c]::before{content:\\\" – \\\"}.backup-status__reset-button[data-v-ba802d4c]{justify-content:flex-end;display:flex;flex-grow:1}\", \"\",{\"version\":3,\"sources\":[\"webpack://./PreviousStatus.vue\",\"webpack://./apps/user_status/src/components/PreviousStatus.vue\"],\"names\":[],\"mappings\":\"AAAA,oCCCA,YACC,CAAA,gBACA,CAAA,0BACA,CAAA,eACA,CAAA,kCACA,CAAA,kBACA,CAAA,eACA,CAAA,oFAEA,8CAEC,CAAA,2CAGD,6CACC,CAAA,0CAGD,eACC,CAAA,iBACA,CAAA,6CAGD,gBACC,CAAA,aACA,CAAA,8CAGD,mCACC,CAAA,sDAEA,aACC,CAAA,8CAKF,wBACC,CAAA,YACA,CAAA,WACA\",\"sourcesContent\":[\".predefined-status{display:flex;flex-wrap:nowrap;justify-content:flex-start;flex-basis:100%;border-radius:var(--border-radius);align-items:center;min-height:44px}.predefined-status:hover,.predefined-status:focus{background-color:var(--color-background-hover)}.predefined-status:active{background-color:var(--color-background-dark)}.predefined-status__icon{flex-basis:40px;text-align:center}.predefined-status__message{font-weight:bold;padding:0 6px}.predefined-status__clear-at{color:var(--color-text-maxcontrast)}.predefined-status__clear-at::before{content:\\\" – \\\"}.backup-status__reset-button{justify-content:flex-end;display:flex;flex-grow:1}\",\"\\n.predefined-status {\\n\\tdisplay: flex;\\n\\tflex-wrap: nowrap;\\n\\tjustify-content: flex-start;\\n\\tflex-basis: 100%;\\n\\tborder-radius: var(--border-radius);\\n\\talign-items: center;\\n\\tmin-height: 44px;\\n\\n\\t&:hover,\\n\\t&:focus {\\n\\t\\tbackground-color: var(--color-background-hover);\\n\\t}\\n\\n\\t&:active{\\n\\t\\tbackground-color: var(--color-background-dark);\\n\\t}\\n\\n\\t&__icon {\\n\\t\\tflex-basis: 40px;\\n\\t\\ttext-align: center;\\n\\t}\\n\\n\\t&__message {\\n\\t\\tfont-weight: bold;\\n\\t\\tpadding: 0 6px;\\n\\t}\\n\\n\\t&__clear-at {\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\n\\t\\t&::before {\\n\\t\\t\\tcontent: ' – ';\\n\\t\\t}\\n\\t}\\n}\\n.backup-status {\\n\\t&__reset-button {\\n\\t\\tjustify-content: flex-end;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-grow: 1;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".set-status-modal[data-v-45c621ba]{padding:8px 20px 20px 20px}.set-status-modal__header[data-v-45c621ba]{text-align:center;font-weight:bold;margin:15px 0}.set-status-modal__online-status[data-v-45c621ba]{display:grid;grid-template-columns:1fr 1fr}.set-status-modal__custom-input[data-v-45c621ba]{display:flex;width:100%;margin-bottom:10px}.set-status-modal__automation-hint[data-v-45c621ba]{display:flex;width:100%;margin-bottom:10px;color:var(--color-text-maxcontrast)}.set-status-modal .status-buttons[data-v-45c621ba]{display:flex;padding:3px;padding-left:0;gap:3px}@media only screen and (max-width: 500px){.set-status-modal__online-status[data-v-45c621ba]{grid-template-columns:none !important}}\", \"\",{\"version\":3,\"sources\":[\"webpack://./apps/user_status/src/components/SetStatusModal.vue\"],\"names\":[],\"mappings\":\"AAEA,mCACC,0BAAA,CAEA,2CACC,iBAAA,CACA,gBAAA,CACA,aAAA,CAGD,kDACC,YAAA,CACA,6BAAA,CAGD,iDACC,YAAA,CACA,UAAA,CACA,kBAAA,CAGD,oDACC,YAAA,CACA,UAAA,CACA,kBAAA,CACA,mCAAA,CAGD,mDACC,YAAA,CACA,WAAA,CACA,cAAA,CACA,OAAA,CAIF,0CACC,kDACC,qCAAA,CAAA\",\"sourcesContent\":[\"\\n\\n.set-status-modal {\\n\\tpadding: 8px 20px 20px 20px;\\n\\n\\t&__header {\\n\\t\\ttext-align: center;\\n\\t\\tfont-weight: bold;\\n\\t\\tmargin: 15px 0;\\n\\t}\\n\\n\\t&__online-status {\\n\\t\\tdisplay: grid;\\n\\t\\tgrid-template-columns: 1fr 1fr;\\n\\t}\\n\\n\\t&__custom-input {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-bottom: 10px;\\n\\t}\\n\\n\\t&__automation-hint {\\n\\t\\tdisplay: flex;\\n\\t\\twidth: 100%;\\n\\t\\tmargin-bottom: 10px;\\n\\t\\tcolor: var(--color-text-maxcontrast);\\n\\t}\\n\\n\\t.status-buttons {\\n\\t\\tdisplay: flex;\\n\\t\\tpadding: 3px;\\n\\t\\tpadding-left:0;\\n\\t\\tgap: 3px;\\n\\t}\\n}\\n\\n@media only screen and (max-width: 500px) {\\n\\t.set-status-modal__online-status {\\n\\t\\tgrid-template-columns: none !important;\\n\\t}\\n}\\n\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('NcModal',{attrs:{\"size\":\"normal\",\"title\":_vm.$t('user_status', 'Set status')},on:{\"close\":_vm.closeModal}},[_c('div',{staticClass:\"set-status-modal\"},[_c('div',{staticClass:\"set-status-modal__header\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('user_status', 'Online status')))])]),_vm._v(\" \"),_c('div',{staticClass:\"set-status-modal__online-status\",attrs:{\"role\":\"radiogroup\",\"aria-label\":_vm.$t('user_status', 'Online status')}},_vm._l((_vm.statuses),function(status){return _c('OnlineStatusSelect',_vm._b({key:status.type,attrs:{\"checked\":status.type === _vm.statusType},on:{\"select\":_vm.changeStatus}},'OnlineStatusSelect',status,false))}),1),_vm._v(\" \"),_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.saveStatus.apply(null, arguments)},\"reset\":_vm.clearStatus}},[_c('div',{staticClass:\"set-status-modal__header\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('user_status', 'Status message')))])]),_vm._v(\" \"),_c('div',{staticClass:\"set-status-modal__custom-input\"},[_c('CustomMessageInput',{ref:\"customMessageInput\",attrs:{\"icon\":_vm.icon,\"message\":_vm.editedMessage},on:{\"change\":_vm.setMessage,\"select-icon\":_vm.setIcon}})],1),_vm._v(\" \"),(_vm.hasBackupStatus)?_c('div',{staticClass:\"set-status-modal__automation-hint\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.$t('user_status', 'Your status was set automatically'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),(_vm.hasBackupStatus)?_c('PreviousStatus',{attrs:{\"icon\":_vm.backupIcon,\"message\":_vm.backupMessage},on:{\"select\":_vm.revertBackupFromServer}}):_vm._e(),_vm._v(\" \"),_c('PredefinedStatusesList',{attrs:{\"is-custom-status\":_vm.isCustomStatus},on:{\"select-status\":_vm.selectPredefinedMessage}}),_vm._v(\" \"),_c('ClearAtSelect',{attrs:{\"clear-at\":_vm.clearAt},on:{\"select-clear-at\":_vm.setClearAt}}),_vm._v(\" \"),_c('div',{staticClass:\"status-buttons\"},[_c('NcButton',{attrs:{\"wide\":true,\"type\":\"tertiary\",\"native-type\":\"reset\",\"aria-label\":_vm.$t('user_status', 'Clear status message'),\"disabled\":_vm.isSavingStatus}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.$t('user_status', 'Clear status message'))+\"\\n\\t\\t\\t\\t\")]),_vm._v(\" \"),_c('NcButton',{attrs:{\"wide\":true,\"type\":\"primary\",\"native-type\":\"submit\",\"aria-label\":_vm.$t('user_status', 'Set status message'),\"disabled\":_vm.isSavingStatus}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.$t('user_status', 'Set status message'))+\"\\n\\t\\t\\t\\t\")])],1)],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { translate as t } from '@nextcloud/l10n'\nimport moment from '@nextcloud/moment'\nimport { dateFactory } from '../services/dateService.js'\n\n/**\n * Formats a clearAt object to be human readable\n *\n * @param {object} clearAt The clearAt object\n * @return {string|null}\n */\nconst clearAtFilter = (clearAt) => {\n\tif (clearAt === null) {\n\t\treturn t('user_status', 'Don\\'t clear')\n\t}\n\n\tif (clearAt.type === 'end-of') {\n\t\tswitch (clearAt.time) {\n\t\tcase 'day':\n\t\t\treturn t('user_status', 'Today')\n\t\tcase 'week':\n\t\t\treturn t('user_status', 'This week')\n\n\t\tdefault:\n\t\t\treturn null\n\t\t}\n\t}\n\n\tif (clearAt.type === 'period') {\n\t\treturn moment.duration(clearAt.time * 1000).humanize()\n\t}\n\n\t// This is not an officially supported type\n\t// but only used internally to show the remaining time\n\t// in the Set Status Modal\n\tif (clearAt.type === '_time') {\n\t\tconst momentNow = moment(dateFactory())\n\t\tconst momentClearAt = moment(clearAt.time, 'X')\n\n\t\treturn moment.duration(momentNow.diff(momentClearAt)).humanize()\n\t}\n\n\treturn null\n}\n\nexport {\n\tclearAtFilter,\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatus.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2020 Georg Ehrke <oc.list@georgehrke.com>\n  - @author Georg Ehrke <oc.list@georgehrke.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n<template>\n\t<li class=\"predefined-status\">\n\t\t<input :id=\"id\"\n\t\t\tclass=\"hidden-visually predefined-status__input\"\n\t\t\ttype=\"radio\"\n\t\t\tname=\"predefined-status\"\n\t\t\t:checked=\"selected\"\n\t\t\t@change=\"select\">\n\t\t<label class=\"predefined-status__label\" :for=\"id\">\n\t\t\t<span aria-hidden=\"true\" class=\"predefined-status__label--icon\">\n\t\t\t\t{{ icon }}\n\t\t\t</span>\n\t\t\t<span class=\"predefined-status__label--message\">\n\t\t\t\t{{ message }}\n\t\t\t</span>\n\t\t\t<span class=\"predefined-status__label--clear-at\">\n\t\t\t\t{{ clearAt | clearAtFilter }}\n\t\t\t</span>\n\t\t</label>\n\t</li>\n</template>\n\n<script>\nimport { clearAtFilter } from '../filters/clearAtFilter.js'\n\nexport default {\n\tname: 'PredefinedStatus',\n\tfilters: {\n\t\tclearAtFilter,\n\t},\n\tprops: {\n\t\tmessageId: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tclearAt: {\n\t\t\ttype: Object,\n\t\t\trequired: false,\n\t\t\tdefault: null,\n\t\t},\n\t\tselected: {\n\t\t\ttype: Boolean,\n\t\t\trequired: false,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\tid() {\n\t\t\treturn `user-status-predefined-status-${this.messageId}`\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Emits an event when the user clicks the row\n\t\t */\n\t\tselect() {\n\t\t\tthis.$emit('select')\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.predefined-status {\n\t&__label {\n\t\tdisplay: flex;\n\t\tflex-wrap: nowrap;\n\t\tjustify-content: flex-start;\n\t\tflex-basis: 100%;\n\t\tborder-radius: var(--border-radius);\n\t\talign-items: center;\n\t\tmin-height: 44px;\n\n\t\t&--icon {\n\t\t\tflex-basis: 40px;\n\t\t\ttext-align: center;\n\t\t}\n\n\t\t&--message {\n\t\t\tfont-weight: bold;\n\t\t\tpadding: 0 6px;\n\t\t}\n\n\t\t&--clear-at {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t\t&::before {\n\t\t\t\tcontent: ' – ';\n\t\t\t}\n\t\t}\n\t}\n\n\t&__input:checked + &__label,\n\t&__input:focus + &__label,\n\t&__label:hover {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t&__label:active {\n\t\tbackground-color: var(--color-background-dark);\n\t}\n}\n</style>\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatus.vue?vue&type=style&index=0&id=4b860ca9&prod&lang=scss&scoped=true&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatus.vue?vue&type=style&index=0&id=4b860ca9&prod&lang=scss&scoped=true&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PredefinedStatus.vue?vue&type=template&id=4b860ca9&scoped=true&\"\nimport script from \"./PredefinedStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./PredefinedStatus.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PredefinedStatus.vue?vue&type=style&index=0&id=4b860ca9&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4b860ca9\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('li',{staticClass:\"predefined-status\"},[_c('input',{staticClass:\"hidden-visually predefined-status__input\",attrs:{\"id\":_vm.id,\"type\":\"radio\",\"name\":\"predefined-status\"},domProps:{\"checked\":_vm.selected},on:{\"change\":_vm.select}}),_vm._v(\" \"),_c('label',{staticClass:\"predefined-status__label\",attrs:{\"for\":_vm.id}},[_c('span',{staticClass:\"predefined-status__label--icon\",attrs:{\"aria-hidden\":\"true\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.icon)+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"predefined-status__label--message\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.message)+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"predefined-status__label--clear-at\"},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm._f(\"clearAtFilter\")(_vm.clearAt))+\"\\n\\t\\t\")])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - @copyright Copyright (c) 2020 Georg Ehrke <oc.list@georgehrke.com>\n  - @author Georg Ehrke <oc.list@georgehrke.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<ul v-if=\"statusesHaveLoaded\"\n\t\tclass=\"predefined-statuses-list\"\n\t\trole=\"radiogroup\"\n\t\t:aria-label=\"t('user_status', 'Predefined statuses')\">\n\t\t<PredefinedStatus v-for=\"status in predefinedStatuses\"\n\t\t\t:key=\"status.id\"\n\t\t\t:message-id=\"status.id\"\n\t\t\t:icon=\"status.icon\"\n\t\t\t:message=\"status.message\"\n\t\t\t:clear-at=\"status.clearAt\"\n\t\t\t:selected=\"!isCustomStatus && lastSelected === status.id\"\n\t\t\t@select=\"selectStatus(status)\" />\n\t</ul>\n\t<div v-else\n\t\tclass=\"predefined-statuses-list\">\n\t\t<div class=\"icon icon-loading-small\" />\n\t</div>\n</template>\n\n<script>\nimport PredefinedStatus from './PredefinedStatus.vue'\nimport { mapGetters, mapState } from 'vuex'\n\nexport default {\n\tname: 'PredefinedStatusesList',\n\tcomponents: {\n\t\tPredefinedStatus,\n\t},\n\tprops: {\n\t\t/** If the current selected status is a custom one */\n\t\tisCustomStatus: {\n\t\t\ttype: Boolean,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tlastSelected: null,\n\t\t}\n\t},\n\tcomputed: {\n\t\t...mapState({\n\t\t\tpredefinedStatuses: state => state.predefinedStatuses.predefinedStatuses,\n\t\t}),\n\t\t...mapGetters(['statusesHaveLoaded']),\n\t},\n\t/**\n\t * Loads all predefined statuses from the server\n\t * when this component is mounted\n\t */\n\tcreated() {\n\t\tthis.$store.dispatch('loadAllPredefinedStatuses')\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Emits an event when the user selects a status\n\t\t *\n\t\t * @param {object} status The selected status\n\t\t */\n\t\tselectStatus(status) {\n\t\t\tthis.lastSelected = status.id\n\t\t\tthis.$emit('select-status', status)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.predefined-statuses-list {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmargin-bottom: 10px;\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatusesList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatusesList.vue?vue&type=script&lang=js&\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatusesList.vue?vue&type=style&index=0&id=0473fee1&prod&lang=scss&scoped=true&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PredefinedStatusesList.vue?vue&type=style&index=0&id=0473fee1&prod&lang=scss&scoped=true&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PredefinedStatusesList.vue?vue&type=template&id=0473fee1&scoped=true&\"\nimport script from \"./PredefinedStatusesList.vue?vue&type=script&lang=js&\"\nexport * from \"./PredefinedStatusesList.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PredefinedStatusesList.vue?vue&type=style&index=0&id=0473fee1&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0473fee1\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.statusesHaveLoaded)?_c('ul',{staticClass:\"predefined-statuses-list\",attrs:{\"role\":\"radiogroup\",\"aria-label\":_vm.t('user_status', 'Predefined statuses')}},_vm._l((_vm.predefinedStatuses),function(status){return _c('PredefinedStatus',{key:status.id,attrs:{\"message-id\":status.id,\"icon\":status.icon,\"message\":status.message,\"clear-at\":status.clearAt,\"selected\":!_vm.isCustomStatus && _vm.lastSelected === status.id},on:{\"select\":function($event){return _vm.selectStatus(status)}}})}),1):_c('div',{staticClass:\"predefined-statuses-list\"},[_c('div',{staticClass:\"icon icon-loading-small\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PreviousStatus.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PreviousStatus.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2020 Georg Ehrke <oc.list@georgehrke.com>\n  - @author Georg Ehrke <oc.list@georgehrke.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n<template>\n\t<div class=\"predefined-status backup-status\"\n\t\ttabindex=\"0\"\n\t\t@keyup.enter=\"select\"\n\t\t@keyup.space=\"select\"\n\t\t@click=\"select\">\n\t\t<span class=\"predefined-status__icon\">\n\t\t\t{{ icon }}\n\t\t</span>\n\t\t<span class=\"predefined-status__message\">\n\t\t\t{{ message }}\n\t\t</span>\n\t\t<span class=\"predefined-status__clear-at\">\n\t\t\t{{ $t('user_status', 'Previously set') }}\n\t\t</span>\n\n\t\t<div class=\"backup-status__reset-button\">\n\t\t\t<NcButton @click=\"select\">\n\t\t\t\t{{ $t('user_status', 'Reset status') }}\n\t\t\t</NcButton>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\n\nexport default {\n\tname: 'PreviousStatus',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\ticon: {\n\t\t\ttype: [String, null],\n\t\t\trequired: true,\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Emits an event when the user clicks the row\n\t\t */\n\t\tselect() {\n\t\t\tthis.$emit('select')\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.predefined-status {\n\tdisplay: flex;\n\tflex-wrap: nowrap;\n\tjustify-content: flex-start;\n\tflex-basis: 100%;\n\tborder-radius: var(--border-radius);\n\talign-items: center;\n\tmin-height: 44px;\n\n\t&:hover,\n\t&:focus {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t&:active{\n\t\tbackground-color: var(--color-background-dark);\n\t}\n\n\t&__icon {\n\t\tflex-basis: 40px;\n\t\ttext-align: center;\n\t}\n\n\t&__message {\n\t\tfont-weight: bold;\n\t\tpadding: 0 6px;\n\t}\n\n\t&__clear-at {\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&::before {\n\t\t\tcontent: ' – ';\n\t\t}\n\t}\n}\n.backup-status {\n\t&__reset-button {\n\t\tjustify-content: flex-end;\n\t\tdisplay: flex;\n\t\tflex-grow: 1;\n\t}\n}\n</style>\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PreviousStatus.vue?vue&type=style&index=0&id=ba802d4c&prod&lang=scss&scoped=true&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PreviousStatus.vue?vue&type=style&index=0&id=ba802d4c&prod&lang=scss&scoped=true&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./PreviousStatus.vue?vue&type=template&id=ba802d4c&scoped=true&\"\nimport script from \"./PreviousStatus.vue?vue&type=script&lang=js&\"\nexport * from \"./PreviousStatus.vue?vue&type=script&lang=js&\"\nimport style0 from \"./PreviousStatus.vue?vue&type=style&index=0&id=ba802d4c&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ba802d4c\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"predefined-status backup-status\",attrs:{\"tabindex\":\"0\"},on:{\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.select.apply(null, arguments)},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"]))return null;return _vm.select.apply(null, arguments)}],\"click\":_vm.select}},[_c('span',{staticClass:\"predefined-status__icon\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.icon)+\"\\n\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"predefined-status__message\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.message)+\"\\n\\t\")]),_vm._v(\" \"),_c('span',{staticClass:\"predefined-status__clear-at\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.$t('user_status', 'Previously set'))+\"\\n\\t\")]),_vm._v(\" \"),_c('div',{staticClass:\"backup-status__reset-button\"},[_c('NcButton',{on:{\"click\":_vm.select}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('user_status', 'Reset status'))+\"\\n\\t\\t\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"custom-input\",attrs:{\"role\":\"group\"}},[_c('NcEmojiPicker',{attrs:{\"container\":\".custom-input\"},on:{\"select\":_vm.setIcon}},[_c('NcButton',{staticClass:\"custom-input__emoji-button\",attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('user_status', 'Emoji for your status message')}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.visibleIcon)+\"\\n\\t\\t\")])],1),_vm._v(\" \"),_c('div',{staticClass:\"custom-input__container\"},[_c('label',{staticClass:\"hidden-visually\",attrs:{\"for\":\"user_status_message\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('user_status', 'What is your status?'))+\"\\n\\t\\t\")]),_vm._v(\" \"),_c('input',{ref:\"input\",attrs:{\"id\":\"user_status_message\",\"maxlength\":\"80\",\"disabled\":_vm.disabled,\"placeholder\":_vm.$t('user_status', 'What is your status?'),\"type\":\"text\"},domProps:{\"value\":_vm.message},on:{\"input\":_vm.onChange}})])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - @copyright Copyright (c) 2020 Georg Ehrke <oc.list@georgehrke.com>\n  - @author Georg Ehrke <oc.list@georgehrke.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n<template>\n\t<div class=\"custom-input\" role=\"group\">\n\t\t<NcEmojiPicker container=\".custom-input\" @select=\"setIcon\">\n\t\t\t<NcButton type=\"tertiary\"\n\t\t\t\tclass=\"custom-input__emoji-button\"\n\t\t\t\t:aria-label=\"t('user_status', 'Emoji for your status message')\">\n\t\t\t\t{{ visibleIcon }}\n\t\t\t</NcButton>\n\t\t</NcEmojiPicker>\n\t\t<div class=\"custom-input__container\">\n\t\t\t<label class=\"hidden-visually\" for=\"user_status_message\">\n\t\t\t\t{{ t('user_status', 'What is your status?') }}\n\t\t\t</label>\n\t\t\t<input id=\"user_status_message\"\n\t\t\t\tref=\"input\"\n\t\t\t\tmaxlength=\"80\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:placeholder=\"$t('user_status', 'What is your status?')\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:value=\"message\"\n\t\t\t\t@input=\"onChange\">\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport NcEmojiPicker from '@nextcloud/vue/dist/Components/NcEmojiPicker.js'\n\nexport default {\n\tname: 'CustomMessageInput',\n\n\tcomponents: {\n\t\tNcButton,\n\t\tNcEmojiPicker,\n\t},\n\n\tprops: {\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\tdefault: '😀',\n\t\t},\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tdefault: () => '',\n\t\t},\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\temits: [\n\t\t'change',\n\t\t'submit',\n\t\t'icon-selected',\n\t],\n\n\tcomputed: {\n\t\t/**\n\t\t * Returns the user-set icon or a smiley in case no icon is set\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tvisibleIcon() {\n\t\t\treturn this.icon || '😀'\n\t\t},\n\t},\n\n\tmethods: {\n\t\tfocus() {\n\t\t\tthis.$refs.input.focus()\n\t\t},\n\n\t\t/**\n\t\t * Notifies the parent component about a changed input\n\t\t *\n\t\t * @param {Event} event The Change Event\n\t\t */\n\t\tonChange(event) {\n\t\t\tthis.$emit('change', event.target.value)\n\t\t},\n\n\t\tsetIcon(icon) {\n\t\t\tthis.$emit('select-icon', icon)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.custom-input {\n\tdisplay: flex;\n\twidth: 100%;\n\n\t&__emoji-button {\n\t\tmin-height: 36px;\n\t\tpadding: 0;\n\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\tborder-right: none;\n\t\tborder-radius: var(--border-radius) 0 0 var(--border-radius);\n\n\t\t&:hover {\n\t\t\tborder-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\t&__container {\n\t\twidth: 100%;\n\n\t\tinput {\n\t\t\twidth: 100%;\n\t\t\tmargin: 0;\n\t\t\tborder-radius: 0 var(--border-radius) var(--border-radius) 0;\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomMessageInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomMessageInput.vue?vue&type=script&lang=js&\"","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomMessageInput.vue?vue&type=style&index=0&id=ac7b15ee&prod&lang=scss&scoped=true&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomMessageInput.vue?vue&type=style&index=0&id=ac7b15ee&prod&lang=scss&scoped=true&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./CustomMessageInput.vue?vue&type=template&id=ac7b15ee&scoped=true&\"\nimport script from \"./CustomMessageInput.vue?vue&type=script&lang=js&\"\nexport * from \"./CustomMessageInput.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CustomMessageInput.vue?vue&type=style&index=0&id=ac7b15ee&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ac7b15ee\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"clear-at-select\"},[_c('label',{staticClass:\"clear-at-select__label\",attrs:{\"for\":\"clearStatus\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.$t('user_status', 'Clear status after'))+\"\\n\\t\")]),_vm._v(\" \"),_c('NcSelect',{staticClass:\"clear-at-select__select\",attrs:{\"input-id\":\"clearStatus\",\"options\":_vm.options,\"value\":_vm.option,\"clearable\":false,\"placement\":\"top\"},on:{\"option:selected\":_vm.select}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/**\n * Returns an array\n *\n * @return {object[]}\n */\nconst getAllClearAtOptions = () => {\n\treturn [{\n\t\tlabel: t('user_status', 'Don\\'t clear'),\n\t\tclearAt: null,\n\t}, {\n\t\tlabel: t('user_status', '30 minutes'),\n\t\tclearAt: {\n\t\t\ttype: 'period',\n\t\t\ttime: 1800,\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', '1 hour'),\n\t\tclearAt: {\n\t\t\ttype: 'period',\n\t\t\ttime: 3600,\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', '4 hours'),\n\t\tclearAt: {\n\t\t\ttype: 'period',\n\t\t\ttime: 14400,\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', 'Today'),\n\t\tclearAt: {\n\t\t\ttype: 'end-of',\n\t\t\ttime: 'day',\n\t\t},\n\t}, {\n\t\tlabel: t('user_status', 'This week'),\n\t\tclearAt: {\n\t\t\ttype: 'end-of',\n\t\t\ttime: 'week',\n\t\t},\n\t}]\n}\n\nexport {\n\tgetAllClearAtOptions,\n}\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.vue?vue&type=script&lang=js&\"","<!--\n  - @copyright Copyright (c) 2020 Georg Ehrke <oc.list@georgehrke.com>\n  - @author Georg Ehrke <oc.list@georgehrke.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<div class=\"clear-at-select\">\n\t\t<label class=\"clear-at-select__label\" for=\"clearStatus\">\n\t\t\t{{ $t('user_status', 'Clear status after') }}\n\t\t</label>\n\t\t<NcSelect input-id=\"clearStatus\"\n\t\t\tclass=\"clear-at-select__select\"\n\t\t\t:options=\"options\"\n\t\t\t:value=\"option\"\n\t\t\t:clearable=\"false\"\n\t\t\tplacement=\"top\"\n\t\t\t@option:selected=\"select\" />\n\t</div>\n</template>\n\n<script>\nimport NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'\nimport { getAllClearAtOptions } from '../services/clearAtOptionsService.js'\nimport { clearAtFilter } from '../filters/clearAtFilter.js'\n\nexport default {\n\tname: 'ClearAtSelect',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\tprops: {\n\t\tclearAt: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\tdata() {\n\t\treturn {\n\t\t\toptions: getAllClearAtOptions(),\n\t\t}\n\t},\n\tcomputed: {\n\t\t/**\n\t\t * Returns an object of the currently selected option\n\t\t *\n\t\t * @return {object}\n\t\t */\n\t\toption() {\n\t\t\treturn {\n\t\t\t\tclearAt: this.clearAt,\n\t\t\t\tlabel: clearAtFilter(this.clearAt),\n\t\t\t}\n\t\t},\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Triggered when the user selects a new option.\n\t\t *\n\t\t * @param {object=} option The new selected option\n\t\t */\n\t\tselect(option) {\n\t\t\tif (!option) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.$emit('select-clear-at', option.clearAt)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.clear-at-select {\n\tdisplay: flex;\n\tmargin-bottom: 10px;\n\talign-items: center;\n\n\t&__label {\n\t\tmargin-right: 12px;\n\t}\n\n\t&__select {\n\t\tflex-grow: 1;\n\t}\n}\n</style>\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.vue?vue&type=style&index=0&id=bfc4d14a&prod&lang=scss&scoped=true&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClearAtSelect.vue?vue&type=style&index=0&id=bfc4d14a&prod&lang=scss&scoped=true&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ClearAtSelect.vue?vue&type=template&id=bfc4d14a&scoped=true&\"\nimport script from \"./ClearAtSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./ClearAtSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ClearAtSelect.vue?vue&type=style&index=0&id=bfc4d14a&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"bfc4d14a\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnlineStatusSelect.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnlineStatusSelect.vue?vue&type=script&lang=js&\"","<!--\n - @copyright Copyright (c) 2020 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n<template>\n\t<div class=\"user-status-online-select\">\n\t\t<input :id=\"id\"\n\t\t\t:checked=\"checked\"\n\t\t\tclass=\"hidden-visually user-status-online-select__input\"\n\t\t\ttype=\"radio\"\n\t\t\tname=\"user-status-online\"\n\t\t\t@change=\"onChange\">\n\t\t<label :for=\"id\" class=\"user-status-online-select__label\">\n\t\t\t{{ label }}\n\t\t\t<span :class=\"icon\" aria-hidden=\"true\" role=\"img\" />\n\t\t\t<em class=\"user-status-online-select__subline\">{{ subline }}</em>\n\t\t</label>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'OnlineStatusSelect',\n\n\tprops: {\n\t\tchecked: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\ticon: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tsubline: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tid() {\n\t\t\treturn `user-status-online-status-${this.type}`\n\t\t},\n\t},\n\n\tmethods: {\n\t\tonChange() {\n\t\t\tthis.$emit('select', this.type)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@use 'sass:math';\n$icon-size: 24px;\n$label-padding: 8px;\n\n.user-status-online-select {\n\t&__label {\n\t\tposition: relative;\n\t\tdisplay: block;\n\t\tmargin: $label-padding;\n\t\tpadding: $label-padding;\n\t\tpadding-left: $icon-size + $label-padding * 2;\n\t\tborder: 2px solid var(--color-main-background);\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-background-hover);\n\t\tbackground-position: $label-padding center;\n\t\tbackground-size: $icon-size;\n\n\t\tspan,\n\t\t& {\n\t\t\tcursor: pointer;\n\t\t}\n\n\t\tspan {\n\t\t\tposition: absolute;\n\t\t\ttop: calc(50% - math.div($icon-size, 2));\n\t\t\tleft: $label-padding;\n\t\t\tdisplay: block;\n\t\t\twidth: $icon-size;\n\t\t\theight: $icon-size;\n\t\t}\n\t}\n\n\t&__input:checked + &__label,\n\t&__input:focus + &__label,\n\t&__label:hover {\n\t\tborder-color: var(--color-primary-element);\n\t}\n\n\t&__label:active {\n\t\tborder-color: var(--color-border-dark);\n\t}\n\n\t&__subline {\n\t\tdisplay: block;\n\t\tcolor: var(--color-text-lighter);\n\t}\n}\n\n</style>\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnlineStatusSelect.vue?vue&type=style&index=0&id=342d77f0&prod&lang=scss&scoped=true&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OnlineStatusSelect.vue?vue&type=style&index=0&id=342d77f0&prod&lang=scss&scoped=true&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./OnlineStatusSelect.vue?vue&type=template&id=342d77f0&scoped=true&\"\nimport script from \"./OnlineStatusSelect.vue?vue&type=script&lang=js&\"\nexport * from \"./OnlineStatusSelect.vue?vue&type=script&lang=js&\"\nimport style0 from \"./OnlineStatusSelect.vue?vue&type=style&index=0&id=342d77f0&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"342d77f0\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"user-status-online-select\"},[_c('input',{staticClass:\"hidden-visually user-status-online-select__input\",attrs:{\"id\":_vm.id,\"type\":\"radio\",\"name\":\"user-status-online\"},domProps:{\"checked\":_vm.checked},on:{\"change\":_vm.onChange}}),_vm._v(\" \"),_c('label',{staticClass:\"user-status-online-select__label\",attrs:{\"for\":_vm.id}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.label)+\"\\n\\t\\t\"),_c('span',{class:_vm.icon,attrs:{\"aria-hidden\":\"true\",\"role\":\"img\"}}),_vm._v(\" \"),_c('em',{staticClass:\"user-status-online-select__subline\"},[_vm._v(_vm._s(_vm.subline))])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n  - @copyright Copyright (c) 2020 Georg Ehrke <oc.list@georgehrke.com>\n  - @author Georg Ehrke <oc.list@georgehrke.com>\n  -\n  - @license GNU AGPL version 3 or any later version\n  -\n  - This program is free software: you can redistribute it and/or modify\n  - it under the terms of the GNU Affero General Public License as\n  - published by the Free Software Foundation, either version 3 of the\n  - License, or (at your option) any later version.\n  -\n  - This program is distributed in the hope that it will be useful,\n  - but WITHOUT ANY WARRANTY; without even the implied warranty of\n  - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n  - GNU Affero General Public License for more details.\n  -\n  - You should have received a copy of the GNU Affero General Public License\n  - along with this program. If not, see <http://www.gnu.org/licenses/>.\n  -\n  -->\n\n<template>\n\t<NcModal size=\"normal\"\n\t\t:title=\"$t('user_status', 'Set status')\"\n\t\t@close=\"closeModal\">\n\t\t<div class=\"set-status-modal\">\n\t\t\t<!-- Status selector -->\n\t\t\t<div class=\"set-status-modal__header\">\n\t\t\t\t<h2>{{ $t('user_status', 'Online status') }}</h2>\n\t\t\t</div>\n\t\t\t<div class=\"set-status-modal__online-status\"\n\t\t\t\trole=\"radiogroup\"\n\t\t\t\t:aria-label=\"$t('user_status', 'Online status')\">\n\t\t\t\t<OnlineStatusSelect v-for=\"status in statuses\"\n\t\t\t\t\t:key=\"status.type\"\n\t\t\t\t\tv-bind=\"status\"\n\t\t\t\t\t:checked=\"status.type === statusType\"\n\t\t\t\t\t@select=\"changeStatus\" />\n\t\t\t</div>\n\n\t\t\t<!-- Status message form -->\n\t\t\t<form @submit.prevent=\"saveStatus\" @reset=\"clearStatus\">\n\t\t\t\t<div class=\"set-status-modal__header\">\n\t\t\t\t\t<h2>{{ $t('user_status', 'Status message') }}</h2>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"set-status-modal__custom-input\">\n\t\t\t\t\t<CustomMessageInput ref=\"customMessageInput\"\n\t\t\t\t\t\t:icon=\"icon\"\n\t\t\t\t\t\t:message=\"editedMessage\"\n\t\t\t\t\t\t@change=\"setMessage\"\n\t\t\t\t\t\t@select-icon=\"setIcon\" />\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"hasBackupStatus\"\n\t\t\t\t\tclass=\"set-status-modal__automation-hint\">\n\t\t\t\t\t{{ $t('user_status', 'Your status was set automatically') }}\n\t\t\t\t</div>\n\t\t\t\t<PreviousStatus v-if=\"hasBackupStatus\"\n\t\t\t\t\t:icon=\"backupIcon\"\n\t\t\t\t\t:message=\"backupMessage\"\n\t\t\t\t\t@select=\"revertBackupFromServer\" />\n\t\t\t\t<PredefinedStatusesList :is-custom-status=\"isCustomStatus\" @select-status=\"selectPredefinedMessage\" />\n\t\t\t\t<ClearAtSelect :clear-at=\"clearAt\"\n\t\t\t\t\t@select-clear-at=\"setClearAt\" />\n\t\t\t\t<div class=\"status-buttons\">\n\t\t\t\t\t<NcButton :wide=\"true\"\n\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\tnative-type=\"reset\"\n\t\t\t\t\t\t:aria-label=\"$t('user_status', 'Clear status message')\"\n\t\t\t\t\t\t:disabled=\"isSavingStatus\">\n\t\t\t\t\t\t{{ $t('user_status', 'Clear status message') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t\t<NcButton :wide=\"true\"\n\t\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\t\tnative-type=\"submit\"\n\t\t\t\t\t\t:aria-label=\"$t('user_status', 'Set status message')\"\n\t\t\t\t\t\t:disabled=\"isSavingStatus\">\n\t\t\t\t\t\t{{ $t('user_status', 'Set status message') }}\n\t\t\t\t\t</NcButton>\n\t\t\t\t</div>\n\t\t\t</form>\n\t\t</div>\n\t</NcModal>\n</template>\n\n<script>\nimport { showError } from '@nextcloud/dialogs'\nimport NcModal from '@nextcloud/vue/dist/Components/NcModal.js'\nimport NcButton from '@nextcloud/vue/dist/Components/NcButton.js'\nimport { getAllStatusOptions } from '../services/statusOptionsService.js'\nimport OnlineStatusMixin from '../mixins/OnlineStatusMixin.js'\nimport PredefinedStatusesList from './PredefinedStatusesList.vue'\nimport PreviousStatus from './PreviousStatus.vue'\nimport CustomMessageInput from './CustomMessageInput.vue'\nimport ClearAtSelect from './ClearAtSelect.vue'\nimport OnlineStatusSelect from './OnlineStatusSelect.vue'\n\nexport default {\n\tname: 'SetStatusModal',\n\n\tcomponents: {\n\t\tClearAtSelect,\n\t\tCustomMessageInput,\n\t\tNcModal,\n\t\tOnlineStatusSelect,\n\t\tPredefinedStatusesList,\n\t\tPreviousStatus,\n\t\tNcButton,\n\t},\n\tmixins: [OnlineStatusMixin],\n\n\tdata() {\n\t\treturn {\n\t\t\tclearAt: null,\n\t\t\teditedMessage: '',\n\t\t\tisCustomStatus: true,\n\t\t\tisSavingStatus: false,\n\t\t\tstatuses: getAllStatusOptions(),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tmessageId() {\n\t\t\treturn this.$store.state.userStatus.messageId\n\t\t},\n\t\ticon() {\n\t\t\treturn this.$store.state.userStatus.icon\n\t\t},\n\t\tmessage() {\n\t\t\treturn this.$store.state.userStatus.message || ''\n\t\t},\n\t\thasBackupStatus() {\n\t\t\treturn this.messageId && (this.backupIcon || this.backupMessage)\n\t\t},\n\t\tbackupIcon() {\n\t\t\treturn this.$store.state.userBackupStatus.icon || ''\n\t\t},\n\t\tbackupMessage() {\n\t\t\treturn this.$store.state.userBackupStatus.message || ''\n\t\t},\n\n\t\tresetButtonText() {\n\t\t\tif (this.backupIcon && this.backupMessage) {\n\t\t\t\treturn this.$t('user_status', 'Reset status to \"{icon} {message}\"', {\n\t\t\t\t\ticon: this.backupIcon,\n\t\t\t\t\tmessage: this.backupMessage,\n\t\t\t\t})\n\t\t\t} else if (this.backupMessage) {\n\t\t\t\treturn this.$t('user_status', 'Reset status to \"{message}\"', {\n\t\t\t\t\tmessage: this.backupMessage,\n\t\t\t\t})\n\t\t\t} else if (this.backupIcon) {\n\t\t\t\treturn this.$t('user_status', 'Reset status to \"{icon}\"', {\n\t\t\t\t\ticon: this.backupIcon,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\treturn this.$t('user_status', 'Reset status')\n\t\t},\n\t},\n\n\twatch: {\n\t\tmessage: {\n\t\t\timmediate: true,\n\t\t\thandler(newValue) {\n\t\t\t\tthis.editedMessage = newValue\n\t\t\t},\n\t\t},\n\t},\n\n\t/**\n\t * Loads the current status when a user opens dialog\n\t */\n\tmounted() {\n\t\tthis.$store.dispatch('fetchBackupFromServer')\n\n\t\tif (this.$store.state.userStatus.clearAt !== null) {\n\t\t\tthis.clearAt = {\n\t\t\t\ttype: '_time',\n\t\t\t\ttime: this.$store.state.userStatus.clearAt,\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\t/**\n\t\t * Closes the Set Status modal\n\t\t */\n\t\tcloseModal() {\n\t\t\tthis.$emit('close')\n\t\t},\n\t\t/**\n\t\t * Sets a new icon\n\t\t *\n\t\t * @param {string} icon The new icon\n\t\t */\n\t\tsetIcon(icon) {\n\t\t\tthis.isCustomStatus = true\n\t\t\tthis.$store.dispatch('setCustomMessage', {\n\t\t\t\tmessage: this.message,\n\t\t\t\ticon,\n\t\t\t\tclearAt: this.clearAt,\n\t\t\t})\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$refs.customMessageInput.focus()\n\t\t\t})\n\t\t},\n\t\t/**\n\t\t * Sets a new message\n\t\t *\n\t\t * @param {string} message The new message\n\t\t */\n\t\tsetMessage(message) {\n\t\t\tthis.isCustomStatus = true\n\t\t\tthis.editedMessage = message\n\t\t},\n\t\t/**\n\t\t * Sets a new clearAt value\n\t\t *\n\t\t * @param {object} clearAt The new clearAt object\n\t\t */\n\t\tsetClearAt(clearAt) {\n\t\t\tthis.clearAt = clearAt\n\t\t},\n\t\t/**\n\t\t * Sets new icon/message/clearAt based on a predefined message\n\t\t *\n\t\t * @param {object} status The predefined status object\n\t\t */\n\t\tselectPredefinedMessage(status) {\n\t\t\tthis.isCustomStatus = false\n\t\t\tthis.clearAt = status.clearAt\n\t\t\tthis.$store.dispatch('setPredefinedMessage', {\n\t\t\t\tmessageId: status.id,\n\t\t\t\tclearAt: status.clearAt,\n\t\t\t})\n\t\t},\n\t\t/**\n\t\t * Saves the status and closes the\n\t\t *\n\t\t * @return {Promise<void>}\n\t\t */\n\t\tasync saveStatus() {\n\t\t\tif (this.isSavingStatus) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tthis.isSavingStatus = true\n\n\t\t\t\tif (this.isCustomStatus) {\n\t\t\t\t\tawait this.$store.dispatch('setCustomMessage', {\n\t\t\t\t\t\tmessage: this.editedMessage,\n\t\t\t\t\t\ticon: this.icon,\n\t\t\t\t\t\tclearAt: this.clearAt,\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tshowError(this.$t('user_status', 'There was an error saving the status'))\n\t\t\t\tconsole.debug(err)\n\t\t\t\tthis.isSavingStatus = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.isSavingStatus = false\n\t\t\tthis.closeModal()\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @return {Promise<void>}\n\t\t */\n\t\tasync clearStatus() {\n\t\t\ttry {\n\t\t\t\tthis.isSavingStatus = true\n\n\t\t\t\tawait this.$store.dispatch('clearMessage')\n\t\t\t} catch (err) {\n\t\t\t\tshowError(this.$t('user_status', 'There was an error clearing the status'))\n\t\t\t\tconsole.debug(err)\n\t\t\t\tthis.isSavingStatus = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.isSavingStatus = false\n\t\t\tthis.closeModal()\n\t\t},\n\t\t/**\n\t\t *\n\t\t * @return {Promise<void>}\n\t\t */\n\t\tasync revertBackupFromServer() {\n\t\t\ttry {\n\t\t\t\tthis.isSavingStatus = true\n\n\t\t\t\tawait this.$store.dispatch('revertBackupFromServer', {\n\t\t\t\t\tmessageId: this.messageId,\n\t\t\t\t})\n\t\t\t} catch (err) {\n\t\t\t\tshowError(this.$t('user_status', 'There was an error reverting the status'))\n\t\t\t\tconsole.debug(err)\n\t\t\t\tthis.isSavingStatus = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.isSavingStatus = false\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.set-status-modal {\n\tpadding: 8px 20px 20px 20px;\n\n\t&__header {\n\t\ttext-align: center;\n\t\tfont-weight: bold;\n\t\tmargin: 15px 0;\n\t}\n\n\t&__online-status {\n\t\tdisplay: grid;\n\t\tgrid-template-columns: 1fr 1fr;\n\t}\n\n\t&__custom-input {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tmargin-bottom: 10px;\n\t}\n\n\t&__automation-hint {\n\t\tdisplay: flex;\n\t\twidth: 100%;\n\t\tmargin-bottom: 10px;\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t.status-buttons {\n\t\tdisplay: flex;\n\t\tpadding: 3px;\n\t\tpadding-left:0;\n\t\tgap: 3px;\n\t}\n}\n\n@media only screen and (max-width: 500px) {\n\t.set-status-modal__online-status {\n\t\tgrid-template-columns: none !important;\n\t}\n}\n\n</style>\n","import mod from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetStatusModal.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetStatusModal.vue?vue&type=script&lang=js&\"","/**\n * @copyright Copyright (c) 2020 Georg Ehrke\n *\n * @author Georg Ehrke <oc.list@georgehrke.com>\n * @author Jan C. Borchardt <hey@jancborchardt.net>\n *\n * @license AGPL-3.0-or-later\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nimport { translate as t } from '@nextcloud/l10n'\n\n/**\n * Returns a list of all user-definable statuses\n *\n * @return {object[]}\n */\nconst getAllStatusOptions = () => {\n\treturn [{\n\t\ttype: 'online',\n\t\tlabel: t('user_status', 'Online'),\n\t\ticon: 'icon-user-status-online',\n\t}, {\n\t\ttype: 'away',\n\t\tlabel: t('user_status', 'Away'),\n\t\ticon: 'icon-user-status-away',\n\t}, {\n\t\ttype: 'dnd',\n\t\tlabel: t('user_status', 'Do not disturb'),\n\t\tsubline: t('user_status', 'Mute all notifications'),\n\t\ticon: 'icon-user-status-dnd',\n\n\t}, {\n\t\ttype: 'invisible',\n\t\tlabel: t('user_status', 'Invisible'),\n\t\tsubline: t('user_status', 'Appear offline'),\n\t\ticon: 'icon-user-status-invisible',\n\t}]\n}\n\nexport {\n\tgetAllStatusOptions,\n}\n","\n      import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n      import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n      import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n      import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n      import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n      import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n      import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetStatusModal.vue?vue&type=style&index=0&id=45c621ba&prod&lang=scss&scoped=true&\";\n      \n      \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n      options.insert = insertFn.bind(null, \"head\");\n    \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/sass-loader/dist/cjs.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetStatusModal.vue?vue&type=style&index=0&id=45c621ba&prod&lang=scss&scoped=true&\";\n       export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./SetStatusModal.vue?vue&type=template&id=45c621ba&scoped=true&\"\nimport script from \"./SetStatusModal.vue?vue&type=script&lang=js&\"\nexport * from \"./SetStatusModal.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SetStatusModal.vue?vue&type=style&index=0&id=45c621ba&prod&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"45c621ba\",\n  null\n  \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","clearAtFilter","clearAt","t","type","time","moment","humanize","momentNow","dateFactory","momentClearAt","diff","name","filters","props","messageId","String","required","icon","message","Object","default","selected","Boolean","computed","concat","methods","select","$emit","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","_vm","this","_c","_self","staticClass","attrs","domProps","on","_v","_s","_f","components","PredefinedStatus","isCustomStatus","data","lastSelected","mapState","predefinedStatuses","state","mapGetters","created","$store","dispatch","selectStatus","status","statusesHaveLoaded","_l","key","$event","NcButton","indexOf","_k","keyCode","apply","arguments","$t","NcEmojiPicker","disabled","emits","visibleIcon","focus","$refs","input","onChange","event","target","value","setIcon","ref","NcSelect","label","option","checked","subline","class","ClearAtSelect","CustomMessageInput","NcModal","OnlineStatusSelect","PredefinedStatusesList","PreviousStatus","mixins","OnlineStatusMixin","editedMessage","isSavingStatus","statuses","userStatus","hasBackupStatus","backupIcon","backupMessage","userBackupStatus","resetButtonText","watch","immediate","handler","newValue","mounted","closeModal","$nextTick","customMessageInput","setMessage","setClearAt","selectPredefinedMessage","err","showError","console","debug","_b","statusType","changeStatus","preventDefault","saveStatus","clearStatus","_e","revertBackupFromServer"],"sourceRoot":""}