@nextcloud/vue 8.24.0 → 8.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +43 -0
- package/README.md +2 -2
- package/dist/Components/NcActionButton.cjs +1 -1
- package/dist/Components/NcActionButton.mjs +1 -1
- package/dist/Components/NcActionButtonGroup.cjs +1 -1
- package/dist/Components/NcActionButtonGroup.mjs +1 -1
- package/dist/Components/NcActionInput.cjs +1 -1
- package/dist/Components/NcActionInput.mjs +1 -1
- package/dist/Components/NcActions.cjs +1 -1
- package/dist/Components/NcActions.mjs +1 -1
- package/dist/Components/NcAppContent.cjs +1 -1
- package/dist/Components/NcAppContent.mjs +1 -1
- package/dist/Components/NcAppNavigation.cjs +1 -1
- package/dist/Components/NcAppNavigation.mjs +1 -1
- package/dist/Components/NcAppNavigationCaption.cjs +1 -1
- package/dist/Components/NcAppNavigationCaption.mjs +1 -1
- package/dist/Components/NcAppNavigationItem.cjs +1 -1
- package/dist/Components/NcAppNavigationItem.mjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
- package/dist/Components/NcAppNavigationSearch.cjs +1 -1
- package/dist/Components/NcAppNavigationSearch.mjs +1 -1
- package/dist/Components/NcAppNavigationSettings.cjs +1 -1
- package/dist/Components/NcAppNavigationSettings.mjs +1 -1
- package/dist/Components/NcAppNavigationToggle.cjs +1 -1
- package/dist/Components/NcAppNavigationToggle.mjs +1 -1
- package/dist/Components/NcAppSettingsDialog.cjs +1 -1
- package/dist/Components/NcAppSettingsDialog.mjs +1 -1
- package/dist/Components/NcAppSidebar.cjs +1 -1
- package/dist/Components/NcAppSidebar.mjs +1 -1
- package/dist/Components/NcAvatar.cjs +1 -1
- package/dist/Components/NcAvatar.mjs +1 -1
- package/dist/Components/NcBreadcrumb.cjs +1 -1
- package/dist/Components/NcBreadcrumb.mjs +1 -1
- package/dist/Components/NcBreadcrumbs.cjs +1 -1
- package/dist/Components/NcBreadcrumbs.mjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
- package/dist/Components/NcChip.cjs +6 -6
- package/dist/Components/NcChip.cjs.map +1 -1
- package/dist/Components/NcChip.mjs +5 -5
- package/dist/Components/NcChip.mjs.map +1 -1
- package/dist/Components/NcCollectionList.cjs +1 -1
- package/dist/Components/NcCollectionList.mjs +1 -1
- package/dist/Components/NcColorPicker.cjs +1 -1
- package/dist/Components/NcColorPicker.mjs +1 -1
- package/dist/Components/NcContent.cjs +1 -1
- package/dist/Components/NcContent.mjs +1 -1
- package/dist/Components/NcDashboardWidget.cjs +1 -1
- package/dist/Components/NcDashboardWidget.mjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
- package/dist/Components/NcDateTime.cjs +1 -1
- package/dist/Components/NcDateTime.mjs +1 -1
- package/dist/Components/NcDateTimePicker.cjs +47 -21
- package/dist/Components/NcDateTimePicker.cjs.map +1 -1
- package/dist/Components/NcDateTimePicker.mjs +47 -21
- package/dist/Components/NcDateTimePicker.mjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.cjs +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +1 -1
- package/dist/Components/NcDialog.cjs +1 -1
- package/dist/Components/NcDialog.mjs +1 -1
- package/dist/Components/NcDialogButton.cjs +1 -1
- package/dist/Components/NcDialogButton.mjs +1 -1
- package/dist/Components/NcEmojiPicker.cjs +1 -1
- package/dist/Components/NcEmojiPicker.mjs +1 -1
- package/dist/Components/NcIconSvgWrapper.cjs +1 -1
- package/dist/Components/NcIconSvgWrapper.mjs +1 -1
- package/dist/Components/NcListItem.cjs +1 -1
- package/dist/Components/NcListItem.mjs +1 -1
- package/dist/Components/NcListItemIcon.cjs +1 -1
- package/dist/Components/NcListItemIcon.mjs +1 -1
- package/dist/Components/NcModal.cjs +21 -21
- package/dist/Components/NcModal.cjs.map +1 -1
- package/dist/Components/NcModal.mjs +21 -21
- package/dist/Components/NcModal.mjs.map +1 -1
- package/dist/Components/NcPasswordField.cjs +1 -1
- package/dist/Components/NcPasswordField.mjs +1 -1
- package/dist/Components/NcPopover.cjs +1 -1
- package/dist/Components/NcPopover.mjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
- package/dist/Components/NcRichContenteditable.cjs +1 -1
- package/dist/Components/NcRichContenteditable.mjs +1 -1
- package/dist/Components/NcRichText.cjs +2 -2
- package/dist/Components/NcRichText.mjs +3 -3
- package/dist/Components/NcSelect.cjs +1 -1
- package/dist/Components/NcSelect.mjs +1 -1
- package/dist/Components/NcSelectTags.cjs +1 -1
- package/dist/Components/NcSelectTags.mjs +1 -1
- package/dist/Components/NcSelectUsers.cjs +4 -0
- package/dist/Components/NcSelectUsers.cjs.map +1 -0
- package/dist/Components/NcSelectUsers.mjs +5 -0
- package/dist/Components/NcSelectUsers.mjs.map +1 -0
- package/dist/Components/NcSettingsInputText.cjs +1 -1
- package/dist/Components/NcSettingsInputText.mjs +1 -1
- package/dist/Components/NcSettingsSection.cjs +1 -1
- package/dist/Components/NcSettingsSection.mjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
- package/dist/Components/NcTextField.cjs +1 -1
- package/dist/Components/NcTextField.mjs +1 -1
- package/dist/Components/NcTimezonePicker.cjs +1 -1
- package/dist/Components/NcTimezonePicker.mjs +1 -1
- package/dist/Components/NcUserBubble.cjs +1 -1
- package/dist/Components/NcUserBubble.mjs +1 -1
- package/dist/Components/NcUserStatusIcon.cjs +1 -1
- package/dist/Components/NcUserStatusIcon.mjs +1 -1
- package/dist/Directives/Tooltip.cjs +1 -1
- package/dist/Directives/Tooltip.cjs.map +1 -1
- package/dist/Directives/Tooltip.mjs +4 -4
- package/dist/Directives/Tooltip.mjs.map +1 -1
- package/dist/Functions/reference.cjs +1 -1
- package/dist/Functions/reference.mjs +1 -1
- package/dist/Functions/usernameToColor.cjs +1 -1
- package/dist/Functions/usernameToColor.mjs +1 -1
- package/dist/assets/{NcAppContent-JfRwJlWK.css → NcAppContent-DswTJB9n.css} +4 -4
- package/dist/assets/{NcAvatar-Cc-2PM1F.css → NcAvatar-BvPk6o_F.css} +24 -24
- package/dist/assets/{NcDateTimePicker-D07hGMOZ.css → NcDateTimePicker-BY1UnUZM.css} +12 -12
- package/dist/assets/{NcIconSvgWrapper-BxyhLaB5.css → NcIconSvgWrapper-BiNW6Guv.css} +8 -4
- package/dist/assets/{NcModal-DXN1C02T.css → NcModal-BS5vtogq.css} +68 -69
- package/dist/assets/{NcPopover-DpakVVxI.css → NcPopover-CWwUNpmE.css} +9 -9
- package/dist/assets/{NcRichContenteditable-BV6g3dmd.css → NcRichContenteditable-CtPZudY6.css} +13 -10
- package/dist/assets/NcSelectUsers-BoxBQpbA.css +4 -0
- package/dist/assets/{Tooltip-DQ4Plm4r.css → Tooltip-C-QZMStp.css} +7 -9
- package/dist/chunks/{GenColors-CV4Niqso.cjs → GenColors-7bkY5Nwl.cjs} +2 -2
- package/dist/chunks/{GenColors-CV4Niqso.cjs.map → GenColors-7bkY5Nwl.cjs.map} +1 -1
- package/dist/chunks/{GenColors-NALDypHH.mjs → GenColors-S7frO84b.mjs} +2 -2
- package/dist/chunks/{GenColors-NALDypHH.mjs.map → GenColors-S7frO84b.mjs.map} +1 -1
- package/dist/chunks/{NcActionButton-ChQFsL4S.cjs → NcActionButton-CXeEXQLT.cjs} +37 -5
- package/dist/chunks/NcActionButton-CXeEXQLT.cjs.map +1 -0
- package/dist/chunks/{NcActionButton-BFxArTsE.mjs → NcActionButton-Gpv56vuS.mjs} +37 -5
- package/dist/chunks/NcActionButton-Gpv56vuS.mjs.map +1 -0
- package/dist/chunks/{NcActionButtonGroup-BSFS4BYN.cjs → NcActionButtonGroup-BMy3W9fG.cjs} +2 -2
- package/dist/chunks/{NcActionButtonGroup-BSFS4BYN.cjs.map → NcActionButtonGroup-BMy3W9fG.cjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-B5OcRwWQ.mjs → NcActionButtonGroup-BteTNhIn.mjs} +2 -2
- package/dist/chunks/{NcActionButtonGroup-B5OcRwWQ.mjs.map → NcActionButtonGroup-BteTNhIn.mjs.map} +1 -1
- package/dist/chunks/{NcActionInput-DghifYMn.cjs → NcActionInput-B-7FoLVy.cjs} +6 -6
- package/dist/chunks/{NcActionInput-DghifYMn.cjs.map → NcActionInput-B-7FoLVy.cjs.map} +1 -1
- package/dist/chunks/{NcActionInput-DXiL7Phe.mjs → NcActionInput-D-zf_ZR9.mjs} +6 -6
- package/dist/chunks/{NcActionInput-DXiL7Phe.mjs.map → NcActionInput-D-zf_ZR9.mjs.map} +1 -1
- package/dist/chunks/{NcActions-C_H0APKA.mjs → NcActions-Bkh3UMs3.mjs} +3 -3
- package/dist/chunks/{NcActions-C_H0APKA.mjs.map → NcActions-Bkh3UMs3.mjs.map} +1 -1
- package/dist/chunks/{NcActions-C_gPnk6X.cjs → NcActions-DFHXBqKC.cjs} +3 -3
- package/dist/chunks/{NcActions-C_gPnk6X.cjs.map → NcActions-DFHXBqKC.cjs.map} +1 -1
- package/dist/chunks/{NcAppContent-PC4RbdhU.cjs → NcAppContent-D__4-2XM.cjs} +8 -13
- package/dist/chunks/NcAppContent-D__4-2XM.cjs.map +1 -0
- package/dist/chunks/{NcAppContent-DiOscHZ8.mjs → NcAppContent-_x1Bvwg-.mjs} +8 -13
- package/dist/chunks/NcAppContent-_x1Bvwg-.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-B9Dd0YBs.cjs → NcAppNavigation-DBfTz6qV.cjs} +2 -2
- package/dist/chunks/{NcAppNavigation-B9Dd0YBs.cjs.map → NcAppNavigation-DBfTz6qV.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigation-DD1CfV7A.mjs → NcAppNavigation-H8Gvbq5E.mjs} +2 -2
- package/dist/chunks/{NcAppNavigation-DD1CfV7A.mjs.map → NcAppNavigation-H8Gvbq5E.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-8NN7iPkz.mjs → NcAppNavigationCaption-Dz7wVRDM.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationCaption-8NN7iPkz.mjs.map → NcAppNavigationCaption-Dz7wVRDM.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-CuKecXh9.cjs → NcAppNavigationCaption-Kjwx7t2O.cjs} +2 -2
- package/dist/chunks/{NcAppNavigationCaption-CuKecXh9.cjs.map → NcAppNavigationCaption-Kjwx7t2O.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-B2LzgJUC.cjs → NcAppNavigationItem-CHa42b-x.cjs} +6 -6
- package/dist/chunks/{NcAppNavigationItem-B2LzgJUC.cjs.map → NcAppNavigationItem-CHa42b-x.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-B50v2lmS.mjs → NcAppNavigationItem-Dpm3T1dA.mjs} +6 -6
- package/dist/chunks/{NcAppNavigationItem-B50v2lmS.mjs.map → NcAppNavigationItem-Dpm3T1dA.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-bRz_V5Y1.cjs → NcAppNavigationNewItem-BLek0JRU.cjs} +2 -2
- package/dist/chunks/{NcAppNavigationNewItem-bRz_V5Y1.cjs.map → NcAppNavigationNewItem-BLek0JRU.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-B7_0fFTF.mjs → NcAppNavigationNewItem-DGjgp78o.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationNewItem-B7_0fFTF.mjs.map → NcAppNavigationNewItem-DGjgp78o.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-B-HqHu3j.cjs → NcAppNavigationSearch-BblolNaS.cjs} +3 -3
- package/dist/chunks/{NcAppNavigationSearch-B-HqHu3j.cjs.map → NcAppNavigationSearch-BblolNaS.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-ChGonQL8.mjs → NcAppNavigationSearch-DTW6CtnU.mjs} +3 -3
- package/dist/chunks/{NcAppNavigationSearch-ChGonQL8.mjs.map → NcAppNavigationSearch-DTW6CtnU.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-9nG2gY_9.mjs → NcAppNavigationSettings-C0QuEMmn.mjs} +3 -3
- package/dist/chunks/{NcAppNavigationSettings-9nG2gY_9.mjs.map → NcAppNavigationSettings-C0QuEMmn.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-C--IJ1A2.cjs → NcAppNavigationSettings-lfJvt3vG.cjs} +3 -3
- package/dist/chunks/{NcAppNavigationSettings-C--IJ1A2.cjs.map → NcAppNavigationSettings-lfJvt3vG.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-FxOt_DlD.cjs → NcAppNavigationToggle-CUGOWggc.cjs} +2 -2
- package/dist/chunks/{NcAppNavigationToggle-FxOt_DlD.cjs.map → NcAppNavigationToggle-CUGOWggc.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-CJ5N3NI4.mjs → NcAppNavigationToggle-CjPJB2s3.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationToggle-CJ5N3NI4.mjs.map → NcAppNavigationToggle-CjPJB2s3.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsDialog-C2rBRxUv.mjs → NcAppSettingsDialog-Dl-kMSpe.mjs} +4 -4
- package/dist/chunks/{NcAppSettingsDialog-C2rBRxUv.mjs.map → NcAppSettingsDialog-Dl-kMSpe.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsDialog-CSLft-a9.cjs → NcAppSettingsDialog-K3yVenLs.cjs} +4 -4
- package/dist/chunks/{NcAppSettingsDialog-CSLft-a9.cjs.map → NcAppSettingsDialog-K3yVenLs.cjs.map} +1 -1
- package/dist/chunks/{NcAppSidebar-DVvZYd17.cjs → NcAppSidebar-Bmlid_Pa.cjs} +4 -4
- package/dist/chunks/{NcAppSidebar-DVvZYd17.cjs.map → NcAppSidebar-Bmlid_Pa.cjs.map} +1 -1
- package/dist/chunks/{NcAppSidebar-19hVcGhv.mjs → NcAppSidebar-DOJNq1iG.mjs} +4 -4
- package/dist/chunks/{NcAppSidebar-19hVcGhv.mjs.map → NcAppSidebar-DOJNq1iG.mjs.map} +1 -1
- package/dist/chunks/{NcAvatar--JVA_B6Y.cjs → NcAvatar-Bp1wPu2I.cjs} +12 -14
- package/dist/chunks/{NcAvatar--JVA_B6Y.cjs.map → NcAvatar-Bp1wPu2I.cjs.map} +1 -1
- package/dist/chunks/{NcAvatar-DwORvUjC.mjs → NcAvatar-DOvpF1gr.mjs} +12 -14
- package/dist/chunks/{NcAvatar-DwORvUjC.mjs.map → NcAvatar-DOvpF1gr.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-DPF3ELzz.mjs → NcBreadcrumb-1Gv4FRrG.mjs} +2 -2
- package/dist/chunks/{NcBreadcrumb-DPF3ELzz.mjs.map → NcBreadcrumb-1Gv4FRrG.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-B0ve-OJl.cjs → NcBreadcrumb-9pV_jqex.cjs} +2 -2
- package/dist/chunks/{NcBreadcrumb-B0ve-OJl.cjs.map → NcBreadcrumb-9pV_jqex.cjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-CL_IHuT9.mjs → NcBreadcrumbs-CwuR-hUE.mjs} +4 -4
- package/dist/chunks/{NcBreadcrumbs-CL_IHuT9.mjs.map → NcBreadcrumbs-CwuR-hUE.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-C_XQLT-h.cjs → NcBreadcrumbs-D4RrS0HT.cjs} +4 -4
- package/dist/chunks/{NcBreadcrumbs-C_XQLT-h.cjs.map → NcBreadcrumbs-D4RrS0HT.cjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch-DOxX6fqr.cjs → NcCheckboxRadioSwitch-DbK49DI7.cjs} +2 -2
- package/dist/chunks/{NcCheckboxRadioSwitch-DOxX6fqr.cjs.map → NcCheckboxRadioSwitch-DbK49DI7.cjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch-BaMf0PDd.mjs → NcCheckboxRadioSwitch-Di9rSADK.mjs} +2 -2
- package/dist/chunks/{NcCheckboxRadioSwitch-BaMf0PDd.mjs.map → NcCheckboxRadioSwitch-Di9rSADK.mjs.map} +1 -1
- package/dist/chunks/{NcCollectionList-DyZNTQFW.cjs → NcCollectionList-C3QKgLIe.cjs} +6 -6
- package/dist/chunks/{NcCollectionList-DyZNTQFW.cjs.map → NcCollectionList-C3QKgLIe.cjs.map} +1 -1
- package/dist/chunks/{NcCollectionList-iHUm6owG.mjs → NcCollectionList-D51FpJCr.mjs} +6 -6
- package/dist/chunks/{NcCollectionList-iHUm6owG.mjs.map → NcCollectionList-D51FpJCr.mjs.map} +1 -1
- package/dist/chunks/{NcColorPicker-CKIoVhox.cjs → NcColorPicker-9BNg5lJ0.cjs} +4 -4
- package/dist/chunks/{NcColorPicker-CKIoVhox.cjs.map → NcColorPicker-9BNg5lJ0.cjs.map} +1 -1
- package/dist/chunks/{NcColorPicker-av-NHSU7.mjs → NcColorPicker-sJKL33GV.mjs} +4 -4
- package/dist/chunks/{NcColorPicker-av-NHSU7.mjs.map → NcColorPicker-sJKL33GV.mjs.map} +1 -1
- package/dist/chunks/{NcContent-EFEXh_OO.cjs → NcContent-4X_oNYtW.cjs} +3 -3
- package/dist/chunks/{NcContent-EFEXh_OO.cjs.map → NcContent-4X_oNYtW.cjs.map} +1 -1
- package/dist/chunks/{NcContent-uiwRXAwA.mjs → NcContent-BHl5YDYI.mjs} +3 -3
- package/dist/chunks/{NcContent-uiwRXAwA.mjs.map → NcContent-BHl5YDYI.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-3kbcJvFx.cjs → NcDashboardWidget-B1och7uR.cjs} +4 -4
- package/dist/chunks/{NcDashboardWidget-3kbcJvFx.cjs.map → NcDashboardWidget-B1och7uR.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-DDaM0QjK.mjs → NcDashboardWidget-CioEwUfN.mjs} +4 -4
- package/dist/chunks/{NcDashboardWidget-DDaM0QjK.mjs.map → NcDashboardWidget-CioEwUfN.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-DOzM3reO.cjs → NcDashboardWidgetItem-BZPoOCWQ.cjs} +4 -4
- package/dist/chunks/{NcDashboardWidgetItem-DOzM3reO.cjs.map → NcDashboardWidgetItem-BZPoOCWQ.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-C44gZwCP.mjs → NcDashboardWidgetItem-D4EefvnL.mjs} +4 -4
- package/dist/chunks/{NcDashboardWidgetItem-C44gZwCP.mjs.map → NcDashboardWidgetItem-D4EefvnL.mjs.map} +1 -1
- package/dist/chunks/{NcDateTime-BfJVNppR.mjs → NcDateTime-BR6BBvML.mjs} +2 -2
- package/dist/chunks/{NcDateTime-BfJVNppR.mjs.map → NcDateTime-BR6BBvML.mjs.map} +1 -1
- package/dist/chunks/{NcDateTime-DNnBHGEQ.cjs → NcDateTime-C-kLQayi.cjs} +2 -2
- package/dist/chunks/{NcDateTime-DNnBHGEQ.cjs.map → NcDateTime-C-kLQayi.cjs.map} +1 -1
- package/dist/chunks/{NcDialog-DbCdhtw7.cjs → NcDialog-BjLJB7fW.cjs} +2 -2
- package/dist/chunks/{NcDialog-DbCdhtw7.cjs.map → NcDialog-BjLJB7fW.cjs.map} +1 -1
- package/dist/chunks/{NcDialog-D3Z5tp_6.mjs → NcDialog-D2lwwZL-.mjs} +2 -2
- package/dist/chunks/{NcDialog-D3Z5tp_6.mjs.map → NcDialog-D2lwwZL-.mjs.map} +1 -1
- package/dist/chunks/{NcDialogButton-BhPydgMe.mjs → NcDialogButton-BB56HcBl.mjs} +3 -3
- package/dist/chunks/{NcDialogButton-BhPydgMe.mjs.map → NcDialogButton-BB56HcBl.mjs.map} +1 -1
- package/dist/chunks/{NcDialogButton-CYsTKE2g.cjs → NcDialogButton-ByvLH63s.cjs} +3 -3
- package/dist/chunks/{NcDialogButton-CYsTKE2g.cjs.map → NcDialogButton-ByvLH63s.cjs.map} +1 -1
- package/dist/chunks/{NcEmojiPicker-C5HYxVqp.mjs → NcEmojiPicker-B49sJeMw.mjs} +7 -7
- package/dist/chunks/{NcEmojiPicker-C5HYxVqp.mjs.map → NcEmojiPicker-B49sJeMw.mjs.map} +1 -1
- package/dist/chunks/{NcEmojiPicker-DPHhky3J.cjs → NcEmojiPicker-DcTSImTm.cjs} +7 -7
- package/dist/chunks/{NcEmojiPicker-DPHhky3J.cjs.map → NcEmojiPicker-DcTSImTm.cjs.map} +1 -1
- package/dist/chunks/{NcIconSvgWrapper-B_eOG2sZ.cjs → NcIconSvgWrapper-BlucK1g3.cjs} +27 -16
- package/dist/chunks/NcIconSvgWrapper-BlucK1g3.cjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-CHmdAuhg.mjs → NcIconSvgWrapper-RKuZn260.mjs} +28 -17
- package/dist/chunks/NcIconSvgWrapper-RKuZn260.mjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-CvV0tE6s.mjs → NcInputConfirmCancel-CacBXLGS.mjs} +2 -2
- package/dist/chunks/{NcInputConfirmCancel-CvV0tE6s.mjs.map → NcInputConfirmCancel-CacBXLGS.mjs.map} +1 -1
- package/dist/chunks/{NcInputConfirmCancel-DRhv_CTt.cjs → NcInputConfirmCancel-lVLFwBA4.cjs} +2 -2
- package/dist/chunks/{NcInputConfirmCancel-DRhv_CTt.cjs.map → NcInputConfirmCancel-lVLFwBA4.cjs.map} +1 -1
- package/dist/chunks/{NcListItem-CA4CzIW8.mjs → NcListItem-BBTd7BLc.mjs} +2 -2
- package/dist/chunks/{NcListItem-CA4CzIW8.mjs.map → NcListItem-BBTd7BLc.mjs.map} +1 -1
- package/dist/chunks/{NcListItem-D5XlkLgC.cjs → NcListItem-D_mvsnph.cjs} +2 -2
- package/dist/chunks/{NcListItem-D5XlkLgC.cjs.map → NcListItem-D_mvsnph.cjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-DhENqcJ-.mjs → NcListItemIcon-B16M-aHV.mjs} +3 -3
- package/dist/chunks/{NcListItemIcon-DhENqcJ-.mjs.map → NcListItemIcon-B16M-aHV.mjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-DIJ0vvYv.cjs → NcListItemIcon-COUzDQI5.cjs} +3 -3
- package/dist/chunks/{NcListItemIcon-DIJ0vvYv.cjs.map → NcListItemIcon-COUzDQI5.cjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-DXJ93Wpz.cjs → NcPasswordField-BCzIotoB.cjs} +2 -2
- package/dist/chunks/{NcPasswordField-DXJ93Wpz.cjs.map → NcPasswordField-BCzIotoB.cjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-zMKko5oa.mjs → NcPasswordField-CTKHRVC4.mjs} +2 -2
- package/dist/chunks/{NcPasswordField-zMKko5oa.mjs.map → NcPasswordField-CTKHRVC4.mjs.map} +1 -1
- package/dist/chunks/{NcPopover-CA2Dalxs.cjs → NcPopover-BxLo6SFb.cjs} +2 -2
- package/dist/chunks/{NcPopover-CA2Dalxs.cjs.map → NcPopover-BxLo6SFb.cjs.map} +1 -1
- package/dist/chunks/{NcPopover-C9KlPo4Z.mjs → NcPopover-w98cBbbF.mjs} +2 -2
- package/dist/chunks/{NcPopover-C9KlPo4Z.mjs.map → NcPopover-w98cBbbF.mjs.map} +1 -1
- package/dist/chunks/{NcRelatedResourcesPanel-X4vhm8hy.cjs → NcRelatedResourcesPanel-B-y_Wan4.cjs} +5 -5
- package/dist/chunks/{NcRelatedResourcesPanel-X4vhm8hy.cjs.map → NcRelatedResourcesPanel-B-y_Wan4.cjs.map} +1 -1
- package/dist/chunks/{NcRelatedResourcesPanel-BxBE_1N3.mjs → NcRelatedResourcesPanel-CmiW_ds0.mjs} +5 -5
- package/dist/chunks/{NcRelatedResourcesPanel-BxBE_1N3.mjs.map → NcRelatedResourcesPanel-CmiW_ds0.mjs.map} +1 -1
- package/dist/chunks/{NcRichContenteditable-CC4jGcJn.cjs → NcRichContenteditable-ClHXIiXL.cjs} +12 -21
- package/dist/chunks/NcRichContenteditable-ClHXIiXL.cjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-Ct8cG0U6.mjs → NcRichContenteditable-zZQChT9M.mjs} +12 -21
- package/dist/chunks/NcRichContenteditable-zZQChT9M.mjs.map +1 -0
- package/dist/chunks/{NcRichText-h1RHm2bK.mjs → NcRichText-C43cKGcR.mjs} +3 -3
- package/dist/chunks/{NcRichText-h1RHm2bK.mjs.map → NcRichText-C43cKGcR.mjs.map} +1 -1
- package/dist/chunks/{NcRichText-Ck9Sk6wk.cjs → NcRichText-CMbtZkLP.cjs} +3 -3
- package/dist/chunks/{NcRichText-Ck9Sk6wk.cjs.map → NcRichText-CMbtZkLP.cjs.map} +1 -1
- package/dist/chunks/{NcSelect-vJq9dZPb.cjs → NcSelect-C9cGa-5v.cjs} +25 -8
- package/dist/chunks/NcSelect-C9cGa-5v.cjs.map +1 -0
- package/dist/chunks/{NcSelect-DrtYueu1.mjs → NcSelect-XLdUgokz.mjs} +25 -8
- package/dist/chunks/NcSelect-XLdUgokz.mjs.map +1 -0
- package/dist/chunks/{NcSelectTags-DvVm-C1N.cjs → NcSelectTags-B0rsXdxP.cjs} +3 -3
- package/dist/chunks/{NcSelectTags-DvVm-C1N.cjs.map → NcSelectTags-B0rsXdxP.cjs.map} +1 -1
- package/dist/chunks/{NcSelectTags--4zU4C41.mjs → NcSelectTags-DT2Y3Kms.mjs} +3 -3
- package/dist/chunks/{NcSelectTags--4zU4C41.mjs.map → NcSelectTags-DT2Y3Kms.mjs.map} +1 -1
- package/dist/chunks/NcSelectUsers-C-bbm2cW.cjs +187 -0
- package/dist/chunks/NcSelectUsers-C-bbm2cW.cjs.map +1 -0
- package/dist/chunks/NcSelectUsers-DFlj_h9t.mjs +188 -0
- package/dist/chunks/NcSelectUsers-DFlj_h9t.mjs.map +1 -0
- package/dist/chunks/{NcSettingsInputText-8EcoOEIo.cjs → NcSettingsInputText-BU1_SHOq.cjs} +3 -3
- package/dist/chunks/{NcSettingsInputText-8EcoOEIo.cjs.map → NcSettingsInputText-BU1_SHOq.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-DKscbkn_.mjs → NcSettingsInputText-t1FMnLKA.mjs} +3 -3
- package/dist/chunks/{NcSettingsInputText-DKscbkn_.mjs.map → NcSettingsInputText-t1FMnLKA.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-DW5u2qWg.cjs → NcSettingsSection-Dcdxs1IN.cjs} +2 -2
- package/dist/chunks/{NcSettingsSection-DW5u2qWg.cjs.map → NcSettingsSection-Dcdxs1IN.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-DP3xDXrA.mjs → NcSettingsSection-EC3SmiDX.mjs} +2 -2
- package/dist/chunks/{NcSettingsSection-DP3xDXrA.mjs.map → NcSettingsSection-EC3SmiDX.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-DHuru8HO.mjs → NcSettingsSelectGroup-B4isXyUU.mjs} +4 -4
- package/dist/chunks/{NcSettingsSelectGroup-DHuru8HO.mjs.map → NcSettingsSelectGroup-B4isXyUU.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-DmnTgIg5.cjs → NcSettingsSelectGroup-CE71MIQo.cjs} +4 -4
- package/dist/chunks/{NcSettingsSelectGroup-DmnTgIg5.cjs.map → NcSettingsSelectGroup-CE71MIQo.cjs.map} +1 -1
- package/dist/chunks/{NcTextField-DpLIIKYI.mjs → NcTextField-DRANdaIf.mjs} +3 -3
- package/dist/chunks/{NcTextField-DpLIIKYI.mjs.map → NcTextField-DRANdaIf.mjs.map} +1 -1
- package/dist/chunks/{NcTextField-rilWP68p.cjs → NcTextField-Uk5iD8o2.cjs} +3 -3
- package/dist/chunks/{NcTextField-rilWP68p.cjs.map → NcTextField-Uk5iD8o2.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-CQkZVQOW.cjs → NcTimezonePicker-BTyhPxMT.cjs} +4 -4
- package/dist/chunks/{NcTimezonePicker-CQkZVQOW.cjs.map → NcTimezonePicker-BTyhPxMT.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-CGuLj6Bs.mjs → NcTimezonePicker-sAG8kn1b.mjs} +4 -4
- package/dist/chunks/{NcTimezonePicker-CGuLj6Bs.mjs.map → NcTimezonePicker-sAG8kn1b.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-X7NIiLjg.mjs → NcUserBubble-DmZZOMRr.mjs} +3 -3
- package/dist/chunks/{NcUserBubble-X7NIiLjg.mjs.map → NcUserBubble-DmZZOMRr.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-Du4ecEXq.cjs → NcUserBubble-cX4wyq1_.cjs} +3 -3
- package/dist/chunks/{NcUserBubble-Du4ecEXq.cjs.map → NcUserBubble-cX4wyq1_.cjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-D1Mw6nKB.mjs → NcUserStatusIcon-WEKmuaoU.mjs} +3 -3
- package/dist/chunks/{NcUserStatusIcon-D1Mw6nKB.mjs.map → NcUserStatusIcon-WEKmuaoU.mjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-Cy942iqr.cjs → NcUserStatusIcon-cs42Lzdd.cjs} +3 -3
- package/dist/chunks/{NcUserStatusIcon-Cy942iqr.cjs.map → NcUserStatusIcon-cs42Lzdd.cjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-Dw8Duyxn.mjs → ScopeComponent-BaHwjQGQ.mjs} +2 -2
- package/dist/chunks/{ScopeComponent-Dw8Duyxn.mjs.map → ScopeComponent-BaHwjQGQ.mjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-Uz_pNcsJ.cjs → ScopeComponent-CqVh6vwk.cjs} +2 -2
- package/dist/chunks/{ScopeComponent-Uz_pNcsJ.cjs.map → ScopeComponent-CqVh6vwk.cjs.map} +1 -1
- package/dist/chunks/{_l10n-DINju8Lo.cjs → _l10n-BiiXtYiP.cjs} +22 -18
- package/dist/chunks/{_l10n-DINju8Lo.cjs.map → _l10n-BiiXtYiP.cjs.map} +1 -1
- package/dist/chunks/{_l10n-DKne-gFg.mjs → _l10n-Dt0m9Fxw.mjs} +70 -66
- package/dist/chunks/_l10n-Dt0m9Fxw.mjs.map +1 -0
- package/dist/chunks/mdi-CZJxQPz6.mjs +9 -0
- package/dist/chunks/mdi-CZJxQPz6.mjs.map +1 -0
- package/dist/chunks/mdi-Da9VuUVq.cjs +8 -0
- package/dist/chunks/mdi-Da9VuUVq.cjs.map +1 -0
- package/dist/chunks/{referencePickerModal-CIO6RuJz.cjs → referencePickerModal-BdK-_zC6.cjs} +6 -6
- package/dist/chunks/{referencePickerModal-CIO6RuJz.cjs.map → referencePickerModal-BdK-_zC6.cjs.map} +1 -1
- package/dist/chunks/{referencePickerModal-DTLuXI-A.mjs → referencePickerModal-Bxp4FMcs.mjs} +6 -6
- package/dist/chunks/{referencePickerModal-DTLuXI-A.mjs.map → referencePickerModal-Bxp4FMcs.mjs.map} +1 -1
- package/dist/chunks/{usernameToColor-DLOoqQAF.mjs → usernameToColor-DJfepfog.mjs} +2 -2
- package/dist/chunks/{usernameToColor-DLOoqQAF.mjs.map → usernameToColor-DJfepfog.mjs.map} +1 -1
- package/dist/chunks/{usernameToColor-BiO_8cQo.cjs → usernameToColor-mqInDrGv.cjs} +2 -2
- package/dist/chunks/{usernameToColor-BiO_8cQo.cjs.map → usernameToColor-mqInDrGv.cjs.map} +1 -1
- package/dist/index.cjs +48 -45
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +50 -47
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/chunks/ChevronLeft-BK4j9oVH.mjs +0 -38
- package/dist/chunks/ChevronLeft-BK4j9oVH.mjs.map +0 -1
- package/dist/chunks/ChevronLeft-CAiEPWc5.cjs +0 -37
- package/dist/chunks/ChevronLeft-CAiEPWc5.cjs.map +0 -1
- package/dist/chunks/NcActionButton-BFxArTsE.mjs.map +0 -1
- package/dist/chunks/NcActionButton-ChQFsL4S.cjs.map +0 -1
- package/dist/chunks/NcAppContent-DiOscHZ8.mjs.map +0 -1
- package/dist/chunks/NcAppContent-PC4RbdhU.cjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-B_eOG2sZ.cjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-CHmdAuhg.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-CC4jGcJn.cjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-Ct8cG0U6.mjs.map +0 -1
- package/dist/chunks/NcSelect-DrtYueu1.mjs.map +0 -1
- package/dist/chunks/NcSelect-vJq9dZPb.cjs.map +0 -1
- package/dist/chunks/_l10n-DKne-gFg.mjs.map +0 -1
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
require('../assets/NcSelectUsers-BoxBQpbA.css');
|
|
2
|
+
"use strict";
|
|
3
|
+
const Vue = require("vue");
|
|
4
|
+
const _l10n = require("./_l10n-BiiXtYiP.cjs");
|
|
5
|
+
const GenRandomId = require("./GenRandomId-BQDud3d4.cjs");
|
|
6
|
+
const NcListItemIcon = require("./NcListItemIcon-COUzDQI5.cjs");
|
|
7
|
+
const NcSelect = require("./NcSelect-C9cGa-5v.cjs");
|
|
8
|
+
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
9
|
+
_l10n.register(_l10n.t15, _l10n.t43);
|
|
10
|
+
const _sfc_main = {
|
|
11
|
+
__name: "NcSelectUsers",
|
|
12
|
+
props: {
|
|
13
|
+
/**
|
|
14
|
+
* `aria-label` for the clear input button
|
|
15
|
+
*/
|
|
16
|
+
ariaLabelClearSelected: {
|
|
17
|
+
type: String,
|
|
18
|
+
default: _l10n.t("Clear selected")
|
|
19
|
+
},
|
|
20
|
+
/**
|
|
21
|
+
* `aria-label` for the listbox element
|
|
22
|
+
*/
|
|
23
|
+
ariaLabelListbox: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: _l10n.t("Options")
|
|
26
|
+
},
|
|
27
|
+
/**
|
|
28
|
+
* Allows to customize the `aria-label` for the deselect-option button
|
|
29
|
+
* The default is "Deselect " + optionLabel
|
|
30
|
+
* @type {(optionLabel: string) => string}
|
|
31
|
+
*/
|
|
32
|
+
ariaLabelDeselectOption: {
|
|
33
|
+
type: Function,
|
|
34
|
+
default: (optionLabel) => _l10n.t("Deselect {option}", { option: optionLabel })
|
|
35
|
+
},
|
|
36
|
+
/**
|
|
37
|
+
* Keep the dropdown open after selecting an entry.
|
|
38
|
+
*/
|
|
39
|
+
keepOpen: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
default: false
|
|
42
|
+
},
|
|
43
|
+
/**
|
|
44
|
+
* Disable the component
|
|
45
|
+
*/
|
|
46
|
+
disabled: {
|
|
47
|
+
type: Boolean,
|
|
48
|
+
default: false
|
|
49
|
+
},
|
|
50
|
+
/**
|
|
51
|
+
* Callback to determine if the provided option should match the current search text.
|
|
52
|
+
* Used to determine if the option should be displayed.
|
|
53
|
+
*
|
|
54
|
+
* By default it filters by the `displayName` and `subname` properties of the user
|
|
55
|
+
* option object unless this prop is set explicitly
|
|
56
|
+
*/
|
|
57
|
+
filterBy: {
|
|
58
|
+
type: Function,
|
|
59
|
+
default: null
|
|
60
|
+
},
|
|
61
|
+
/**
|
|
62
|
+
* Input element id
|
|
63
|
+
*/
|
|
64
|
+
inputId: {
|
|
65
|
+
type: String,
|
|
66
|
+
default: () => GenRandomId.GenRandomId()
|
|
67
|
+
},
|
|
68
|
+
/**
|
|
69
|
+
* Visible label for the input element
|
|
70
|
+
*
|
|
71
|
+
* @default 'Select account'
|
|
72
|
+
*/
|
|
73
|
+
inputLabel: {
|
|
74
|
+
type: String,
|
|
75
|
+
default: _l10n.t("Select account")
|
|
76
|
+
},
|
|
77
|
+
/**
|
|
78
|
+
* Pass true if you are using an external label.
|
|
79
|
+
* In this case make sure you set the `for` attribute of your `<label>` to the `inputId` of this component.
|
|
80
|
+
*/
|
|
81
|
+
labelOutside: {
|
|
82
|
+
type: Boolean,
|
|
83
|
+
default: false
|
|
84
|
+
},
|
|
85
|
+
/**
|
|
86
|
+
* Show a loading icon.
|
|
87
|
+
*
|
|
88
|
+
* @default false
|
|
89
|
+
*/
|
|
90
|
+
loading: {
|
|
91
|
+
type: Boolean,
|
|
92
|
+
default: false
|
|
93
|
+
},
|
|
94
|
+
/**
|
|
95
|
+
* Allow selection of multiple options
|
|
96
|
+
*
|
|
97
|
+
* @default false
|
|
98
|
+
*/
|
|
99
|
+
multiple: {
|
|
100
|
+
type: Boolean,
|
|
101
|
+
default: false
|
|
102
|
+
},
|
|
103
|
+
/**
|
|
104
|
+
* Disable automatic wrapping when selected options overflow the width.
|
|
105
|
+
*
|
|
106
|
+
* @default false
|
|
107
|
+
*/
|
|
108
|
+
noWrap: {
|
|
109
|
+
type: Boolean,
|
|
110
|
+
default: false
|
|
111
|
+
},
|
|
112
|
+
/**
|
|
113
|
+
* Array of users.
|
|
114
|
+
*
|
|
115
|
+
* @type {{displayName: string, user: string, subname?: string, iconSvg?: string, iconName?: string, isGuest?: boolean, isNoUser?: boolean}[]}
|
|
116
|
+
*/
|
|
117
|
+
options: {
|
|
118
|
+
type: Array,
|
|
119
|
+
default: () => []
|
|
120
|
+
},
|
|
121
|
+
/**
|
|
122
|
+
* Placeholder text.
|
|
123
|
+
*/
|
|
124
|
+
placeholder: {
|
|
125
|
+
type: String,
|
|
126
|
+
default: ""
|
|
127
|
+
},
|
|
128
|
+
/**
|
|
129
|
+
* Enable if a value is required for native form validation
|
|
130
|
+
*/
|
|
131
|
+
required: {
|
|
132
|
+
type: Boolean,
|
|
133
|
+
default: false
|
|
134
|
+
},
|
|
135
|
+
/**
|
|
136
|
+
* Currently selected value
|
|
137
|
+
*
|
|
138
|
+
* The `v-model` directive may be used for two-way data binding
|
|
139
|
+
*/
|
|
140
|
+
modelValue: {
|
|
141
|
+
type: Object,
|
|
142
|
+
default: null
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
emits: ["update:modelValue"],
|
|
146
|
+
setup(__props) {
|
|
147
|
+
const props = __props;
|
|
148
|
+
const search = Vue.ref("");
|
|
149
|
+
const clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-clickable-area"));
|
|
150
|
+
const gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-grid-baseline"));
|
|
151
|
+
const avatarSize = clickableArea - 2 * gridBaseLine;
|
|
152
|
+
function localFilterBy(option, label, search2) {
|
|
153
|
+
if (props.filterBy) {
|
|
154
|
+
return props.filterBy;
|
|
155
|
+
}
|
|
156
|
+
const EMAIL_NOTATION = /[^<]*<([^>]+)/;
|
|
157
|
+
const match = search2.match(EMAIL_NOTATION);
|
|
158
|
+
const subname = option.subname?.toLocaleLowerCase() ?? "";
|
|
159
|
+
return match && subname.indexOf(match[1].toLocaleLowerCase()) > -1 || `${label} ${option.subname}`.toLocaleLowerCase().indexOf(search2.toLocaleLowerCase()) > -1;
|
|
160
|
+
}
|
|
161
|
+
return { __sfc: true, props, search, clickableArea, gridBaseLine, avatarSize, localFilterBy, NcListItemIcon: NcListItemIcon.NcListItemIcon, NcSelect: NcSelect.NcSelect };
|
|
162
|
+
}
|
|
163
|
+
};
|
|
164
|
+
var _sfc_render = function render() {
|
|
165
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
166
|
+
return _c(_setup.NcSelect, _vm._b({ staticClass: "nc-select-users", attrs: { "filter-by": _setup.localFilterBy, "label": "displayName" }, on: { "search": function($event) {
|
|
167
|
+
_setup.search = $event;
|
|
168
|
+
}, "update:model-value": function($event) {
|
|
169
|
+
return _vm.$emit("update:modelValue", $event);
|
|
170
|
+
} }, scopedSlots: _vm._u([{ key: "option", fn: function(option) {
|
|
171
|
+
return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { "avatar-size": 32, "name": option.displayName, "search": _setup.search } }, "NcListItemIcon", option, false))];
|
|
172
|
+
} }, { key: "selected-option", fn: function(selectedOption) {
|
|
173
|
+
return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { "avatar-size": _setup.avatarSize, "name": selectedOption.displayName, "no-margin": "", "search": _setup.search } }, "NcListItemIcon", selectedOption, false))];
|
|
174
|
+
} }]) }, "NcSelect", _vm.$props, false));
|
|
175
|
+
};
|
|
176
|
+
var _sfc_staticRenderFns = [];
|
|
177
|
+
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
178
|
+
_sfc_main,
|
|
179
|
+
_sfc_render,
|
|
180
|
+
_sfc_staticRenderFns,
|
|
181
|
+
false,
|
|
182
|
+
null,
|
|
183
|
+
"5762ce87"
|
|
184
|
+
);
|
|
185
|
+
const NcSelectUsers = __component__.exports;
|
|
186
|
+
exports.NcSelectUsers = NcSelectUsers;
|
|
187
|
+
//# sourceMappingURL=NcSelectUsers-C-bbm2cW.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcSelectUsers-C-bbm2cW.cjs","sources":["../../src/components/NcSelectUsers/NcSelectUsers.vue"],"sourcesContent":["<!--\n\t- SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n\t- SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Nextcloud user picker\n\n#### Examples\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div v-for=\"{ props } in selectArray\"\n\t\t\tclass=\"container\">\n\t\t\t<NcSelectUsers v-bind=\"props\"\n\t\t\t\tv-model=\"props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport svgAccountGroup from '@mdi/svg/svg/account-group.svg?raw'\nimport svgEmail from '@mdi/svg/svg/email.svg?raw'\n\nconst selectArray = [\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'User select',\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t\t// Example of how to show the user status within the option\n\t\t\t\t\tuser: '0-john',\n\t\t\t\t\tpreloadedUserStatus: {\n\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\tmessage: 'I am online',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\ticonSvg: svgAccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: svgEmail,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple user select (stay open on select)',\n\t\t\tkeepOpen: true,\n\t\t\tmultiple: true,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\ticonSvg: svgAccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: svgEmail,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tselectArray,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(1, 500px);\n\tgap: 10px;\n}\n\n.container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n</docs>\n\n<script setup>\nimport { ref } from 'vue'\nimport { t } from '../../l10n.js'\nimport createElementId from '../../utils/GenRandomId.js'\n\nimport NcListItemIcon from '../NcListItemIcon/NcListItemIcon.vue'\nimport NcSelect from '../NcSelect/index.js'\n\nconst props = defineProps({\n\t/**\n\t * `aria-label` for the clear input button\n\t */\n\tariaLabelClearSelected: {\n\t\ttype: String,\n\t\tdefault: t('Clear selected'),\n\t},\n\n\t/**\n\t * `aria-label` for the listbox element\n\t */\n\tariaLabelListbox: {\n\t\ttype: String,\n\t\tdefault: t('Options'),\n\t},\n\n\t/**\n\t * Allows to customize the `aria-label` for the deselect-option button\n\t * The default is \"Deselect \" + optionLabel\n\t * @type {(optionLabel: string) => string}\n\t */\n\tariaLabelDeselectOption: {\n\t\ttype: Function,\n\t\tdefault: (optionLabel) => t('Deselect {option}', { option: optionLabel }),\n\t},\n\n\t/**\n\t * Keep the dropdown open after selecting an entry.\n\t */\n\tkeepOpen: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Disable the component\n\t */\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Callback to determine if the provided option should match the current search text.\n\t * Used to determine if the option should be displayed.\n\t *\n\t * By default it filters by the `displayName` and `subname` properties of the user\n\t * option object unless this prop is set explicitly\n\t */\n\tfilterBy: {\n\t\ttype: Function,\n\t\tdefault: null,\n\t},\n\n\t/**\n\t * Input element id\n\t */\n\tinputId: {\n\t\ttype: String,\n\t\tdefault: () => createElementId(),\n\t},\n\n\t/**\n\t * Visible label for the input element\n\t *\n\t * @default 'Select account'\n\t */\n\tinputLabel: {\n\t\ttype: String,\n\t\tdefault: t('Select account'),\n\t},\n\n\t/**\n\t * Pass true if you are using an external label.\n\t * In this case make sure you set the `for` attribute of your `<label>` to the `inputId` of this component.\n\t */\n\tlabelOutside: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Show a loading icon.\n\t *\n\t * @default false\n\t */\n\tloading: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Allow selection of multiple options\n\t *\n\t * @default false\n\t */\n\tmultiple: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Disable automatic wrapping when selected options overflow the width.\n\t *\n\t * @default false\n\t */\n\tnoWrap: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Array of users.\n\t *\n\t * @type {{displayName: string, user: string, subname?: string, iconSvg?: string, iconName?: string, isGuest?: boolean, isNoUser?: boolean}[]}\n\t */\n\toptions: {\n\t\ttype: Array,\n\t\tdefault: () => [],\n\t},\n\n\t/**\n\t * Placeholder text.\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\n\t/**\n\t * Enable if a value is required for native form validation\n\t */\n\trequired: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Currently selected value\n\t *\n\t * The `v-model` directive may be used for two-way data binding\n\t */\n\tmodelValue: {\n\t\ttype: Object,\n\t\tdefault: null,\n\t},\n})\n\ndefineEmits(['update:modelValue'])\n\nconst search = ref('')\n\n// Avatar size so the component has the same size as Nc*Field\nconst clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-clickable-area'))\nconst gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-grid-baseline'))\nconst avatarSize = clickableArea - 2 * gridBaseLine\n\n/**\n * Filter function to search users.\n *\n * @param {{subname: string}} option - The option to check\n * @param {string} label - The label of the option\n * @param {string} search - The current search string\n */\nfunction localFilterBy(option, label, search) {\n\tif (props.filterBy) {\n\t\treturn props.filterBy\n\t}\n\n\t// Match the email notation like \"Jane <j.doe@example.com>\" with the email address as matching group\n\tconst EMAIL_NOTATION = /[^<]*<([^>]+)/\n\n\tconst match = search.match(EMAIL_NOTATION)\n\tconst subname = option.subname?.toLocaleLowerCase() ?? ''\n\treturn (match && subname.indexOf(match[1].toLocaleLowerCase()) > -1)\n\t\t|| (`${label} ${option.subname}`\n\t\t\t.toLocaleLowerCase()\n\t\t\t.indexOf(search.toLocaleLowerCase()) > -1)\n}\n</script>\n\n<template>\n\t<NcSelect class=\"nc-select-users\"\n\t\tv-bind=\"$props\"\n\t\t:filter-by=\"localFilterBy\"\n\t\tlabel=\"displayName\"\n\t\t@search=\"search = $event\"\n\t\t@update:model-value=\"$emit('update:modelValue', $event)\">\n\t\t<template #option=\"option\">\n\t\t\t<NcListItemIcon v-bind=\"option\"\n\t\t\t\t:avatar-size=\"32\"\n\t\t\t\t:name=\"option.displayName\"\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t\t<template #selected-option=\"selectedOption\">\n\t\t\t<NcListItemIcon v-bind=\"selectedOption\"\n\t\t\t\t:avatar-size=\"avatarSize\"\n\t\t\t\t:name=\"selectedOption.displayName\"\n\t\t\t\tno-margin\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t</NcSelect>\n</template>\n\n<style scoped lang=\"css\">\n.nc-select-users :deep(.vs__selected) {\n\tpadding-inline: 0 5px !important;\n}\n</style>\n"],"names":["ref","search"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqUA,UAAM,SAASA,IAAG,IAAC,EAAE;AAGrB,UAAM,gBAAgB,OAAO,SAAS,OAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,0BAA0B,CAAC;AACzH,UAAM,eAAe,OAAO,SAAS,OAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,yBAAyB,CAAC;AACvH,UAAM,aAAa,gBAAgB,IAAI;AASvC,aAAS,cAAc,QAAQ,OAAOC,SAAQ;AAC7C,UAAI,MAAM,UAAU;AACnB,eAAO,MAAM;AAAA,MACf;AAGC,YAAM,iBAAiB;AAEvB,YAAM,QAAQA,QAAO,MAAM,cAAc;AACzC,YAAM,UAAU,OAAO,SAAS,kBAAiB,KAAM;AACvD,aAAQ,SAAS,QAAQ,QAAQ,MAAM,CAAC,EAAE,kBAAmB,CAAA,IAAI,MAC5D,GAAG,KAAK,IAAI,OAAO,OAAO,GAC5B,kBAAiB,EACjB,QAAQA,QAAO,kBAAmB,CAAA,IAAI;AAAA,IAC1C;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import '../assets/NcSelectUsers-BoxBQpbA.css';
|
|
2
|
+
import { ref } from "vue";
|
|
3
|
+
import { r as register, i as t43, d as t15, a as t } from "./_l10n-Dt0m9Fxw.mjs";
|
|
4
|
+
import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
|
|
5
|
+
import { N as NcListItemIcon } from "./NcListItemIcon-B16M-aHV.mjs";
|
|
6
|
+
import { N as NcSelect } from "./NcSelect-XLdUgokz.mjs";
|
|
7
|
+
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
8
|
+
register(t15, t43);
|
|
9
|
+
const _sfc_main = {
|
|
10
|
+
__name: "NcSelectUsers",
|
|
11
|
+
props: {
|
|
12
|
+
/**
|
|
13
|
+
* `aria-label` for the clear input button
|
|
14
|
+
*/
|
|
15
|
+
ariaLabelClearSelected: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: t("Clear selected")
|
|
18
|
+
},
|
|
19
|
+
/**
|
|
20
|
+
* `aria-label` for the listbox element
|
|
21
|
+
*/
|
|
22
|
+
ariaLabelListbox: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: t("Options")
|
|
25
|
+
},
|
|
26
|
+
/**
|
|
27
|
+
* Allows to customize the `aria-label` for the deselect-option button
|
|
28
|
+
* The default is "Deselect " + optionLabel
|
|
29
|
+
* @type {(optionLabel: string) => string}
|
|
30
|
+
*/
|
|
31
|
+
ariaLabelDeselectOption: {
|
|
32
|
+
type: Function,
|
|
33
|
+
default: (optionLabel) => t("Deselect {option}", { option: optionLabel })
|
|
34
|
+
},
|
|
35
|
+
/**
|
|
36
|
+
* Keep the dropdown open after selecting an entry.
|
|
37
|
+
*/
|
|
38
|
+
keepOpen: {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
default: false
|
|
41
|
+
},
|
|
42
|
+
/**
|
|
43
|
+
* Disable the component
|
|
44
|
+
*/
|
|
45
|
+
disabled: {
|
|
46
|
+
type: Boolean,
|
|
47
|
+
default: false
|
|
48
|
+
},
|
|
49
|
+
/**
|
|
50
|
+
* Callback to determine if the provided option should match the current search text.
|
|
51
|
+
* Used to determine if the option should be displayed.
|
|
52
|
+
*
|
|
53
|
+
* By default it filters by the `displayName` and `subname` properties of the user
|
|
54
|
+
* option object unless this prop is set explicitly
|
|
55
|
+
*/
|
|
56
|
+
filterBy: {
|
|
57
|
+
type: Function,
|
|
58
|
+
default: null
|
|
59
|
+
},
|
|
60
|
+
/**
|
|
61
|
+
* Input element id
|
|
62
|
+
*/
|
|
63
|
+
inputId: {
|
|
64
|
+
type: String,
|
|
65
|
+
default: () => GenRandomId()
|
|
66
|
+
},
|
|
67
|
+
/**
|
|
68
|
+
* Visible label for the input element
|
|
69
|
+
*
|
|
70
|
+
* @default 'Select account'
|
|
71
|
+
*/
|
|
72
|
+
inputLabel: {
|
|
73
|
+
type: String,
|
|
74
|
+
default: t("Select account")
|
|
75
|
+
},
|
|
76
|
+
/**
|
|
77
|
+
* Pass true if you are using an external label.
|
|
78
|
+
* In this case make sure you set the `for` attribute of your `<label>` to the `inputId` of this component.
|
|
79
|
+
*/
|
|
80
|
+
labelOutside: {
|
|
81
|
+
type: Boolean,
|
|
82
|
+
default: false
|
|
83
|
+
},
|
|
84
|
+
/**
|
|
85
|
+
* Show a loading icon.
|
|
86
|
+
*
|
|
87
|
+
* @default false
|
|
88
|
+
*/
|
|
89
|
+
loading: {
|
|
90
|
+
type: Boolean,
|
|
91
|
+
default: false
|
|
92
|
+
},
|
|
93
|
+
/**
|
|
94
|
+
* Allow selection of multiple options
|
|
95
|
+
*
|
|
96
|
+
* @default false
|
|
97
|
+
*/
|
|
98
|
+
multiple: {
|
|
99
|
+
type: Boolean,
|
|
100
|
+
default: false
|
|
101
|
+
},
|
|
102
|
+
/**
|
|
103
|
+
* Disable automatic wrapping when selected options overflow the width.
|
|
104
|
+
*
|
|
105
|
+
* @default false
|
|
106
|
+
*/
|
|
107
|
+
noWrap: {
|
|
108
|
+
type: Boolean,
|
|
109
|
+
default: false
|
|
110
|
+
},
|
|
111
|
+
/**
|
|
112
|
+
* Array of users.
|
|
113
|
+
*
|
|
114
|
+
* @type {{displayName: string, user: string, subname?: string, iconSvg?: string, iconName?: string, isGuest?: boolean, isNoUser?: boolean}[]}
|
|
115
|
+
*/
|
|
116
|
+
options: {
|
|
117
|
+
type: Array,
|
|
118
|
+
default: () => []
|
|
119
|
+
},
|
|
120
|
+
/**
|
|
121
|
+
* Placeholder text.
|
|
122
|
+
*/
|
|
123
|
+
placeholder: {
|
|
124
|
+
type: String,
|
|
125
|
+
default: ""
|
|
126
|
+
},
|
|
127
|
+
/**
|
|
128
|
+
* Enable if a value is required for native form validation
|
|
129
|
+
*/
|
|
130
|
+
required: {
|
|
131
|
+
type: Boolean,
|
|
132
|
+
default: false
|
|
133
|
+
},
|
|
134
|
+
/**
|
|
135
|
+
* Currently selected value
|
|
136
|
+
*
|
|
137
|
+
* The `v-model` directive may be used for two-way data binding
|
|
138
|
+
*/
|
|
139
|
+
modelValue: {
|
|
140
|
+
type: Object,
|
|
141
|
+
default: null
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
emits: ["update:modelValue"],
|
|
145
|
+
setup(__props) {
|
|
146
|
+
const props = __props;
|
|
147
|
+
const search = ref("");
|
|
148
|
+
const clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-clickable-area"));
|
|
149
|
+
const gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue("--default-grid-baseline"));
|
|
150
|
+
const avatarSize = clickableArea - 2 * gridBaseLine;
|
|
151
|
+
function localFilterBy(option, label, search2) {
|
|
152
|
+
if (props.filterBy) {
|
|
153
|
+
return props.filterBy;
|
|
154
|
+
}
|
|
155
|
+
const EMAIL_NOTATION = /[^<]*<([^>]+)/;
|
|
156
|
+
const match = search2.match(EMAIL_NOTATION);
|
|
157
|
+
const subname = option.subname?.toLocaleLowerCase() ?? "";
|
|
158
|
+
return match && subname.indexOf(match[1].toLocaleLowerCase()) > -1 || `${label} ${option.subname}`.toLocaleLowerCase().indexOf(search2.toLocaleLowerCase()) > -1;
|
|
159
|
+
}
|
|
160
|
+
return { __sfc: true, props, search, clickableArea, gridBaseLine, avatarSize, localFilterBy, NcListItemIcon, NcSelect };
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
var _sfc_render = function render() {
|
|
164
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
165
|
+
return _c(_setup.NcSelect, _vm._b({ staticClass: "nc-select-users", attrs: { "filter-by": _setup.localFilterBy, "label": "displayName" }, on: { "search": function($event) {
|
|
166
|
+
_setup.search = $event;
|
|
167
|
+
}, "update:model-value": function($event) {
|
|
168
|
+
return _vm.$emit("update:modelValue", $event);
|
|
169
|
+
} }, scopedSlots: _vm._u([{ key: "option", fn: function(option) {
|
|
170
|
+
return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { "avatar-size": 32, "name": option.displayName, "search": _setup.search } }, "NcListItemIcon", option, false))];
|
|
171
|
+
} }, { key: "selected-option", fn: function(selectedOption) {
|
|
172
|
+
return [_c(_setup.NcListItemIcon, _vm._b({ attrs: { "avatar-size": _setup.avatarSize, "name": selectedOption.displayName, "no-margin": "", "search": _setup.search } }, "NcListItemIcon", selectedOption, false))];
|
|
173
|
+
} }]) }, "NcSelect", _vm.$props, false));
|
|
174
|
+
};
|
|
175
|
+
var _sfc_staticRenderFns = [];
|
|
176
|
+
var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
177
|
+
_sfc_main,
|
|
178
|
+
_sfc_render,
|
|
179
|
+
_sfc_staticRenderFns,
|
|
180
|
+
false,
|
|
181
|
+
null,
|
|
182
|
+
"5762ce87"
|
|
183
|
+
);
|
|
184
|
+
const NcSelectUsers = __component__.exports;
|
|
185
|
+
export {
|
|
186
|
+
NcSelectUsers as N
|
|
187
|
+
};
|
|
188
|
+
//# sourceMappingURL=NcSelectUsers-DFlj_h9t.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcSelectUsers-DFlj_h9t.mjs","sources":["../../src/components/NcSelectUsers/NcSelectUsers.vue"],"sourcesContent":["<!--\n\t- SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n\t- SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Nextcloud user picker\n\n#### Examples\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div v-for=\"{ props } in selectArray\"\n\t\t\tclass=\"container\">\n\t\t\t<NcSelectUsers v-bind=\"props\"\n\t\t\t\tv-model=\"props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport svgAccountGroup from '@mdi/svg/svg/account-group.svg?raw'\nimport svgEmail from '@mdi/svg/svg/email.svg?raw'\n\nconst selectArray = [\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'User select',\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t\t// Example of how to show the user status within the option\n\t\t\t\t\tuser: '0-john',\n\t\t\t\t\tpreloadedUserStatus: {\n\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\tmessage: 'I am online',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\ticonSvg: svgAccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: svgEmail,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple user select (stay open on select)',\n\t\t\tkeepOpen: true,\n\t\t\tmultiple: true,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\ticonSvg: svgAccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: svgEmail,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tselectArray,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(1, 500px);\n\tgap: 10px;\n}\n\n.container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n</docs>\n\n<script setup>\nimport { ref } from 'vue'\nimport { t } from '../../l10n.js'\nimport createElementId from '../../utils/GenRandomId.js'\n\nimport NcListItemIcon from '../NcListItemIcon/NcListItemIcon.vue'\nimport NcSelect from '../NcSelect/index.js'\n\nconst props = defineProps({\n\t/**\n\t * `aria-label` for the clear input button\n\t */\n\tariaLabelClearSelected: {\n\t\ttype: String,\n\t\tdefault: t('Clear selected'),\n\t},\n\n\t/**\n\t * `aria-label` for the listbox element\n\t */\n\tariaLabelListbox: {\n\t\ttype: String,\n\t\tdefault: t('Options'),\n\t},\n\n\t/**\n\t * Allows to customize the `aria-label` for the deselect-option button\n\t * The default is \"Deselect \" + optionLabel\n\t * @type {(optionLabel: string) => string}\n\t */\n\tariaLabelDeselectOption: {\n\t\ttype: Function,\n\t\tdefault: (optionLabel) => t('Deselect {option}', { option: optionLabel }),\n\t},\n\n\t/**\n\t * Keep the dropdown open after selecting an entry.\n\t */\n\tkeepOpen: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Disable the component\n\t */\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Callback to determine if the provided option should match the current search text.\n\t * Used to determine if the option should be displayed.\n\t *\n\t * By default it filters by the `displayName` and `subname` properties of the user\n\t * option object unless this prop is set explicitly\n\t */\n\tfilterBy: {\n\t\ttype: Function,\n\t\tdefault: null,\n\t},\n\n\t/**\n\t * Input element id\n\t */\n\tinputId: {\n\t\ttype: String,\n\t\tdefault: () => createElementId(),\n\t},\n\n\t/**\n\t * Visible label for the input element\n\t *\n\t * @default 'Select account'\n\t */\n\tinputLabel: {\n\t\ttype: String,\n\t\tdefault: t('Select account'),\n\t},\n\n\t/**\n\t * Pass true if you are using an external label.\n\t * In this case make sure you set the `for` attribute of your `<label>` to the `inputId` of this component.\n\t */\n\tlabelOutside: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Show a loading icon.\n\t *\n\t * @default false\n\t */\n\tloading: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Allow selection of multiple options\n\t *\n\t * @default false\n\t */\n\tmultiple: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Disable automatic wrapping when selected options overflow the width.\n\t *\n\t * @default false\n\t */\n\tnoWrap: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Array of users.\n\t *\n\t * @type {{displayName: string, user: string, subname?: string, iconSvg?: string, iconName?: string, isGuest?: boolean, isNoUser?: boolean}[]}\n\t */\n\toptions: {\n\t\ttype: Array,\n\t\tdefault: () => [],\n\t},\n\n\t/**\n\t * Placeholder text.\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t\tdefault: '',\n\t},\n\n\t/**\n\t * Enable if a value is required for native form validation\n\t */\n\trequired: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Currently selected value\n\t *\n\t * The `v-model` directive may be used for two-way data binding\n\t */\n\tmodelValue: {\n\t\ttype: Object,\n\t\tdefault: null,\n\t},\n})\n\ndefineEmits(['update:modelValue'])\n\nconst search = ref('')\n\n// Avatar size so the component has the same size as Nc*Field\nconst clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-clickable-area'))\nconst gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-grid-baseline'))\nconst avatarSize = clickableArea - 2 * gridBaseLine\n\n/**\n * Filter function to search users.\n *\n * @param {{subname: string}} option - The option to check\n * @param {string} label - The label of the option\n * @param {string} search - The current search string\n */\nfunction localFilterBy(option, label, search) {\n\tif (props.filterBy) {\n\t\treturn props.filterBy\n\t}\n\n\t// Match the email notation like \"Jane <j.doe@example.com>\" with the email address as matching group\n\tconst EMAIL_NOTATION = /[^<]*<([^>]+)/\n\n\tconst match = search.match(EMAIL_NOTATION)\n\tconst subname = option.subname?.toLocaleLowerCase() ?? ''\n\treturn (match && subname.indexOf(match[1].toLocaleLowerCase()) > -1)\n\t\t|| (`${label} ${option.subname}`\n\t\t\t.toLocaleLowerCase()\n\t\t\t.indexOf(search.toLocaleLowerCase()) > -1)\n}\n</script>\n\n<template>\n\t<NcSelect class=\"nc-select-users\"\n\t\tv-bind=\"$props\"\n\t\t:filter-by=\"localFilterBy\"\n\t\tlabel=\"displayName\"\n\t\t@search=\"search = $event\"\n\t\t@update:model-value=\"$emit('update:modelValue', $event)\">\n\t\t<template #option=\"option\">\n\t\t\t<NcListItemIcon v-bind=\"option\"\n\t\t\t\t:avatar-size=\"32\"\n\t\t\t\t:name=\"option.displayName\"\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t\t<template #selected-option=\"selectedOption\">\n\t\t\t<NcListItemIcon v-bind=\"selectedOption\"\n\t\t\t\t:avatar-size=\"avatarSize\"\n\t\t\t\t:name=\"selectedOption.displayName\"\n\t\t\t\tno-margin\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t</NcSelect>\n</template>\n\n<style scoped lang=\"css\">\n.nc-select-users :deep(.vs__selected) {\n\tpadding-inline: 0 5px !important;\n}\n</style>\n"],"names":["search"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqUA,UAAM,SAAS,IAAI,EAAE;AAGrB,UAAM,gBAAgB,OAAO,SAAS,OAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,0BAA0B,CAAC;AACzH,UAAM,eAAe,OAAO,SAAS,OAAO,iBAAiB,SAAS,IAAI,EAAE,iBAAiB,yBAAyB,CAAC;AACvH,UAAM,aAAa,gBAAgB,IAAI;AASvC,aAAS,cAAc,QAAQ,OAAOA,SAAQ;AAC7C,UAAI,MAAM,UAAU;AACnB,eAAO,MAAM;AAAA,MACf;AAGC,YAAM,iBAAiB;AAEvB,YAAM,QAAQA,QAAO,MAAM,cAAc;AACzC,YAAM,UAAU,OAAO,SAAS,kBAAiB,KAAM;AACvD,aAAQ,SAAS,QAAQ,QAAQ,MAAM,CAAC,EAAE,kBAAmB,CAAA,IAAI,MAC5D,GAAG,KAAK,IAAI,OAAO,OAAO,GAC5B,kBAAiB,EACjB,QAAQA,QAAO,kBAAmB,CAAA,IAAI;AAAA,IAC1C;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
require('../assets/NcSettingsInputText-Bsp_6DjJ.css');
|
|
2
2
|
"use strict";
|
|
3
|
-
const _l10n = require("./_l10n-
|
|
3
|
+
const _l10n = require("./_l10n-BiiXtYiP.cjs");
|
|
4
4
|
const GenRandomId = require("./GenRandomId-BQDud3d4.cjs");
|
|
5
5
|
const useModelMigration = require("./useModelMigration-D5zhrNXr.cjs");
|
|
6
6
|
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
7
|
-
_l10n.register(_l10n.
|
|
7
|
+
_l10n.register(_l10n.t47);
|
|
8
8
|
const _sfc_main = {
|
|
9
9
|
name: "NcSettingsInputText",
|
|
10
10
|
model: {
|
|
@@ -128,4 +128,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
128
128
|
);
|
|
129
129
|
const NcSettingsInputText = __component__.exports;
|
|
130
130
|
exports.NcSettingsInputText = NcSettingsInputText;
|
|
131
|
-
//# sourceMappingURL=NcSettingsInputText-
|
|
131
|
+
//# sourceMappingURL=NcSettingsInputText-BU1_SHOq.cjs.map
|
package/dist/chunks/{NcSettingsInputText-8EcoOEIo.cjs.map → NcSettingsInputText-BU1_SHOq.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcSettingsInputText-
|
|
1
|
+
{"version":3,"file":"NcSettingsInputText-BU1_SHOq.cjs","sources":["../../src/components/NcSettingsInputText/NcSettingsInputText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsInputText v-model=\"value\" label=\"Label\" hint=\"Hint\" />\n\t\t<NcSettingsInputText label=\"Label\" model-value=\"Value\" hint=\"Hint\" disabled />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue: ''\n\t\t}\n\t},\n}\n</script>\n```\n\n</docs>\n\n<template>\n\t<form ref=\"form\"\n\t\t:disabled=\"disabled\"\n\t\t@submit.prevent.stop=\"onSubmit\">\n\t\t<div class=\"input-wrapper\">\n\t\t\t<label :for=\"id\" class=\"action-input__label\">{{ label }}</label>\n\t\t\t<input :id=\"id\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:value=\"model\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@input=\"onInput\"\n\t\t\t\t@change=\"onChange\">\n\t\t\t<input :id=\"idSubmit\"\n\t\t\t\t:value=\"submitTranslated\"\n\t\t\t\ttype=\"submit\"\n\t\t\t\tclass=\"action-input__submit\">\n\t\t\t<p v-if=\"hint\" class=\"hint\">\n\t\t\t\t{{ hint }}\n\t\t\t</p>\n\t\t</div>\n\t</form>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\n\nexport default {\n\tname: 'NcSettingsInputText',\n\n\tmodel: {\n\t\tprop: 'value',\n\t\tevent: 'update:value',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * label of the select group element\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * hint of the select group input\n\t\t */\n\t\thint: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * value of the select group input\n\t\t */\n\t\t modelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * disabled state of the settings select group input\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * id attribute of the select group element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'settings-input-text-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t/**\n\t\t * Emitted when the inputs value changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\t'update:modelValue',\n\t\t/* Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t\t'input',\n\t\t'submit',\n\t\t'change',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsubmitTranslated: t('Submit'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tidSubmit() {\n\t\t\treturn this.id + '-submit'\n\t\t},\n\t},\n\tmethods: {\n\t\tonInput(event) {\n\t\t\tthis.$emit('input', event)\n\t\t\tthis.model = event.target.value\n\t\t},\n\t\tonSubmit(event) {\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t}\n\t\t},\n\t\tonChange(event) {\n\t\t\t/**\n\t\t\t * Emitted on change of the input field\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('change', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n\t.input-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex-wrap: wrap;\n\t\twidth: 100%;\n\t\tmax-width: 400px;\n\n\t\t& .action-input__label {\n\t\t\tmargin-right: 12px;\n\t\t}\n\n\t\t// if disabled, change cursor\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t.hint {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tmargin-left: 8px;\n\t\t}\n\t}\n\n</style>\n"],"names":["GenRandomId","useModelMigration","t"],"mappings":";;;;;;AAwDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,yBAAAA,wBAAA;AAAA,MACA,WAAA,QAAA,GAAA,KAAA,MAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,QAAAC,oCAAA,SAAA,cAAA;AACA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,kBAAAC,MAAA,EAAA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AACA,aAAA,KAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,SAAA;AAAA,IACA,QAAA,OAAA;AACA,WAAA,MAAA,SAAA,KAAA;AACA,WAAA,QAAA,MAAA,OAAA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AACA,UAAA,CAAA,KAAA,UAAA;AAMA,aAAA,MAAA,UAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AAMA,WAAA,MAAA,UAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import '../assets/NcSettingsInputText-Bsp_6DjJ.css';
|
|
2
|
-
import { r as register,
|
|
2
|
+
import { r as register, h as t47, a as t } from "./_l10n-Dt0m9Fxw.mjs";
|
|
3
3
|
import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
|
|
4
4
|
import { u as useModelMigration } from "./useModelMigration-EhAWvqDD.mjs";
|
|
5
5
|
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
6
|
-
register(
|
|
6
|
+
register(t47);
|
|
7
7
|
const _sfc_main = {
|
|
8
8
|
name: "NcSettingsInputText",
|
|
9
9
|
model: {
|
|
@@ -129,4 +129,4 @@ const NcSettingsInputText = __component__.exports;
|
|
|
129
129
|
export {
|
|
130
130
|
NcSettingsInputText as N
|
|
131
131
|
};
|
|
132
|
-
//# sourceMappingURL=NcSettingsInputText-
|
|
132
|
+
//# sourceMappingURL=NcSettingsInputText-t1FMnLKA.mjs.map
|
package/dist/chunks/{NcSettingsInputText-DKscbkn_.mjs.map → NcSettingsInputText-t1FMnLKA.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcSettingsInputText-
|
|
1
|
+
{"version":3,"file":"NcSettingsInputText-t1FMnLKA.mjs","sources":["../../src/components/NcSettingsInputText/NcSettingsInputText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsInputText v-model=\"value\" label=\"Label\" hint=\"Hint\" />\n\t\t<NcSettingsInputText label=\"Label\" model-value=\"Value\" hint=\"Hint\" disabled />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tvalue: ''\n\t\t}\n\t},\n}\n</script>\n```\n\n</docs>\n\n<template>\n\t<form ref=\"form\"\n\t\t:disabled=\"disabled\"\n\t\t@submit.prevent.stop=\"onSubmit\">\n\t\t<div class=\"input-wrapper\">\n\t\t\t<label :for=\"id\" class=\"action-input__label\">{{ label }}</label>\n\t\t\t<input :id=\"id\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:value=\"model\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@input=\"onInput\"\n\t\t\t\t@change=\"onChange\">\n\t\t\t<input :id=\"idSubmit\"\n\t\t\t\t:value=\"submitTranslated\"\n\t\t\t\ttype=\"submit\"\n\t\t\t\tclass=\"action-input__submit\">\n\t\t\t<p v-if=\"hint\" class=\"hint\">\n\t\t\t\t{{ hint }}\n\t\t\t</p>\n\t\t</div>\n\t</form>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\n\nexport default {\n\tname: 'NcSettingsInputText',\n\n\tmodel: {\n\t\tprop: 'value',\n\t\tevent: 'update:value',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * label of the select group element\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * hint of the select group input\n\t\t */\n\t\thint: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * value of the select group input\n\t\t */\n\t\t modelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * disabled state of the settings select group input\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * id attribute of the select group element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'settings-input-text-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t/**\n\t\t * Emitted when the inputs value changes\n\t\t *\n\t\t * @type {string}\n\t\t */\n\t\t'update:modelValue',\n\t\t/* Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t\t'input',\n\t\t'submit',\n\t\t'change',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsubmitTranslated: t('Submit'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tidSubmit() {\n\t\t\treturn this.id + '-submit'\n\t\t},\n\t},\n\tmethods: {\n\t\tonInput(event) {\n\t\t\tthis.$emit('input', event)\n\t\t\tthis.model = event.target.value\n\t\t},\n\t\tonSubmit(event) {\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t}\n\t\t},\n\t\tonChange(event) {\n\t\t\t/**\n\t\t\t * Emitted on change of the input field\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('change', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n\t.input-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex-wrap: wrap;\n\t\twidth: 100%;\n\t\tmax-width: 400px;\n\n\t\t& .action-input__label {\n\t\t\tmargin-right: 12px;\n\t\t}\n\n\t\t// if disabled, change cursor\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t.hint {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tmargin-left: 8px;\n\t\t}\n\t}\n\n</style>\n"],"names":[],"mappings":";;;;;AAwDA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,yBAAA,YAAA;AAAA,MACA,WAAA,QAAA,GAAA,KAAA,MAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,QAAA,kBAAA,SAAA,cAAA;AACA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,kBAAA,EAAA,QAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIA,WAAA;AACA,aAAA,KAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EACA,SAAA;AAAA,IACA,QAAA,OAAA;AACA,WAAA,MAAA,SAAA,KAAA;AACA,WAAA,QAAA,MAAA,OAAA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AACA,UAAA,CAAA,KAAA,UAAA;AAMA,aAAA,MAAA,UAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,SAAA,OAAA;AAMA,WAAA,MAAA,UAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
require('../assets/NcSettingsSection-_mX6UqM_.css');
|
|
2
2
|
"use strict";
|
|
3
|
-
const _l10n = require("./_l10n-
|
|
3
|
+
const _l10n = require("./_l10n-BiiXtYiP.cjs");
|
|
4
4
|
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
5
5
|
_l10n.register(_l10n.t23);
|
|
6
6
|
const _sfc_main$1 = {
|
|
@@ -104,4 +104,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
104
104
|
);
|
|
105
105
|
const NcSettingsSection = __component__.exports;
|
|
106
106
|
exports.NcSettingsSection = NcSettingsSection;
|
|
107
|
-
//# sourceMappingURL=NcSettingsSection-
|
|
107
|
+
//# sourceMappingURL=NcSettingsSection-Dcdxs1IN.cjs.map
|
package/dist/chunks/{NcSettingsSection-DW5u2qWg.cjs.map → NcSettingsSection-Dcdxs1IN.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcSettingsSection-
|
|
1
|
+
{"version":3,"file":"NcSettingsSection-Dcdxs1IN.cjs","sources":["../../node_modules/vue-material-design-icons/HelpCircle.vue","../../src/components/NcSettingsSection/NcSettingsSection.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon help-circle-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"HelpCircleIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis component is to be used in the settings section of nextcloud.\n\n### Examples\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsSection name=\"Two-factor authentication\"\n\t\t\tdescription=\"Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/19/go.php?to=admin-2fa\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnforce two-factor authentication\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"Server-side encryption\"\n\t\t\tdescription=\"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed.\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnable server-side encryption\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"OAuth 2.0 clients\"\n\t\t\tdescription=\"OAuth 2.0 allows external services to request access to Nextcloud.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/oauth2.html\">\n\n\t\t\tAny content here\n\n\t\t</NcSettingsSection>\n\t</div>\n</template>\n```\n</docs>\n\n<template>\n\t<div class=\"settings-section\" :class=\"{'settings-section--limit-width': forceLimitWidth}\">\n\t\t<h2 class=\"settings-section__name\">\n\t\t\t{{ name }}\n\t\t\t<a v-if=\"hasDocUrl\"\n\t\t\t\t:href=\"docUrl\"\n\t\t\t\tclass=\"settings-section__info\"\n\t\t\t\t:title=\"docNameTranslated\"\n\t\t\t\t:aria-label=\"docNameTranslated\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\trel=\"noreferrer nofollow\">\n\t\t\t\t<HelpCircle :size=\"20\" />\n\t\t\t</a>\n\t\t</h2>\n\t\t<p v-if=\"hasDescription\"\n\t\t\tclass=\"settings-section__desc\">\n\t\t\t{{ description }}\n\t\t</p>\n\t\t<slot />\n\t</div>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\n\nimport HelpCircle from 'vue-material-design-icons/HelpCircle.vue'\n\nexport default {\n\tname: 'NcSettingsSection',\n\n\tcomponents: {\n\t\tHelpCircle,\n\t},\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tdocUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Limit the width of the setting's content\n\t\t *\n\t\t * Setting this to false allows unrestricted (width) settings content.\n\t\t * Note that the name and description have always a width limit.\n\t\t * @deprecated Will be removed with next version and will not be used on Nextcloud 30+ (always forced to true)\n\t\t */\n\t\tlimitWidth: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdocNameTranslated: t('External documentation for {name}', {\n\t\t\t\tname: this.name,\n\t\t\t}),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tforceLimitWidth() {\n\t\t\tif (this.limitWidth) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Overwrite this on Nextcloud 30+ to always limit the width\n\t\t\tconst [major] = window._oc_config?.version.split('.', 2) ?? []\n\t\t\treturn major && Number.parseInt(major) >= 30\n\t\t},\n\n\t\thasDescription() {\n\t\t\treturn this.description.length > 0\n\t\t},\n\t\thasDocUrl() {\n\t\t\treturn this.docUrl.length > 0\n\t\t},\n\t},\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n$maxWidth: 900px;\n\n.settings-section {\n\tdisplay: block;\n\tmargin-bottom: auto;\n\tpadding: 30px;\n\n\t&:not(:last-child) {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&--limit-width > * {\n\t\tmax-width: $maxWidth;\n\t}\n\n\t&__name {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-size: 20px;\n\t\tfont-weight: bold;\n\t\tmax-width: $maxWidth;\n\t\tmargin-top: 0; // Remove default heading margin\n\t}\n\n\t&__info {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--default-clickable-area);\n\t\theight: var(--default-clickable-area);\n\t\t// make sure to properly align the icon with the text\n\t\tmargin: calc($icon-margin * -1);\n\t\tmargin-inline-start: 0;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&:hover, &:focus, &:active {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n\n\t&__desc {\n\t\tmargin-top: -.2em;\n\t\tmargin-bottom: 1em;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmax-width: $maxWidth;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main","t"],"mappings":";;;;AAoBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;ACiCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,mBAAAC,MAAA,EAAA,qCAAA;AAAA,QACA,MAAA,KAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,kBAAA;AACA,UAAA,KAAA,YAAA;AACA,eAAA;AAAA,MACA;AAEA,YAAA,CAAA,KAAA,IAAA,OAAA,YAAA,QAAA,MAAA,KAAA,CAAA,KAAA,CAAA;AACA,aAAA,SAAA,OAAA,SAAA,KAAA,KAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,aAAA,KAAA,YAAA,SAAA;AAAA,IACA;AAAA,IACA,YAAA;AACA,aAAA,KAAA,OAAA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;","x_google_ignoreList":[0]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import '../assets/NcSettingsSection-_mX6UqM_.css';
|
|
2
|
-
import { r as register,
|
|
2
|
+
import { r as register, w as t23, a as t } from "./_l10n-Dt0m9Fxw.mjs";
|
|
3
3
|
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
4
4
|
register(t23);
|
|
5
5
|
const _sfc_main$1 = {
|
|
@@ -105,4 +105,4 @@ const NcSettingsSection = __component__.exports;
|
|
|
105
105
|
export {
|
|
106
106
|
NcSettingsSection as N
|
|
107
107
|
};
|
|
108
|
-
//# sourceMappingURL=NcSettingsSection-
|
|
108
|
+
//# sourceMappingURL=NcSettingsSection-EC3SmiDX.mjs.map
|
package/dist/chunks/{NcSettingsSection-DP3xDXrA.mjs.map → NcSettingsSection-EC3SmiDX.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcSettingsSection-
|
|
1
|
+
{"version":3,"file":"NcSettingsSection-EC3SmiDX.mjs","sources":["../../node_modules/vue-material-design-icons/HelpCircle.vue","../../src/components/NcSettingsSection/NcSettingsSection.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon help-circle-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M15.07,11.25L14.17,12.17C13.45,12.89 13,13.5 13,15H11V14.5C11,13.39 11.45,12.39 12.17,11.67L13.41,10.41C13.78,10.05 14,9.55 14,9C14,7.89 13.1,7 12,7A2,2 0 0,0 10,9H8A4,4 0 0,1 12,5A4,4 0 0,1 16,9C16,9.88 15.64,10.67 15.07,11.25M13,19H11V17H13M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,6.47 17.5,2 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"HelpCircleIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis component is to be used in the settings section of nextcloud.\n\n### Examples\n\n```vue\n<template>\n\t<div>\n\t\t<NcSettingsSection name=\"Two-factor authentication\"\n\t\t\tdescription=\"Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/19/go.php?to=admin-2fa\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnforce two-factor authentication\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"Server-side encryption\"\n\t\t\tdescription=\"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed.\">\n\t\t\t<NcCheckboxRadioSwitch type=\"switch\">\n\t\t\t\tEnable server-side encryption\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</NcSettingsSection>\n\n\t\t<NcSettingsSection name=\"OAuth 2.0 clients\"\n\t\t\tdescription=\"OAuth 2.0 allows external services to request access to Nextcloud.\"\n\t\t\tdoc-url=\"https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/oauth2.html\">\n\n\t\t\tAny content here\n\n\t\t</NcSettingsSection>\n\t</div>\n</template>\n```\n</docs>\n\n<template>\n\t<div class=\"settings-section\" :class=\"{'settings-section--limit-width': forceLimitWidth}\">\n\t\t<h2 class=\"settings-section__name\">\n\t\t\t{{ name }}\n\t\t\t<a v-if=\"hasDocUrl\"\n\t\t\t\t:href=\"docUrl\"\n\t\t\t\tclass=\"settings-section__info\"\n\t\t\t\t:title=\"docNameTranslated\"\n\t\t\t\t:aria-label=\"docNameTranslated\"\n\t\t\t\ttarget=\"_blank\"\n\t\t\t\trel=\"noreferrer nofollow\">\n\t\t\t\t<HelpCircle :size=\"20\" />\n\t\t\t</a>\n\t\t</h2>\n\t\t<p v-if=\"hasDescription\"\n\t\t\tclass=\"settings-section__desc\">\n\t\t\t{{ description }}\n\t\t</p>\n\t\t<slot />\n\t</div>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\n\nimport HelpCircle from 'vue-material-design-icons/HelpCircle.vue'\n\nexport default {\n\tname: 'NcSettingsSection',\n\n\tcomponents: {\n\t\tHelpCircle,\n\t},\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tdocUrl: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Limit the width of the setting's content\n\t\t *\n\t\t * Setting this to false allows unrestricted (width) settings content.\n\t\t * Note that the name and description have always a width limit.\n\t\t * @deprecated Will be removed with next version and will not be used on Nextcloud 30+ (always forced to true)\n\t\t */\n\t\tlimitWidth: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tdocNameTranslated: t('External documentation for {name}', {\n\t\t\t\tname: this.name,\n\t\t\t}),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tforceLimitWidth() {\n\t\t\tif (this.limitWidth) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Overwrite this on Nextcloud 30+ to always limit the width\n\t\t\tconst [major] = window._oc_config?.version.split('.', 2) ?? []\n\t\t\treturn major && Number.parseInt(major) >= 30\n\t\t},\n\n\t\thasDescription() {\n\t\t\treturn this.description.length > 0\n\t\t},\n\t\thasDocUrl() {\n\t\t\treturn this.docUrl.length > 0\n\t\t},\n\t},\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n$maxWidth: 900px;\n\n.settings-section {\n\tdisplay: block;\n\tmargin-bottom: auto;\n\tpadding: 30px;\n\n\t&:not(:last-child) {\n\t\tborder-bottom: 1px solid var(--color-border);\n\t}\n\n\t&--limit-width > * {\n\t\tmax-width: $maxWidth;\n\t}\n\n\t&__name {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-size: 20px;\n\t\tfont-weight: bold;\n\t\tmax-width: $maxWidth;\n\t\tmargin-top: 0; // Remove default heading margin\n\t}\n\n\t&__info {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: var(--default-clickable-area);\n\t\theight: var(--default-clickable-area);\n\t\t// make sure to properly align the icon with the text\n\t\tmargin: calc($icon-margin * -1);\n\t\tmargin-inline-start: 0;\n\t\tcolor: var(--color-text-maxcontrast);\n\n\t\t&:hover, &:focus, &:active {\n\t\t\tcolor: var(--color-main-text);\n\t\t}\n\t}\n\n\t&__desc {\n\t\tmargin-top: -.2em;\n\t\tmargin-bottom: 1em;\n\t\tcolor: var(--color-text-maxcontrast);\n\t\tmax-width: $maxWidth;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main"],"mappings":";;;AAoBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;ACiCA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IACA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,mBAAA,EAAA,qCAAA;AAAA,QACA,MAAA,KAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,kBAAA;AACA,UAAA,KAAA,YAAA;AACA,eAAA;AAAA,MACA;AAEA,YAAA,CAAA,KAAA,IAAA,OAAA,YAAA,QAAA,MAAA,KAAA,CAAA,KAAA,CAAA;AACA,aAAA,SAAA,OAAA,SAAA,KAAA,KAAA;AAAA,IACA;AAAA,IAEA,iBAAA;AACA,aAAA,KAAA,YAAA,SAAA;AAAA,IACA;AAAA,IACA,YAAA;AACA,aAAA,KAAA,OAAA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;","x_google_ignoreList":[0]}
|