@nextcloud/vue 8.29.2 → 8.31.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 +38 -0
- 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/NcActionCheckbox.cjs +1 -1
- package/dist/Components/NcActionCheckbox.mjs +1 -1
- package/dist/Components/NcActionInput.cjs +1 -1
- package/dist/Components/NcActionInput.mjs +1 -1
- package/dist/Components/NcActionLink.cjs +5 -5
- package/dist/Components/NcActionLink.cjs.map +1 -1
- package/dist/Components/NcActionLink.mjs +5 -5
- package/dist/Components/NcActionLink.mjs.map +1 -1
- package/dist/Components/NcActionRadio.cjs +1 -1
- package/dist/Components/NcActionRadio.mjs +1 -1
- package/dist/Components/NcActionRouter.cjs +3 -4
- package/dist/Components/NcActionRouter.cjs.map +1 -1
- package/dist/Components/NcActionRouter.mjs +3 -4
- package/dist/Components/NcActionRouter.mjs.map +1 -1
- package/dist/Components/NcActionText.cjs +3 -3
- package/dist/Components/NcActionText.cjs.map +1 -1
- package/dist/Components/NcActionText.mjs +3 -3
- package/dist/Components/NcActionText.mjs.map +1 -1
- package/dist/Components/NcActionTextEditable.cjs +1 -1
- package/dist/Components/NcActionTextEditable.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/NcAppContentList.cjs +6 -0
- package/dist/Components/NcAppContentList.cjs.map +1 -1
- package/dist/Components/NcAppContentList.mjs +6 -0
- package/dist/Components/NcAppContentList.mjs.map +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/NcAppNavigationIconBullet.cjs +5 -2
- package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
- package/dist/Components/NcAppNavigationIconBullet.mjs +5 -2
- package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
- package/dist/Components/NcAppNavigationItem.cjs +1 -1
- package/dist/Components/NcAppNavigationItem.mjs +1 -1
- package/dist/Components/NcAppNavigationNew.cjs +2 -65
- package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
- package/dist/Components/NcAppNavigationNew.mjs +2 -65
- package/dist/Components/NcAppNavigationNew.mjs.map +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/NcAppSettingsSection.cjs +8 -2
- package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
- package/dist/Components/NcAppSettingsSection.mjs +8 -2
- package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
- package/dist/Components/NcAppSidebar.cjs +1 -1
- package/dist/Components/NcAppSidebar.mjs +1 -1
- package/dist/Components/NcAppSidebarHeader.cjs +1 -1
- package/dist/Components/NcAppSidebarHeader.mjs +1 -1
- package/dist/Components/NcAppSidebarTab.cjs +5 -2
- package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
- package/dist/Components/NcAppSidebarTab.mjs +5 -2
- package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
- package/dist/Components/NcAssistantButton.cjs +4 -0
- package/dist/Components/NcAssistantButton.cjs.map +1 -0
- package/dist/Components/NcAssistantButton.mjs +5 -0
- package/dist/Components/NcAssistantButton.mjs.map +1 -0
- package/dist/Components/NcAssistantContent.cjs +50 -0
- package/dist/Components/NcAssistantContent.cjs.map +1 -0
- package/dist/Components/NcAssistantContent.mjs +51 -0
- package/dist/Components/NcAssistantContent.mjs.map +1 -0
- package/dist/Components/NcAssistantIcon.cjs +4 -0
- package/dist/Components/NcAssistantIcon.cjs.map +1 -0
- package/dist/Components/NcAssistantIcon.mjs +5 -0
- package/dist/Components/NcAssistantIcon.mjs.map +1 -0
- package/dist/Components/NcAvatar.cjs +1 -1
- package/dist/Components/NcAvatar.mjs +1 -1
- package/dist/Components/NcBlurHash.cjs +1 -1
- package/dist/Components/NcBlurHash.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/NcButton.cjs +2 -332
- package/dist/Components/NcButton.cjs.map +1 -1
- package/dist/Components/NcButton.mjs +2 -332
- package/dist/Components/NcButton.mjs.map +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
- package/dist/Components/NcChip.cjs +15 -13
- package/dist/Components/NcChip.cjs.map +1 -1
- package/dist/Components/NcChip.mjs +15 -13
- 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/NcCounterBubble.cjs +1 -1
- package/dist/Components/NcCounterBubble.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 +46 -15
- package/dist/Components/NcDateTimePicker.cjs.map +1 -1
- package/dist/Components/NcDateTimePicker.mjs +46 -15
- package/dist/Components/NcDateTimePicker.mjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.cjs +8 -6
- package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +8 -6
- package/dist/Components/NcDateTimePickerNative.mjs.map +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/NcEllipsisedOption.cjs +3 -3
- package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
- package/dist/Components/NcEllipsisedOption.mjs +3 -3
- package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
- package/dist/Components/NcEmojiPicker.cjs +1 -1
- package/dist/Components/NcEmojiPicker.mjs +1 -1
- package/dist/Components/NcEmptyContent.cjs +4 -2
- package/dist/Components/NcEmptyContent.cjs.map +1 -1
- package/dist/Components/NcEmptyContent.mjs +4 -2
- package/dist/Components/NcEmptyContent.mjs.map +1 -1
- package/dist/Components/NcGuestContent.cjs +2 -2
- package/dist/Components/NcGuestContent.cjs.map +1 -1
- package/dist/Components/NcGuestContent.mjs +2 -2
- package/dist/Components/NcGuestContent.mjs.map +1 -1
- package/dist/Components/NcHeaderButton.cjs +2 -61
- package/dist/Components/NcHeaderButton.cjs.map +1 -1
- package/dist/Components/NcHeaderButton.mjs +2 -61
- package/dist/Components/NcHeaderButton.mjs.map +1 -1
- package/dist/Components/NcHeaderMenu.cjs +1 -1
- package/dist/Components/NcHeaderMenu.mjs +1 -1
- package/dist/Components/NcHighlight.cjs +1 -1
- package/dist/Components/NcHighlight.mjs +1 -1
- package/dist/Components/NcIconSvgWrapper.cjs +1 -1
- package/dist/Components/NcIconSvgWrapper.mjs +1 -1
- package/dist/Components/NcInputField.cjs +1 -1
- package/dist/Components/NcInputField.mjs +1 -1
- package/dist/Components/NcKbd.cjs +65 -0
- package/dist/Components/NcKbd.cjs.map +1 -0
- package/dist/Components/NcKbd.mjs +66 -0
- package/dist/Components/NcKbd.mjs.map +1 -0
- 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/NcLoadingIcon.cjs +2 -2
- package/dist/Components/NcLoadingIcon.cjs.map +1 -1
- package/dist/Components/NcLoadingIcon.mjs +2 -2
- package/dist/Components/NcLoadingIcon.mjs.map +1 -1
- package/dist/Components/NcModal.cjs +60 -46
- package/dist/Components/NcModal.cjs.map +1 -1
- package/dist/Components/NcModal.mjs +59 -45
- package/dist/Components/NcModal.mjs.map +1 -1
- package/dist/Components/NcNoteCard.cjs +10 -10
- package/dist/Components/NcNoteCard.cjs.map +1 -1
- package/dist/Components/NcNoteCard.mjs +10 -10
- package/dist/Components/NcNoteCard.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/NcProgressBar.cjs +1 -1
- package/dist/Components/NcProgressBar.mjs +1 -1
- package/dist/Components/NcRadioGroup.cjs +4 -0
- package/dist/Components/NcRadioGroup.cjs.map +1 -0
- package/dist/Components/NcRadioGroup.mjs +5 -0
- package/dist/Components/NcRadioGroup.mjs.map +1 -0
- package/dist/Components/NcRadioGroupButton.cjs +4 -0
- package/dist/Components/NcRadioGroupButton.cjs.map +1 -0
- package/dist/Components/NcRadioGroupButton.mjs +5 -0
- package/dist/Components/NcRadioGroupButton.mjs.map +1 -0
- package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
- package/dist/Components/NcRichContenteditable.cjs +2 -2
- package/dist/Components/NcRichContenteditable.mjs +2 -2
- package/dist/Components/NcRichText.cjs +10 -10
- package/dist/Components/NcRichText.mjs +17 -17
- 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 +1 -1
- package/dist/Components/NcSelectUsers.mjs +1 -1
- 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/NcTextArea.cjs +1 -1
- package/dist/Components/NcTextArea.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/Components/NcVNodes.cjs +1 -2
- package/dist/Components/NcVNodes.cjs.map +1 -1
- package/dist/Components/NcVNodes.mjs +1 -2
- package/dist/Components/NcVNodes.mjs.map +1 -1
- package/dist/Composables/useFormatDateTime.cjs +2 -4
- package/dist/Composables/useFormatDateTime.cjs.map +1 -1
- package/dist/Composables/useFormatDateTime.mjs +2 -4
- package/dist/Composables/useFormatDateTime.mjs.map +1 -1
- package/dist/Composables/useHotKey.cjs +2 -2
- package/dist/Composables/useHotKey.cjs.map +1 -1
- package/dist/Composables/useHotKey.mjs +1 -1
- package/dist/Composables/useHotKey.mjs.map +1 -1
- package/dist/Composables/useIsDarkTheme.cjs.map +1 -1
- package/dist/Composables/useIsDarkTheme.mjs.map +1 -1
- package/dist/Composables/useIsFullscreen.cjs.map +1 -1
- package/dist/Composables/useIsFullscreen.mjs.map +1 -1
- package/dist/Composables/useIsMobile.cjs.map +1 -1
- package/dist/Composables/useIsMobile.mjs.map +1 -1
- package/dist/Directives/Focus.cjs.map +1 -1
- package/dist/Directives/Focus.mjs.map +1 -1
- package/dist/Directives/Linkify.cjs +4 -6
- package/dist/Directives/Linkify.cjs.map +1 -1
- package/dist/Directives/Linkify.mjs +4 -5
- package/dist/Directives/Linkify.mjs.map +1 -1
- package/dist/Directives/Tooltip.cjs.map +1 -1
- package/dist/Directives/Tooltip.mjs.map +1 -1
- package/dist/Functions/a11y.cjs +2 -2
- package/dist/Functions/a11y.cjs.map +1 -1
- package/dist/Functions/a11y.mjs +2 -2
- package/dist/Functions/a11y.mjs.map +1 -1
- package/dist/Functions/contactsMenu.cjs.map +1 -1
- package/dist/Functions/contactsMenu.mjs.map +1 -1
- package/dist/Functions/dialog.cjs.map +1 -1
- package/dist/Functions/dialog.mjs.map +1 -1
- package/dist/Functions/isDarkTheme.cjs.map +1 -1
- package/dist/Functions/isDarkTheme.mjs.map +1 -1
- package/dist/Functions/preloadImage.cjs.map +1 -1
- package/dist/Functions/preloadImage.mjs.map +1 -1
- package/dist/Functions/reference.cjs +10 -10
- package/dist/Functions/reference.mjs +8 -8
- package/dist/Functions/registerReference.cjs +11 -11
- package/dist/Functions/registerReference.mjs +7 -7
- package/dist/Functions/usernameToColor.cjs +1 -1
- package/dist/Functions/usernameToColor.cjs.map +1 -1
- package/dist/Functions/usernameToColor.mjs +1 -1
- package/dist/Functions/usernameToColor.mjs.map +1 -1
- package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
- package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
- package/dist/Mixins/isFullscreen.cjs.map +1 -1
- package/dist/Mixins/isFullscreen.mjs.map +1 -1
- package/dist/Mixins/isMobile.cjs.map +1 -1
- package/dist/Mixins/isMobile.mjs.map +1 -1
- package/dist/Mixins/richEditor.cjs +1 -1
- package/dist/Mixins/richEditor.mjs +1 -1
- package/dist/assets/{NcActionButton-D8Lyueq3.css → NcActionButton-DwJihiLc.css} +18 -18
- package/dist/assets/{NcActionButtonGroup-oAqMyrzr.css → NcActionButtonGroup-CRXLyFpx.css} +8 -8
- package/dist/assets/{NcActionCheckbox-BlyPt7DF.css → NcActionCheckbox-DvdNISIs.css} +12 -12
- package/dist/assets/{NcActionInput-D79204Jr.css → NcActionInput-DXZaAilC.css} +67 -63
- package/dist/assets/{NcActionLink-CNMaob5P.css → NcActionLink-7Wp6P-Nk.css} +13 -13
- package/dist/assets/{NcActionRadio-CodyhP86.css → NcActionRadio-CLsR2Ore.css} +12 -12
- package/dist/assets/{NcActionRouter-zXuKLsvi.css → NcActionRouter-ByijfQtF.css} +16 -16
- package/dist/assets/{NcActionText-Rad4JSXq.css → NcActionText-CR_yvwWo.css} +18 -18
- package/dist/assets/{NcActionTextEditable-i1KSVe0J.css → NcActionTextEditable-CCWTiT5c.css} +71 -63
- package/dist/assets/{NcActions-CXnDIMae.css → NcActions-B4-9qwLn.css} +11 -11
- package/dist/assets/{NcAppContent-Bb5hgGi3.css → NcAppContent-DerHKU6P.css} +23 -23
- package/dist/assets/{NcAppNavigation-WhHdkLQF.css → NcAppNavigation-R4E_wTZ-.css} +12 -12
- package/dist/assets/{NcAppNavigationCaption-DU9PxTvu.css → NcAppNavigationCaption-C7GtQb_y.css} +7 -7
- package/dist/assets/{NcAppNavigationIconBullet-CeBYVy6t.css → NcAppNavigationIconBullet-DLQJkObX.css} +3 -3
- package/dist/assets/{NcAppNavigationItem-DKcGNjYx.css → NcAppNavigationItem-Kua1hP7u.css} +46 -40
- package/dist/assets/{NcAppNavigationNew-Dbo2rvXH.css → NcAppNavigationNew-D8_2ab9R.css} +3 -3
- package/dist/assets/{NcAppNavigationNewItem-CS2gLROV.css → NcAppNavigationNewItem-Cjbn5XkO.css} +44 -38
- package/dist/assets/{NcAppNavigationSearch-CD7kv7L_.css → NcAppNavigationSearch-o97SOfOb.css} +6 -6
- package/dist/assets/{NcAppNavigationSettings-_Qi3rUlw.css → NcAppNavigationSettings-1YRzh-xl.css} +11 -11
- package/dist/assets/{NcAppNavigationToggle-C5IMygw1.css → NcAppNavigationToggle-DgwbZOWc.css} +3 -3
- package/dist/assets/{NcAppSettingsDialog-kKMMsdb3.css → NcAppSettingsDialog-DiJpVNeb.css} +10 -10
- package/dist/assets/{NcAppSettingsSection-Bl2-D3_g.css → NcAppSettingsSection-IzrCzLDw.css} +3 -3
- package/dist/assets/{NcAppSidebar-u0G_qQMh.css → NcAppSidebar-CJYtNcF0.css} +58 -58
- package/dist/assets/{NcAppSidebarTab-Blv6UfuA.css → NcAppSidebarTab-IcebyGtN.css} +4 -4
- package/dist/assets/NcAssistantButton-owGSr0s0.css +54 -0
- package/dist/assets/NcAssistantContent-Ban7n3Bg.css +31 -0
- package/dist/assets/NcAssistantIcon-BoOnqVRr.css +35 -0
- package/dist/assets/{NcAvatar-BqNcvkxP.css → NcAvatar-BdAXbXdR.css} +27 -28
- package/dist/assets/{NcBreadcrumb-DqaFt2qu.css → NcBreadcrumb-0xB19h6f.css} +15 -15
- package/dist/assets/{NcBreadcrumbs-CFRjXqRg.css → NcBreadcrumbs-DahxPGJY.css} +6 -6
- package/dist/assets/{NcButton-C_LOxojs.css → NcButton-D8AOCliw.css} +46 -46
- package/dist/assets/{NcCheckboxRadioSwitch-DqEP1SPR.css → NcCheckboxRadioSwitch-BcHKt-lf.css} +65 -47
- package/dist/assets/{NcChip-CF4Q149V.css → NcChip-Cc17FJEC.css} +9 -9
- package/dist/assets/{NcCollectionList-yjTCAR46.css → NcCollectionList-DInDhsAS.css} +42 -42
- package/dist/assets/{NcColorPicker-DBcVuSwg.css → NcColorPicker-CGI9ElwB.css} +28 -28
- package/dist/assets/{NcContent-DH4tX3N4.css → NcContent-BedDNXST.css} +10 -10
- package/dist/assets/{NcCounterBubble-CI-DxLjL.css → NcCounterBubble-sz81L2Mt.css} +7 -7
- package/dist/assets/{NcDashboardWidget-CrhZaGWD.css → NcDashboardWidget-DzJMoJ_B.css} +12 -12
- package/dist/assets/{NcDashboardWidgetItem-B8_6-_k8.css → NcDashboardWidgetItem-CAsF_ZMZ.css} +12 -12
- package/dist/assets/{NcDateTimePicker-FNnAz7ls.css → NcDateTimePicker-4Zw7r2r4.css} +18 -16
- package/dist/assets/{NcDateTimePickerNative-CYS2ORfo.css → NcDateTimePickerNative-ZqMiOh_m.css} +13 -13
- package/dist/assets/{NcDialog-X7BRqUGJ.css → NcDialog-COuFb47k.css} +15 -15
- package/dist/assets/{NcEllipsisedOption-DGr9_bIL.css → NcEllipsisedOption-DRkFZ9bI.css} +5 -5
- package/dist/assets/{NcEmojiPicker-BRSm8OUy.css → NcEmojiPicker-CrjOSMLF.css} +128 -124
- package/dist/assets/{NcEmptyContent-CHVEJoER.css → NcEmptyContent-xdTcF0yQ.css} +9 -9
- package/dist/assets/{NcGuestContent-ByAkjts7.css → NcGuestContent-BkegjnLL.css} +2 -2
- package/dist/assets/{NcHeaderButton-BRhv2o2J.css → NcHeaderButton-CeT-dsLr.css} +9 -9
- package/dist/assets/{NcHeaderMenu-Cjb3kKi1.css → NcHeaderMenu-BXb9npZp.css} +13 -13
- package/dist/assets/{NcIconSvgWrapper-DX_XWpAs.css → NcIconSvgWrapper-DJQ2Kuip.css} +7 -7
- package/dist/assets/{NcInputConfirmCancel-BanazdhC.css → NcInputConfirmCancel-CkhRZCfD.css} +5 -5
- package/dist/assets/{NcInputField-DAiNwtp_.css → NcInputField-BI3vWgSo.css} +42 -42
- package/dist/assets/NcKbd-BGW1_Jb7.css +36 -0
- package/dist/assets/{NcListItem-KrH47Efg.css → NcListItem-rxOwDYE-.css} +44 -44
- package/dist/assets/{NcListItemIcon-UmX9YoH3.css → NcListItemIcon-Co3jVZZ8.css} +13 -13
- package/dist/assets/{NcLoadingIcon-DbbToJVp.css → NcLoadingIcon-C7S2_wmi.css} +3 -3
- package/dist/assets/{NcMentionBubble-UsTMm5VD.css → NcMentionBubble-CaztX9Pv.css} +9 -9
- package/dist/assets/{NcModal-Cy3UOuI2.css → NcModal-BzkYPomo.css} +64 -62
- package/dist/assets/{NcNoteCard-ChweF_5Q.css → NcNoteCard-Dz5-u2BY.css} +12 -12
- package/dist/assets/{NcPasswordField-DVK8tuPi.css → NcPasswordField-mhXQk8aT.css} +2 -2
- package/dist/assets/{NcProgressBar-DTCznR-m.css → NcProgressBar-CU_ib_HL.css} +11 -11
- package/dist/assets/NcRadioGroup-CNgjqqiP.css +49 -0
- package/dist/assets/NcRadioGroupButton-B1hPj4B8.css +85 -0
- package/dist/assets/{NcRelatedResourcesPanel-DhStLIO2.css → NcRelatedResourcesPanel-d2OxhjiL.css} +65 -65
- package/dist/assets/{NcRichContenteditable-DZLSoy84.css → NcRichContenteditable-BoM95AVW.css} +20 -20
- package/dist/assets/{NcRichText-CWVHZl8s.css → NcRichText-BDx2fupZ.css} +89 -87
- package/dist/assets/{NcSelect-GdIw6cIy.css → NcSelect-B1pyRV6j.css} +3 -1
- package/dist/assets/NcSelectUsers-CfOSPgtz.css +4 -0
- package/dist/assets/{NcSettingsInputText-Bsp_6DjJ.css → NcSettingsInputText-18lfGViv.css} +5 -5
- package/dist/assets/{NcSettingsSection-uKqWTbhb.css → NcSettingsSection-D_qeKnRb.css} +8 -8
- package/dist/assets/{NcSettingsSelectGroup-tjJNoh16.css → NcSettingsSelectGroup-B9FlWQVH.css} +2 -2
- package/dist/assets/{NcTextArea-vxeIyeSg.css → NcTextArea-B6zS3CRN.css} +25 -25
- package/dist/assets/{NcUserBubble-BsTKRhKz.css → NcUserBubble-uIpJvFoQ.css} +8 -8
- package/dist/assets/{NcUserStatusIcon-Dc-aUzBe.css → NcUserStatusIcon-Bw8yMFMP.css} +4 -4
- package/dist/assets/{referencePickerModal-BgSz7IyB.css → referencePickerModal-CTpc6_U6.css} +60 -60
- package/dist/chunks/{GenColors-BjsCKF7S.cjs → GenColors-BVouTbTJ.cjs} +10 -3
- package/dist/chunks/GenColors-BVouTbTJ.cjs.map +1 -0
- package/dist/chunks/{GenColors-BrpkL3hT.mjs → GenColors-DIH749TS.mjs} +10 -3
- package/dist/chunks/GenColors-DIH749TS.mjs.map +1 -0
- package/dist/chunks/{GenRandomId-BQDud3d4.cjs → GenRandomId-D7iOvpZS.cjs} +3 -3
- package/dist/chunks/GenRandomId-D7iOvpZS.cjs.map +1 -0
- package/dist/chunks/{GenRandomId-CMooMQt0.mjs → GenRandomId-F5ebeBB_.mjs} +3 -3
- package/dist/chunks/GenRandomId-F5ebeBB_.mjs.map +1 -0
- package/dist/chunks/{NcActionButton-D_9FsTpM.cjs → NcActionButton-CFXzNoFT.cjs} +10 -8
- package/dist/chunks/NcActionButton-CFXzNoFT.cjs.map +1 -0
- package/dist/chunks/{NcActionButton-rjMoymt-.mjs → NcActionButton-CVW8aRkE.mjs} +10 -8
- package/dist/chunks/NcActionButton-CVW8aRkE.mjs.map +1 -0
- package/dist/chunks/{NcActionButtonGroup-hhh3GBSS.mjs → NcActionButtonGroup-BOr5Of3k.mjs} +5 -5
- package/dist/chunks/{NcActionButtonGroup-hhh3GBSS.mjs.map → NcActionButtonGroup-BOr5Of3k.mjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-Cr4OSmyb.cjs → NcActionButtonGroup-Bwuy2WZQ.cjs} +5 -5
- package/dist/chunks/{NcActionButtonGroup-Cr4OSmyb.cjs.map → NcActionButtonGroup-Bwuy2WZQ.cjs.map} +1 -1
- package/dist/chunks/{NcActionCheckbox-DSMKeccY.mjs → NcActionCheckbox-C05ls65i.mjs} +9 -5
- package/dist/chunks/NcActionCheckbox-C05ls65i.mjs.map +1 -0
- package/dist/chunks/{NcActionCheckbox-JX-QaTD6.cjs → NcActionCheckbox-Dg_1Ovt0.cjs} +9 -5
- package/dist/chunks/NcActionCheckbox-Dg_1Ovt0.cjs.map +1 -0
- package/dist/chunks/{NcActionInput-CQ_WEPqQ.mjs → NcActionInput-CoG-fZq9.mjs} +16 -11
- package/dist/chunks/NcActionInput-CoG-fZq9.mjs.map +1 -0
- package/dist/chunks/{NcActionInput-CA9bOHxb.cjs → NcActionInput-iIJpNS_Q.cjs} +16 -11
- package/dist/chunks/NcActionInput-iIJpNS_Q.cjs.map +1 -0
- package/dist/chunks/{NcActionRadio-yAm71xxU.mjs → NcActionRadio-Bpbs2dPm.mjs} +9 -5
- package/dist/chunks/NcActionRadio-Bpbs2dPm.mjs.map +1 -0
- package/dist/chunks/{NcActionRadio-BUCQ6VxA.cjs → NcActionRadio-Dtrwffyh.cjs} +9 -5
- package/dist/chunks/NcActionRadio-Dtrwffyh.cjs.map +1 -0
- package/dist/chunks/{NcActionTextEditable-B4g2kszt.cjs → NcActionTextEditable-BpahzGpr.cjs} +10 -8
- package/dist/chunks/NcActionTextEditable-BpahzGpr.cjs.map +1 -0
- package/dist/chunks/{NcActionTextEditable-xWQGdOVl.mjs → NcActionTextEditable-DRwDJjPd.mjs} +10 -8
- package/dist/chunks/NcActionTextEditable-DRwDJjPd.mjs.map +1 -0
- package/dist/chunks/{NcActions-B76VN_Gz.cjs → NcActions-B7oXbiVt.cjs} +17 -13
- package/dist/chunks/NcActions-B7oXbiVt.cjs.map +1 -0
- package/dist/chunks/{NcActions-BKZA1xVL.mjs → NcActions-C832pWHO.mjs} +16 -12
- package/dist/chunks/NcActions-C832pWHO.mjs.map +1 -0
- package/dist/chunks/{NcAppContent-BS7BiMG0.mjs → NcAppContent-C9NGJE6n.mjs} +15 -12
- package/dist/chunks/NcAppContent-C9NGJE6n.mjs.map +1 -0
- package/dist/chunks/{NcAppContent-POt1Lj3W.cjs → NcAppContent-Djy38ou2.cjs} +16 -13
- package/dist/chunks/NcAppContent-Djy38ou2.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-BKxSUpcQ.cjs → NcAppNavigation-C0Oc0gQ6.cjs} +7 -7
- package/dist/chunks/NcAppNavigation-C0Oc0gQ6.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-BvEa92PC.mjs → NcAppNavigation-DjtmN3dS.mjs} +7 -7
- package/dist/chunks/NcAppNavigation-DjtmN3dS.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationCaption-hDsiQMLr.mjs → NcAppNavigationCaption-CsoHaLXg.mjs} +7 -4
- package/dist/chunks/{NcAppNavigationCaption-CjOJyYIY.cjs.map → NcAppNavigationCaption-CsoHaLXg.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-CjOJyYIY.cjs → NcAppNavigationCaption-D4-hEmCi.cjs} +7 -4
- package/dist/chunks/{NcAppNavigationCaption-hDsiQMLr.mjs.map → NcAppNavigationCaption-D4-hEmCi.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-NIMhmJHh.mjs → NcAppNavigationItem-DvVYHshm.mjs} +77 -70
- package/dist/chunks/NcAppNavigationItem-DvVYHshm.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationItem-Cu3S2chM.cjs → NcAppNavigationItem-ZOXUMmX5.cjs} +77 -70
- package/dist/chunks/NcAppNavigationItem-ZOXUMmX5.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationNew-AiFYSCW1.mjs +78 -0
- package/dist/chunks/NcAppNavigationNew-AiFYSCW1.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationNew-BqNIa8N9.cjs +77 -0
- package/dist/chunks/NcAppNavigationNew-BqNIa8N9.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationNewItem-CTAoGkDy.cjs → NcAppNavigationNewItem-BuEkCd2H.cjs} +4 -4
- package/dist/chunks/NcAppNavigationNewItem-BuEkCd2H.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationNewItem-D4fJeBl0.mjs → NcAppNavigationNewItem-CdlWkGU3.mjs} +4 -4
- package/dist/chunks/NcAppNavigationNewItem-CdlWkGU3.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSearch-CaBrnpf9.cjs → NcAppNavigationSearch-BXjB3FEJ.cjs} +7 -7
- package/dist/chunks/NcAppNavigationSearch-BXjB3FEJ.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSearch-B9OkdsuE.mjs → NcAppNavigationSearch-CsIzwF6F.mjs} +7 -7
- package/dist/chunks/NcAppNavigationSearch-CsIzwF6F.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSettings-C8YaW_Kj.cjs → NcAppNavigationSettings-CkFZMLtH.cjs} +17 -11
- package/dist/chunks/NcAppNavigationSettings-CkFZMLtH.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSettings-BV34ogWP.mjs → NcAppNavigationSettings-Dq2O3kRz.mjs} +17 -11
- package/dist/chunks/NcAppNavigationSettings-Dq2O3kRz.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationToggle-DGppWo0q.cjs → NcAppNavigationToggle-C2vtZ3uV.cjs} +7 -7
- package/dist/chunks/NcAppNavigationToggle-C2vtZ3uV.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationToggle-VxL1CfJY.mjs → NcAppNavigationToggle-DlWpnYdz.mjs} +6 -6
- package/dist/chunks/NcAppNavigationToggle-DlWpnYdz.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-BwsIc_QT.mjs → NcAppSettingsDialog-DVFw09eD.mjs} +12 -10
- package/dist/chunks/NcAppSettingsDialog-DVFw09eD.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-BDo3la0P.cjs → NcAppSettingsDialog-DalEoC9H.cjs} +12 -10
- package/dist/chunks/NcAppSettingsDialog-DalEoC9H.cjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-BJgPYOcZ.mjs → NcAppSidebar-Bda_fc-F.mjs} +141 -129
- package/dist/chunks/NcAppSidebar-Bda_fc-F.mjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-Dbvy4M4h.cjs → NcAppSidebar-Cx2ZxU4N.cjs} +142 -130
- package/dist/chunks/NcAppSidebar-Cx2ZxU4N.cjs.map +1 -0
- package/dist/chunks/{NcAppSidebarHeader-G2VD8Nfl.mjs → NcAppSidebarHeader-CBE4tNYb.mjs} +4 -3
- package/dist/chunks/NcAppSidebarHeader-CBE4tNYb.mjs.map +1 -0
- package/dist/chunks/{NcAppSidebarHeader-BUXD8c9i.cjs → NcAppSidebarHeader-D-c_yxvx.cjs} +4 -3
- package/dist/chunks/NcAppSidebarHeader-D-c_yxvx.cjs.map +1 -0
- package/dist/chunks/NcAssistantButton-Dk28Wilk.mjs +97 -0
- package/dist/chunks/NcAssistantButton-Dk28Wilk.mjs.map +1 -0
- package/dist/chunks/NcAssistantButton-zriu0Kiz.cjs +96 -0
- package/dist/chunks/NcAssistantButton-zriu0Kiz.cjs.map +1 -0
- package/dist/chunks/NcAssistantIcon-B-Udgta_.cjs +72 -0
- package/dist/chunks/NcAssistantIcon-B-Udgta_.cjs.map +1 -0
- package/dist/chunks/NcAssistantIcon-CtEF1hjA.mjs +73 -0
- package/dist/chunks/NcAssistantIcon-CtEF1hjA.mjs.map +1 -0
- package/dist/chunks/{NcAvatar-CgF-MFtU.mjs → NcAvatar-CuYtFEdJ.mjs} +35 -28
- package/dist/chunks/NcAvatar-CuYtFEdJ.mjs.map +1 -0
- package/dist/chunks/{NcAvatar-DThzrxm-.cjs → NcAvatar-bd-5zXWN.cjs} +36 -29
- package/dist/chunks/NcAvatar-bd-5zXWN.cjs.map +1 -0
- package/dist/chunks/{NcBlurHash-CJ8retHx.cjs → NcBlurHash-CR0v4QBK.cjs} +2 -2
- package/dist/chunks/{NcBlurHash-CJ8retHx.cjs.map → NcBlurHash-CR0v4QBK.cjs.map} +1 -1
- package/dist/chunks/{NcBlurHash-do2wxY-0.mjs → NcBlurHash-DZmsBU0q.mjs} +2 -2
- package/dist/chunks/{NcBlurHash-do2wxY-0.mjs.map → NcBlurHash-DZmsBU0q.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-86ycrDeH.cjs → NcBreadcrumb-ChxXdE2m.cjs} +19 -19
- package/dist/chunks/NcBreadcrumb-ChxXdE2m.cjs.map +1 -0
- package/dist/chunks/{NcBreadcrumb-DJpYjXCe.mjs → NcBreadcrumb-D1106x4x.mjs} +18 -18
- package/dist/chunks/NcBreadcrumb-D1106x4x.mjs.map +1 -0
- package/dist/chunks/{NcBreadcrumbs-B722pBOd.mjs → NcBreadcrumbs-C9Zo0nca.mjs} +108 -106
- package/dist/chunks/NcBreadcrumbs-C9Zo0nca.mjs.map +1 -0
- package/dist/chunks/{NcBreadcrumbs-CBMTGNxS.cjs → NcBreadcrumbs-XAvQ1MIp.cjs} +109 -107
- package/dist/chunks/NcBreadcrumbs-XAvQ1MIp.cjs.map +1 -0
- package/dist/chunks/NcButton-CWPBzbcC.mjs +330 -0
- package/dist/chunks/NcButton-CWPBzbcC.mjs.map +1 -0
- package/dist/chunks/NcButton-DOsCAjiE.cjs +329 -0
- package/dist/chunks/NcButton-DOsCAjiE.cjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch-ip_mRd2T.mjs → NcCheckboxRadioSwitch-CLnWsBwK.mjs} +135 -79
- package/dist/chunks/NcCheckboxRadioSwitch-CLnWsBwK.mjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch-kdoDmLpF.cjs → NcCheckboxRadioSwitch-yVj7slxL.cjs} +135 -79
- package/dist/chunks/NcCheckboxRadioSwitch-yVj7slxL.cjs.map +1 -0
- package/dist/chunks/{NcCollectionList-Khg3X3Zq.mjs → NcCollectionList-5_ghrfiE.mjs} +27 -21
- package/dist/chunks/NcCollectionList-5_ghrfiE.mjs.map +1 -0
- package/dist/chunks/{NcCollectionList-C-FWulfV.cjs → NcCollectionList-DZh_7a3g.cjs} +27 -21
- package/dist/chunks/NcCollectionList-DZh_7a3g.cjs.map +1 -0
- package/dist/chunks/{NcColorPicker-MXMbRaLk.mjs → NcColorPicker-Cae6XNoK.mjs} +14 -14
- package/dist/chunks/NcColorPicker-Cae6XNoK.mjs.map +1 -0
- package/dist/chunks/{NcColorPicker-C3lzQVxY.cjs → NcColorPicker-D-E2dT4Q.cjs} +15 -15
- package/dist/chunks/NcColorPicker-D-E2dT4Q.cjs.map +1 -0
- package/dist/chunks/{NcContent-BbmqoSY7.mjs → NcContent-CGBJ782F.mjs} +13 -9
- package/dist/chunks/{NcContent-DH7uH5Gv.cjs.map → NcContent-CGBJ782F.mjs.map} +1 -1
- package/dist/chunks/{NcContent-DH7uH5Gv.cjs → NcContent-I3cwZc0Z.cjs} +14 -10
- package/dist/chunks/{NcContent-BbmqoSY7.mjs.map → NcContent-I3cwZc0Z.cjs.map} +1 -1
- package/dist/chunks/{NcCounterBubble-BRrUO34D.cjs → NcCounterBubble-hyvazclA.cjs} +7 -3
- package/dist/chunks/NcCounterBubble-hyvazclA.cjs.map +1 -0
- package/dist/chunks/{NcCounterBubble-CDfRYl8B.mjs → NcCounterBubble-oxV8oMlX.mjs} +7 -3
- package/dist/chunks/NcCounterBubble-oxV8oMlX.mjs.map +1 -0
- package/dist/chunks/{NcDashboardWidget-DD_fZTj6.cjs → NcDashboardWidget-DKUU16oT.cjs} +8 -8
- package/dist/chunks/NcDashboardWidget-DKUU16oT.cjs.map +1 -0
- package/dist/chunks/{NcDashboardWidget-D0cFVt4i.mjs → NcDashboardWidget-_Bi63nDZ.mjs} +8 -8
- package/dist/chunks/NcDashboardWidget-_Bi63nDZ.mjs.map +1 -0
- package/dist/chunks/{NcDashboardWidgetItem-BiH7ivQn.cjs → NcDashboardWidgetItem-BhGOOhKF.cjs} +8 -7
- package/dist/chunks/NcDashboardWidgetItem-BhGOOhKF.cjs.map +1 -0
- package/dist/chunks/{NcDashboardWidgetItem-D33MR-DH.mjs → NcDashboardWidgetItem-D4q57Lg_.mjs} +8 -7
- package/dist/chunks/NcDashboardWidgetItem-D4q57Lg_.mjs.map +1 -0
- package/dist/chunks/{NcDateTime-Cl-PZpLN.cjs → NcDateTime-DE-ltgw2.cjs} +2 -2
- package/dist/chunks/NcDateTime-DE-ltgw2.cjs.map +1 -0
- package/dist/chunks/{NcDateTime-kanSdMgW.mjs → NcDateTime-enXYuwj8.mjs} +2 -2
- package/dist/chunks/NcDateTime-enXYuwj8.mjs.map +1 -0
- package/dist/chunks/{NcDialog-ps0F3IQM.cjs → NcDialog-B2tW1DtP.cjs} +39 -31
- package/dist/chunks/NcDialog-B2tW1DtP.cjs.map +1 -0
- package/dist/chunks/{NcDialog-C1b3UtA7.mjs → NcDialog-Du-BeUCp.mjs} +39 -31
- package/dist/chunks/NcDialog-Du-BeUCp.mjs.map +1 -0
- package/dist/chunks/{NcDialogButton-CEdM0Qnr.cjs → NcDialogButton-BB84DliS.cjs} +9 -8
- package/dist/chunks/NcDialogButton-BB84DliS.cjs.map +1 -0
- package/dist/chunks/{NcDialogButton-Di9tU3e_.mjs → NcDialogButton-DtGSMhif.mjs} +8 -7
- package/dist/chunks/NcDialogButton-DtGSMhif.mjs.map +1 -0
- package/dist/chunks/{NcEmojiPicker-DJHvkF--.mjs → NcEmojiPicker-B2SLfIBu.mjs} +19 -14
- package/dist/chunks/NcEmojiPicker-B2SLfIBu.mjs.map +1 -0
- package/dist/chunks/{NcEmojiPicker-C2-Q-RoT.cjs → NcEmojiPicker-q_n1Rd8U.cjs} +20 -15
- package/dist/chunks/NcEmojiPicker-q_n1Rd8U.cjs.map +1 -0
- package/dist/chunks/NcHeaderButton-AKzxd51V.cjs +63 -0
- package/dist/chunks/NcHeaderButton-AKzxd51V.cjs.map +1 -0
- package/dist/chunks/NcHeaderButton-BORaK-yT.mjs +64 -0
- package/dist/chunks/NcHeaderButton-BORaK-yT.mjs.map +1 -0
- package/dist/chunks/{NcHeaderMenu-BWFubuox.cjs → NcHeaderMenu-CBP4SYca.cjs} +11 -10
- package/dist/chunks/NcHeaderMenu-CBP4SYca.cjs.map +1 -0
- package/dist/chunks/{NcHeaderMenu-Dq_Avv2T.mjs → NcHeaderMenu-CkD6cjnH.mjs} +10 -9
- package/dist/chunks/NcHeaderMenu-CkD6cjnH.mjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-Cb-cPj1R.mjs → NcIconSvgWrapper-BreCg8pX.mjs} +6 -5
- package/dist/chunks/NcIconSvgWrapper-BreCg8pX.mjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-CrnN5Sq5.cjs → NcIconSvgWrapper-D-aKMbf3.cjs} +7 -6
- package/dist/chunks/NcIconSvgWrapper-D-aKMbf3.cjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-DA740BJ-.mjs → NcInputConfirmCancel-21vM2JHp.mjs} +12 -6
- package/dist/chunks/NcInputConfirmCancel-21vM2JHp.mjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-Dz7-CkOl.cjs → NcInputConfirmCancel-BqZm3WBG.cjs} +13 -7
- package/dist/chunks/NcInputConfirmCancel-BqZm3WBG.cjs.map +1 -0
- package/dist/chunks/{NcInputField-cT3u4gMS.cjs → NcInputField-Dry3uU_8.cjs} +10 -7
- package/dist/chunks/NcInputField-Dry3uU_8.cjs.map +1 -0
- package/dist/chunks/{NcInputField-BNSfmQqu.mjs → NcInputField-kKgY_2GV.mjs} +9 -6
- package/dist/chunks/NcInputField-kKgY_2GV.mjs.map +1 -0
- package/dist/chunks/{NcListItem-CnxZixD_.mjs → NcListItem-B3ETbT9w.mjs} +9 -5
- package/dist/chunks/NcListItem-B3ETbT9w.mjs.map +1 -0
- package/dist/chunks/{NcListItem-DV4HPJWQ.cjs → NcListItem-D_-a7WR9.cjs} +9 -5
- package/dist/chunks/NcListItem-D_-a7WR9.cjs.map +1 -0
- package/dist/chunks/{NcListItemIcon-BUthbF_v.cjs → NcListItemIcon-CYR8eKOU.cjs} +11 -10
- package/dist/chunks/NcListItemIcon-CYR8eKOU.cjs.map +1 -0
- package/dist/chunks/{NcListItemIcon-CTfYEjBB.mjs → NcListItemIcon-bQZej-L0.mjs} +11 -10
- package/dist/chunks/NcListItemIcon-bQZej-L0.mjs.map +1 -0
- package/dist/chunks/{NcPasswordField-DSdrAkZy.mjs → NcPasswordField-9LYKS0t_.mjs} +15 -12
- package/dist/chunks/NcPasswordField-9LYKS0t_.mjs.map +1 -0
- package/dist/chunks/{NcPasswordField-DcFBNVHn.cjs → NcPasswordField-DPGGwGEl.cjs} +15 -12
- package/dist/chunks/NcPasswordField-DPGGwGEl.cjs.map +1 -0
- package/dist/chunks/{NcPopover-CAJVK-MR.mjs → NcPopover-DMUA5d7U.mjs} +40 -11
- package/dist/chunks/NcPopover-DMUA5d7U.mjs.map +1 -0
- package/dist/chunks/{NcPopover-QGSKWhSP.cjs → NcPopover-DkX3Esbr.cjs} +40 -11
- package/dist/chunks/NcPopover-DkX3Esbr.cjs.map +1 -0
- package/dist/chunks/{NcProgressBar-CI_nOrPg.mjs → NcProgressBar-D7zYeXBH.mjs} +8 -4
- package/dist/chunks/NcProgressBar-D7zYeXBH.mjs.map +1 -0
- package/dist/chunks/{NcProgressBar-lh4Gtdfr.cjs → NcProgressBar-DvxA9bq5.cjs} +8 -4
- package/dist/chunks/NcProgressBar-DvxA9bq5.cjs.map +1 -0
- package/dist/chunks/NcRadioGroup-BZ-humrK.cjs +84 -0
- package/dist/chunks/NcRadioGroup-BZ-humrK.cjs.map +1 -0
- package/dist/chunks/NcRadioGroup-VKZJ0Vnh.mjs +83 -0
- package/dist/chunks/NcRadioGroup-VKZJ0Vnh.mjs.map +1 -0
- package/dist/chunks/NcRadioGroupButton-7UZaDiJ2.cjs +62 -0
- package/dist/chunks/NcRadioGroupButton-7UZaDiJ2.cjs.map +1 -0
- package/dist/chunks/NcRadioGroupButton-QLL4wM7A.mjs +63 -0
- package/dist/chunks/NcRadioGroupButton-QLL4wM7A.mjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-BR_ggojH.cjs → NcRelatedResourcesPanel-jHQ2bRko.cjs} +86 -82
- package/dist/chunks/NcRelatedResourcesPanel-jHQ2bRko.cjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-DyvwxDjI.mjs → NcRelatedResourcesPanel-jvOEQWWO.mjs} +85 -81
- package/dist/chunks/NcRelatedResourcesPanel-jvOEQWWO.mjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-B5-V1mov.cjs → NcRichContenteditable-BILbjzSU.cjs} +51 -28
- package/dist/chunks/NcRichContenteditable-BILbjzSU.cjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-cpptFUeI.mjs → NcRichContenteditable-iQhj1-AH.mjs} +50 -27
- package/dist/chunks/NcRichContenteditable-iQhj1-AH.mjs.map +1 -0
- package/dist/chunks/{NcRichText-CmuVmSzl.mjs → NcRichText-B7M7rNqC.mjs} +80 -81
- package/dist/chunks/NcRichText-B7M7rNqC.mjs.map +1 -0
- package/dist/chunks/{NcRichText-DKesJDDM.cjs → NcRichText-DYcfsH5s.cjs} +85 -86
- package/dist/chunks/NcRichText-DYcfsH5s.cjs.map +1 -0
- package/dist/chunks/NcSavingIndicatorIcon-DFyB2KRK.cjs.map +1 -1
- package/dist/chunks/NcSavingIndicatorIcon-U7AIamCl.mjs.map +1 -1
- package/dist/chunks/{NcSelect-BUOuXJUQ.mjs → NcSelect-PvjbF3jF.mjs} +18 -13
- package/dist/chunks/NcSelect-PvjbF3jF.mjs.map +1 -0
- package/dist/chunks/{NcSelect-CnLfkqdF.cjs → NcSelect-s3_u0qvy.cjs} +18 -13
- package/dist/chunks/NcSelect-s3_u0qvy.cjs.map +1 -0
- package/dist/chunks/{NcSelectTags-hP98xYkg.mjs → NcSelectTags-DYUCDZ_e.mjs} +19 -15
- package/dist/chunks/NcSelectTags-DYUCDZ_e.mjs.map +1 -0
- package/dist/chunks/{NcSelectTags-D9-2HA1H.cjs → NcSelectTags-e4Gjcx_7.cjs} +19 -15
- package/dist/chunks/NcSelectTags-e4Gjcx_7.cjs.map +1 -0
- package/dist/chunks/{NcSelectUsers-arPrkqH_.cjs → NcSelectUsers-Bmwhu14K.cjs} +9 -8
- package/dist/chunks/NcSelectUsers-Bmwhu14K.cjs.map +1 -0
- package/dist/chunks/{NcSelectUsers-DaHVPRPE.mjs → NcSelectUsers-CMF_h9c0.mjs} +9 -8
- package/dist/chunks/NcSelectUsers-CMF_h9c0.mjs.map +1 -0
- package/dist/chunks/{NcSettingsInputText-BKoaCiQU.mjs → NcSettingsInputText-BQVh24zT.mjs} +8 -6
- package/dist/chunks/NcSettingsInputText-BQVh24zT.mjs.map +1 -0
- package/dist/chunks/{NcSettingsInputText-D7eoCI2o.cjs → NcSettingsInputText-DWihH7ke.cjs} +8 -6
- package/dist/chunks/NcSettingsInputText-DWihH7ke.cjs.map +1 -0
- package/dist/chunks/{NcSettingsSection-Bmo90KQR.cjs → NcSettingsSection-Dgc7SEuu.cjs} +17 -5
- package/dist/chunks/NcSettingsSection-Dgc7SEuu.cjs.map +1 -0
- package/dist/chunks/{NcSettingsSection-fe_YIg-L.mjs → NcSettingsSection-evNvfEg2.mjs} +17 -5
- package/dist/chunks/NcSettingsSection-evNvfEg2.mjs.map +1 -0
- package/dist/chunks/{NcSettingsSelectGroup-SuQNKdqU.mjs → NcSettingsSelectGroup-C-YAk1f8.mjs} +19 -19
- package/dist/chunks/NcSettingsSelectGroup-C-YAk1f8.mjs.map +1 -0
- package/dist/chunks/{NcSettingsSelectGroup-D0s0bzQI.cjs → NcSettingsSelectGroup-X1pBwmAZ.cjs} +19 -19
- package/dist/chunks/NcSettingsSelectGroup-X1pBwmAZ.cjs.map +1 -0
- package/dist/chunks/{NcTextArea-BFLuhsEv.mjs → NcTextArea-DHmD6-6s.mjs} +8 -5
- package/dist/chunks/NcTextArea-DHmD6-6s.mjs.map +1 -0
- package/dist/chunks/{NcTextArea-B2hcap39.cjs → NcTextArea-DkVtHTpD.cjs} +8 -5
- package/dist/chunks/NcTextArea-DkVtHTpD.cjs.map +1 -0
- package/dist/chunks/{NcTextField-Dyuxj4yu.cjs → NcTextField-Cp3tulze.cjs} +9 -9
- package/dist/chunks/NcTextField-Cp3tulze.cjs.map +1 -0
- package/dist/chunks/{NcTextField-Do6wBDGH.mjs → NcTextField-D_IMz2MR.mjs} +9 -9
- package/dist/chunks/NcTextField-D_IMz2MR.mjs.map +1 -0
- package/dist/chunks/NcThemeProvider-25ResoIv.mjs.map +1 -1
- package/dist/chunks/NcThemeProvider-BqGPTeWg.cjs.map +1 -1
- package/dist/chunks/{NcTimezonePicker-obgDIrK0.cjs → NcTimezonePicker-Co7jDP7N.cjs} +10 -8
- package/dist/chunks/NcTimezonePicker-Co7jDP7N.cjs.map +1 -0
- package/dist/chunks/{NcTimezonePicker-bIwFQlmV.mjs → NcTimezonePicker-Cu1FrSIX.mjs} +10 -8
- package/dist/chunks/NcTimezonePicker-Cu1FrSIX.mjs.map +1 -0
- package/dist/chunks/{NcUserBubble-BmPOx3MW.mjs → NcUserBubble-Be2B8iJY.mjs} +9 -9
- package/dist/chunks/NcUserBubble-Be2B8iJY.mjs.map +1 -0
- package/dist/chunks/{NcUserBubble-BusyVqGW.cjs → NcUserBubble-CdX6H9-M.cjs} +9 -9
- package/dist/chunks/NcUserBubble-CdX6H9-M.cjs.map +1 -0
- package/dist/chunks/{NcUserStatusIcon-DQr5EGWZ.mjs → NcUserStatusIcon-C83nB_8T.mjs} +16 -16
- package/dist/chunks/NcUserStatusIcon-C83nB_8T.mjs.map +1 -0
- package/dist/chunks/{NcUserStatusIcon-CKPJ27oi.cjs → NcUserStatusIcon-DhZabBIY.cjs} +16 -16
- package/dist/chunks/NcUserStatusIcon-DhZabBIY.cjs.map +1 -0
- package/dist/chunks/{ScopeComponent-CNZNqO-O.mjs → ScopeComponent-305QOaqN.mjs} +4 -4
- package/dist/chunks/ScopeComponent-305QOaqN.mjs.map +1 -0
- package/dist/chunks/{ScopeComponent-CTlekHht.cjs → ScopeComponent-9wtS_FpN.cjs} +4 -4
- package/dist/chunks/ScopeComponent-9wtS_FpN.cjs.map +1 -0
- package/dist/chunks/{_l10n-CW0YfIWk.mjs → _l10n-BEfeU7gr.mjs} +98 -100
- package/dist/chunks/_l10n-BEfeU7gr.mjs.map +1 -0
- package/dist/chunks/{_l10n-RKohWu5d.cjs → _l10n-DM-VRK9x.cjs} +54 -56
- package/dist/chunks/{_l10n-RKohWu5d.cjs.map → _l10n-DM-VRK9x.cjs.map} +1 -1
- package/dist/chunks/actionGlobal-DqVa7c7G.mjs.map +1 -1
- package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs.map +1 -1
- package/dist/chunks/{actionText-fFcUPi2g.mjs → actionText-BMig9Egt.mjs} +5 -4
- package/dist/chunks/actionText-BMig9Egt.mjs.map +1 -0
- package/dist/chunks/{actionText-BcrK4uH1.cjs → actionText-D2-z0ud3.cjs} +5 -4
- package/dist/chunks/actionText-D2-z0ud3.cjs.map +1 -0
- package/dist/chunks/{autolink-BAgL31EZ.cjs → autolink-BPlRHRHR.cjs} +11 -10
- package/dist/chunks/autolink-BPlRHRHR.cjs.map +1 -0
- package/dist/chunks/{autolink-cbuFALXr.mjs → autolink-D2pIbi92.mjs} +11 -10
- package/dist/chunks/autolink-D2pIbi92.mjs.map +1 -0
- package/dist/chunks/constants-Bls5liKo.mjs.map +1 -1
- package/dist/chunks/constants-C_lA-vcp.cjs.map +1 -1
- package/dist/chunks/createElementId-DhjFt1I9.mjs +8 -0
- package/dist/chunks/createElementId-DhjFt1I9.mjs.map +1 -0
- package/dist/chunks/createElementId-lalylSCf.cjs +7 -0
- package/dist/chunks/createElementId-lalylSCf.cjs.map +1 -0
- package/dist/chunks/{index-56SXuvlv.mjs → customPickerElements-DLFtgReB.mjs} +50 -49
- package/dist/chunks/customPickerElements-DLFtgReB.mjs.map +1 -0
- package/dist/chunks/{index-BV85rPB7.cjs → customPickerElements-GyIIOHiQ.cjs} +43 -42
- package/dist/chunks/customPickerElements-GyIIOHiQ.cjs.map +1 -0
- package/dist/chunks/emoji-BY_D0V5K.mjs.map +1 -1
- package/dist/chunks/emoji-VgSjNTd5.cjs.map +1 -1
- package/dist/chunks/focusTrap-DUTqW_IG.cjs.map +1 -1
- package/dist/chunks/focusTrap-HJQ4pqHV.mjs.map +1 -1
- package/dist/chunks/getAvatarUrl-Du9Y3cPO.cjs.map +1 -1
- package/dist/chunks/getAvatarUrl-IhLacDEr.mjs.map +1 -1
- package/dist/chunks/{index-AlIgEQXL.cjs → index-CgkN1xho.cjs} +7 -6
- package/dist/chunks/index-CgkN1xho.cjs.map +1 -0
- package/dist/chunks/{index-Bz6q9mZw.mjs → index-CxTT94_h.mjs} +3 -3
- package/dist/chunks/index-CxTT94_h.mjs.map +1 -0
- package/dist/chunks/{index-DIJxEozm.cjs → index-Dr9k4hIP.cjs} +3 -3
- package/dist/chunks/index-Dr9k4hIP.cjs.map +1 -0
- package/dist/chunks/{index-B8gPNa8c.mjs → index-TmAR7I2T.mjs} +7 -6
- package/dist/chunks/index-TmAR7I2T.mjs.map +1 -0
- package/dist/chunks/logger-3HuiEIF6.cjs.map +1 -1
- package/dist/chunks/logger-D3RVzcfQ.mjs.map +1 -1
- package/dist/chunks/{mdi-B_QN3oas.cjs → mdi-BBwE-MZC.cjs} +3 -1
- package/dist/chunks/{mdi-B_QN3oas.cjs.map → mdi-BBwE-MZC.cjs.map} +1 -1
- package/dist/chunks/{mdi-DoaiuWye.mjs → mdi-DXu6GWVJ.mjs} +8 -6
- package/dist/chunks/{mdi-DoaiuWye.mjs.map → mdi-DXu6GWVJ.mjs.map} +1 -1
- package/dist/chunks/platform-CC2ecGvV.mjs +5 -0
- package/dist/chunks/platform-CC2ecGvV.mjs.map +1 -0
- package/dist/chunks/platform-oKxQ1agV.cjs +4 -0
- package/dist/chunks/platform-oKxQ1agV.cjs.map +1 -0
- package/dist/chunks/{referencePickerModal-C1Srl207.cjs → referencePickerModal-BcAnnsxZ.cjs} +121 -118
- package/dist/chunks/referencePickerModal-BcAnnsxZ.cjs.map +1 -0
- package/dist/chunks/{referencePickerModal-CtMUY45l.mjs → referencePickerModal-CN4C9eDc.mjs} +111 -108
- package/dist/chunks/referencePickerModal-CN4C9eDc.mjs.map +1 -0
- package/dist/chunks/useModelMigration-D5zhrNXr.cjs.map +1 -1
- package/dist/chunks/useModelMigration-EhAWvqDD.mjs.map +1 -1
- package/dist/chunks/useNcRadioGroup-DaZbEKbf.mjs +14 -0
- package/dist/chunks/useNcRadioGroup-DaZbEKbf.mjs.map +1 -0
- package/dist/chunks/useNcRadioGroup-Djvu7bo0.cjs +13 -0
- package/dist/chunks/useNcRadioGroup-Djvu7bo0.cjs.map +1 -0
- package/dist/chunks/{useTrapStackControl-yqM2SDEs.mjs → useTrapStackControl-BnLfCgGU.mjs} +2 -2
- package/dist/chunks/useTrapStackControl-BnLfCgGU.mjs.map +1 -0
- package/dist/chunks/{useTrapStackControl-CTZTSUOt.cjs → useTrapStackControl-XYABY64G.cjs} +2 -2
- package/dist/chunks/useTrapStackControl-XYABY64G.cjs.map +1 -0
- package/dist/components/NcAssistantButton/index.d.ts +5 -0
- package/dist/components/NcAssistantContent/index.d.ts +5 -0
- package/dist/components/NcAssistantIcon/index.d.ts +5 -0
- package/dist/components/NcCollectionList/service.d.ts +7 -0
- package/dist/components/NcKbd/index.d.ts +1 -0
- package/dist/components/NcRadioGroup/index.d.ts +5 -0
- package/dist/components/NcRadioGroup/useNcRadioGroup.d.ts +14 -0
- package/dist/components/NcRadioGroupButton/index.d.ts +5 -0
- package/dist/composables/actions/useActionText.d.ts +4 -1
- package/dist/composables/useFormatDateTime/index.d.ts +7 -5
- package/dist/composables/useIsDarkTheme/constants.d.ts +0 -1
- package/dist/composables/useIsDarkTheme/index.d.ts +2 -1
- package/dist/composables/useModelMigration.d.ts +5 -4
- package/dist/composables/useTrapStackControl.d.ts +1 -1
- package/dist/directives/Linkify/index.d.ts +3 -0
- package/dist/functions/a11y/index.d.ts +3 -3
- package/dist/functions/contactsMenu/index.d.ts +2 -2
- package/dist/functions/dialog/index.d.ts +1 -0
- package/dist/functions/emoji/emoji.d.ts +2 -2
- package/dist/functions/emoji/index.d.ts +1 -1
- package/dist/functions/isDarkTheme/index.d.ts +2 -1
- package/dist/functions/preloadImage/index.d.ts +1 -0
- package/dist/functions/reference/customPickerElements.d.ts +56 -0
- package/dist/functions/reference/index.d.ts +8 -0
- package/dist/functions/reference/providerHelper.d.ts +45 -0
- package/dist/functions/reference/referencePickerModal.d.ts +11 -0
- package/dist/functions/reference/widgets.d.ts +48 -28
- package/dist/functions/registerReference/index.d.ts +6 -0
- package/dist/index.cjs +99 -83
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +96 -80
- package/dist/index.mjs.map +1 -1
- package/dist/plugin.d.ts +1 -0
- package/dist/utils/UserStatus.d.ts +6 -1
- package/dist/utils/createElementId.d.ts +11 -0
- package/dist/utils/getAvatarUrl.d.ts +1 -0
- package/dist/utils/platform.d.ts +1 -0
- package/package.json +28 -24
- package/dist/assets/NcSelectUsers-BOwQNNMf.css +0 -4
- package/dist/chunks/GenColors-BjsCKF7S.cjs.map +0 -1
- package/dist/chunks/GenColors-BrpkL3hT.mjs.map +0 -1
- package/dist/chunks/GenRandomId-BQDud3d4.cjs.map +0 -1
- package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +0 -1
- package/dist/chunks/NcActionButton-D_9FsTpM.cjs.map +0 -1
- package/dist/chunks/NcActionButton-rjMoymt-.mjs.map +0 -1
- package/dist/chunks/NcActionCheckbox-DSMKeccY.mjs.map +0 -1
- package/dist/chunks/NcActionCheckbox-JX-QaTD6.cjs.map +0 -1
- package/dist/chunks/NcActionInput-CA9bOHxb.cjs.map +0 -1
- package/dist/chunks/NcActionInput-CQ_WEPqQ.mjs.map +0 -1
- package/dist/chunks/NcActionRadio-BUCQ6VxA.cjs.map +0 -1
- package/dist/chunks/NcActionRadio-yAm71xxU.mjs.map +0 -1
- package/dist/chunks/NcActionTextEditable-B4g2kszt.cjs.map +0 -1
- package/dist/chunks/NcActionTextEditable-xWQGdOVl.mjs.map +0 -1
- package/dist/chunks/NcActions-B76VN_Gz.cjs.map +0 -1
- package/dist/chunks/NcActions-BKZA1xVL.mjs.map +0 -1
- package/dist/chunks/NcAppContent-BS7BiMG0.mjs.map +0 -1
- package/dist/chunks/NcAppContent-POt1Lj3W.cjs.map +0 -1
- package/dist/chunks/NcAppNavigation-BKxSUpcQ.cjs.map +0 -1
- package/dist/chunks/NcAppNavigation-BvEa92PC.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-Cu3S2chM.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-NIMhmJHh.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationNewItem-CTAoGkDy.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationNewItem-D4fJeBl0.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationSearch-B9OkdsuE.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationSearch-CaBrnpf9.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationSettings-BV34ogWP.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationSettings-C8YaW_Kj.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-DGppWo0q.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-VxL1CfJY.mjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog-BDo3la0P.cjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog-BwsIc_QT.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-BJgPYOcZ.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-Dbvy4M4h.cjs.map +0 -1
- package/dist/chunks/NcAppSidebarHeader-BUXD8c9i.cjs.map +0 -1
- package/dist/chunks/NcAppSidebarHeader-G2VD8Nfl.mjs.map +0 -1
- package/dist/chunks/NcAvatar-CgF-MFtU.mjs.map +0 -1
- package/dist/chunks/NcAvatar-DThzrxm-.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-86ycrDeH.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-DJpYjXCe.mjs.map +0 -1
- package/dist/chunks/NcBreadcrumbs-B722pBOd.mjs.map +0 -1
- package/dist/chunks/NcBreadcrumbs-CBMTGNxS.cjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-ip_mRd2T.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-kdoDmLpF.cjs.map +0 -1
- package/dist/chunks/NcCollectionList-C-FWulfV.cjs.map +0 -1
- package/dist/chunks/NcCollectionList-Khg3X3Zq.mjs.map +0 -1
- package/dist/chunks/NcColorPicker-C3lzQVxY.cjs.map +0 -1
- package/dist/chunks/NcColorPicker-MXMbRaLk.mjs.map +0 -1
- package/dist/chunks/NcCounterBubble-BRrUO34D.cjs.map +0 -1
- package/dist/chunks/NcCounterBubble-CDfRYl8B.mjs.map +0 -1
- package/dist/chunks/NcDashboardWidget-D0cFVt4i.mjs.map +0 -1
- package/dist/chunks/NcDashboardWidget-DD_fZTj6.cjs.map +0 -1
- package/dist/chunks/NcDashboardWidgetItem-BiH7ivQn.cjs.map +0 -1
- package/dist/chunks/NcDashboardWidgetItem-D33MR-DH.mjs.map +0 -1
- package/dist/chunks/NcDateTime-Cl-PZpLN.cjs.map +0 -1
- package/dist/chunks/NcDateTime-kanSdMgW.mjs.map +0 -1
- package/dist/chunks/NcDialog-C1b3UtA7.mjs.map +0 -1
- package/dist/chunks/NcDialog-ps0F3IQM.cjs.map +0 -1
- package/dist/chunks/NcDialogButton-CEdM0Qnr.cjs.map +0 -1
- package/dist/chunks/NcDialogButton-Di9tU3e_.mjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-C2-Q-RoT.cjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-DJHvkF--.mjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-BWFubuox.cjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-Dq_Avv2T.mjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-Cb-cPj1R.mjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-CrnN5Sq5.cjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-DA740BJ-.mjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-Dz7-CkOl.cjs.map +0 -1
- package/dist/chunks/NcInputField-BNSfmQqu.mjs.map +0 -1
- package/dist/chunks/NcInputField-cT3u4gMS.cjs.map +0 -1
- package/dist/chunks/NcListItem-CnxZixD_.mjs.map +0 -1
- package/dist/chunks/NcListItem-DV4HPJWQ.cjs.map +0 -1
- package/dist/chunks/NcListItemIcon-BUthbF_v.cjs.map +0 -1
- package/dist/chunks/NcListItemIcon-CTfYEjBB.mjs.map +0 -1
- package/dist/chunks/NcPasswordField-DSdrAkZy.mjs.map +0 -1
- package/dist/chunks/NcPasswordField-DcFBNVHn.cjs.map +0 -1
- package/dist/chunks/NcPopover-CAJVK-MR.mjs.map +0 -1
- package/dist/chunks/NcPopover-QGSKWhSP.cjs.map +0 -1
- package/dist/chunks/NcProgressBar-CI_nOrPg.mjs.map +0 -1
- package/dist/chunks/NcProgressBar-lh4Gtdfr.cjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-BR_ggojH.cjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-DyvwxDjI.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-B5-V1mov.cjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-cpptFUeI.mjs.map +0 -1
- package/dist/chunks/NcRichText-CmuVmSzl.mjs.map +0 -1
- package/dist/chunks/NcRichText-DKesJDDM.cjs.map +0 -1
- package/dist/chunks/NcSelect-BUOuXJUQ.mjs.map +0 -1
- package/dist/chunks/NcSelect-CnLfkqdF.cjs.map +0 -1
- package/dist/chunks/NcSelectTags-D9-2HA1H.cjs.map +0 -1
- package/dist/chunks/NcSelectTags-hP98xYkg.mjs.map +0 -1
- package/dist/chunks/NcSelectUsers-DaHVPRPE.mjs.map +0 -1
- package/dist/chunks/NcSelectUsers-arPrkqH_.cjs.map +0 -1
- package/dist/chunks/NcSettingsInputText-BKoaCiQU.mjs.map +0 -1
- package/dist/chunks/NcSettingsInputText-D7eoCI2o.cjs.map +0 -1
- package/dist/chunks/NcSettingsSection-Bmo90KQR.cjs.map +0 -1
- package/dist/chunks/NcSettingsSection-fe_YIg-L.mjs.map +0 -1
- package/dist/chunks/NcSettingsSelectGroup-D0s0bzQI.cjs.map +0 -1
- package/dist/chunks/NcSettingsSelectGroup-SuQNKdqU.mjs.map +0 -1
- package/dist/chunks/NcTextArea-B2hcap39.cjs.map +0 -1
- package/dist/chunks/NcTextArea-BFLuhsEv.mjs.map +0 -1
- package/dist/chunks/NcTextField-Do6wBDGH.mjs.map +0 -1
- package/dist/chunks/NcTextField-Dyuxj4yu.cjs.map +0 -1
- package/dist/chunks/NcTimezonePicker-bIwFQlmV.mjs.map +0 -1
- package/dist/chunks/NcTimezonePicker-obgDIrK0.cjs.map +0 -1
- package/dist/chunks/NcUserBubble-BmPOx3MW.mjs.map +0 -1
- package/dist/chunks/NcUserBubble-BusyVqGW.cjs.map +0 -1
- package/dist/chunks/NcUserStatusIcon-CKPJ27oi.cjs.map +0 -1
- package/dist/chunks/NcUserStatusIcon-DQr5EGWZ.mjs.map +0 -1
- package/dist/chunks/ScopeComponent-CNZNqO-O.mjs.map +0 -1
- package/dist/chunks/ScopeComponent-CTlekHht.cjs.map +0 -1
- package/dist/chunks/_l10n-CW0YfIWk.mjs.map +0 -1
- package/dist/chunks/actionText-BcrK4uH1.cjs.map +0 -1
- package/dist/chunks/actionText-fFcUPi2g.mjs.map +0 -1
- package/dist/chunks/autolink-BAgL31EZ.cjs.map +0 -1
- package/dist/chunks/autolink-cbuFALXr.mjs.map +0 -1
- package/dist/chunks/index-56SXuvlv.mjs.map +0 -1
- package/dist/chunks/index-AlIgEQXL.cjs.map +0 -1
- package/dist/chunks/index-B8gPNa8c.mjs.map +0 -1
- package/dist/chunks/index-BV85rPB7.cjs.map +0 -1
- package/dist/chunks/index-Bz6q9mZw.mjs.map +0 -1
- package/dist/chunks/index-DIJxEozm.cjs.map +0 -1
- package/dist/chunks/referencePickerModal-C1Srl207.cjs.map +0 -1
- package/dist/chunks/referencePickerModal-CtMUY45l.mjs.map +0 -1
- package/dist/chunks/useTrapStackControl-CTZTSUOt.cjs.map +0 -1
- package/dist/chunks/useTrapStackControl-yqM2SDEs.mjs.map +0 -1
package/dist/chunks/{NcSettingsSelectGroup-SuQNKdqU.mjs → NcSettingsSelectGroup-C-YAk1f8.mjs}
RENAMED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import '../assets/NcSettingsSelectGroup-
|
|
2
|
-
import { N as NcSelect } from "./NcSelect-BUOuXJUQ.mjs";
|
|
3
|
-
import { r as register, h as t48, a as t } from "./_l10n-CW0YfIWk.mjs";
|
|
4
|
-
import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
|
|
5
|
-
import { u as useModelMigration } from "./useModelMigration-EhAWvqDD.mjs";
|
|
1
|
+
import '../assets/NcSettingsSelectGroup-B9FlWQVH.css';
|
|
6
2
|
import axios from "@nextcloud/axios";
|
|
7
|
-
import debounce from "debounce";
|
|
8
3
|
import { generateOcsUrl } from "@nextcloud/router";
|
|
4
|
+
import debounce from "debounce";
|
|
5
|
+
import { N as NcSelect } from "./NcSelect-PvjbF3jF.mjs";
|
|
6
|
+
import { u as useModelMigration } from "./useModelMigration-EhAWvqDD.mjs";
|
|
7
|
+
import { r as register, h as t49, a as t } from "./_l10n-BEfeU7gr.mjs";
|
|
8
|
+
import { G as GenRandomId } from "./GenRandomId-F5ebeBB_.mjs";
|
|
9
9
|
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
10
|
-
register(
|
|
10
|
+
register(t49);
|
|
11
11
|
const _sfc_main = {
|
|
12
12
|
name: "NcSettingsSelectGroup",
|
|
13
13
|
components: {
|
|
@@ -43,6 +43,7 @@ const _sfc_main = {
|
|
|
43
43
|
},
|
|
44
44
|
/**
|
|
45
45
|
* Removed in v9 - use `modelValue` (`v-model`) instead
|
|
46
|
+
*
|
|
46
47
|
* @deprecated
|
|
47
48
|
*/
|
|
48
49
|
value: {
|
|
@@ -68,6 +69,7 @@ const _sfc_main = {
|
|
|
68
69
|
emits: [
|
|
69
70
|
/**
|
|
70
71
|
* Removed in v9 - use `update:modelValue` (`v-model`) instead
|
|
72
|
+
*
|
|
71
73
|
* @deprecated
|
|
72
74
|
*/
|
|
73
75
|
"input",
|
|
@@ -110,17 +112,15 @@ const _sfc_main = {
|
|
|
110
112
|
* value property converted to an array of group objects used as input for the NcSelect
|
|
111
113
|
*/
|
|
112
114
|
inputValue() {
|
|
113
|
-
return this.filteredValue.map(
|
|
114
|
-
(id)
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
return this.groups[id];
|
|
115
|
+
return this.filteredValue.map((id) => {
|
|
116
|
+
if (typeof this.groups[id] === "undefined") {
|
|
117
|
+
return {
|
|
118
|
+
id,
|
|
119
|
+
displayname: id
|
|
120
|
+
};
|
|
122
121
|
}
|
|
123
|
-
|
|
122
|
+
return this.groups[id];
|
|
123
|
+
});
|
|
124
124
|
},
|
|
125
125
|
/**
|
|
126
126
|
* Convert groups object to array of groups required for NcSelect.options
|
|
@@ -228,10 +228,10 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
|
228
228
|
_sfc_staticRenderFns,
|
|
229
229
|
false,
|
|
230
230
|
null,
|
|
231
|
-
"
|
|
231
|
+
"9d59765b"
|
|
232
232
|
);
|
|
233
233
|
const NcSettingsSelectGroup = __component__.exports;
|
|
234
234
|
export {
|
|
235
235
|
NcSettingsSelectGroup as N
|
|
236
236
|
};
|
|
237
|
-
//# sourceMappingURL=NcSettingsSelectGroup-
|
|
237
|
+
//# sourceMappingURL=NcSettingsSelectGroup-C-YAk1f8.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcSettingsSelectGroup-C-YAk1f8.mjs","sources":["../../src/components/NcSettingsSelectGroup/NcSettingsSelectGroup.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n```vue\n<template>\n\t<section>\n\t\t<NcSettingsSelectGroup v-model=\"groups\" placeholder=\"Select user groups\" label=\"The hidden label\" />\n\t\t<NcSettingsSelectGroup v-model=\"otherGroups\" :disabled=\"true\" label=\"Also a fallback for the placeholder\" />\n\t\t<div>You have selected: <code>{{ groups }}</code> and <code>{{ otherGroups }}</code></div>\n\t</section>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tgroups: [],\n\t\t\totherGroups: ['admin']\n\t\t}\n\t}\n}\n</script>\n<style scoped>\nsection * {\n\tpadding: 6px 0px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<div>\n\t\t<label v-if=\"label\" :for=\"id\" class=\"hidden-visually\">{{ label }}</label>\n\t\t<NcSelect\n\t\t\t:value=\"inputValue\"\n\t\t\t:options=\"groupsArray\"\n\t\t\t:placeholder=\"placeholder || label\"\n\t\t\t:filter-by=\"filterGroups\"\n\t\t\t:input-id=\"id\"\n\t\t\t:limit=\"5\"\n\t\t\tlabel=\"displayname\"\n\t\t\t:multiple=\"true\"\n\t\t\t:close-on-select=\"false\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t@update:model-value=\"update\"\n\t\t\t@search=\"onSearch\" />\n\t\t<div v-show=\"hasError\" class=\"select-group-error\">\n\t\t\t{{ errorMessage }}\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport debounce from 'debounce'\nimport NcSelect from '../../components/NcSelect/index.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nexport default {\n\tname: 'NcSettingsSelectGroup',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * The text of the label element of the select group input\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 * Placeholder for the input element\n\t\t * For backwards compatibility it falls back to the `label` value\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\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: () => 'action-' + GenRandomId(),\n\t\t\tvalidator: (id) => id.trim() !== '',\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t *\n\t\t * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: Array,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * value of the select group input\n\t\t * A list of group IDs can be provided\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: Array,\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\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t *\n\t\t * @deprecated\n\t\t */\n\t\t'input',\n\t\t/** Emitted when the groups selection changes<br />**Payload:** `value` (`Array`) - *Ids of selected groups */\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'error',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'input')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t/** Temporary store to cache groups */\n\t\t\tgroups: {},\n\t\t\trandId: GenRandomId(),\n\t\t\terrorMessage: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * If the error message should be shown\n\t\t */\n\t\thasError() {\n\t\t\treturn this.errorMessage !== ''\n\t\t},\n\n\t\t/**\n\t\t * Validate input value and only return valid strings (group IDs)\n\t\t *\n\t\t * @return {string[]}\n\t\t */\n\t\tfilteredValue() {\n\t\t\treturn this.model.filter((group) => group !== '' && typeof group === 'string')\n\t\t},\n\n\t\t/**\n\t\t * value property converted to an array of group objects used as input for the NcSelect\n\t\t */\n\t\tinputValue() {\n\t\t\treturn this.filteredValue.map((id) => {\n\t\t\t\tif (typeof this.groups[id] === 'undefined') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tdisplayname: id,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this.groups[id]\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Convert groups object to array of groups required for NcSelect.options\n\t\t * Filter out currently selected values\n\t\t *\n\t\t * @return {object[]}\n\t\t */\n\t\tgroupsArray() {\n\t\t\treturn Object.values(this.groups).filter((g) => !this.model.includes(g.id))\n\t\t},\n\t},\n\n\twatch: {\n\t\t/**\n\t\t * If the value is changed, check that all groups are loaded so we show the correct display name\n\t\t */\n\t\tvalue: {\n\t\t\thandler() {\n\t\t\t\tconst loadedGroupIds = Object.keys(this.groups)\n\t\t\t\tconst missing = this.filteredValue.filter((group) => !loadedGroupIds.includes(group))\n\t\t\t\tmissing.forEach((groupId) => {\n\t\t\t\t\tthis.loadGroup(groupId)\n\t\t\t\t})\n\t\t\t},\n\n\t\t\t// Run the watch handler also when the component is initially mounted\n\t\t\timmediate: true,\n\t\t},\n\t},\n\n\t/**\n\t * Load groups matching the empty query to reduce API calls\n\t */\n\tasync mounted() {\n\t\t// version scoped to prevent issues with different library versions\n\t\tconst storageName = `${appName}:${appVersion}/initialGroups`\n\n\t\tlet savedGroups = window.sessionStorage.getItem(storageName)\n\t\tif (savedGroups) {\n\t\t\tsavedGroups = Object.fromEntries(JSON.parse(savedGroups).map((group) => [group.id, group]))\n\t\t\tthis.groups = { ...this.groups, ...savedGroups }\n\t\t} else {\n\t\t\tawait this.loadGroup('')\n\t\t\twindow.sessionStorage.setItem(storageName, JSON.stringify(Object.values(this.groups)))\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\t/**\n\t\t * Called when a new group is selected or previous group is deselected to emit the update event\n\t\t *\n\t\t * @param {object[]} updatedValue Array of selected groups\n\t\t */\n\t\tupdate(updatedValue) {\n\t\t\tconst value = updatedValue.map((element) => element.id)\n\t\t\tthis.model = value\n\t\t},\n\n\t\t/**\n\t\t * Use provisioning API to search for given group and save it in the groups object\n\t\t *\n\t\t * @param {string} query The query like parts of the id oder display name\n\t\t * @return {boolean}\n\t\t */\n\t\tasync loadGroup(query) {\n\t\t\ttry {\n\t\t\t\tquery = typeof query === 'string' ? encodeURI(query) : ''\n\t\t\t\tconst response = await axios.get(generateOcsUrl(`cloud/groups/details?search=${query}&limit=10`, 2))\n\n\t\t\t\t// No network error, so reset any error after 5 seconds\n\t\t\t\tif (this.errorMessage !== '') {\n\t\t\t\t\twindow.setTimeout(() => {\n\t\t\t\t\t\tthis.errorMessage = ''\n\t\t\t\t\t}, 5000)\n\t\t\t\t}\n\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tconst newGroups = Object.fromEntries(response.data.ocs.data.groups.map((element) => [element.id, element]))\n\t\t\t\t\tthis.groups = { ...this.groups, ...newGroups }\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\t/** Emitted if groups could not be queried.<br />**Payload:** `error` (`object`) - The Axios error */\n\t\t\t\tthis.$emit('error', error)\n\t\t\t\tthis.errorMessage = t('Unable to search the group')\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\t/**\n\t\t * Custom filter function for `NcSelect` to filter by ID *and* display name\n\t\t *\n\t\t * @param {object} option One of the groups\n\t\t * @param {string} label The label property of the group\n\t\t * @param {string} search The current search string\n\t\t */\n\t\tfilterGroups(option, label, search) {\n\t\t\treturn `${label || ''} ${option.id}`.toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) > -1\n\t\t},\n\n\t\t/**\n\t\t * Debounce the group search (reduce API calls)\n\t\t */\n\t\tonSearch: debounce(function(query) {\n\t\t\tthis.loadGroup(query)\n\t\t}, 200),\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.select-group-error {\n\tcolor: var(--color-text-error, var(--color-error));\n\tfont-size: 13px;\n\tpadding-inline-start: var(--border-radius-large);\n}\n</style>\n"],"names":[],"mappings":"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"}
|
package/dist/chunks/{NcSettingsSelectGroup-D0s0bzQI.cjs → NcSettingsSelectGroup-X1pBwmAZ.cjs}
RENAMED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
require('../assets/NcSettingsSelectGroup-
|
|
1
|
+
require('../assets/NcSettingsSelectGroup-B9FlWQVH.css');
|
|
2
2
|
"use strict";
|
|
3
|
-
const NcSelect = require("./NcSelect-CnLfkqdF.cjs");
|
|
4
|
-
const _l10n = require("./_l10n-RKohWu5d.cjs");
|
|
5
|
-
const GenRandomId = require("./GenRandomId-BQDud3d4.cjs");
|
|
6
|
-
const useModelMigration = require("./useModelMigration-D5zhrNXr.cjs");
|
|
7
3
|
const axios = require("@nextcloud/axios");
|
|
8
|
-
const debounce = require("debounce");
|
|
9
4
|
const router = require("@nextcloud/router");
|
|
5
|
+
const debounce = require("debounce");
|
|
6
|
+
const NcSelect = require("./NcSelect-s3_u0qvy.cjs");
|
|
7
|
+
const useModelMigration = require("./useModelMigration-D5zhrNXr.cjs");
|
|
8
|
+
const _l10n = require("./_l10n-DM-VRK9x.cjs");
|
|
9
|
+
const GenRandomId = require("./GenRandomId-D7iOvpZS.cjs");
|
|
10
10
|
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
11
11
|
const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
|
|
12
12
|
const axios__default = /* @__PURE__ */ _interopDefault(axios);
|
|
13
13
|
const debounce__default = /* @__PURE__ */ _interopDefault(debounce);
|
|
14
|
-
_l10n.register(_l10n.
|
|
14
|
+
_l10n.register(_l10n.t49);
|
|
15
15
|
const _sfc_main = {
|
|
16
16
|
name: "NcSettingsSelectGroup",
|
|
17
17
|
components: {
|
|
@@ -47,6 +47,7 @@ const _sfc_main = {
|
|
|
47
47
|
},
|
|
48
48
|
/**
|
|
49
49
|
* Removed in v9 - use `modelValue` (`v-model`) instead
|
|
50
|
+
*
|
|
50
51
|
* @deprecated
|
|
51
52
|
*/
|
|
52
53
|
value: {
|
|
@@ -72,6 +73,7 @@ const _sfc_main = {
|
|
|
72
73
|
emits: [
|
|
73
74
|
/**
|
|
74
75
|
* Removed in v9 - use `update:modelValue` (`v-model`) instead
|
|
76
|
+
*
|
|
75
77
|
* @deprecated
|
|
76
78
|
*/
|
|
77
79
|
"input",
|
|
@@ -114,17 +116,15 @@ const _sfc_main = {
|
|
|
114
116
|
* value property converted to an array of group objects used as input for the NcSelect
|
|
115
117
|
*/
|
|
116
118
|
inputValue() {
|
|
117
|
-
return this.filteredValue.map(
|
|
118
|
-
(id)
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
return this.groups[id];
|
|
119
|
+
return this.filteredValue.map((id) => {
|
|
120
|
+
if (typeof this.groups[id] === "undefined") {
|
|
121
|
+
return {
|
|
122
|
+
id,
|
|
123
|
+
displayname: id
|
|
124
|
+
};
|
|
126
125
|
}
|
|
127
|
-
|
|
126
|
+
return this.groups[id];
|
|
127
|
+
});
|
|
128
128
|
},
|
|
129
129
|
/**
|
|
130
130
|
* Convert groups object to array of groups required for NcSelect.options
|
|
@@ -232,8 +232,8 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
232
232
|
_sfc_staticRenderFns,
|
|
233
233
|
false,
|
|
234
234
|
null,
|
|
235
|
-
"
|
|
235
|
+
"9d59765b"
|
|
236
236
|
);
|
|
237
237
|
const NcSettingsSelectGroup = __component__.exports;
|
|
238
238
|
exports.NcSettingsSelectGroup = NcSettingsSelectGroup;
|
|
239
|
-
//# sourceMappingURL=NcSettingsSelectGroup-
|
|
239
|
+
//# sourceMappingURL=NcSettingsSelectGroup-X1pBwmAZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcSettingsSelectGroup-X1pBwmAZ.cjs","sources":["../../src/components/NcSettingsSelectGroup/NcSettingsSelectGroup.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n```vue\n<template>\n\t<section>\n\t\t<NcSettingsSelectGroup v-model=\"groups\" placeholder=\"Select user groups\" label=\"The hidden label\" />\n\t\t<NcSettingsSelectGroup v-model=\"otherGroups\" :disabled=\"true\" label=\"Also a fallback for the placeholder\" />\n\t\t<div>You have selected: <code>{{ groups }}</code> and <code>{{ otherGroups }}</code></div>\n\t</section>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tgroups: [],\n\t\t\totherGroups: ['admin']\n\t\t}\n\t}\n}\n</script>\n<style scoped>\nsection * {\n\tpadding: 6px 0px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<div>\n\t\t<label v-if=\"label\" :for=\"id\" class=\"hidden-visually\">{{ label }}</label>\n\t\t<NcSelect\n\t\t\t:value=\"inputValue\"\n\t\t\t:options=\"groupsArray\"\n\t\t\t:placeholder=\"placeholder || label\"\n\t\t\t:filter-by=\"filterGroups\"\n\t\t\t:input-id=\"id\"\n\t\t\t:limit=\"5\"\n\t\t\tlabel=\"displayname\"\n\t\t\t:multiple=\"true\"\n\t\t\t:close-on-select=\"false\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t@update:model-value=\"update\"\n\t\t\t@search=\"onSearch\" />\n\t\t<div v-show=\"hasError\" class=\"select-group-error\">\n\t\t\t{{ errorMessage }}\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport axios from '@nextcloud/axios'\nimport { generateOcsUrl } from '@nextcloud/router'\nimport debounce from 'debounce'\nimport NcSelect from '../../components/NcSelect/index.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nexport default {\n\tname: 'NcSettingsSelectGroup',\n\tcomponents: {\n\t\tNcSelect,\n\t},\n\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * The text of the label element of the select group input\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 * Placeholder for the input element\n\t\t * For backwards compatibility it falls back to the `label` value\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\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: () => 'action-' + GenRandomId(),\n\t\t\tvalidator: (id) => id.trim() !== '',\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t *\n\t\t * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: Array,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * value of the select group input\n\t\t * A list of group IDs can be provided\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: Array,\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\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t *\n\t\t * @deprecated\n\t\t */\n\t\t'input',\n\t\t/** Emitted when the groups selection changes<br />**Payload:** `value` (`Array`) - *Ids of selected groups */\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'error',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'input')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\t/** Temporary store to cache groups */\n\t\t\tgroups: {},\n\t\t\trandId: GenRandomId(),\n\t\t\terrorMessage: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * If the error message should be shown\n\t\t */\n\t\thasError() {\n\t\t\treturn this.errorMessage !== ''\n\t\t},\n\n\t\t/**\n\t\t * Validate input value and only return valid strings (group IDs)\n\t\t *\n\t\t * @return {string[]}\n\t\t */\n\t\tfilteredValue() {\n\t\t\treturn this.model.filter((group) => group !== '' && typeof group === 'string')\n\t\t},\n\n\t\t/**\n\t\t * value property converted to an array of group objects used as input for the NcSelect\n\t\t */\n\t\tinputValue() {\n\t\t\treturn this.filteredValue.map((id) => {\n\t\t\t\tif (typeof this.groups[id] === 'undefined') {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tdisplayname: id,\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this.groups[id]\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Convert groups object to array of groups required for NcSelect.options\n\t\t * Filter out currently selected values\n\t\t *\n\t\t * @return {object[]}\n\t\t */\n\t\tgroupsArray() {\n\t\t\treturn Object.values(this.groups).filter((g) => !this.model.includes(g.id))\n\t\t},\n\t},\n\n\twatch: {\n\t\t/**\n\t\t * If the value is changed, check that all groups are loaded so we show the correct display name\n\t\t */\n\t\tvalue: {\n\t\t\thandler() {\n\t\t\t\tconst loadedGroupIds = Object.keys(this.groups)\n\t\t\t\tconst missing = this.filteredValue.filter((group) => !loadedGroupIds.includes(group))\n\t\t\t\tmissing.forEach((groupId) => {\n\t\t\t\t\tthis.loadGroup(groupId)\n\t\t\t\t})\n\t\t\t},\n\n\t\t\t// Run the watch handler also when the component is initially mounted\n\t\t\timmediate: true,\n\t\t},\n\t},\n\n\t/**\n\t * Load groups matching the empty query to reduce API calls\n\t */\n\tasync mounted() {\n\t\t// version scoped to prevent issues with different library versions\n\t\tconst storageName = `${appName}:${appVersion}/initialGroups`\n\n\t\tlet savedGroups = window.sessionStorage.getItem(storageName)\n\t\tif (savedGroups) {\n\t\t\tsavedGroups = Object.fromEntries(JSON.parse(savedGroups).map((group) => [group.id, group]))\n\t\t\tthis.groups = { ...this.groups, ...savedGroups }\n\t\t} else {\n\t\t\tawait this.loadGroup('')\n\t\t\twindow.sessionStorage.setItem(storageName, JSON.stringify(Object.values(this.groups)))\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\t/**\n\t\t * Called when a new group is selected or previous group is deselected to emit the update event\n\t\t *\n\t\t * @param {object[]} updatedValue Array of selected groups\n\t\t */\n\t\tupdate(updatedValue) {\n\t\t\tconst value = updatedValue.map((element) => element.id)\n\t\t\tthis.model = value\n\t\t},\n\n\t\t/**\n\t\t * Use provisioning API to search for given group and save it in the groups object\n\t\t *\n\t\t * @param {string} query The query like parts of the id oder display name\n\t\t * @return {boolean}\n\t\t */\n\t\tasync loadGroup(query) {\n\t\t\ttry {\n\t\t\t\tquery = typeof query === 'string' ? encodeURI(query) : ''\n\t\t\t\tconst response = await axios.get(generateOcsUrl(`cloud/groups/details?search=${query}&limit=10`, 2))\n\n\t\t\t\t// No network error, so reset any error after 5 seconds\n\t\t\t\tif (this.errorMessage !== '') {\n\t\t\t\t\twindow.setTimeout(() => {\n\t\t\t\t\t\tthis.errorMessage = ''\n\t\t\t\t\t}, 5000)\n\t\t\t\t}\n\n\t\t\t\tif (Object.keys(response.data.ocs.data.groups).length > 0) {\n\t\t\t\t\tconst newGroups = Object.fromEntries(response.data.ocs.data.groups.map((element) => [element.id, element]))\n\t\t\t\t\tthis.groups = { ...this.groups, ...newGroups }\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\t/** Emitted if groups could not be queried.<br />**Payload:** `error` (`object`) - The Axios error */\n\t\t\t\tthis.$emit('error', error)\n\t\t\t\tthis.errorMessage = t('Unable to search the group')\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\n\t\t/**\n\t\t * Custom filter function for `NcSelect` to filter by ID *and* display name\n\t\t *\n\t\t * @param {object} option One of the groups\n\t\t * @param {string} label The label property of the group\n\t\t * @param {string} search The current search string\n\t\t */\n\t\tfilterGroups(option, label, search) {\n\t\t\treturn `${label || ''} ${option.id}`.toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) > -1\n\t\t},\n\n\t\t/**\n\t\t * Debounce the group search (reduce API calls)\n\t\t */\n\t\tonSearch: debounce(function(query) {\n\t\t\tthis.loadGroup(query)\n\t\t}, 200),\n\t},\n}\n</script>\n\n<style scoped lang=\"scss\">\n.select-group-error {\n\tcolor: var(--color-text-error, var(--color-error));\n\tfont-size: 13px;\n\tpadding-inline-start: var(--border-radius-large);\n}\n</style>\n"],"names":["NcSelect","GenRandomId","useModelMigration","t","axios","generateOcsUrl","debounce"],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import '../assets/NcTextArea-
|
|
2
|
-
import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
|
|
1
|
+
import '../assets/NcTextArea-B6zS3CRN.css';
|
|
3
2
|
import { A as AlertCircle } from "./AlertCircleOutline-DBxbepLy.mjs";
|
|
4
3
|
import { C as Check } from "./Check-BkThHPH7.mjs";
|
|
5
4
|
import { u as useModelMigration } from "./useModelMigration-EhAWvqDD.mjs";
|
|
5
|
+
import { G as GenRandomId } from "./GenRandomId-F5ebeBB_.mjs";
|
|
6
6
|
import { i as isLegacy32 } from "./legacy-MK4GvP26.mjs";
|
|
7
|
+
import { l as logger } from "./logger-D3RVzcfQ.mjs";
|
|
7
8
|
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
8
9
|
const _sfc_main = {
|
|
9
10
|
name: "NcTextArea",
|
|
@@ -19,6 +20,7 @@ const _sfc_main = {
|
|
|
19
20
|
props: {
|
|
20
21
|
/**
|
|
21
22
|
* Removed in v9 - use `modelValue` (`v-model`) instead
|
|
23
|
+
*
|
|
22
24
|
* @deprecated
|
|
23
25
|
*/
|
|
24
26
|
value: {
|
|
@@ -113,6 +115,7 @@ const _sfc_main = {
|
|
|
113
115
|
emits: [
|
|
114
116
|
/**
|
|
115
117
|
* Removed in v9 - use `update:modelValue` (`v-model`) instead
|
|
118
|
+
*
|
|
116
119
|
* @deprecated
|
|
117
120
|
*/
|
|
118
121
|
"update:value",
|
|
@@ -149,7 +152,7 @@ const _sfc_main = {
|
|
|
149
152
|
isValidLabel() {
|
|
150
153
|
const isValidLabel = this.label || this.labelOutside;
|
|
151
154
|
if (!isValidLabel) {
|
|
152
|
-
|
|
155
|
+
logger.warn("You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.");
|
|
153
156
|
}
|
|
154
157
|
return isValidLabel;
|
|
155
158
|
},
|
|
@@ -211,10 +214,10 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
|
211
214
|
_sfc_staticRenderFns,
|
|
212
215
|
false,
|
|
213
216
|
null,
|
|
214
|
-
"
|
|
217
|
+
"11ea0e4b"
|
|
215
218
|
);
|
|
216
219
|
const NcTextArea = __component__.exports;
|
|
217
220
|
export {
|
|
218
221
|
NcTextArea as N
|
|
219
222
|
};
|
|
220
|
-
//# sourceMappingURL=NcTextArea-
|
|
223
|
+
//# sourceMappingURL=NcTextArea-DHmD6-6s.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcTextArea-DHmD6-6s.mjs","sources":["../../src/components/NcTextArea/NcTextArea.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nThis component is a textarea field.\nIt extends and styles an HTMLTextAreaElement.\n\n```\n<template>\n\t<div class=\"wrapper\">\n\t\t<NcTextArea label=\"Text area\"\n\t\t\tv-model=\"text1\"\n\t\t\tplaceholder=\"Placeholders are possible\"\n\t\t\thelper-text=\"This is a regular helper text.\" >\n\t\t</NcTextArea>\n\t\t<NcTextArea label=\"Success state\"\n\t\t\tv-model=\"text2\"\n\t\t\t:success=\"true\">\n\t\t</NcTextArea>\n\t\t<NcTextArea label=\"Error state\"\n\t\t\tv-model=\"text3\"\n\t\t\tplaceholder=\"Enter something valid\"\n\t\t\thelper-text=\"Helper texts will be styled accordingly.\"\n\t\t\t:error=\"true\">\n\t\t</NcTextArea>\n\t\t<NcTextArea label=\"Disabled\"\n\t\t\tv-model=\"text4\"\n\t\t\t:disabled=\"true\" />\n\t\t<NcTextArea label=\"Disabled + Success\"\n\t\t\tv-model=\"text5\"\n\t\t\t:success=\"true\"\n\t\t\t:disabled=\"true\" />\n\t\t<div class=\"external-label\">\n\t\t\t<label for=\"textField\">External label</label>\n\t\t\t<NcTextArea id=\"textField\"\n\t\t\t\tv-model=\"text6\"\n\t\t\t\t:label-outside=\"true\"\n\t\t\t\tplaceholder=\"Text area with external label\" />\n\t\t</div>\n\t\t<NcTextArea label=\"Custom size and no resize\"\n\t\t\tv-model=\"text7\"\n\t\t\tresize=\"none\"\n\t\t\trows=\"5\" />\n\t\t</NcTextArea>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttext1: '',\n\t\t\t\ttext2: '',\n\t\t\t\ttext3: '',\n\t\t\t\ttext4: '',\n\t\t\t\ttext5: '',\n\t\t\t\ttext6: '',\n\t\t\t\ttext7: '',\n\t\t\t}\n\t\t},\n\t}\n</script>\n\n<style lang=\"scss\" scoped>\n.wrapper {\n\tdisplay: flex;\n\tgap: 4px;\n\talign-items: flex-end;\n\tflex-wrap: wrap;\n}\n\n.external-label {\n\tdisplay: flex;\n\twidth: 100%;\n\talign-items: center;\n\tgap: 14px;\n\n\t> label {\n\t\tflex-shrink: 0;\n\t}\n}\n</style>\n```\n</docs>\n\n<template>\n\t<div\n\t\tclass=\"textarea\"\n\t\t:class=\"{\n\t\t\t'textarea--disabled': disabled,\n\t\t\t'textarea--legacy': isLegacy32,\n\t\t}\">\n\t\t<div class=\"textarea__main-wrapper\">\n\t\t\t<textarea\n\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t:id=\"computedId\"\n\t\t\t\tref=\"input\"\n\t\t\t\tclass=\"textarea__input\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:placeholder=\"computedPlaceholder\"\n\t\t\t\t:aria-describedby=\"ariaDescribedby\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\t:class=\"[inputClass,\n\t\t\t\t\t{\n\t\t\t\t\t\t'textarea__input--label-outside': labelOutside,\n\t\t\t\t\t\t'textarea__input--legacy': isLegacy,\n\t\t\t\t\t\t'textarea__input--success': success,\n\t\t\t\t\t\t'textarea__input--error': error,\n\t\t\t\t\t}]\"\n\t\t\t\t:style=\"{ resize: resize }\"\n\t\t\t\t:value=\"model\"\n\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t@input=\"handleInput\" />\n\t\t\t<!-- Label -->\n\t\t\t<label\n\t\t\t\tv-if=\"!labelOutside && isValidLabel\"\n\t\t\t\tclass=\"textarea__label\"\n\t\t\t\t:for=\"computedId\">\n\t\t\t\t{{ label }}\n\t\t\t</label>\n\t\t</div>\n\t\t<p\n\t\t\tv-if=\"helperText.length > 0\"\n\t\t\t:id=\"`${inputName}-helper-text`\"\n\t\t\tclass=\"textarea__helper-text-message\"\n\t\t\t:class=\"{\n\t\t\t\t'textarea__helper-text-message--error': error,\n\t\t\t\t'textarea__helper-text-message--success': success,\n\t\t\t}\">\n\t\t\t<Check v-if=\"success\" class=\"textarea__helper-text-message__icon\" :size=\"18\" />\n\t\t\t<AlertCircle v-else-if=\"error\" class=\"textarea__helper-text-message__icon\" :size=\"18\" />\n\t\t\t{{ helperText }}\n\t\t</p>\n\t</div>\n</template>\n\n<script>\nimport AlertCircle from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { isLegacy32 } from '../../utils/legacy.ts'\nimport { logger } from '../../utils/logger.ts'\n\nexport default {\n\tname: 'NcTextArea',\n\n\tcomponents: {\n\t\tAlertCircle,\n\t\tCheck,\n\t},\n\n\tinheritAttrs: false,\n\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t *\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 * The value of the input field\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * The input label, always provide one for accessibility purposes.\n\t\t * This will also be used as a placeholder unless the placeholder\n\t\t * prop is populated with a different string.\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Pass in true if you want to use an external label. This is useful\n\t\t * if you need a label that looks different from the one provided by\n\t\t * this component\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The placeholder of the input. This defaults as the string that's\n\t\t * passed into the label prop. In order to remove the placeholder,\n\t\t * pass in an empty string.\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Toggles the success state of the component. Adds a checkmark icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\tsuccess: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Toggles the error state of the component. Adds an error icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional helper text message\n\t\t *\n\t\t * This will be displayed beneath the input field. In case the field is\n\t\t * also marked as having an error, the text will be displayed in red.\n\t\t */\n\t\thelperText: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Disable the input field\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 * Class to add to the input field.\n\t\t * Necessary to use NcInputField in the NcActionInput component.\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [Object, String],\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * The resize CSS property sets whether an element is resizable, and if\n\t\t * so, in which directions.\n\t\t */\n\t\tresize: {\n\t\t\ttype: String,\n\t\t\tdefault: 'both',\n\t\t\tvalidator: (value) => ['both', 'vertical', 'horizontal', 'none'].includes(value),\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 *\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value', true)\n\t\treturn {\n\t\t\tisLegacy32,\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tcomputedId() {\n\t\t\treturn this.$attrs.id && this.$attrs.id !== '' ? this.$attrs.id : this.inputName\n\t\t},\n\n\t\tinputName() {\n\t\t\treturn 'input' + GenRandomId()\n\t\t},\n\n\t\thasPlaceholder() {\n\t\t\treturn this.placeholder !== '' && this.placeholder !== undefined\n\t\t},\n\n\t\tcomputedPlaceholder() {\n\t\t\tif (this.hasPlaceholder) {\n\t\t\t\treturn this.placeholder\n\t\t\t}\n\t\t\tif (isLegacy32) {\n\t\t\t\treturn this.label\n\t\t\t}\n\t\t\treturn undefined\n\t\t},\n\n\t\tisValidLabel() {\n\t\t\tconst isValidLabel = this.label || this.labelOutside\n\t\t\tif (!isValidLabel) {\n\t\t\t\tlogger.warn('You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.')\n\t\t\t}\n\t\t\treturn isValidLabel\n\t\t},\n\n\t\tariaDescribedby() {\n\t\t\tconst ariaDescribedby = []\n\t\t\tif (this.helperText.length > 0) {\n\t\t\t\tariaDescribedby.push(`${this.inputName}-helper-text`)\n\t\t\t}\n\t\t\tif (this.$attrs['aria-describedby']) {\n\t\t\t\tariaDescribedby.push(this.$attrs['aria-describedby'])\n\t\t\t}\n\t\t\treturn ariaDescribedby.join(' ') || null\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Focus the input element\n\t\t *\n\t\t * @public\n\t\t */\n\t\tfocus() {\n\t\t\tthis.$refs.input.focus()\n\t\t},\n\n\t\t/**\n\t\t * Select all the text in the input\n\t\t *\n\t\t * @public\n\t\t */\n\t\tselect() {\n\t\t\tthis.$refs.input.select()\n\t\t},\n\n\t\thandleInput(event) {\n\t\t\tthis.model = event.target.value\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.textarea {\n\t--input-border-color: var(--color-border-maxcontrast);\n\t--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));\n\tposition: relative;\n\twidth: 100%;\n\tborder-radius: var(--border-radius-large);\n\tmargin-block-start: 6px; // for the label in active state\n\tresize: vertical;\n\n\t&--disabled {\n\t\topacity: 0.7;\n\t\tfilter: saturate(0.7);\n\t}\n\n\t&__main-wrapper {\n\t\theight: calc(var(--default-clickable-area) * 2);\n\t\tpadding: var(--border-width-input, 2px);\n\t\tposition: relative;\n\n\t\t&:not(:has([disabled])):has(textarea:focus),\n\t\t&:not(:has([disabled])):has(textarea:active) {\n\t\t\tpadding: 0;\n\t\t}\n\t}\n\n\t&__input {\n\t\tmargin: 0;\n\t\tpadding-block: calc(10px + var(--input-border-width-offset));\n\t\tpadding-inline: calc(12px - var(--border-width-input, 2px) + var(--input-border-width-offset)); // align with label 8px margin label + 4px padding label - 2px border input\n\t\twidth: 100%;\n\t\tfont-size: var(--default-font-size);\n\t\ttext-overflow: ellipsis;\n\t\tcursor: pointer;\n\n\t\tbackground-color: var(--color-main-background);\n\t\tcolor: var(--color-main-text);\n\t\t// we use box shadow to create a border as this allows use to have a nice gradient\n\t\tborder: none;\n\t\tborder-radius: var(--border-radius-element, var(--border-radius-large));\n\t\tbox-shadow:\n\t\t\t0 -1px var(--input-border-color),\n\t\t\t0 0 0 1px color-mix(in srgb, var(--input-border-color), 65% transparent);\n\n\t\t&:hover:not([disabled]) {\n\t\t\tbox-shadow: 0 0 0 1px var(--input-border-color);\n\t\t}\n\t\t&:active:not([disabled]),\n\t\t&:focus:not([disabled]) {\n\t\t\t--input-border-width-offset: 0px;\n\t\t\t--input-border-color: var(--color-main-text);\n\t\t\tborder: var(--border-width-input-focused, 2px) solid var(--input-border-color);\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t}\n\n\t\t// Hide placeholder while not focussed -> show label instead (only if internal label is used)\n\t\t&:not(:focus,&--label-outside)::placeholder {\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&:focus {\n\t\t\tcursor: text;\n\t\t}\n\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: unset !important; // Override server rules\n\t\t}\n\n\t\t&--success {\n\t\t\t--input-border-color: var(--color-border-success, var(--color-success)) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--error {\n\t\t\t--input-border-color: var(--color-border-error, var(--color-error)) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\t}\n\n\t&__label {\n\t\tposition: absolute;\n\t\tmargin-inline: 12px 0;\n\t\tmax-width: fit-content;\n\t\tinset-block-start: 11px;\n\t\tinset-inline: 0;\n\t\t// Fix color so that users do not think the input already has content\n\t\tcolor: var(--color-text-maxcontrast);\n\t\t// only one line labels are allowed\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\t// forward events to input\n\t\tpointer-events: none;\n\t\t// Position transition\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick), background-color var(--animation-quick) var(--animation-slow);\n\t}\n\n\t&__input:focus + &__label,\n\t&__input:not(:placeholder-shown) + &__label {\n\t\tinset-block-start: -10px;\n\t\tline-height: 1.5; // minimum allowed line height for accessibility\n\t\tfont-size: 13px; // minimum allowed font size for accessibility\n\t\tfont-weight: 500;\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: var(--color-main-background);\n\t\tpadding-inline: 4px;\n\t\tmargin-inline-start: 8px;\n\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick);\n\t}\n\n\t&__helper-text-message {\n\t\tpadding-block: 4px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-inline-end: 8px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error-text);\n\t\t}\n\n\t\t&--success {\n\t\t\tcolor: var(--color-success-text);\n\t\t}\n\t}\n\n\t// for Nextcloud 31 and older we need the old design with only one color\n\t&--legacy {\n\t\t.textarea__input {\n\t\t\tbox-shadow: 0 0 0 1px var(--input-border-color);\n\t\t}\n\n\t\t.textarea__main-wrapper:hover:not(:has([disabled])) {\n\t\t\tpadding: 0;\n\n\t\t\t.textarea__input {\n\t\t\t\t--input-border-color: var(--color-main-text);\n\t\t\t\t// Reset padding offset when focused\n\t\t\t\t--input-border-width-offset: 0px;\n\t\t\t\tborder: var(--border-width-input-focused, 2px) solid var(--input-border-color);\n\t\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
require('../assets/NcTextArea-
|
|
1
|
+
require('../assets/NcTextArea-B6zS3CRN.css');
|
|
2
2
|
"use strict";
|
|
3
|
-
const GenRandomId = require("./GenRandomId-BQDud3d4.cjs");
|
|
4
3
|
const AlertCircleOutline = require("./AlertCircleOutline-BrsasUsU.cjs");
|
|
5
4
|
const Check = require("./Check-Du8mPz_B.cjs");
|
|
6
5
|
const useModelMigration = require("./useModelMigration-D5zhrNXr.cjs");
|
|
6
|
+
const GenRandomId = require("./GenRandomId-D7iOvpZS.cjs");
|
|
7
7
|
const legacy = require("./legacy-KBXhWdRy.cjs");
|
|
8
|
+
const logger = require("./logger-3HuiEIF6.cjs");
|
|
8
9
|
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
9
10
|
const _sfc_main = {
|
|
10
11
|
name: "NcTextArea",
|
|
@@ -20,6 +21,7 @@ const _sfc_main = {
|
|
|
20
21
|
props: {
|
|
21
22
|
/**
|
|
22
23
|
* Removed in v9 - use `modelValue` (`v-model`) instead
|
|
24
|
+
*
|
|
23
25
|
* @deprecated
|
|
24
26
|
*/
|
|
25
27
|
value: {
|
|
@@ -114,6 +116,7 @@ const _sfc_main = {
|
|
|
114
116
|
emits: [
|
|
115
117
|
/**
|
|
116
118
|
* Removed in v9 - use `update:modelValue` (`v-model`) instead
|
|
119
|
+
*
|
|
117
120
|
* @deprecated
|
|
118
121
|
*/
|
|
119
122
|
"update:value",
|
|
@@ -150,7 +153,7 @@ const _sfc_main = {
|
|
|
150
153
|
isValidLabel() {
|
|
151
154
|
const isValidLabel = this.label || this.labelOutside;
|
|
152
155
|
if (!isValidLabel) {
|
|
153
|
-
|
|
156
|
+
logger.logger.warn("You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.");
|
|
154
157
|
}
|
|
155
158
|
return isValidLabel;
|
|
156
159
|
},
|
|
@@ -212,8 +215,8 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
212
215
|
_sfc_staticRenderFns,
|
|
213
216
|
false,
|
|
214
217
|
null,
|
|
215
|
-
"
|
|
218
|
+
"11ea0e4b"
|
|
216
219
|
);
|
|
217
220
|
const NcTextArea = __component__.exports;
|
|
218
221
|
exports.NcTextArea = NcTextArea;
|
|
219
|
-
//# sourceMappingURL=NcTextArea-
|
|
222
|
+
//# sourceMappingURL=NcTextArea-DkVtHTpD.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcTextArea-DkVtHTpD.cjs","sources":["../../src/components/NcTextArea/NcTextArea.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nThis component is a textarea field.\nIt extends and styles an HTMLTextAreaElement.\n\n```\n<template>\n\t<div class=\"wrapper\">\n\t\t<NcTextArea label=\"Text area\"\n\t\t\tv-model=\"text1\"\n\t\t\tplaceholder=\"Placeholders are possible\"\n\t\t\thelper-text=\"This is a regular helper text.\" >\n\t\t</NcTextArea>\n\t\t<NcTextArea label=\"Success state\"\n\t\t\tv-model=\"text2\"\n\t\t\t:success=\"true\">\n\t\t</NcTextArea>\n\t\t<NcTextArea label=\"Error state\"\n\t\t\tv-model=\"text3\"\n\t\t\tplaceholder=\"Enter something valid\"\n\t\t\thelper-text=\"Helper texts will be styled accordingly.\"\n\t\t\t:error=\"true\">\n\t\t</NcTextArea>\n\t\t<NcTextArea label=\"Disabled\"\n\t\t\tv-model=\"text4\"\n\t\t\t:disabled=\"true\" />\n\t\t<NcTextArea label=\"Disabled + Success\"\n\t\t\tv-model=\"text5\"\n\t\t\t:success=\"true\"\n\t\t\t:disabled=\"true\" />\n\t\t<div class=\"external-label\">\n\t\t\t<label for=\"textField\">External label</label>\n\t\t\t<NcTextArea id=\"textField\"\n\t\t\t\tv-model=\"text6\"\n\t\t\t\t:label-outside=\"true\"\n\t\t\t\tplaceholder=\"Text area with external label\" />\n\t\t</div>\n\t\t<NcTextArea label=\"Custom size and no resize\"\n\t\t\tv-model=\"text7\"\n\t\t\tresize=\"none\"\n\t\t\trows=\"5\" />\n\t\t</NcTextArea>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttext1: '',\n\t\t\t\ttext2: '',\n\t\t\t\ttext3: '',\n\t\t\t\ttext4: '',\n\t\t\t\ttext5: '',\n\t\t\t\ttext6: '',\n\t\t\t\ttext7: '',\n\t\t\t}\n\t\t},\n\t}\n</script>\n\n<style lang=\"scss\" scoped>\n.wrapper {\n\tdisplay: flex;\n\tgap: 4px;\n\talign-items: flex-end;\n\tflex-wrap: wrap;\n}\n\n.external-label {\n\tdisplay: flex;\n\twidth: 100%;\n\talign-items: center;\n\tgap: 14px;\n\n\t> label {\n\t\tflex-shrink: 0;\n\t}\n}\n</style>\n```\n</docs>\n\n<template>\n\t<div\n\t\tclass=\"textarea\"\n\t\t:class=\"{\n\t\t\t'textarea--disabled': disabled,\n\t\t\t'textarea--legacy': isLegacy32,\n\t\t}\">\n\t\t<div class=\"textarea__main-wrapper\">\n\t\t\t<textarea\n\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t:id=\"computedId\"\n\t\t\t\tref=\"input\"\n\t\t\t\tclass=\"textarea__input\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:placeholder=\"computedPlaceholder\"\n\t\t\t\t:aria-describedby=\"ariaDescribedby\"\n\t\t\t\taria-live=\"polite\"\n\t\t\t\t:class=\"[inputClass,\n\t\t\t\t\t{\n\t\t\t\t\t\t'textarea__input--label-outside': labelOutside,\n\t\t\t\t\t\t'textarea__input--legacy': isLegacy,\n\t\t\t\t\t\t'textarea__input--success': success,\n\t\t\t\t\t\t'textarea__input--error': error,\n\t\t\t\t\t}]\"\n\t\t\t\t:style=\"{ resize: resize }\"\n\t\t\t\t:value=\"model\"\n\t\t\t\tv-on=\"$listeners\"\n\t\t\t\t@input=\"handleInput\" />\n\t\t\t<!-- Label -->\n\t\t\t<label\n\t\t\t\tv-if=\"!labelOutside && isValidLabel\"\n\t\t\t\tclass=\"textarea__label\"\n\t\t\t\t:for=\"computedId\">\n\t\t\t\t{{ label }}\n\t\t\t</label>\n\t\t</div>\n\t\t<p\n\t\t\tv-if=\"helperText.length > 0\"\n\t\t\t:id=\"`${inputName}-helper-text`\"\n\t\t\tclass=\"textarea__helper-text-message\"\n\t\t\t:class=\"{\n\t\t\t\t'textarea__helper-text-message--error': error,\n\t\t\t\t'textarea__helper-text-message--success': success,\n\t\t\t}\">\n\t\t\t<Check v-if=\"success\" class=\"textarea__helper-text-message__icon\" :size=\"18\" />\n\t\t\t<AlertCircle v-else-if=\"error\" class=\"textarea__helper-text-message__icon\" :size=\"18\" />\n\t\t\t{{ helperText }}\n\t\t</p>\n\t</div>\n</template>\n\n<script>\nimport AlertCircle from 'vue-material-design-icons/AlertCircleOutline.vue'\nimport Check from 'vue-material-design-icons/Check.vue'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { isLegacy32 } from '../../utils/legacy.ts'\nimport { logger } from '../../utils/logger.ts'\n\nexport default {\n\tname: 'NcTextArea',\n\n\tcomponents: {\n\t\tAlertCircle,\n\t\tCheck,\n\t},\n\n\tinheritAttrs: false,\n\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t *\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 * The value of the input field\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * The input label, always provide one for accessibility purposes.\n\t\t * This will also be used as a placeholder unless the placeholder\n\t\t * prop is populated with a different string.\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Pass in true if you want to use an external label. This is useful\n\t\t * if you need a label that looks different from the one provided by\n\t\t * this component\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * The placeholder of the input. This defaults as the string that's\n\t\t * passed into the label prop. In order to remove the placeholder,\n\t\t * pass in an empty string.\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Toggles the success state of the component. Adds a checkmark icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\tsuccess: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Toggles the error state of the component. Adds an error icon.\n\t\t * this cannot be used together with canClear.\n\t\t */\n\t\terror: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Additional helper text message\n\t\t *\n\t\t * This will be displayed beneath the input field. In case the field is\n\t\t * also marked as having an error, the text will be displayed in red.\n\t\t */\n\t\thelperText: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Disable the input field\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 * Class to add to the input field.\n\t\t * Necessary to use NcInputField in the NcActionInput component.\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [Object, String],\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * The resize CSS property sets whether an element is resizable, and if\n\t\t * so, in which directions.\n\t\t */\n\t\tresize: {\n\t\t\ttype: String,\n\t\t\tdefault: 'both',\n\t\t\tvalidator: (value) => ['both', 'vertical', 'horizontal', 'none'].includes(value),\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 *\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value', true)\n\t\treturn {\n\t\t\tisLegacy32,\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tcomputedId() {\n\t\t\treturn this.$attrs.id && this.$attrs.id !== '' ? this.$attrs.id : this.inputName\n\t\t},\n\n\t\tinputName() {\n\t\t\treturn 'input' + GenRandomId()\n\t\t},\n\n\t\thasPlaceholder() {\n\t\t\treturn this.placeholder !== '' && this.placeholder !== undefined\n\t\t},\n\n\t\tcomputedPlaceholder() {\n\t\t\tif (this.hasPlaceholder) {\n\t\t\t\treturn this.placeholder\n\t\t\t}\n\t\t\tif (isLegacy32) {\n\t\t\t\treturn this.label\n\t\t\t}\n\t\t\treturn undefined\n\t\t},\n\n\t\tisValidLabel() {\n\t\t\tconst isValidLabel = this.label || this.labelOutside\n\t\t\tif (!isValidLabel) {\n\t\t\t\tlogger.warn('You need to add a label to the NcInputField component. Either use the prop label or use an external one, as per the example in the documentation.')\n\t\t\t}\n\t\t\treturn isValidLabel\n\t\t},\n\n\t\tariaDescribedby() {\n\t\t\tconst ariaDescribedby = []\n\t\t\tif (this.helperText.length > 0) {\n\t\t\t\tariaDescribedby.push(`${this.inputName}-helper-text`)\n\t\t\t}\n\t\t\tif (this.$attrs['aria-describedby']) {\n\t\t\t\tariaDescribedby.push(this.$attrs['aria-describedby'])\n\t\t\t}\n\t\t\treturn ariaDescribedby.join(' ') || null\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Focus the input element\n\t\t *\n\t\t * @public\n\t\t */\n\t\tfocus() {\n\t\t\tthis.$refs.input.focus()\n\t\t},\n\n\t\t/**\n\t\t * Select all the text in the input\n\t\t *\n\t\t * @public\n\t\t */\n\t\tselect() {\n\t\t\tthis.$refs.input.select()\n\t\t},\n\n\t\thandleInput(event) {\n\t\t\tthis.model = event.target.value\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.textarea {\n\t--input-border-color: var(--color-border-maxcontrast);\n\t--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));\n\tposition: relative;\n\twidth: 100%;\n\tborder-radius: var(--border-radius-large);\n\tmargin-block-start: 6px; // for the label in active state\n\tresize: vertical;\n\n\t&--disabled {\n\t\topacity: 0.7;\n\t\tfilter: saturate(0.7);\n\t}\n\n\t&__main-wrapper {\n\t\theight: calc(var(--default-clickable-area) * 2);\n\t\tpadding: var(--border-width-input, 2px);\n\t\tposition: relative;\n\n\t\t&:not(:has([disabled])):has(textarea:focus),\n\t\t&:not(:has([disabled])):has(textarea:active) {\n\t\t\tpadding: 0;\n\t\t}\n\t}\n\n\t&__input {\n\t\tmargin: 0;\n\t\tpadding-block: calc(10px + var(--input-border-width-offset));\n\t\tpadding-inline: calc(12px - var(--border-width-input, 2px) + var(--input-border-width-offset)); // align with label 8px margin label + 4px padding label - 2px border input\n\t\twidth: 100%;\n\t\tfont-size: var(--default-font-size);\n\t\ttext-overflow: ellipsis;\n\t\tcursor: pointer;\n\n\t\tbackground-color: var(--color-main-background);\n\t\tcolor: var(--color-main-text);\n\t\t// we use box shadow to create a border as this allows use to have a nice gradient\n\t\tborder: none;\n\t\tborder-radius: var(--border-radius-element, var(--border-radius-large));\n\t\tbox-shadow:\n\t\t\t0 -1px var(--input-border-color),\n\t\t\t0 0 0 1px color-mix(in srgb, var(--input-border-color), 65% transparent);\n\n\t\t&:hover:not([disabled]) {\n\t\t\tbox-shadow: 0 0 0 1px var(--input-border-color);\n\t\t}\n\t\t&:active:not([disabled]),\n\t\t&:focus:not([disabled]) {\n\t\t\t--input-border-width-offset: 0px;\n\t\t\t--input-border-color: var(--color-main-text);\n\t\t\tborder: var(--border-width-input-focused, 2px) solid var(--input-border-color);\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t}\n\n\t\t// Hide placeholder while not focussed -> show label instead (only if internal label is used)\n\t\t&:not(:focus,&--label-outside)::placeholder {\n\t\t\topacity: 0;\n\t\t}\n\n\t\t&:focus {\n\t\t\tcursor: text;\n\t\t}\n\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t&:focus-visible {\n\t\t\tbox-shadow: unset !important; // Override server rules\n\t\t}\n\n\t\t&--success {\n\t\t\t--input-border-color: var(--color-border-success, var(--color-success)) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\n\t\t&--error {\n\t\t\t--input-border-color: var(--color-border-error, var(--color-error)) !important; //Override hover border color\n\t\t\t&:focus-visible {\n\t\t\t\tbox-shadow: rgb(248, 250, 252) 0px 0px 0px 2px, var(--color-primary-element) 0px 0px 0px 4px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px\n\t\t\t}\n\t\t}\n\t}\n\n\t&__label {\n\t\tposition: absolute;\n\t\tmargin-inline: 12px 0;\n\t\tmax-width: fit-content;\n\t\tinset-block-start: 11px;\n\t\tinset-inline: 0;\n\t\t// Fix color so that users do not think the input already has content\n\t\tcolor: var(--color-text-maxcontrast);\n\t\t// only one line labels are allowed\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\t// forward events to input\n\t\tpointer-events: none;\n\t\t// Position transition\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick), background-color var(--animation-quick) var(--animation-slow);\n\t}\n\n\t&__input:focus + &__label,\n\t&__input:not(:placeholder-shown) + &__label {\n\t\tinset-block-start: -10px;\n\t\tline-height: 1.5; // minimum allowed line height for accessibility\n\t\tfont-size: 13px; // minimum allowed font size for accessibility\n\t\tfont-weight: 500;\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: var(--color-main-background);\n\t\tpadding-inline: 4px;\n\t\tmargin-inline-start: 8px;\n\n\t\ttransition: height var(--animation-quick), inset-block-start var(--animation-quick), font-size var(--animation-quick), color var(--animation-quick);\n\t}\n\n\t&__helper-text-message {\n\t\tpadding-block: 4px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\n\t\t&__icon {\n\t\t\tmargin-inline-end: 8px;\n\t\t}\n\n\t\t&--error {\n\t\t\tcolor: var(--color-error-text);\n\t\t}\n\n\t\t&--success {\n\t\t\tcolor: var(--color-success-text);\n\t\t}\n\t}\n\n\t// for Nextcloud 31 and older we need the old design with only one color\n\t&--legacy {\n\t\t.textarea__input {\n\t\t\tbox-shadow: 0 0 0 1px var(--input-border-color);\n\t\t}\n\n\t\t.textarea__main-wrapper:hover:not(:has([disabled])) {\n\t\t\tpadding: 0;\n\n\t\t\t.textarea__input {\n\t\t\t\t--input-border-color: var(--color-main-text);\n\t\t\t\t// Reset padding offset when focused\n\t\t\t\t--input-border-width-offset: 0px;\n\t\t\t\tborder: var(--border-width-input-focused, 2px) solid var(--input-border-color);\n\t\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n"],"names":["AlertCircle","Check","useModelMigration","isLegacy32","GenRandomId","logger"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const mdi = require("./mdi-
|
|
3
|
-
const
|
|
4
|
-
const NcInputField = require("./NcInputField-cT3u4gMS.cjs");
|
|
5
|
-
const _l10n = require("./_l10n-RKohWu5d.cjs");
|
|
2
|
+
const mdi = require("./mdi-BBwE-MZC.cjs");
|
|
3
|
+
const NcInputField = require("./NcInputField-Dry3uU_8.cjs");
|
|
6
4
|
const useModelMigration = require("./useModelMigration-D5zhrNXr.cjs");
|
|
5
|
+
const _l10n = require("./_l10n-DM-VRK9x.cjs");
|
|
6
|
+
const NcIconSvgWrapper = require("./NcIconSvgWrapper-D-aKMbf3.cjs");
|
|
7
7
|
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
8
|
-
_l10n.register(_l10n.
|
|
8
|
+
_l10n.register(_l10n.t17, _l10n.t50);
|
|
9
9
|
const NcInputFieldProps = new Set(Object.keys(NcInputField.NcInputField.props));
|
|
10
10
|
const _sfc_main = {
|
|
11
11
|
name: "NcTextField",
|
|
@@ -31,6 +31,7 @@ const _sfc_main = {
|
|
|
31
31
|
/**
|
|
32
32
|
* The `aria-label` to set on the trailing button
|
|
33
33
|
* If no explicit value is set it will default to the one matching the `trailingButtonIcon`:
|
|
34
|
+
*
|
|
34
35
|
* @default 'Clear text'|'Save changes'|'Undo changes'
|
|
35
36
|
*/
|
|
36
37
|
trailingButtonLabel: {
|
|
@@ -61,6 +62,7 @@ const _sfc_main = {
|
|
|
61
62
|
emits: [
|
|
62
63
|
/**
|
|
63
64
|
* Removed in v9 - use `update:modelValue` (`v-model`) instead
|
|
65
|
+
*
|
|
64
66
|
* @deprecated
|
|
65
67
|
*/
|
|
66
68
|
"update:value",
|
|
@@ -96,9 +98,7 @@ const _sfc_main = {
|
|
|
96
98
|
// Proxy all the HTML attributes
|
|
97
99
|
...this.$attrs,
|
|
98
100
|
// Proxy original NcInputField's props
|
|
99
|
-
...Object.fromEntries(
|
|
100
|
-
Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key))
|
|
101
|
-
),
|
|
101
|
+
...Object.fromEntries(Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key))),
|
|
102
102
|
// Adjust aria-label for predefined trailing buttons
|
|
103
103
|
trailingButtonLabel: this.trailingButtonLabel || predefinedLabels[this.trailingButtonIcon]
|
|
104
104
|
};
|
|
@@ -144,4 +144,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
144
144
|
);
|
|
145
145
|
const NcTextField = __component__.exports;
|
|
146
146
|
exports.NcTextField = NcTextField;
|
|
147
|
-
//# sourceMappingURL=NcTextField-
|
|
147
|
+
//# sourceMappingURL=NcTextField-Cp3tulze.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcTextField-Cp3tulze.cjs","sources":["../../src/components/NcTextField/NcTextField.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\nSee [NcInputField](#/Components/NcFields?id=ncinputfield) for a list of all available props.\n\nGeneral purpose text field component.\nIt is recommended to not only provide a placeholder, but also a label.\nThe label should describe what input is expected and the placehold what format the input should have.\n\nNote: the inner html `input` element inherits all the attributes from the\nNcTextField component so you can add things like `autocomplete`, `maxlength`\nand `minlength`.\n\n```\n<template>\n\t<div class=\"wrapper\">\n\t\t<NcTextField v-model=\"text1\"\n\t\t\tlabel=\"Leading icon and clear trailing button\"\n\t\t\ttrailing-button-icon=\"close\"\n\t\t\t:show-trailing-button=\"text1 !== ''\"\n\t\t\t@trailing-button-click=\"clearText\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify :size=\"20\" />\n\t\t\t</template>\n\t\t</NcTextField>\n\t\t<NcTextField v-model=\"text4\"\n\t\t\tlabel=\"Internal label\"\n\t\t\tplaceholder=\"That can be used together with placeholder\"\n\t\t\ttrailing-button-icon=\"close\"\n\t\t\t:show-trailing-button=\"text4 !== ''\"\n\t\t\t@trailing-button-click=\"clearText\">\n\t\t\t<template #icon>\n\t\t\t\t<Lock :size=\"20\" />\n\t\t\t</template>\n\t\t</NcTextField>\n\t\t<NcTextField v-model=\"text2\"\n\t\t\tlabel=\"With helper text\"\n\t\t\thelper-text=\"This is an optional message to show e.g. validation errors.\"\n\t\t\t@trailing-button-click=\"clearText\">\n\t\t</NcTextField>\n\t\t<NcTextField v-model=\"text2\"\n\t\t\tlabel=\"Success state\"\n\t\t\tplaceholder=\"Placeholders are possible\"\n\t\t\t:success=\"true\"\n\t\t\t@trailing-button-click=\"clearText\">\n\t\t</NcTextField>\n\t\t<NcTextField v-model=\"text3\"\n\t\t\tlabel=\"Error state\"\n\t\t\tplaceholder=\"Enter something valid\"\n\t\t\t:error=\"true\"\n\t\t\t@trailing-button-click=\"clearText\">\n\t\t</NcTextField>\n\t\t<NcTextField label=\"Disabled\"\n\t\t\t:value=\"text1\"\n\t\t\t:disabled=\"true\" />\n\t\t<NcTextField label=\"Disabled + Success\"\n\t\t\t:value=\"text2\"\n\t\t\t:success=\"true\"\n\t\t\t:disabled=\"true\" />\n\t\t<div class=\"external-label\">\n\t\t\t<label for=\"textField\">External label</label>\n\t\t\t<NcTextField v-model=\"text5\"\n\t\t\t\tid=\"textField\"\n\t\t\t\t:label-outside=\"true\"\n\t\t\t\tplaceholder=\"Input with external label\"\n\t\t\t\t@trailing-button-click=\"clearText\" />\n\t\t</div>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\nimport Lock from 'vue-material-design-icons/Lock'\nimport Close from 'vue-material-design-icons/Close'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttext1: '',\n\t\t\ttext2: '',\n\t\t\ttext3: '',\n\t\t\ttext4: '',\n\t\t\ttext5: '',\n\t\t}\n\t},\n\n\tcomponents: {\n\t\tMagnify,\n\t\tLock,\n\t\tClose,\n\t},\n\n\tmethods: {\n\t\tclearText() {\n\t\t\tthis.text1 = ''\n\t\t\tthis.text3 = ''\n\t\t}\n\t}\n}\n</script>\n<style lang=\"scss\" scoped>\n.wrapper {\n\tdisplay: flex;\n\tgap: 4px;\n\talign-items: flex-end;\n\tflex-wrap: wrap;\n}\n\n.external-label {\n\tdisplay: flex;\n\tgap: 14px;\n\twidth: 100%;\n\tmargin-top: 1rem;\n}\n\n.external-label label {\n\tpadding-top: 7px;\n\twhite-space: nowrap;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<NcInputField\n\t\tv-bind=\"propsAndAttrsToForward\"\n\t\tref=\"inputField\"\n\t\tv-on=\"$listeners\">\n\t\t<template v-if=\"!!$scopedSlots.icon || !!$slots.default || !!$scopedSlots.default\" #icon>\n\t\t\t<!-- @slot Leading icon -->\n\t\t\t<slot name=\"icon\">\n\t\t\t\t<!-- @slot Deprecated, removed in v9: use #icon slot instead. -->\n\t\t\t\t<slot />\n\t\t\t</slot>\n\t\t</template>\n\n\t\t<!-- Trailing icon slot, except for search type input as the browser already adds a trailing close icon -->\n\t\t<template v-if=\"type !== 'search'\" #trailing-button-icon>\n\t\t\t<NcIconSvgWrapper v-if=\"isArrow\" directional :path=\"mdiArrowRight\" />\n\t\t\t<NcIconSvgWrapper v-else :path=\"trailingButtonIcon === 'undo' ? mdiUndo : mdiClose\" />\n\t\t</template>\n\t</NcInputField>\n</template>\n\n<script>\nimport { mdiArrowRight, mdiClose, mdiUndo } from '@mdi/js'\nimport NcInputField from '../NcInputField/NcInputField.vue'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\nimport { t } from '../../l10n.js'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/index.js'\n\nconst NcInputFieldProps = new Set(Object.keys(NcInputField.props))\n\nexport default {\n\tname: 'NcTextField',\n\n\tcomponents: {\n\t\tNcIconSvgWrapper,\n\t\tNcInputField,\n\t},\n\n\t// Allow forwarding all attributes\n\tinheritAttrs: false,\n\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Any [NcInputField](#/Components/NcFields?id=ncinputfield) props\n\t\t */\n\t\t// Not an actual prop but needed to show in vue-styleguidist docs\n\t\t// eslint-disable-next-line\n\t\t' ': {},\n\n\t\t// Reuse all the props from NcInputField for better typing and documentation\n\t\t...NcInputField.props,\n\n\t\t/**\n\t\t * The `aria-label` to set on the trailing button\n\t\t * If no explicit value is set it will default to the one matching the `trailingButtonIcon`:\n\t\t *\n\t\t * @default 'Clear text'|'Save changes'|'Undo changes'\n\t\t */\n\t\ttrailingButtonLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t// Custom props\n\n\t\t/**\n\t\t * Specifies which material design icon should be used for the trailing\n\t\t * button.\n\t\t *\n\t\t * The `'arrowRight'` value is deprecated and will be removed in the next major version.\n\t\t * Use `'arrowEnd'` instead.\n\t\t *\n\t\t * @type {'close'|'arrowEnd'|'arrowRight'|'undo'}\n\t\t */\n\t\ttrailingButtonIcon: {\n\t\t\ttype: String,\n\t\t\tdefault: 'close',\n\t\t\tvalidator: (value) => [\n\t\t\t\t'close',\n\t\t\t\t'arrowEnd',\n\t\t\t\t'arrowRight',\n\t\t\t\t'undo',\n\t\t\t].includes(value),\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 *\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value')\n\t\treturn {\n\t\t\tmodel,\n\n\t\t\tmdiArrowRight,\n\t\t\tmdiClose,\n\t\t\tmdiUndo,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is the trailing button icon directional.\n\t\t * Meaning the icon needs to be flipped on RTL text flow.\n\t\t */\n\t\tisArrow() {\n\t\t\treturn this.trailingButtonIcon === 'arrowEnd' || this.trailingButtonIcon === 'arrowRight'\n\t\t},\n\n\t\tpropsAndAttrsToForward() {\n\t\t\tconst predefinedLabels = {\n\t\t\t\tarrowEnd: t('Save changes'),\n\t\t\t\tarrowRight: t('Save changes'),\n\t\t\t\tclose: t('Clear text'),\n\t\t\t\tundo: t('Undo changes'),\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t// Proxy all the HTML attributes\n\t\t\t\t...this.$attrs,\n\t\t\t\t// Proxy original NcInputField's props\n\t\t\t\t...Object.fromEntries(Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key))),\n\n\t\t\t\t// Adjust aria-label for predefined trailing buttons\n\t\t\t\ttrailingButtonLabel: this.trailingButtonLabel || predefinedLabels[this.trailingButtonIcon],\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Focus the input element\n\t\t *\n\t\t * @public\n\t\t */\n\t\tfocus() {\n\t\t\tthis.$refs.inputField.focus()\n\t\t},\n\n\t\t/**\n\t\t * Select all the text in the input\n\t\t *\n\t\t * @public\n\t\t */\n\t\tselect() {\n\t\t\tthis.$refs.inputField.select()\n\t\t},\n\t},\n}\n</script>\n"],"names":["NcInputField","NcIconSvgWrapper","useModelMigration","mdiArrowRight","mdiClose","mdiUndo","t"],"mappings":";;;;;;;;AA0JA,MAAA,oBAAA,IAAA,IAAA,OAAA,KAAAA,aAAAA,aAAA,KAAA,CAAA;AAEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,kBAAAC,iBAAAA;AAAAA,IACA,cAAAD,aAAAA;AAAAA,EACA;AAAA;AAAA,EAGA,cAAA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,KAAA,CAAA;AAAA;AAAA,IAGA,GAAAA,aAAAA,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,QAAAE,oCAAA,SAAA,cAAA;AACA,WAAA;AAAA,MACA;AAAA,MAEA,eAAAC,IAAAA;AAAAA,MACA,UAAAC,IAAAA;AAAAA,MACA,SAAAC,IAAAA;AAAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AACA,aAAA,KAAA,uBAAA,cAAA,KAAA,uBAAA;AAAA,IACA;AAAA,IAEA,yBAAA;AACA,YAAA,mBAAA;AAAA,QACA,UAAAC,MAAAA,EAAA,cAAA;AAAA,QACA,YAAAA,MAAAA,EAAA,cAAA;AAAA,QACA,OAAAA,MAAAA,EAAA,YAAA;AAAA,QACA,MAAAA,MAAAA,EAAA,cAAA;AAAA,MACA;AAEA,aAAA;AAAA;AAAA,QAEA,GAAA,KAAA;AAAA;AAAA,QAEA,GAAA,OAAA,YAAA,OAAA,QAAA,KAAA,MAAA,EAAA,OAAA,CAAA,CAAA,GAAA,MAAA,kBAAA,IAAA,GAAA,CAAA,CAAA;AAAA;AAAA,QAGA,qBAAA,KAAA,uBAAA,iBAAA,KAAA,kBAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAA;AACA,WAAA,MAAA,WAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,SAAA;AACA,WAAA,MAAA,WAAA,OAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { b as mdiUndo, c as mdiClose, d as mdiArrowRight } from "./mdi-
|
|
2
|
-
import { N as
|
|
3
|
-
import { N as NcInputField } from "./NcInputField-BNSfmQqu.mjs";
|
|
4
|
-
import { r as register, b as t49, c as t16, a as t } from "./_l10n-CW0YfIWk.mjs";
|
|
1
|
+
import { b as mdiUndo, c as mdiClose, d as mdiArrowRight } from "./mdi-DXu6GWVJ.mjs";
|
|
2
|
+
import { N as NcInputField } from "./NcInputField-kKgY_2GV.mjs";
|
|
5
3
|
import { u as useModelMigration } from "./useModelMigration-EhAWvqDD.mjs";
|
|
4
|
+
import { r as register, b as t50, c as t17, a as t } from "./_l10n-BEfeU7gr.mjs";
|
|
5
|
+
import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-BreCg8pX.mjs";
|
|
6
6
|
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
7
|
-
register(
|
|
7
|
+
register(t17, t50);
|
|
8
8
|
const NcInputFieldProps = new Set(Object.keys(NcInputField.props));
|
|
9
9
|
const _sfc_main = {
|
|
10
10
|
name: "NcTextField",
|
|
@@ -30,6 +30,7 @@ const _sfc_main = {
|
|
|
30
30
|
/**
|
|
31
31
|
* The `aria-label` to set on the trailing button
|
|
32
32
|
* If no explicit value is set it will default to the one matching the `trailingButtonIcon`:
|
|
33
|
+
*
|
|
33
34
|
* @default 'Clear text'|'Save changes'|'Undo changes'
|
|
34
35
|
*/
|
|
35
36
|
trailingButtonLabel: {
|
|
@@ -60,6 +61,7 @@ const _sfc_main = {
|
|
|
60
61
|
emits: [
|
|
61
62
|
/**
|
|
62
63
|
* Removed in v9 - use `update:modelValue` (`v-model`) instead
|
|
64
|
+
*
|
|
63
65
|
* @deprecated
|
|
64
66
|
*/
|
|
65
67
|
"update:value",
|
|
@@ -95,9 +97,7 @@ const _sfc_main = {
|
|
|
95
97
|
// Proxy all the HTML attributes
|
|
96
98
|
...this.$attrs,
|
|
97
99
|
// Proxy original NcInputField's props
|
|
98
|
-
...Object.fromEntries(
|
|
99
|
-
Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key))
|
|
100
|
-
),
|
|
100
|
+
...Object.fromEntries(Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key))),
|
|
101
101
|
// Adjust aria-label for predefined trailing buttons
|
|
102
102
|
trailingButtonLabel: this.trailingButtonLabel || predefinedLabels[this.trailingButtonIcon]
|
|
103
103
|
};
|
|
@@ -145,4 +145,4 @@ const NcTextField = __component__.exports;
|
|
|
145
145
|
export {
|
|
146
146
|
NcTextField as N
|
|
147
147
|
};
|
|
148
|
-
//# sourceMappingURL=NcTextField-
|
|
148
|
+
//# sourceMappingURL=NcTextField-D_IMz2MR.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcTextField-D_IMz2MR.mjs","sources":["../../src/components/NcTextField/NcTextField.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\nSee [NcInputField](#/Components/NcFields?id=ncinputfield) for a list of all available props.\n\nGeneral purpose text field component.\nIt is recommended to not only provide a placeholder, but also a label.\nThe label should describe what input is expected and the placehold what format the input should have.\n\nNote: the inner html `input` element inherits all the attributes from the\nNcTextField component so you can add things like `autocomplete`, `maxlength`\nand `minlength`.\n\n```\n<template>\n\t<div class=\"wrapper\">\n\t\t<NcTextField v-model=\"text1\"\n\t\t\tlabel=\"Leading icon and clear trailing button\"\n\t\t\ttrailing-button-icon=\"close\"\n\t\t\t:show-trailing-button=\"text1 !== ''\"\n\t\t\t@trailing-button-click=\"clearText\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify :size=\"20\" />\n\t\t\t</template>\n\t\t</NcTextField>\n\t\t<NcTextField v-model=\"text4\"\n\t\t\tlabel=\"Internal label\"\n\t\t\tplaceholder=\"That can be used together with placeholder\"\n\t\t\ttrailing-button-icon=\"close\"\n\t\t\t:show-trailing-button=\"text4 !== ''\"\n\t\t\t@trailing-button-click=\"clearText\">\n\t\t\t<template #icon>\n\t\t\t\t<Lock :size=\"20\" />\n\t\t\t</template>\n\t\t</NcTextField>\n\t\t<NcTextField v-model=\"text2\"\n\t\t\tlabel=\"With helper text\"\n\t\t\thelper-text=\"This is an optional message to show e.g. validation errors.\"\n\t\t\t@trailing-button-click=\"clearText\">\n\t\t</NcTextField>\n\t\t<NcTextField v-model=\"text2\"\n\t\t\tlabel=\"Success state\"\n\t\t\tplaceholder=\"Placeholders are possible\"\n\t\t\t:success=\"true\"\n\t\t\t@trailing-button-click=\"clearText\">\n\t\t</NcTextField>\n\t\t<NcTextField v-model=\"text3\"\n\t\t\tlabel=\"Error state\"\n\t\t\tplaceholder=\"Enter something valid\"\n\t\t\t:error=\"true\"\n\t\t\t@trailing-button-click=\"clearText\">\n\t\t</NcTextField>\n\t\t<NcTextField label=\"Disabled\"\n\t\t\t:value=\"text1\"\n\t\t\t:disabled=\"true\" />\n\t\t<NcTextField label=\"Disabled + Success\"\n\t\t\t:value=\"text2\"\n\t\t\t:success=\"true\"\n\t\t\t:disabled=\"true\" />\n\t\t<div class=\"external-label\">\n\t\t\t<label for=\"textField\">External label</label>\n\t\t\t<NcTextField v-model=\"text5\"\n\t\t\t\tid=\"textField\"\n\t\t\t\t:label-outside=\"true\"\n\t\t\t\tplaceholder=\"Input with external label\"\n\t\t\t\t@trailing-button-click=\"clearText\" />\n\t\t</div>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\nimport Lock from 'vue-material-design-icons/Lock'\nimport Close from 'vue-material-design-icons/Close'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttext1: '',\n\t\t\ttext2: '',\n\t\t\ttext3: '',\n\t\t\ttext4: '',\n\t\t\ttext5: '',\n\t\t}\n\t},\n\n\tcomponents: {\n\t\tMagnify,\n\t\tLock,\n\t\tClose,\n\t},\n\n\tmethods: {\n\t\tclearText() {\n\t\t\tthis.text1 = ''\n\t\t\tthis.text3 = ''\n\t\t}\n\t}\n}\n</script>\n<style lang=\"scss\" scoped>\n.wrapper {\n\tdisplay: flex;\n\tgap: 4px;\n\talign-items: flex-end;\n\tflex-wrap: wrap;\n}\n\n.external-label {\n\tdisplay: flex;\n\tgap: 14px;\n\twidth: 100%;\n\tmargin-top: 1rem;\n}\n\n.external-label label {\n\tpadding-top: 7px;\n\twhite-space: nowrap;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<NcInputField\n\t\tv-bind=\"propsAndAttrsToForward\"\n\t\tref=\"inputField\"\n\t\tv-on=\"$listeners\">\n\t\t<template v-if=\"!!$scopedSlots.icon || !!$slots.default || !!$scopedSlots.default\" #icon>\n\t\t\t<!-- @slot Leading icon -->\n\t\t\t<slot name=\"icon\">\n\t\t\t\t<!-- @slot Deprecated, removed in v9: use #icon slot instead. -->\n\t\t\t\t<slot />\n\t\t\t</slot>\n\t\t</template>\n\n\t\t<!-- Trailing icon slot, except for search type input as the browser already adds a trailing close icon -->\n\t\t<template v-if=\"type !== 'search'\" #trailing-button-icon>\n\t\t\t<NcIconSvgWrapper v-if=\"isArrow\" directional :path=\"mdiArrowRight\" />\n\t\t\t<NcIconSvgWrapper v-else :path=\"trailingButtonIcon === 'undo' ? mdiUndo : mdiClose\" />\n\t\t</template>\n\t</NcInputField>\n</template>\n\n<script>\nimport { mdiArrowRight, mdiClose, mdiUndo } from '@mdi/js'\nimport NcInputField from '../NcInputField/NcInputField.vue'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\nimport { t } from '../../l10n.js'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/index.js'\n\nconst NcInputFieldProps = new Set(Object.keys(NcInputField.props))\n\nexport default {\n\tname: 'NcTextField',\n\n\tcomponents: {\n\t\tNcIconSvgWrapper,\n\t\tNcInputField,\n\t},\n\n\t// Allow forwarding all attributes\n\tinheritAttrs: false,\n\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Any [NcInputField](#/Components/NcFields?id=ncinputfield) props\n\t\t */\n\t\t// Not an actual prop but needed to show in vue-styleguidist docs\n\t\t// eslint-disable-next-line\n\t\t' ': {},\n\n\t\t// Reuse all the props from NcInputField for better typing and documentation\n\t\t...NcInputField.props,\n\n\t\t/**\n\t\t * The `aria-label` to set on the trailing button\n\t\t * If no explicit value is set it will default to the one matching the `trailingButtonIcon`:\n\t\t *\n\t\t * @default 'Clear text'|'Save changes'|'Undo changes'\n\t\t */\n\t\ttrailingButtonLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t// Custom props\n\n\t\t/**\n\t\t * Specifies which material design icon should be used for the trailing\n\t\t * button.\n\t\t *\n\t\t * The `'arrowRight'` value is deprecated and will be removed in the next major version.\n\t\t * Use `'arrowEnd'` instead.\n\t\t *\n\t\t * @type {'close'|'arrowEnd'|'arrowRight'|'undo'}\n\t\t */\n\t\ttrailingButtonIcon: {\n\t\t\ttype: String,\n\t\t\tdefault: 'close',\n\t\t\tvalidator: (value) => [\n\t\t\t\t'close',\n\t\t\t\t'arrowEnd',\n\t\t\t\t'arrowRight',\n\t\t\t\t'undo',\n\t\t\t].includes(value),\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 *\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value')\n\t\treturn {\n\t\t\tmodel,\n\n\t\t\tmdiArrowRight,\n\t\t\tmdiClose,\n\t\t\tmdiUndo,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Is the trailing button icon directional.\n\t\t * Meaning the icon needs to be flipped on RTL text flow.\n\t\t */\n\t\tisArrow() {\n\t\t\treturn this.trailingButtonIcon === 'arrowEnd' || this.trailingButtonIcon === 'arrowRight'\n\t\t},\n\n\t\tpropsAndAttrsToForward() {\n\t\t\tconst predefinedLabels = {\n\t\t\t\tarrowEnd: t('Save changes'),\n\t\t\t\tarrowRight: t('Save changes'),\n\t\t\t\tclose: t('Clear text'),\n\t\t\t\tundo: t('Undo changes'),\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t// Proxy all the HTML attributes\n\t\t\t\t...this.$attrs,\n\t\t\t\t// Proxy original NcInputField's props\n\t\t\t\t...Object.fromEntries(Object.entries(this.$props).filter(([key]) => NcInputFieldProps.has(key))),\n\n\t\t\t\t// Adjust aria-label for predefined trailing buttons\n\t\t\t\ttrailingButtonLabel: this.trailingButtonLabel || predefinedLabels[this.trailingButtonIcon],\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Focus the input element\n\t\t *\n\t\t * @public\n\t\t */\n\t\tfocus() {\n\t\t\tthis.$refs.inputField.focus()\n\t\t},\n\n\t\t/**\n\t\t * Select all the text in the input\n\t\t *\n\t\t * @public\n\t\t */\n\t\tselect() {\n\t\t\tthis.$refs.inputField.select()\n\t\t},\n\t},\n}\n</script>\n"],"names":[],"mappings":";;;;;;;AA0JA,MAAA,oBAAA,IAAA,IAAA,OAAA,KAAA,aAAA,KAAA,CAAA;AAEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA;AAAA,EAGA,cAAA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,KAAA,CAAA;AAAA;AAAA,IAGA,GAAA,aAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAaA,oBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA,IACA;AAAA;AAAA,IAEA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,QAAA,kBAAA,SAAA,cAAA;AACA,WAAA;AAAA,MACA;AAAA,MAEA;AAAA,MACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,UAAA;AACA,aAAA,KAAA,uBAAA,cAAA,KAAA,uBAAA;AAAA,IACA;AAAA,IAEA,yBAAA;AACA,YAAA,mBAAA;AAAA,QACA,UAAA,EAAA,cAAA;AAAA,QACA,YAAA,EAAA,cAAA;AAAA,QACA,OAAA,EAAA,YAAA;AAAA,QACA,MAAA,EAAA,cAAA;AAAA,MACA;AAEA,aAAA;AAAA;AAAA,QAEA,GAAA,KAAA;AAAA;AAAA,QAEA,GAAA,OAAA,YAAA,OAAA,QAAA,KAAA,MAAA,EAAA,OAAA,CAAA,CAAA,GAAA,MAAA,kBAAA,IAAA,GAAA,CAAA,CAAA;AAAA;AAAA,QAGA,qBAAA,KAAA,uBAAA,iBAAA,KAAA,kBAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAA;AACA,WAAA,MAAA,WAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,SAAA;AACA,WAAA,MAAA,WAAA,OAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcThemeProvider-25ResoIv.mjs","sources":["../../src/components/NcThemeProvider/NcThemeProvider.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis components allows to enforce a color theme on its content,\nfor example enforce the content to be always rendered in dark theme regardless of browser or user config.\n\n### Example\n```vue\n<template>\n\t<NcThemeProvider class=\"wrapper\" :dark=\"userTheme === 'dark'\">\n\t\t<div class=\"controls\">\n\t\t\t<fieldset>\n\t\t\t\t<legend>\n\t\t\t\t\tUser theme\n\t\t\t\t</legend>\n\t\t\t\t<div class=\"controls__select\">\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"userTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"dark\">\n\t\t\t\t\t\tDark\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"userTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"light\">\n\t\t\t\t\t\tLight\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t\t<fieldset>\n\t\t\t\t<legend>\n\t\t\t\t\tNcThemeProvider theme\n\t\t\t\t</legend>\n\t\t\t\t<div class=\"controls__select\">\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"default\">\n\t\t\t\t\t\tNone (default)\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"dark\">\n\t\t\t\t\t\tDark\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\tvalue=\"light\"\n\t\t\t\t\t\ttype=\"radio\">\n\t\t\t\t\t\tLight\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t</div>\n\t\t<p class=\"theme-preview\">\n\t\t\tThis is shown in user theme\n\t\t</p>\n\t\t<NcThemeProvider\n\t\t\t:dark=\"providerTheme === 'dark'\"\n\t\t\t:light=\"providerTheme === 'light'\">\n\t\t\t<div class=\"theme-preview\">\n\t\t\t\tThis is shown in the overridden theme.\n\t\t\t</div>\n\t\t</NcThemeProvider>\n\t</NcThemeProvider>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tuserTheme: 'light',\n\t\t\tproviderTheme: 'default',\n\t\t}\n\t}\n}\n</script>\n<style scoped>\n.wrapper {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n}\n\n.controls {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 2lh;\n}\n\n.controls__select {\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: var(--default-grid-baseline);\n}\n\nlegend {\n\twidth: 100%;\n\ttext-align: center;\n}\n\n.theme-preview {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-top: 0.5lh;\n\tmin-height: 2lh;\n}\n</style>\n```\n</docs>\n\n<script setup>\nimport { computed, provide } from 'vue'\nimport { INJECTION_KEY_THEME } from '../../composables/useIsDarkTheme/constants.ts'\n\nconst props = defineProps({\n\t/**\n\t * Enforce the dark theme for the content.\n\t */\n\tdark: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Enforce the light theme for the content\n\t */\n\tlight: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n})\n\nconst theme = computed(() => {\n\tif (props.dark) {\n\t\treturn 'dark'\n\t} else if (props.light) {\n\t\treturn 'light'\n\t}\n\treturn ''\n})\nprovide(INJECTION_KEY_THEME, theme)\n</script>\n\n<template>\n\t<div :[`data-theme-${theme}`]=\"theme\">\n\t\t<slot />\n\t</div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA2IA,UAAM,QAAQ,SAAS,MAAM;AAC5B,UAAI,MAAM,MAAM;AACf,eAAO;AAAA,
|
|
1
|
+
{"version":3,"file":"NcThemeProvider-25ResoIv.mjs","sources":["../../src/components/NcThemeProvider/NcThemeProvider.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis components allows to enforce a color theme on its content,\nfor example enforce the content to be always rendered in dark theme regardless of browser or user config.\n\n### Example\n```vue\n<template>\n\t<NcThemeProvider class=\"wrapper\" :dark=\"userTheme === 'dark'\">\n\t\t<div class=\"controls\">\n\t\t\t<fieldset>\n\t\t\t\t<legend>\n\t\t\t\t\tUser theme\n\t\t\t\t</legend>\n\t\t\t\t<div class=\"controls__select\">\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"userTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"dark\">\n\t\t\t\t\t\tDark\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"userTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"light\">\n\t\t\t\t\t\tLight\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t\t<fieldset>\n\t\t\t\t<legend>\n\t\t\t\t\tNcThemeProvider theme\n\t\t\t\t</legend>\n\t\t\t\t<div class=\"controls__select\">\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"default\">\n\t\t\t\t\t\tNone (default)\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"dark\">\n\t\t\t\t\t\tDark\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\tvalue=\"light\"\n\t\t\t\t\t\ttype=\"radio\">\n\t\t\t\t\t\tLight\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t</div>\n\t\t<p class=\"theme-preview\">\n\t\t\tThis is shown in user theme\n\t\t</p>\n\t\t<NcThemeProvider\n\t\t\t:dark=\"providerTheme === 'dark'\"\n\t\t\t:light=\"providerTheme === 'light'\">\n\t\t\t<div class=\"theme-preview\">\n\t\t\t\tThis is shown in the overridden theme.\n\t\t\t</div>\n\t\t</NcThemeProvider>\n\t</NcThemeProvider>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tuserTheme: 'light',\n\t\t\tproviderTheme: 'default',\n\t\t}\n\t}\n}\n</script>\n<style scoped>\n.wrapper {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n}\n\n.controls {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 2lh;\n}\n\n.controls__select {\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: var(--default-grid-baseline);\n}\n\nlegend {\n\twidth: 100%;\n\ttext-align: center;\n}\n\n.theme-preview {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-top: 0.5lh;\n\tmin-height: 2lh;\n}\n</style>\n```\n</docs>\n\n<script setup>\nimport { computed, provide } from 'vue'\nimport { INJECTION_KEY_THEME } from '../../composables/useIsDarkTheme/constants.ts'\n\nconst props = defineProps({\n\t/**\n\t * Enforce the dark theme for the content.\n\t */\n\tdark: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Enforce the light theme for the content\n\t */\n\tlight: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n})\n\nconst theme = computed(() => {\n\tif (props.dark) {\n\t\treturn 'dark'\n\t} else if (props.light) {\n\t\treturn 'light'\n\t}\n\treturn ''\n})\nprovide(INJECTION_KEY_THEME, theme)\n</script>\n\n<template>\n\t<div :[`data-theme-${theme}`]=\"theme\">\n\t\t<slot />\n\t</div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA2IA,UAAM,QAAQ,SAAS,MAAM;AAC5B,UAAI,MAAM,MAAM;AACf,eAAO;AAAA,MACR,WAAW,MAAM,OAAO;AACvB,eAAO;AAAA,MACR;AACA,aAAO;AAAA,IACR,CAAC;AACD,YAAQ,qBAAqB,KAAK;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcThemeProvider-BqGPTeWg.cjs","sources":["../../src/components/NcThemeProvider/NcThemeProvider.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis components allows to enforce a color theme on its content,\nfor example enforce the content to be always rendered in dark theme regardless of browser or user config.\n\n### Example\n```vue\n<template>\n\t<NcThemeProvider class=\"wrapper\" :dark=\"userTheme === 'dark'\">\n\t\t<div class=\"controls\">\n\t\t\t<fieldset>\n\t\t\t\t<legend>\n\t\t\t\t\tUser theme\n\t\t\t\t</legend>\n\t\t\t\t<div class=\"controls__select\">\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"userTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"dark\">\n\t\t\t\t\t\tDark\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"userTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"light\">\n\t\t\t\t\t\tLight\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t\t<fieldset>\n\t\t\t\t<legend>\n\t\t\t\t\tNcThemeProvider theme\n\t\t\t\t</legend>\n\t\t\t\t<div class=\"controls__select\">\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"default\">\n\t\t\t\t\t\tNone (default)\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"dark\">\n\t\t\t\t\t\tDark\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\tvalue=\"light\"\n\t\t\t\t\t\ttype=\"radio\">\n\t\t\t\t\t\tLight\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t</div>\n\t\t<p class=\"theme-preview\">\n\t\t\tThis is shown in user theme\n\t\t</p>\n\t\t<NcThemeProvider\n\t\t\t:dark=\"providerTheme === 'dark'\"\n\t\t\t:light=\"providerTheme === 'light'\">\n\t\t\t<div class=\"theme-preview\">\n\t\t\t\tThis is shown in the overridden theme.\n\t\t\t</div>\n\t\t</NcThemeProvider>\n\t</NcThemeProvider>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tuserTheme: 'light',\n\t\t\tproviderTheme: 'default',\n\t\t}\n\t}\n}\n</script>\n<style scoped>\n.wrapper {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n}\n\n.controls {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 2lh;\n}\n\n.controls__select {\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: var(--default-grid-baseline);\n}\n\nlegend {\n\twidth: 100%;\n\ttext-align: center;\n}\n\n.theme-preview {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-top: 0.5lh;\n\tmin-height: 2lh;\n}\n</style>\n```\n</docs>\n\n<script setup>\nimport { computed, provide } from 'vue'\nimport { INJECTION_KEY_THEME } from '../../composables/useIsDarkTheme/constants.ts'\n\nconst props = defineProps({\n\t/**\n\t * Enforce the dark theme for the content.\n\t */\n\tdark: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Enforce the light theme for the content\n\t */\n\tlight: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n})\n\nconst theme = computed(() => {\n\tif (props.dark) {\n\t\treturn 'dark'\n\t} else if (props.light) {\n\t\treturn 'light'\n\t}\n\treturn ''\n})\nprovide(INJECTION_KEY_THEME, theme)\n</script>\n\n<template>\n\t<div :[`data-theme-${theme}`]=\"theme\">\n\t\t<slot />\n\t</div>\n</template>\n"],"names":["computed","provide","INJECTION_KEY_THEME"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2IA,UAAM,QAAQA,
|
|
1
|
+
{"version":3,"file":"NcThemeProvider-BqGPTeWg.cjs","sources":["../../src/components/NcThemeProvider/NcThemeProvider.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis components allows to enforce a color theme on its content,\nfor example enforce the content to be always rendered in dark theme regardless of browser or user config.\n\n### Example\n```vue\n<template>\n\t<NcThemeProvider class=\"wrapper\" :dark=\"userTheme === 'dark'\">\n\t\t<div class=\"controls\">\n\t\t\t<fieldset>\n\t\t\t\t<legend>\n\t\t\t\t\tUser theme\n\t\t\t\t</legend>\n\t\t\t\t<div class=\"controls__select\">\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"userTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"dark\">\n\t\t\t\t\t\tDark\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"userTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"light\">\n\t\t\t\t\t\tLight\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t\t<fieldset>\n\t\t\t\t<legend>\n\t\t\t\t\tNcThemeProvider theme\n\t\t\t\t</legend>\n\t\t\t\t<div class=\"controls__select\">\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"default\">\n\t\t\t\t\t\tNone (default)\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\t\tvalue=\"dark\">\n\t\t\t\t\t\tDark\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t\t\tv-model=\"providerTheme\"\n\t\t\t\t\t\tvalue=\"light\"\n\t\t\t\t\t\ttype=\"radio\">\n\t\t\t\t\t\tLight\n\t\t\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t</div>\n\t\t<p class=\"theme-preview\">\n\t\t\tThis is shown in user theme\n\t\t</p>\n\t\t<NcThemeProvider\n\t\t\t:dark=\"providerTheme === 'dark'\"\n\t\t\t:light=\"providerTheme === 'light'\">\n\t\t\t<div class=\"theme-preview\">\n\t\t\t\tThis is shown in the overridden theme.\n\t\t\t</div>\n\t\t</NcThemeProvider>\n\t</NcThemeProvider>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tuserTheme: 'light',\n\t\t\tproviderTheme: 'default',\n\t\t}\n\t}\n}\n</script>\n<style scoped>\n.wrapper {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n}\n\n.controls {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 2lh;\n}\n\n.controls__select {\n\tdisplay: flex;\n\tflex-direction: row;\n\tgap: var(--default-grid-baseline);\n}\n\nlegend {\n\twidth: 100%;\n\ttext-align: center;\n}\n\n.theme-preview {\n\tbackground-color: var(--color-main-background);\n\tcolor: var(--color-main-text);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-top: 0.5lh;\n\tmin-height: 2lh;\n}\n</style>\n```\n</docs>\n\n<script setup>\nimport { computed, provide } from 'vue'\nimport { INJECTION_KEY_THEME } from '../../composables/useIsDarkTheme/constants.ts'\n\nconst props = defineProps({\n\t/**\n\t * Enforce the dark theme for the content.\n\t */\n\tdark: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n\n\t/**\n\t * Enforce the light theme for the content\n\t */\n\tlight: {\n\t\ttype: Boolean,\n\t\tdefault: false,\n\t},\n})\n\nconst theme = computed(() => {\n\tif (props.dark) {\n\t\treturn 'dark'\n\t} else if (props.light) {\n\t\treturn 'light'\n\t}\n\treturn ''\n})\nprovide(INJECTION_KEY_THEME, theme)\n</script>\n\n<template>\n\t<div :[`data-theme-${theme}`]=\"theme\">\n\t\t<slot />\n\t</div>\n</template>\n"],"names":["computed","provide","INJECTION_KEY_THEME"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AA2IA,UAAM,QAAQA,IAAAA,SAAS,MAAM;AAC5B,UAAI,MAAM,MAAM;AACf,eAAO;AAAA,MACR,WAAW,MAAM,OAAO;AACvB,eAAO;AAAA,MACR;AACA,aAAO;AAAA,IACR,CAAC;AACDC,QAAAA,QAAQC,UAAAA,qBAAqB,KAAK;;;;;;;;;;;;;;;;;;;"}
|