0
0
Fork 0
mirror of https://github.com/nextcloud/server.git synced 2025-01-30 22:37:01 +00:00
nextcloud_server/dist/user-status-modal-5133.js.map
nextcloud-command f8de5a73a7 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-01-25 18:44:50 +00:00

1 line
No EOL
89 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"file":"user-status-modal-5133.js?v=c7469078ce2f9036eaa6","mappings":"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","sources":["webpack:///nextcloud/apps/user_status/src/components/ClearAtSelect.vue?vue&type=style&index=0&id=6393a13b&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/user_status/src/components/CustomMessageInput.vue?vue&type=style&index=0&id=3f943eb8&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/user_status/src/components/OnlineStatusSelect.vue?vue&type=style&index=0&id=67d79c18&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatus.vue?vue&type=style&index=0&id=0c9447c8&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/user_status/src/components/PredefinedStatusesList.vue?vue&type=style&index=0&id=d615b492&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/user_status/src/components/PreviousStatus.vue?vue&type=style&index=0&id=3ef181d9&prod&lang=scss&scoped=true","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue?vue&type=style&index=0&id=b1d9eb96&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?e2d7","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?e2ca","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?01d1","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?8b55","webpack://nextcloud/./apps/user_status/src/components/CustomMessageInput.vue?87a5","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?ab22","webpack://nextcloud/./apps/user_status/src/components/ClearAtSelect.vue?b1cd","webpack://nextcloud/./apps/user_status/src/components/ClearAtSelect.vue?2c76","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?7dde","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?vue&type=script&lang=js","webpack:///nextcloud/apps/user_status/src/components/SetStatusModal.vue","webpack:///nextcloud/apps/user_status/src/services/statusOptionsService.js","webpack://nextcloud/./apps/user_status/src/components/SetStatusModal.vue?e043","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-6393a13b]{display:flex;margin-bottom:10px;align-items:center}.clear-at-select__label[data-v-6393a13b]{margin-inline-end:12px}.clear-at-select__select[data-v-6393a13b]{flex-grow:1;min-width:215px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/user_status/src/components/ClearAtSelect.vue\"],\"names\":[],\"mappings\":\"AACA,kCACC,YAAA,CACA,kBAAA,CACA,kBAAA,CAEA,yCACC,sBAAA,CAGD,0CACC,WAAA,CACA,eAAA\",\"sourcesContent\":[\"\\n.clear-at-select {\\n\\tdisplay: flex;\\n\\tmargin-bottom: 10px;\\n\\talign-items: center;\\n\\n\\t&__label {\\n\\t\\tmargin-inline-end: 12px;\\n\\t}\\n\\n\\t&__select {\\n\\t\\tflex-grow: 1;\\n\\t\\tmin-width: 215px;\\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-3f943eb8]{display:flex;align-items:flex-end;gap:var(--default-grid-baseline);width:100%}.custom-input__container[data-v-3f943eb8]{width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/user_status/src/components/CustomMessageInput.vue\"],\"names\":[],\"mappings\":\"AACA,+BACC,YAAA,CACA,oBAAA,CACA,gCAAA,CACA,UAAA,CAEA,0CACC,UAAA\",\"sourcesContent\":[\"\\n.custom-input {\\n\\tdisplay: flex;\\n\\talign-items: flex-end;\\n\\tgap: var(--default-grid-baseline);\\n\\twidth: 100%;\\n\\n\\t&__container {\\n\\t\\twidth: 100%;\\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-67d79c18]{position:relative;display:block;margin:8px;padding:8px;padding-inline-start: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-67d79c18],.user-status-online-select__label[data-v-67d79c18]{cursor:pointer}.user-status-online-select__label span[data-v-67d79c18]{position:absolute;top:calc(50% - 10px);inset-inline-start:10px;display:block;width:24px;height:24px}.user-status-online-select__input:checked+.user-status-online-select__label[data-v-67d79c18]{outline:2px solid var(--color-main-text);box-shadow:0 0 0 4px var(--color-main-background)}.user-status-online-select__input:focus-visible+.user-status-online-select__label[data-v-67d79c18]{outline:2px solid var(--color-primary-element) !important}.user-status-online-select__subline[data-v-67d79c18]{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,yBAAA,CACA,6CAAA,CACA,wCAAA,CACA,8CAAA,CACA,8BAAA,CACA,oBAdU,CAgBV,2GAEC,cAAA,CAGD,wDACC,iBAAA,CACA,oBAAA,CACA,uBAAA,CACA,aAAA,CACA,UA1BS,CA2BT,WA3BS,CA+BX,6FACC,wCAAA,CACA,iDAAA,CAGD,mGACC,yDAAA,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-inline-start: $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% - 10px);\\n\\t\\t\\tinset-inline-start: 10px;\\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\\toutline: 2px solid var(--color-main-text);\\n\\t\\tbox-shadow: 0 0 0 4px var(--color-main-background);\\n\\t}\\n\\n\\t&__input:focus-visible + &__label {\\n\\t\\toutline: 2px solid var(--color-primary-element) !important;\\n\\t}\\n\\n\\t&__subline {\\n\\t\\tdisplay: block;\\n\\t\\tcolor: var(--color-text-lighter);\\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-status__label[data-v-0c9447c8]{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-0c9447c8]{flex-basis:40px;text-align:center}.predefined-status__label--message[data-v-0c9447c8]{font-weight:bold;padding:0 6px}.predefined-status__label--clear-at[data-v-0c9447c8]{color:var(--color-text-maxcontrast)}.predefined-status__label--clear-at[data-v-0c9447c8]::before{content:\" \"}.predefined-status__input:checked+.predefined-status__label[data-v-0c9447c8],.predefined-status__label[data-v-0c9447c8]:active{outline:2px solid var(--color-main-text);box-shadow:0 0 0 4px var(--color-main-background);border-radius:var(--border-radius-large)}.predefined-status__input:focus-visible+.predefined-status__label[data-v-0c9447c8]{outline:2px solid var(--color-primary-element) !important;border-radius:var(--border-radius-large)}`, \"\",{\"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,+HAKH,wCAEC,CAAA,iDACA,CAAA,wCACA,CAAA,mFAGD,yDACC,CAAA,wCACA\",\"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__label:active{outline:2px solid var(--color-main-text);box-shadow:0 0 0 4px var(--color-main-background);border-radius:var(--border-radius-large)}.predefined-status__input:focus-visible+.predefined-status__label{outline:2px solid var(--color-primary-element) !important;border-radius:var(--border-radius-large)}\",\"\\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&__label:active {\\n\\t\\toutline: 2px solid var(--color-main-text);\\n\\t\\tbox-shadow: 0 0 0 4px var(--color-main-background);\\n\\t\\tborder-radius: var(--border-radius-large);\\n\\t}\\n\\n\\t&__input:focus-visible + &__label {\\n\\t\\toutline: 2px solid var(--color-primary-element) !important;\\n\\t\\tborder-radius: var(--border-radius-large);\\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-d615b492]{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-3ef181d9]{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-3ef181d9]:hover,.predefined-status[data-v-3ef181d9]:focus{background-color:var(--color-background-hover)}.predefined-status[data-v-3ef181d9]:active{background-color:var(--color-background-dark)}.predefined-status__icon[data-v-3ef181d9]{flex-basis:40px;text-align:center}.predefined-status__message[data-v-3ef181d9]{font-weight:bold;padding:0 6px}.predefined-status__clear-at[data-v-3ef181d9]{color:var(--color-text-maxcontrast)}.predefined-status__clear-at[data-v-3ef181d9]::before{content:\" \"}.backup-status__reset-button[data-v-3ef181d9]{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,8CAMF,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\\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-b1d9eb96]{padding:8px 20px 20px 20px}.set-status-modal__header[data-v-b1d9eb96]{font-size:21px;text-align:center;height:fit-content;min-height:var(--default-clickable-area);line-height:var(--default-clickable-area);overflow-wrap:break-word;margin-block:0 12px}.set-status-modal__online-status[data-v-b1d9eb96]{display:grid;grid-template-columns:1fr 1fr}.set-status-modal__custom-input[data-v-b1d9eb96]{display:flex;flex-direction:column;align-items:center;gap:var(--default-grid-baseline);width:100%;margin-bottom:10px}.set-status-modal__automation-hint[data-v-b1d9eb96]{display:flex;width:100%;margin-bottom:10px;color:var(--color-text-maxcontrast)}.set-status-modal .status-buttons[data-v-b1d9eb96]{display:flex;padding:3px;padding-inline-start:0;gap:3px}@media only screen and (max-width: 500px){.set-status-modal__online-status[data-v-b1d9eb96]{grid-template-columns:none !important}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/user_status/src/components/SetStatusModal.vue\"],\"names\":[],\"mappings\":\"AAEA,mCACC,0BAAA,CAEA,2CACC,cAAA,CACA,iBAAA,CACA,kBAAA,CACA,wCAAA,CACA,yCAAA,CACA,wBAAA,CACA,mBAAA,CAGD,kDACC,YAAA,CACA,6BAAA,CAGD,iDACC,YAAA,CACA,qBAAA,CACA,kBAAA,CACA,gCAAA,CACA,UAAA,CACA,kBAAA,CAGD,oDACC,YAAA,CACA,UAAA,CACA,kBAAA,CACA,mCAAA,CAGD,mDACC,YAAA,CACA,WAAA,CACA,sBAAA,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\\tfont-size: 21px;\\n\\t\\ttext-align: center;\\n\\t\\theight: fit-content;\\n\\t\\tmin-height: var(--default-clickable-area);\\n\\t\\tline-height: var(--default-clickable-area);\\n\\t\\toverflow-wrap: break-word;\\n\\t\\tmargin-block: 0 12px;\\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\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\t\\tgap: var(--default-grid-baseline);\\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-inline-start: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\",\"name\":_vm.$t('user_status', 'Set status'),\"aria-labelledby\":\"user_status-set-dialog\",\"set-return-focus\":_vm.setReturnFocus},on:{\"close\":_vm.closeModal}},[_c('div',{staticClass:\"set-status-modal\"},[_c('h2',{staticClass:\"set-status-modal__header\",attrs:{\"id\":\"user_status-set-dialog\"}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.$t('user_status', 'Online status'))+\"\\n\\t\\t\")]),_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('h3',{staticClass:\"set-status-modal__header\"},[_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.$t('user_status', 'Status message'))+\"\\n\\t\\t\\t\")]),_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}}),_vm._v(\" \"),(_vm.messageId === 'vacationing')?_c('NcButton',{attrs:{\"href\":_vm.absencePageUrl,\"target\":\"_blank\",\"type\":\"secondary\",\"aria-label\":_vm.$t('user_status', 'Set absence period')}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\"+_vm._s(_vm.$t('user_status', 'Set absence period and replacement') + ' ↗')+\"\\n\\t\\t\\t\\t\")]):_vm._e()],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',{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 * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\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 - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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&__label:active {\n\t\toutline: 2px solid var(--color-main-text);\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background);\n\t\tborder-radius: var(--border-radius-large);\n\t}\n\n\t&__input:focus-visible + &__label {\n\t\toutline: 2px solid var(--color-primary-element) !important;\n\t\tborder-radius: var(--border-radius-large);\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=0c9447c8&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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=0c9447c8&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=0c9447c8&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=0c9447c8&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 \"0c9447c8\",\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 - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<ul v-if=\"statusesHaveLoaded\"\n\t\tclass=\"predefined-statuses-list\"\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=\"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\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\tmessageId: state => state.userStatus.messageId,\n\t\t}),\n\t\t...mapGetters(['statusesHaveLoaded']),\n\t},\n\n\twatch: {\n\t\tmessageId: {\n\t\t immediate: true,\n\t\t handler() {\n\t\t\t this.lastSelected = this.messageId\n\t\t },\n\t },\n\t},\n\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=d615b492&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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=d615b492&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=d615b492&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=d615b492&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 \"d615b492\",\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:{\"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.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 - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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\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=3ef181d9&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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=3ef181d9&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=3ef181d9&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=3ef181d9&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 \"3ef181d9\",\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',{attrs:{\"type\":\"tertiary\",\"aria-label\":_vm.t('user_status', 'Emoji for your status message')},scopedSlots:_vm._u([{key:\"icon\",fn:function(){return [_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.visibleIcon)+\"\\n\\t\\t\\t\")]},proxy:true}])})],1),_vm._v(\" \"),_c('div',{staticClass:\"custom-input__container\"},[_c('NcTextField',{ref:\"input\",attrs:{\"maxlength\":\"80\",\"disabled\":_vm.disabled,\"placeholder\":_vm.t('user_status', 'What is your status?'),\"value\":_vm.message,\"type\":\"text\",\"label\":_vm.t('user_status', 'What is your status?')},on:{\"input\":_vm.onChange}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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\t:aria-label=\"t('user_status', 'Emoji for your status message')\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t{{ visibleIcon }}\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t</NcEmojiPicker>\n\t\t<div class=\"custom-input__container\">\n\t\t\t<NcTextField ref=\"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\t:value=\"message\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:label=\"t('user_status', 'What is your status?')\"\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'\nimport NcTextField from '@nextcloud/vue/dist/Components/NcTextField.js'\n\nexport default {\n\tname: 'CustomMessageInput',\n\n\tcomponents: {\n\t\tNcTextField,\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'select-icon',\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\talign-items: flex-end;\n\tgap: var(--default-grid-baseline);\n\twidth: 100%;\n\n\t&__container {\n\t\twidth: 100%;\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=3f943eb8&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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=3f943eb8&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=3f943eb8&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=3f943eb8&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 \"3f943eb8\",\n null\n \n)\n\nexport default component.exports","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\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 - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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-inline-end: 12px;\n\t}\n\n\t&__select {\n\t\tflex-grow: 1;\n\t\tmin-width: 215px;\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=6393a13b&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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=6393a13b&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=6393a13b&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=6393a13b&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 \"6393a13b\",\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 }","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 - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\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<NcUserStatusIcon :status=\"type\"\n\t\t\t\taria-hidden=\"true\" />\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>\nimport NcUserStatusIcon from '@nextcloud/vue/dist/Components/NcUserStatusIcon.js'\n\nexport default {\n\tname: 'OnlineStatusSelect',\n\n\tcomponents: {\n\t\tNcUserStatusIcon,\n\t},\n\n\tprops: {\n\t\tchecked: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\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-inline-start: $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% - 10px);\n\t\t\tinset-inline-start: 10px;\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\toutline: 2px solid var(--color-main-text);\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background);\n\t}\n\n\t&__input:focus-visible + &__label {\n\t\toutline: 2px solid var(--color-primary-element) !important;\n\t}\n\n\t&__subline {\n\t\tdisplay: block;\n\t\tcolor: var(--color-text-lighter);\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!./OnlineStatusSelect.vue?vue&type=style&index=0&id=67d79c18&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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=67d79c18&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=67d79c18&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=67d79c18&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 \"67d79c18\",\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('NcUserStatusIcon',{attrs:{\"status\":_vm.type,\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('em',{staticClass:\"user-status-online-select__subline\"},[_vm._v(_vm._s(_vm.subline))])],1)])\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!./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 - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<NcModal size=\"normal\"\n\t\t:name=\"$t('user_status', 'Set status')\"\n\t\taria-labelledby=\"user_status-set-dialog\"\n\t\t:set-return-focus=\"setReturnFocus\"\n\t\t@close=\"closeModal\">\n\t\t<div class=\"set-status-modal\">\n\t\t\t<!-- Status selector -->\n\t\t\t<h2 id=\"user_status-set-dialog\" class=\"set-status-modal__header\">\n\t\t\t\t{{ $t('user_status', 'Online status') }}\n\t\t\t</h2>\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<h3 class=\"set-status-modal__header\">\n\t\t\t\t\t{{ $t('user_status', 'Status message') }}\n\t\t\t\t</h3>\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\t<NcButton v-if=\"messageId === 'vacationing'\"\n\t\t\t\t\t\t:href=\"absencePageUrl\"\n\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t:aria-label=\"$t('user_status', 'Set absence period')\">\n\t\t\t\t\t\t{{ $t('user_status', 'Set absence period and replacement') + ' ↗' }}\n\t\t\t\t\t</NcButton>\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 @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 { generateUrl } from '@nextcloud/router'\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\tprops: {\n\t\t/**\n\t\t * Whether the component should be rendered as a Dashboard Status or a User Menu Entries\n\t\t * true = Dashboard Status\n\t\t * false = User Menu Entries\n\t\t */\n\t\tinline: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tclearAt: null,\n\t\t\teditedMessage: '',\n\t\t\tpredefinedMessageId: null,\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\tabsencePageUrl() {\n\t\t\treturn generateUrl('settings/user/availability#absence')\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\n\t\tsetReturnFocus() {\n\t\t\tif (this.inline) {\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\treturn document.querySelector('[aria-controls=\"header-menu-user-menu\"]') ?? undefined\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\tthis.predefinedMessageId = this.$store.state.userStatus.messageId\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.predefinedMessageId = null\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.predefinedMessageId = null\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.predefinedMessageId = status.id\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.predefinedMessageId === null) {\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} else {\n\t\t\t\t\tthis.$store.dispatch('setPredefinedMessage', {\n\t\t\t\t\t\tmessageId: this.predefinedMessageId,\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.predefinedMessageId = null\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\tthis.predefinedMessageId = this.$store.state.userStatus?.messageId\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\tfont-size: 21px;\n\t\ttext-align: center;\n\t\theight: fit-content;\n\t\tmin-height: var(--default-clickable-area);\n\t\tline-height: var(--default-clickable-area);\n\t\toverflow-wrap: break-word;\n\t\tmargin-block: 0 12px;\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\tflex-direction: column;\n\t\talign-items: center;\n\t\tgap: var(--default-grid-baseline);\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-inline-start: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","/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\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}, {\n\t\ttype: 'away',\n\t\tlabel: t('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}, {\n\t\ttype: 'invisible',\n\t\tlabel: t('user_status', 'Invisible'),\n\t\tsubline: t('user_status', 'Appear offline'),\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=b1d9eb96&prod&lang=scss&scoped=true\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\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=b1d9eb96&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=b1d9eb96&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=b1d9eb96&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 \"b1d9eb96\",\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","clearAtFilter","clearAt","t","type","time","moment","duration","humanize","momentNow","dateFactory","momentClearAt","diff","name","filters","props","messageId","String","required","icon","message","Object","default","selected","Boolean","computed","methods","select","$emit","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","staticClass","attrs","domProps","on","_v","_s","_f","components","PredefinedStatus","data","lastSelected","mapState","predefinedStatuses","state","userStatus","mapGetters","watch","immediate","handler","created","$store","dispatch","selectStatus","status","statusesHaveLoaded","_l","key","$event","NcButton","indexOf","_k","keyCode","apply","arguments","$t","NcTextField","NcEmojiPicker","disabled","emits","visibleIcon","focus","$refs","input","onChange","event","target","value","setIcon","scopedSlots","_u","fn","proxy","ref","NcSelect","label","option","NcUserStatusIcon","checked","subline","ClearAtSelect","CustomMessageInput","NcModal","OnlineStatusSelect","PredefinedStatusesList","PreviousStatus","mixins","OnlineStatusMixin","inline","editedMessage","predefinedMessageId","isSavingStatus","statuses","hasBackupStatus","backupIcon","backupMessage","userBackupStatus","absencePageUrl","generateUrl","resetButtonText","setReturnFocus","document","querySelector","undefined","newValue","mounted","closeModal","$nextTick","customMessageInput","setMessage","setClearAt","selectPredefinedMessage","saveStatus","err","showError","console","debug","clearStatus","revertBackupFromServer","_b","statusType","changeStatus","preventDefault","_e"],"sourceRoot":""}