@nextcloud/vue 8.23.1 → 8.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +297 -201
- package/README.md +8 -4
- package/dist/Components/NcActionButton.cjs +2 -1
- package/dist/Components/NcActionButton.mjs +2 -1
- package/dist/Components/NcActionButtonGroup.cjs +2 -1
- package/dist/Components/NcActionButtonGroup.mjs +2 -1
- package/dist/Components/NcActionCaption.cjs +1 -0
- package/dist/Components/NcActionCaption.mjs +1 -0
- package/dist/Components/NcActionCheckbox.cjs +2 -1
- package/dist/Components/NcActionCheckbox.mjs +2 -1
- package/dist/Components/NcActionInput.cjs +2 -1
- package/dist/Components/NcActionInput.mjs +2 -1
- package/dist/Components/NcActionLink.cjs +2 -1
- package/dist/Components/NcActionLink.mjs +2 -1
- package/dist/Components/NcActionRadio.cjs +2 -1
- package/dist/Components/NcActionRadio.mjs +2 -1
- package/dist/Components/NcActionRouter.cjs +2 -1
- package/dist/Components/NcActionRouter.mjs +2 -1
- package/dist/Components/NcActionSeparator.cjs +1 -0
- package/dist/Components/NcActionSeparator.mjs +1 -0
- package/dist/Components/NcActionText.cjs +2 -1
- package/dist/Components/NcActionText.mjs +2 -1
- package/dist/Components/NcActionTextEditable.cjs +2 -1
- package/dist/Components/NcActionTextEditable.mjs +2 -1
- package/dist/Components/NcActions.cjs +2 -1
- package/dist/Components/NcActions.mjs +2 -1
- package/dist/Components/NcAppContent.cjs +2 -1
- package/dist/Components/NcAppContent.mjs +2 -1
- package/dist/Components/NcAppContentDetails.cjs +1 -0
- package/dist/Components/NcAppContentDetails.mjs +1 -0
- package/dist/Components/NcAppContentList.cjs +1 -0
- package/dist/Components/NcAppContentList.mjs +1 -0
- package/dist/Components/NcAppNavigation.cjs +2 -1
- package/dist/Components/NcAppNavigation.mjs +2 -1
- package/dist/Components/NcAppNavigationCaption.cjs +2 -1
- package/dist/Components/NcAppNavigationCaption.mjs +2 -1
- package/dist/Components/NcAppNavigationIconBullet.cjs +1 -0
- package/dist/Components/NcAppNavigationIconBullet.mjs +1 -0
- package/dist/Components/NcAppNavigationItem.cjs +2 -1
- package/dist/Components/NcAppNavigationItem.mjs +2 -1
- package/dist/Components/NcAppNavigationList.cjs +1 -0
- package/dist/Components/NcAppNavigationList.mjs +1 -0
- package/dist/Components/NcAppNavigationNew.cjs +18 -3
- package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
- package/dist/Components/NcAppNavigationNew.mjs +18 -3
- package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
- package/dist/Components/NcAppNavigationNewItem.cjs +2 -1
- package/dist/Components/NcAppNavigationNewItem.mjs +2 -1
- package/dist/Components/NcAppNavigationSearch.cjs +2 -1
- package/dist/Components/NcAppNavigationSearch.mjs +2 -1
- package/dist/Components/NcAppNavigationSettings.cjs +2 -1
- package/dist/Components/NcAppNavigationSettings.mjs +2 -1
- package/dist/Components/NcAppNavigationSpacer.cjs +1 -0
- package/dist/Components/NcAppNavigationSpacer.mjs +1 -0
- package/dist/Components/NcAppNavigationToggle.cjs +2 -1
- package/dist/Components/NcAppNavigationToggle.mjs +2 -1
- package/dist/Components/NcAppSettingsDialog.cjs +2 -1
- package/dist/Components/NcAppSettingsDialog.mjs +2 -1
- package/dist/Components/NcAppSettingsSection.cjs +1 -0
- package/dist/Components/NcAppSettingsSection.mjs +1 -0
- package/dist/Components/NcAppSidebar.cjs +2 -1
- package/dist/Components/NcAppSidebar.mjs +2 -1
- package/dist/Components/NcAppSidebarTab.cjs +1 -0
- package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
- package/dist/Components/NcAppSidebarTab.mjs +1 -0
- package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
- package/dist/Components/NcAvatar.cjs +2 -1
- package/dist/Components/NcAvatar.mjs +2 -1
- package/dist/Components/NcBlurHash.cjs +4 -0
- package/dist/Components/NcBlurHash.cjs.map +1 -0
- package/dist/Components/NcBlurHash.mjs +5 -0
- package/dist/Components/NcBlurHash.mjs.map +1 -0
- package/dist/Components/NcBreadcrumb.cjs +2 -1
- package/dist/Components/NcBreadcrumb.mjs +2 -1
- package/dist/Components/NcBreadcrumbs.cjs +2 -1
- package/dist/Components/NcBreadcrumbs.mjs +2 -1
- package/dist/Components/NcButton.cjs +52 -10
- package/dist/Components/NcButton.cjs.map +1 -1
- package/dist/Components/NcButton.mjs +52 -10
- package/dist/Components/NcButton.mjs.map +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +2 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +2 -1
- package/dist/Components/NcChip.cjs +27 -12
- package/dist/Components/NcChip.cjs.map +1 -1
- package/dist/Components/NcChip.mjs +27 -12
- package/dist/Components/NcChip.mjs.map +1 -1
- package/dist/Components/NcCollectionList.cjs +2 -1
- package/dist/Components/NcCollectionList.mjs +2 -1
- package/dist/Components/NcColorPicker.cjs +2 -1
- package/dist/Components/NcColorPicker.mjs +2 -1
- package/dist/Components/NcContent.cjs +2 -1
- package/dist/Components/NcContent.mjs +2 -1
- package/dist/Components/NcCounterBubble.cjs +1 -0
- package/dist/Components/NcCounterBubble.mjs +1 -0
- package/dist/Components/NcDashboardWidget.cjs +2 -1
- package/dist/Components/NcDashboardWidget.mjs +2 -1
- package/dist/Components/NcDashboardWidgetItem.cjs +2 -1
- package/dist/Components/NcDashboardWidgetItem.mjs +2 -1
- package/dist/Components/NcDateTime.cjs +2 -1
- package/dist/Components/NcDateTime.mjs +2 -1
- package/dist/Components/NcDateTimePicker.cjs +48 -21
- package/dist/Components/NcDateTimePicker.cjs.map +1 -1
- package/dist/Components/NcDateTimePicker.mjs +49 -22
- package/dist/Components/NcDateTimePicker.mjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.cjs +2 -1
- package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +2 -1
- package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
- package/dist/Components/NcDialog.cjs +2 -1
- package/dist/Components/NcDialog.mjs +2 -1
- package/dist/Components/NcDialogButton.cjs +2 -1
- package/dist/Components/NcDialogButton.mjs +2 -1
- package/dist/Components/NcEllipsisedOption.cjs +1 -0
- package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
- package/dist/Components/NcEllipsisedOption.mjs +1 -0
- package/dist/Components/NcEmojiPicker.cjs +2 -1
- package/dist/Components/NcEmojiPicker.mjs +2 -1
- package/dist/Components/NcEmptyContent.cjs +3 -2
- package/dist/Components/NcEmptyContent.cjs.map +1 -1
- package/dist/Components/NcEmptyContent.mjs +3 -2
- package/dist/Components/NcEmptyContent.mjs.map +1 -1
- package/dist/Components/NcGuestContent.cjs +1 -0
- package/dist/Components/NcGuestContent.mjs +1 -0
- package/dist/Components/NcHeaderButton.cjs +4 -3
- package/dist/Components/NcHeaderButton.cjs.map +1 -1
- package/dist/Components/NcHeaderButton.mjs +4 -3
- package/dist/Components/NcHeaderButton.mjs.map +1 -1
- package/dist/Components/NcHeaderMenu.cjs +2 -1
- package/dist/Components/NcHeaderMenu.mjs +2 -1
- package/dist/Components/NcHighlight.cjs +1 -0
- package/dist/Components/NcHighlight.mjs +1 -0
- package/dist/Components/NcIconSvgWrapper.cjs +2 -1
- package/dist/Components/NcIconSvgWrapper.mjs +2 -1
- package/dist/Components/NcInputField.cjs +2 -1
- package/dist/Components/NcInputField.mjs +2 -1
- package/dist/Components/NcListItem.cjs +2 -1
- package/dist/Components/NcListItem.mjs +2 -1
- package/dist/Components/NcListItemIcon.cjs +2 -1
- package/dist/Components/NcListItemIcon.mjs +2 -1
- package/dist/Components/NcLoadingIcon.cjs +1 -0
- package/dist/Components/NcLoadingIcon.mjs +1 -0
- package/dist/Components/NcModal.cjs +38 -27
- package/dist/Components/NcModal.cjs.map +1 -1
- package/dist/Components/NcModal.mjs +38 -27
- package/dist/Components/NcModal.mjs.map +1 -1
- package/dist/Components/NcNoteCard.cjs +1 -0
- package/dist/Components/NcNoteCard.mjs +1 -0
- package/dist/Components/NcPasswordField.cjs +2 -1
- package/dist/Components/NcPasswordField.mjs +2 -1
- package/dist/Components/NcPopover.cjs +2 -1
- package/dist/Components/NcPopover.mjs +2 -1
- package/dist/Components/NcProgressBar.cjs +1 -0
- package/dist/Components/NcProgressBar.mjs +1 -0
- package/dist/Components/NcRelatedResourcesPanel.cjs +2 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +2 -1
- package/dist/Components/NcRichContenteditable.cjs +2 -1
- package/dist/Components/NcRichContenteditable.mjs +2 -1
- package/dist/Components/NcRichText.cjs +3 -2
- package/dist/Components/NcRichText.mjs +5 -4
- package/dist/Components/NcSavingIndicatorIcon.cjs +1 -0
- package/dist/Components/NcSavingIndicatorIcon.mjs +1 -0
- package/dist/Components/NcSelect.cjs +2 -1
- package/dist/Components/NcSelect.mjs +2 -1
- package/dist/Components/NcSelectTags.cjs +2 -1
- package/dist/Components/NcSelectTags.mjs +2 -1
- package/dist/Components/NcSelectUsers.cjs +4 -0
- package/dist/Components/NcSelectUsers.cjs.map +1 -0
- package/dist/Components/NcSelectUsers.mjs +5 -0
- package/dist/Components/NcSelectUsers.mjs.map +1 -0
- package/dist/Components/NcSettingsInputText.cjs +2 -1
- package/dist/Components/NcSettingsInputText.mjs +2 -1
- package/dist/Components/NcSettingsSection.cjs +2 -1
- package/dist/Components/NcSettingsSection.mjs +2 -1
- package/dist/Components/NcSettingsSelectGroup.cjs +2 -1
- package/dist/Components/NcSettingsSelectGroup.mjs +2 -1
- package/dist/Components/NcTextArea.cjs +1 -0
- package/dist/Components/NcTextArea.mjs +1 -0
- package/dist/Components/NcTextField.cjs +2 -1
- package/dist/Components/NcTextField.mjs +2 -1
- package/dist/Components/NcTimezonePicker.cjs +2 -1
- package/dist/Components/NcTimezonePicker.mjs +2 -1
- package/dist/Components/NcUserBubble.cjs +2 -1
- package/dist/Components/NcUserBubble.mjs +2 -1
- package/dist/Components/NcUserStatusIcon.cjs +2 -1
- package/dist/Components/NcUserStatusIcon.mjs +2 -1
- package/dist/Components/NcVNodes.cjs +1 -0
- package/dist/Components/NcVNodes.mjs +1 -0
- package/dist/Composables/useHotKey.cjs +1 -0
- package/dist/Composables/useHotKey.cjs.map +1 -1
- package/dist/Composables/useHotKey.mjs +1 -0
- package/dist/Composables/useHotKey.mjs.map +1 -1
- package/dist/Composables/useIsDarkTheme.cjs +1 -0
- package/dist/Composables/useIsDarkTheme.cjs.map +1 -1
- package/dist/Composables/useIsDarkTheme.mjs +1 -0
- package/dist/Composables/useIsDarkTheme.mjs.map +1 -1
- package/dist/Composables/useIsFullscreen.cjs +1 -0
- package/dist/Composables/useIsFullscreen.cjs.map +1 -1
- package/dist/Composables/useIsFullscreen.mjs +1 -0
- package/dist/Composables/useIsFullscreen.mjs.map +1 -1
- package/dist/Composables/useIsMobile.cjs +1 -0
- package/dist/Composables/useIsMobile.cjs.map +1 -1
- package/dist/Composables/useIsMobile.mjs +1 -0
- package/dist/Composables/useIsMobile.mjs.map +1 -1
- package/dist/Directives/Focus.cjs +1 -0
- package/dist/Directives/Focus.cjs.map +1 -1
- package/dist/Directives/Focus.mjs +1 -0
- package/dist/Directives/Focus.mjs.map +1 -1
- package/dist/Directives/Linkify.cjs +1 -0
- package/dist/Directives/Linkify.cjs.map +1 -1
- package/dist/Directives/Linkify.mjs +1 -0
- package/dist/Directives/Linkify.mjs.map +1 -1
- package/dist/Directives/Tooltip.cjs +2 -1
- package/dist/Directives/Tooltip.cjs.map +1 -1
- package/dist/Directives/Tooltip.mjs +5 -4
- package/dist/Directives/Tooltip.mjs.map +1 -1
- package/dist/Functions/a11y.cjs +1 -0
- package/dist/Functions/a11y.cjs.map +1 -1
- package/dist/Functions/a11y.mjs +1 -0
- package/dist/Functions/a11y.mjs.map +1 -1
- package/dist/Functions/contactsMenu.cjs +1 -0
- package/dist/Functions/contactsMenu.cjs.map +1 -1
- package/dist/Functions/contactsMenu.mjs +1 -0
- package/dist/Functions/contactsMenu.mjs.map +1 -1
- package/dist/Functions/dialog.cjs +1 -0
- package/dist/Functions/dialog.cjs.map +1 -1
- package/dist/Functions/dialog.mjs +1 -0
- package/dist/Functions/dialog.mjs.map +1 -1
- package/dist/Functions/emoji.cjs +1 -0
- package/dist/Functions/emoji.mjs +1 -0
- package/dist/Functions/isDarkTheme.cjs +1 -0
- package/dist/Functions/isDarkTheme.cjs.map +1 -1
- package/dist/Functions/isDarkTheme.mjs +1 -0
- package/dist/Functions/isDarkTheme.mjs.map +1 -1
- package/dist/Functions/preloadImage.cjs +19 -0
- package/dist/Functions/preloadImage.cjs.map +1 -0
- package/dist/Functions/preloadImage.mjs +17 -0
- package/dist/Functions/preloadImage.mjs.map +1 -0
- package/dist/Functions/reference.cjs +2 -1
- package/dist/Functions/reference.mjs +3 -2
- package/dist/Functions/registerReference.cjs +1 -0
- package/dist/Functions/registerReference.mjs +3 -2
- package/dist/Functions/usernameToColor.cjs +2 -1
- package/dist/Functions/usernameToColor.mjs +2 -1
- package/dist/Mixins/clickOutsideOptions.cjs +1 -0
- package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
- package/dist/Mixins/clickOutsideOptions.mjs +1 -0
- package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
- package/dist/Mixins/isFullscreen.cjs +1 -0
- package/dist/Mixins/isFullscreen.cjs.map +1 -1
- package/dist/Mixins/isFullscreen.mjs +1 -0
- package/dist/Mixins/isMobile.cjs +1 -0
- package/dist/Mixins/isMobile.cjs.map +1 -1
- package/dist/Mixins/isMobile.mjs +1 -0
- package/dist/Mixins/richEditor.cjs +1 -0
- package/dist/Mixins/richEditor.mjs +1 -0
- package/dist/assets/{NcActionButton-BYN2SUN0.css → NcActionButton-BqMeBMdA.css} +17 -16
- package/dist/assets/{NcActionCheckbox-Dan0EvGm.css → NcActionCheckbox-BlyPt7DF.css} +1 -0
- package/dist/assets/{NcActionInput-Dz21fyVD.css → NcActionInput-gUagFGC5.css} +2 -0
- package/dist/assets/{NcActionLink-BG9B9dP4.css → NcActionLink-DA3ebr8W.css} +1 -0
- package/dist/assets/{NcActionRadio-C87waXE-.css → NcActionRadio-CodyhP86.css} +1 -0
- package/dist/assets/{NcActionRouter-BAGuUfFu.css → NcActionRouter-DlqXQ6ai.css} +1 -0
- package/dist/assets/{NcActionText-Cjp26Bn0.css → NcActionText-Cvug6qMa.css} +1 -0
- package/dist/assets/{NcActionTextEditable-1TXeJ5zp.css → NcActionTextEditable-CasTVqIo.css} +62 -60
- package/dist/assets/{NcActions-C4SuFczn.css → NcActions-3STB3u9J.css} +11 -11
- package/dist/assets/{NcAppContent-BO0ksFwD.css → NcAppContent-DswTJB9n.css} +23 -23
- package/dist/assets/{NcAppNavigation-CJj8AvqM.css → NcAppNavigation-DfTQlVGB.css} +12 -12
- package/dist/assets/{NcAppNavigationItem-lh9Say1M.css → NcAppNavigationItem-CdT6ce8-.css} +11 -4
- package/dist/assets/{NcAppNavigationNew-BcDuupzO.css → NcAppNavigationNew-Dbo2rvXH.css} +3 -3
- package/dist/assets/{NcAppNavigationNewItem-fUP3wQTQ.css → NcAppNavigationNewItem-D7wroqrc.css} +7 -0
- package/dist/assets/{NcAppNavigationSearch-Df50ss_2.css → NcAppNavigationSearch-CFtTLRbc.css} +6 -6
- package/dist/assets/{NcAppNavigationToggle-B6FCDJp7.css → NcAppNavigationToggle-C5IMygw1.css} +3 -3
- package/dist/assets/{NcAppSidebar-BntAj6H-.css → NcAppSidebar-Dun97zcC.css} +43 -43
- package/dist/assets/{NcAvatar-CcJlFpcI.css → NcAvatar-BvPk6o_F.css} +24 -24
- package/dist/assets/NcBlurHash-7aGtE-_T.css +8 -0
- package/dist/assets/{NcBreadcrumb-Cjcyeimd.css → NcBreadcrumb-DqaFt2qu.css} +15 -15
- package/dist/assets/{NcButton-CfOAX-eQ.css → NcButton-DnNZaEy_.css} +47 -47
- package/dist/assets/{NcCheckboxRadioSwitch-DuFrRU9C.css → NcCheckboxRadioSwitch-DlEieXCj.css} +41 -41
- package/dist/assets/{NcChip-CIvAlds6.css → NcChip-BNLuZgd6.css} +9 -9
- package/dist/assets/{NcColorPicker-C1DuuANb.css → NcColorPicker-BayJGD4p.css} +28 -30
- package/dist/assets/{NcContent-CZamE_IP.css → NcContent-Bq-7EZQc.css} +9 -9
- package/dist/assets/{NcDateTimePicker-BtV9Fz-n.css → NcDateTimePicker-BY1UnUZM.css} +59 -12
- package/dist/assets/{NcDialog-Bzs9oxyt.css → NcDialog-BPI0CJvw.css} +15 -15
- package/dist/assets/{NcEmojiPicker-rk5qcSl7.css → NcEmojiPicker-Ca6U46T8.css} +19 -15
- package/dist/assets/{NcEmptyContent-BlXL6nnq.css → NcEmptyContent-CSsXYYcn.css} +9 -9
- package/dist/assets/{NcHeaderButton-BPkJ5wxD.css → NcHeaderButton-Dr6MgPDQ.css} +8 -7
- package/dist/assets/{NcHeaderMenu-BYjnMPPl.css → NcHeaderMenu-DN-HfTkh.css} +12 -11
- package/dist/assets/{NcIconSvgWrapper-BxyhLaB5.css → NcIconSvgWrapper-BiNW6Guv.css} +8 -4
- package/dist/assets/{NcInputConfirmCancel-EYtW7MxF.css → NcInputConfirmCancel-BanazdhC.css} +5 -5
- package/dist/assets/{NcInputField-CzryIHRa.css → NcInputField-GxJ-rf2p.css} +32 -32
- package/dist/assets/{NcListItem-GE5S37TT.css → NcListItem-DfaWGP5A.css} +44 -44
- package/dist/assets/{NcModal-ZfCDJxwd.css → NcModal-BS5vtogq.css} +68 -69
- package/dist/assets/{NcPopover-DpakVVxI.css → NcPopover-CWwUNpmE.css} +9 -9
- package/dist/assets/{NcRelatedResourcesPanel-DSf7TVcC.css → NcRelatedResourcesPanel-DhStLIO2.css} +21 -21
- package/dist/assets/{NcRichContenteditable-BV6g3dmd.css → NcRichContenteditable-CtPZudY6.css} +13 -10
- package/dist/assets/{NcRichText-zt8ALFHi.css → NcRichText-BwghUUnz.css} +3 -0
- package/dist/assets/NcSelectUsers-BoxBQpbA.css +4 -0
- package/dist/assets/{Tooltip-DQ4Plm4r.css → Tooltip-C-QZMStp.css} +7 -9
- package/dist/assets/{referencePickerModal-CTumspFH.css → referencePickerModal-Ba6soz9w.css} +8 -8
- package/dist/chunks/AlertCircleOutline-BrsasUsU.cjs +1 -0
- package/dist/chunks/AlertCircleOutline-DBxbepLy.mjs +1 -0
- package/dist/chunks/ArrowLeft-BP7yfzCQ.cjs +1 -0
- package/dist/chunks/ArrowLeft-DuT2LZOm.mjs +1 -0
- package/dist/chunks/ArrowRight-CY2b9hgN.mjs +1 -0
- package/dist/chunks/ArrowRight-DPARnmu3.cjs +1 -0
- package/dist/chunks/Check-BkThHPH7.mjs +1 -0
- package/dist/chunks/Check-Du8mPz_B.cjs +1 -0
- package/dist/chunks/ChevronDown-BlfyuflD.cjs +1 -0
- package/dist/chunks/ChevronDown-DFQfzh63.mjs +1 -0
- package/dist/chunks/ChevronRight-BUv-PtHh.mjs +1 -0
- package/dist/chunks/ChevronRight-ZCKVg9OI.cjs +1 -0
- package/dist/chunks/ChevronUp-Bpd__OBZ.cjs +1 -0
- package/dist/chunks/ChevronUp-C7Dy9Bph.mjs +1 -0
- package/dist/chunks/Close-BtLPUSdO.mjs +1 -0
- package/dist/chunks/Close-CqmXxEKi.cjs +1 -0
- package/dist/chunks/DotsHorizontal-BoI3vnhk.cjs +1 -0
- package/dist/chunks/DotsHorizontal-C6LNsw4N.mjs +1 -0
- package/dist/chunks/{GenColors-Di5GSft7.cjs → GenColors-7bkY5Nwl.cjs} +2 -1
- package/dist/chunks/{GenColors-Di5GSft7.cjs.map → GenColors-7bkY5Nwl.cjs.map} +1 -1
- package/dist/chunks/{GenColors-DfwXw1-o.mjs → GenColors-S7frO84b.mjs} +2 -1
- package/dist/chunks/{GenColors-DfwXw1-o.mjs.map → GenColors-S7frO84b.mjs.map} +1 -1
- package/dist/chunks/GenRandomId-BQDud3d4.cjs +1 -0
- package/dist/chunks/GenRandomId-BQDud3d4.cjs.map +1 -1
- package/dist/chunks/GenRandomId-CMooMQt0.mjs +1 -0
- package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +1 -1
- package/dist/chunks/{NcActionButton-DcpUnqA7.cjs → NcActionButton-CXeEXQLT.cjs} +46 -13
- package/dist/chunks/NcActionButton-CXeEXQLT.cjs.map +1 -0
- package/dist/chunks/{NcActionButton-CEysTg4c.mjs → NcActionButton-Gpv56vuS.mjs} +46 -13
- package/dist/chunks/NcActionButton-Gpv56vuS.mjs.map +1 -0
- package/dist/chunks/{NcActionButtonGroup-x6D7S13W.cjs → NcActionButtonGroup-BMy3W9fG.cjs} +2 -1
- package/dist/chunks/{NcActionButtonGroup-x6D7S13W.cjs.map → NcActionButtonGroup-BMy3W9fG.cjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-3v-qy9C0.mjs → NcActionButtonGroup-BteTNhIn.mjs} +2 -1
- package/dist/chunks/{NcActionButtonGroup-3v-qy9C0.mjs.map → NcActionButtonGroup-BteTNhIn.mjs.map} +1 -1
- package/dist/chunks/{NcActionCheckbox-BnL71Qmi.mjs → NcActionCheckbox-DSMKeccY.mjs} +2 -1
- package/dist/chunks/{NcActionCheckbox-BnL71Qmi.mjs.map → NcActionCheckbox-DSMKeccY.mjs.map} +1 -1
- package/dist/chunks/{NcActionCheckbox-Dd5Y6f63.cjs → NcActionCheckbox-JX-QaTD6.cjs} +2 -1
- package/dist/chunks/{NcActionCheckbox-Dd5Y6f63.cjs.map → NcActionCheckbox-JX-QaTD6.cjs.map} +1 -1
- package/dist/chunks/{NcActionInput-VR510EDJ.cjs → NcActionInput-B-7FoLVy.cjs} +7 -6
- package/dist/chunks/{NcActionInput-VR510EDJ.cjs.map → NcActionInput-B-7FoLVy.cjs.map} +1 -1
- package/dist/chunks/{NcActionInput-BAM8T3gm.mjs → NcActionInput-D-zf_ZR9.mjs} +7 -6
- package/dist/chunks/{NcActionInput-BAM8T3gm.mjs.map → NcActionInput-D-zf_ZR9.mjs.map} +1 -1
- package/dist/chunks/{NcActionRadio-BQ0jAh5V.cjs → NcActionRadio-BUCQ6VxA.cjs} +2 -1
- package/dist/chunks/{NcActionRadio-BQ0jAh5V.cjs.map → NcActionRadio-BUCQ6VxA.cjs.map} +1 -1
- package/dist/chunks/{NcActionRadio-CCTupqRR.mjs → NcActionRadio-yAm71xxU.mjs} +2 -1
- package/dist/chunks/{NcActionRadio-CCTupqRR.mjs.map → NcActionRadio-yAm71xxU.mjs.map} +1 -1
- package/dist/chunks/{NcActionTextEditable-JRD-G0CT.mjs → NcActionTextEditable-BYqqHPj2.mjs} +6 -5
- package/dist/chunks/NcActionTextEditable-BYqqHPj2.mjs.map +1 -0
- package/dist/chunks/{NcActionTextEditable-C-ZP8_Tn.cjs → NcActionTextEditable-s1Xqpg6x.cjs} +6 -5
- package/dist/chunks/NcActionTextEditable-s1Xqpg6x.cjs.map +1 -0
- package/dist/chunks/{NcActions-D3hGxwlc.mjs → NcActions-Bkh3UMs3.mjs} +52 -53
- package/dist/chunks/NcActions-Bkh3UMs3.mjs.map +1 -0
- package/dist/chunks/{NcActions-DTICeoTz.cjs → NcActions-DFHXBqKC.cjs} +51 -52
- package/dist/chunks/NcActions-DFHXBqKC.cjs.map +1 -0
- package/dist/chunks/{NcAppContent-BOt6_YA7.cjs → NcAppContent-D__4-2XM.cjs} +60 -22
- package/dist/chunks/NcAppContent-D__4-2XM.cjs.map +1 -0
- package/dist/chunks/{NcAppContent-BKQ-H04y.mjs → NcAppContent-_x1Bvwg-.mjs} +60 -22
- package/dist/chunks/NcAppContent-_x1Bvwg-.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-D7W-4cVo.cjs → NcAppNavigation-DBfTz6qV.cjs} +6 -5
- package/dist/chunks/NcAppNavigation-DBfTz6qV.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-B_92V8o3.mjs → NcAppNavigation-H8Gvbq5E.mjs} +7 -6
- package/dist/chunks/NcAppNavigation-H8Gvbq5E.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationCaption-B3w692fN.mjs → NcAppNavigationCaption-Dz7wVRDM.mjs} +2 -1
- package/dist/chunks/{NcAppNavigationCaption-B3w692fN.mjs.map → NcAppNavigationCaption-Dz7wVRDM.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-BDqTyLIj.cjs → NcAppNavigationCaption-Kjwx7t2O.cjs} +2 -1
- package/dist/chunks/{NcAppNavigationCaption-BDqTyLIj.cjs.map → NcAppNavigationCaption-Kjwx7t2O.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-DL9OwWo-.cjs → NcAppNavigationItem-CHa42b-x.cjs} +9 -8
- package/dist/chunks/NcAppNavigationItem-CHa42b-x.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationItem-CpcFOmJR.mjs → NcAppNavigationItem-Dpm3T1dA.mjs} +9 -8
- package/dist/chunks/NcAppNavigationItem-Dpm3T1dA.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationNewItem-BaKxxZqt.cjs → NcAppNavigationNewItem-BLek0JRU.cjs} +3 -2
- package/dist/chunks/{NcAppNavigationNewItem-BaKxxZqt.cjs.map → NcAppNavigationNewItem-BLek0JRU.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-BvQaVuL6.mjs → NcAppNavigationNewItem-DGjgp78o.mjs} +3 -2
- package/dist/chunks/{NcAppNavigationNewItem-BvQaVuL6.mjs.map → NcAppNavigationNewItem-DGjgp78o.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-Q0eMy5I2.cjs → NcAppNavigationSearch-BblolNaS.cjs} +6 -5
- package/dist/chunks/NcAppNavigationSearch-BblolNaS.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSearch-gytpBKme.mjs → NcAppNavigationSearch-DTW6CtnU.mjs} +6 -5
- package/dist/chunks/NcAppNavigationSearch-DTW6CtnU.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSettings-CZFm1d-N.mjs → NcAppNavigationSettings-C0QuEMmn.mjs} +3 -2
- package/dist/chunks/{NcAppNavigationSettings-CZFm1d-N.mjs.map → NcAppNavigationSettings-C0QuEMmn.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-CwwmvKYV.cjs → NcAppNavigationSettings-lfJvt3vG.cjs} +3 -2
- package/dist/chunks/{NcAppNavigationSettings-CwwmvKYV.cjs.map → NcAppNavigationSettings-lfJvt3vG.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-Br1hcFGt.cjs → NcAppNavigationToggle-CUGOWggc.cjs} +5 -4
- package/dist/chunks/NcAppNavigationToggle-CUGOWggc.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationToggle-Pr8bEpDs.mjs → NcAppNavigationToggle-CjPJB2s3.mjs} +5 -4
- package/dist/chunks/NcAppNavigationToggle-CjPJB2s3.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-JPB-srka.mjs → NcAppSettingsDialog-Dl-kMSpe.mjs} +4 -3
- package/dist/chunks/{NcAppSettingsDialog-JPB-srka.mjs.map → NcAppSettingsDialog-Dl-kMSpe.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsDialog-z9v6V6ye.cjs → NcAppSettingsDialog-K3yVenLs.cjs} +4 -3
- package/dist/chunks/{NcAppSettingsDialog-z9v6V6ye.cjs.map → NcAppSettingsDialog-K3yVenLs.cjs.map} +1 -1
- package/dist/chunks/{NcAppSidebar-BY33yoNX.cjs → NcAppSidebar-Bmlid_Pa.cjs} +13 -12
- package/dist/chunks/NcAppSidebar-Bmlid_Pa.cjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-cEQy8s50.mjs → NcAppSidebar-DOJNq1iG.mjs} +17 -16
- package/dist/chunks/NcAppSidebar-DOJNq1iG.mjs.map +1 -0
- package/dist/chunks/{NcAvatar-CQtsmbBW.cjs → NcAvatar-Bp1wPu2I.cjs} +45 -23
- package/dist/chunks/NcAvatar-Bp1wPu2I.cjs.map +1 -0
- package/dist/chunks/{NcAvatar-BjwyJw34.mjs → NcAvatar-DOvpF1gr.mjs} +46 -24
- package/dist/chunks/NcAvatar-DOvpF1gr.mjs.map +1 -0
- package/dist/chunks/NcBlurHash-CJ8retHx.cjs +115 -0
- package/dist/chunks/NcBlurHash-CJ8retHx.cjs.map +1 -0
- package/dist/chunks/NcBlurHash-do2wxY-0.mjs +116 -0
- package/dist/chunks/NcBlurHash-do2wxY-0.mjs.map +1 -0
- package/dist/chunks/{NcBreadcrumb-GHiD-Sw7.mjs → NcBreadcrumb-1Gv4FRrG.mjs} +6 -5
- package/dist/chunks/NcBreadcrumb-1Gv4FRrG.mjs.map +1 -0
- package/dist/chunks/{NcBreadcrumb-DrlhnNbV.cjs → NcBreadcrumb-9pV_jqex.cjs} +6 -5
- package/dist/chunks/NcBreadcrumb-9pV_jqex.cjs.map +1 -0
- package/dist/chunks/{NcBreadcrumbs-D0Hhym9A.mjs → NcBreadcrumbs-CwuR-hUE.mjs} +5 -4
- package/dist/chunks/{NcBreadcrumbs-D0Hhym9A.mjs.map → NcBreadcrumbs-CwuR-hUE.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-Cde4tv8l.cjs → NcBreadcrumbs-D4RrS0HT.cjs} +4 -3
- package/dist/chunks/{NcBreadcrumbs-Cde4tv8l.cjs.map → NcBreadcrumbs-D4RrS0HT.cjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch-RjEq0SqY.cjs → NcCheckboxRadioSwitch-DbK49DI7.cjs} +7 -13
- package/dist/chunks/NcCheckboxRadioSwitch-DbK49DI7.cjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch-CCuKA55c.mjs → NcCheckboxRadioSwitch-Di9rSADK.mjs} +7 -13
- package/dist/chunks/NcCheckboxRadioSwitch-Di9rSADK.mjs.map +1 -0
- package/dist/chunks/{NcCollectionList-fyDi2W_B.cjs → NcCollectionList-C3QKgLIe.cjs} +6 -5
- package/dist/chunks/{NcCollectionList-fyDi2W_B.cjs.map → NcCollectionList-C3QKgLIe.cjs.map} +1 -1
- package/dist/chunks/{NcCollectionList-BNxu1MWE.mjs → NcCollectionList-D51FpJCr.mjs} +6 -5
- package/dist/chunks/{NcCollectionList-BNxu1MWE.mjs.map → NcCollectionList-D51FpJCr.mjs.map} +1 -1
- package/dist/chunks/{NcColorPicker-CTQlyVCL.cjs → NcColorPicker-9BNg5lJ0.cjs} +9 -8
- package/dist/chunks/NcColorPicker-9BNg5lJ0.cjs.map +1 -0
- package/dist/chunks/{NcColorPicker-ph8Nubq7.mjs → NcColorPicker-sJKL33GV.mjs} +9 -8
- package/dist/chunks/NcColorPicker-sJKL33GV.mjs.map +1 -0
- package/dist/chunks/{NcContent-CJNhr5lF.cjs → NcContent-4X_oNYtW.cjs} +7 -6
- package/dist/chunks/{NcContent-CJNhr5lF.cjs.map → NcContent-4X_oNYtW.cjs.map} +1 -1
- package/dist/chunks/{NcContent-RlppaZCX.mjs → NcContent-BHl5YDYI.mjs} +7 -6
- package/dist/chunks/{NcContent-RlppaZCX.mjs.map → NcContent-BHl5YDYI.mjs.map} +1 -1
- package/dist/chunks/NcCounterBubble-BRrUO34D.cjs +1 -0
- package/dist/chunks/NcCounterBubble-CDfRYl8B.mjs +1 -0
- package/dist/chunks/{NcDashboardWidget-CirRHHmT.cjs → NcDashboardWidget-B1och7uR.cjs} +4 -3
- package/dist/chunks/{NcDashboardWidget-CirRHHmT.cjs.map → NcDashboardWidget-B1och7uR.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-Dg12xu50.mjs → NcDashboardWidget-CioEwUfN.mjs} +4 -3
- package/dist/chunks/{NcDashboardWidget-Dg12xu50.mjs.map → NcDashboardWidget-CioEwUfN.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-COONyn0g.cjs → NcDashboardWidgetItem-BZPoOCWQ.cjs} +4 -3
- package/dist/chunks/{NcDashboardWidgetItem-COONyn0g.cjs.map → NcDashboardWidgetItem-BZPoOCWQ.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-DZGooEwA.mjs → NcDashboardWidgetItem-D4EefvnL.mjs} +4 -3
- package/dist/chunks/{NcDashboardWidgetItem-DZGooEwA.mjs.map → NcDashboardWidgetItem-D4EefvnL.mjs.map} +1 -1
- package/dist/chunks/{NcDateTime-DBZ-vBfi.mjs → NcDateTime-BR6BBvML.mjs} +2 -1
- package/dist/chunks/{NcDateTime-DBZ-vBfi.mjs.map → NcDateTime-BR6BBvML.mjs.map} +1 -1
- package/dist/chunks/{NcDateTime-AFZif5Dn.cjs → NcDateTime-C-kLQayi.cjs} +2 -1
- package/dist/chunks/{NcDateTime-AFZif5Dn.cjs.map → NcDateTime-C-kLQayi.cjs.map} +1 -1
- package/dist/chunks/{NcDialog-mcbLFc8o.cjs → NcDialog-BjLJB7fW.cjs} +28 -11
- package/dist/chunks/NcDialog-BjLJB7fW.cjs.map +1 -0
- package/dist/chunks/{NcDialog-I_9fyJVt.mjs → NcDialog-D2lwwZL-.mjs} +28 -11
- package/dist/chunks/NcDialog-D2lwwZL-.mjs.map +1 -0
- package/dist/chunks/{NcDialogButton-DuJ3lE7e.mjs → NcDialogButton-BB56HcBl.mjs} +29 -10
- package/dist/chunks/NcDialogButton-BB56HcBl.mjs.map +1 -0
- package/dist/chunks/{NcDialogButton-FLqQdVLb.cjs → NcDialogButton-ByvLH63s.cjs} +29 -10
- package/dist/chunks/NcDialogButton-ByvLH63s.cjs.map +1 -0
- package/dist/chunks/{NcEmojiPicker-DDCgW2zQ.mjs → NcEmojiPicker-B49sJeMw.mjs} +20 -12
- package/dist/chunks/NcEmojiPicker-B49sJeMw.mjs.map +1 -0
- package/dist/chunks/{NcEmojiPicker-B1ot5iNB.cjs → NcEmojiPicker-DcTSImTm.cjs} +18 -10
- package/dist/chunks/NcEmojiPicker-DcTSImTm.cjs.map +1 -0
- package/dist/chunks/{NcHeaderMenu-BaHhnhN0.cjs → NcHeaderMenu-B287C-Vk.cjs} +6 -5
- package/dist/chunks/NcHeaderMenu-B287C-Vk.cjs.map +1 -0
- package/dist/chunks/{NcHeaderMenu-CLcpStap.mjs → NcHeaderMenu-Bc1ucNsv.mjs} +6 -5
- package/dist/chunks/NcHeaderMenu-Bc1ucNsv.mjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-B_eOG2sZ.cjs → NcIconSvgWrapper-BlucK1g3.cjs} +27 -15
- package/dist/chunks/NcIconSvgWrapper-BlucK1g3.cjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-CHmdAuhg.mjs → NcIconSvgWrapper-RKuZn260.mjs} +28 -16
- package/dist/chunks/NcIconSvgWrapper-RKuZn260.mjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-C7a7Nha7.mjs → NcInputConfirmCancel-CacBXLGS.mjs} +7 -6
- package/dist/chunks/NcInputConfirmCancel-CacBXLGS.mjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-XzKuYi6L.cjs → NcInputConfirmCancel-lVLFwBA4.cjs} +7 -6
- package/dist/chunks/NcInputConfirmCancel-lVLFwBA4.cjs.map +1 -0
- package/dist/chunks/{NcInputField-DkhKrb8k.cjs → NcInputField-C61UUN46.cjs} +4 -3
- package/dist/chunks/NcInputField-C61UUN46.cjs.map +1 -0
- package/dist/chunks/{NcInputField-CU5a68Pc.mjs → NcInputField-DTtUueUZ.mjs} +4 -3
- package/dist/chunks/NcInputField-DTtUueUZ.mjs.map +1 -0
- package/dist/chunks/{NcListItem-3e1MminS.mjs → NcListItem-BBTd7BLc.mjs} +4 -3
- package/dist/chunks/NcListItem-BBTd7BLc.mjs.map +1 -0
- package/dist/chunks/{NcListItem-9w7m2lJ_.cjs → NcListItem-D_mvsnph.cjs} +4 -3
- package/dist/chunks/NcListItem-D_mvsnph.cjs.map +1 -0
- package/dist/chunks/{NcListItemIcon-7x7iDHYw.mjs → NcListItemIcon-B16M-aHV.mjs} +3 -2
- package/dist/chunks/{NcListItemIcon-7x7iDHYw.mjs.map → NcListItemIcon-B16M-aHV.mjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-pOj8Vr2H.cjs → NcListItemIcon-COUzDQI5.cjs} +3 -2
- package/dist/chunks/{NcListItemIcon-pOj8Vr2H.cjs.map → NcListItemIcon-COUzDQI5.cjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-BS6bkHtv.cjs → NcPasswordField-BCzIotoB.cjs} +3 -2
- package/dist/chunks/{NcPasswordField-BS6bkHtv.cjs.map → NcPasswordField-BCzIotoB.cjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-Dpu9nI6h.mjs → NcPasswordField-CTKHRVC4.mjs} +3 -2
- package/dist/chunks/{NcPasswordField-Dpu9nI6h.mjs.map → NcPasswordField-CTKHRVC4.mjs.map} +1 -1
- package/dist/chunks/{NcPopover-BKlH1mbx.cjs → NcPopover-BxLo6SFb.cjs} +12 -5
- package/dist/chunks/NcPopover-BxLo6SFb.cjs.map +1 -0
- package/dist/chunks/{NcPopover-DFCPlZpS.mjs → NcPopover-w98cBbbF.mjs} +12 -5
- package/dist/chunks/NcPopover-w98cBbbF.mjs.map +1 -0
- package/dist/chunks/NcProgressBar-DegJ2JjE.mjs +1 -0
- package/dist/chunks/NcProgressBar-Do5Y3u8S.cjs +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-BrkyIR3v.cjs → NcRelatedResourcesPanel-B-y_Wan4.cjs} +10 -9
- package/dist/chunks/NcRelatedResourcesPanel-B-y_Wan4.cjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-C6JIVMvN.mjs → NcRelatedResourcesPanel-CmiW_ds0.mjs} +10 -9
- package/dist/chunks/NcRelatedResourcesPanel-CmiW_ds0.mjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-DJy0zZXx.cjs → NcRichContenteditable-ClHXIiXL.cjs} +12 -20
- package/dist/chunks/NcRichContenteditable-ClHXIiXL.cjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-3kkU0Uxu.mjs → NcRichContenteditable-zZQChT9M.mjs} +14 -22
- package/dist/chunks/NcRichContenteditable-zZQChT9M.mjs.map +1 -0
- package/dist/chunks/NcRichText-C43cKGcR.mjs +3679 -0
- package/dist/chunks/NcRichText-C43cKGcR.mjs.map +1 -0
- package/dist/chunks/NcRichText-CMbtZkLP.cjs +3707 -0
- package/dist/chunks/NcRichText-CMbtZkLP.cjs.map +1 -0
- package/dist/chunks/NcSavingIndicatorIcon-Bu-zt4pR.cjs +1 -0
- package/dist/chunks/NcSavingIndicatorIcon-nv1147dk.mjs +1 -0
- package/dist/chunks/{NcSelect-YHwbPAJD.cjs → NcSelect-C9cGa-5v.cjs} +25 -7
- package/dist/chunks/NcSelect-C9cGa-5v.cjs.map +1 -0
- package/dist/chunks/{NcSelect-BQ-NFBXI.mjs → NcSelect-XLdUgokz.mjs} +25 -7
- package/dist/chunks/NcSelect-XLdUgokz.mjs.map +1 -0
- package/dist/chunks/{NcSelectTags-BAMsfdw9.cjs → NcSelectTags-B0rsXdxP.cjs} +3 -2
- package/dist/chunks/{NcSelectTags-BAMsfdw9.cjs.map → NcSelectTags-B0rsXdxP.cjs.map} +1 -1
- package/dist/chunks/{NcSelectTags-BKtOWgrz.mjs → NcSelectTags-DT2Y3Kms.mjs} +3 -2
- package/dist/chunks/{NcSelectTags-BKtOWgrz.mjs.map → NcSelectTags-DT2Y3Kms.mjs.map} +1 -1
- package/dist/chunks/NcSelectUsers-C-bbm2cW.cjs +187 -0
- package/dist/chunks/NcSelectUsers-C-bbm2cW.cjs.map +1 -0
- package/dist/chunks/NcSelectUsers-DFlj_h9t.mjs +188 -0
- package/dist/chunks/NcSelectUsers-DFlj_h9t.mjs.map +1 -0
- package/dist/chunks/{NcSettingsInputText-nb2XMaJW.cjs → NcSettingsInputText-BU1_SHOq.cjs} +3 -2
- package/dist/chunks/{NcSettingsInputText-nb2XMaJW.cjs.map → NcSettingsInputText-BU1_SHOq.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-DC7H_6Uz.mjs → NcSettingsInputText-t1FMnLKA.mjs} +3 -2
- package/dist/chunks/{NcSettingsInputText-DC7H_6Uz.mjs.map → NcSettingsInputText-t1FMnLKA.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-6Sc6GBsM.cjs → NcSettingsSection-Dcdxs1IN.cjs} +2 -1
- package/dist/chunks/{NcSettingsSection-6Sc6GBsM.cjs.map → NcSettingsSection-Dcdxs1IN.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-BYKUjim0.mjs → NcSettingsSection-EC3SmiDX.mjs} +2 -1
- package/dist/chunks/{NcSettingsSection-BYKUjim0.mjs.map → NcSettingsSection-EC3SmiDX.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-CI2LoVeL.mjs → NcSettingsSelectGroup-B4isXyUU.mjs} +4 -3
- package/dist/chunks/{NcSettingsSelectGroup-CI2LoVeL.mjs.map → NcSettingsSelectGroup-B4isXyUU.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-DX4AaRte.cjs → NcSettingsSelectGroup-CE71MIQo.cjs} +4 -3
- package/dist/chunks/{NcSettingsSelectGroup-DX4AaRte.cjs.map → NcSettingsSelectGroup-CE71MIQo.cjs.map} +1 -1
- package/dist/chunks/NcTextArea-BHERsE_g.mjs +1 -0
- package/dist/chunks/NcTextArea-CYLGAGcO.cjs +1 -0
- package/dist/chunks/NcTextArea-CYLGAGcO.cjs.map +1 -1
- package/dist/chunks/{NcTextField-9gC8or6j.mjs → NcTextField-DRANdaIf.mjs} +4 -3
- package/dist/chunks/{NcTextField-9gC8or6j.mjs.map → NcTextField-DRANdaIf.mjs.map} +1 -1
- package/dist/chunks/{NcTextField-Pbox9mQE.cjs → NcTextField-Uk5iD8o2.cjs} +4 -3
- package/dist/chunks/{NcTextField-Pbox9mQE.cjs.map → NcTextField-Uk5iD8o2.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-DIwsRdu2.cjs → NcTimezonePicker-BTyhPxMT.cjs} +4 -3
- package/dist/chunks/{NcTimezonePicker-DIwsRdu2.cjs.map → NcTimezonePicker-BTyhPxMT.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-xSXSuNHX.mjs → NcTimezonePicker-sAG8kn1b.mjs} +4 -3
- package/dist/chunks/{NcTimezonePicker-xSXSuNHX.mjs.map → NcTimezonePicker-sAG8kn1b.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-BFvEaXLr.mjs → NcUserBubble-DmZZOMRr.mjs} +3 -2
- package/dist/chunks/{NcUserBubble-BFvEaXLr.mjs.map → NcUserBubble-DmZZOMRr.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-rphdAcHS.cjs → NcUserBubble-cX4wyq1_.cjs} +3 -2
- package/dist/chunks/{NcUserBubble-rphdAcHS.cjs.map → NcUserBubble-cX4wyq1_.cjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-S5bBgRl6.mjs → NcUserStatusIcon-WEKmuaoU.mjs} +4 -2
- package/dist/chunks/{NcUserStatusIcon-S5bBgRl6.mjs.map → NcUserStatusIcon-WEKmuaoU.mjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-CFLiHFkC.cjs → NcUserStatusIcon-cs42Lzdd.cjs} +4 -2
- package/dist/chunks/{NcUserStatusIcon-CFLiHFkC.cjs.map → NcUserStatusIcon-cs42Lzdd.cjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-CEMLuQd5.mjs → ScopeComponent-BaHwjQGQ.mjs} +2 -1
- package/dist/chunks/{ScopeComponent-CEMLuQd5.mjs.map → ScopeComponent-BaHwjQGQ.mjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-B5vclUCV.cjs → ScopeComponent-CqVh6vwk.cjs} +2 -1
- package/dist/chunks/{ScopeComponent-B5vclUCV.cjs.map → ScopeComponent-CqVh6vwk.cjs.map} +1 -1
- package/dist/chunks/_l10n-BiiXtYiP.cjs +143 -0
- package/dist/chunks/{_l10n-CjO_W5Dt.cjs.map → _l10n-BiiXtYiP.cjs.map} +1 -1
- package/dist/chunks/_l10n-Dt0m9Fxw.mjs +144 -0
- package/dist/chunks/_l10n-Dt0m9Fxw.mjs.map +1 -0
- package/dist/chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs +1 -0
- package/dist/chunks/_plugin-vue2_normalizer-V0q-tHlQ.cjs +1 -0
- package/dist/chunks/actionGlobal-DqVa7c7G.mjs +1 -0
- package/dist/chunks/actionGlobal-DqVa7c7G.mjs.map +1 -1
- package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs +1 -0
- package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs.map +1 -1
- package/dist/chunks/actionText-BcrK4uH1.cjs +1 -0
- package/dist/chunks/actionText-BcrK4uH1.cjs.map +1 -1
- package/dist/chunks/actionText-fFcUPi2g.mjs +1 -0
- package/dist/chunks/actionText-fFcUPi2g.mjs.map +1 -1
- package/dist/chunks/autolink-BAgL31EZ.cjs +1 -0
- package/dist/chunks/autolink-BAgL31EZ.cjs.map +1 -1
- package/dist/chunks/autolink-cbuFALXr.mjs +1 -0
- package/dist/chunks/autolink-cbuFALXr.mjs.map +1 -1
- package/dist/chunks/emoji-BY_D0V5K.mjs +1 -0
- package/dist/chunks/emoji-BY_D0V5K.mjs.map +1 -1
- package/dist/chunks/emoji-VgSjNTd5.cjs +1 -0
- package/dist/chunks/emoji-VgSjNTd5.cjs.map +1 -1
- package/dist/chunks/focusTrap-DmkaYJTC.mjs +32 -0
- package/dist/chunks/focusTrap-DmkaYJTC.mjs.map +1 -0
- package/dist/chunks/focusTrap-Vbgxe8ZX.cjs +31 -0
- package/dist/chunks/focusTrap-Vbgxe8ZX.cjs.map +1 -0
- package/dist/chunks/getAvatarUrl-6z9qRNH-.cjs +1 -0
- package/dist/chunks/getAvatarUrl-DxvUjKMi.mjs +1 -0
- package/dist/chunks/{index-CtoB4eIp.mjs → index-56SXuvlv.mjs} +3 -2
- package/dist/chunks/{index-CtoB4eIp.mjs.map → index-56SXuvlv.mjs.map} +1 -1
- package/dist/chunks/index-BV85rPB7.cjs +1 -0
- package/dist/chunks/index-BV85rPB7.cjs.map +1 -1
- package/dist/chunks/index-BiECbTbJ.cjs +1 -0
- package/dist/chunks/index-BiECbTbJ.cjs.map +1 -1
- package/dist/chunks/index-Bz6q9mZw.mjs +1 -0
- package/dist/chunks/index-Bz6q9mZw.mjs.map +1 -1
- package/dist/chunks/index-DIJxEozm.cjs +1 -0
- package/dist/chunks/index-DIJxEozm.cjs.map +1 -1
- package/dist/chunks/index-G8WQDZ8G.mjs +1 -0
- package/dist/chunks/index-G8WQDZ8G.mjs.map +1 -1
- package/dist/chunks/logger-3HuiEIF6.cjs +1 -0
- package/dist/chunks/logger-D3RVzcfQ.mjs +1 -0
- package/dist/chunks/mdi-CZJxQPz6.mjs +9 -0
- package/dist/chunks/mdi-CZJxQPz6.mjs.map +1 -0
- package/dist/chunks/mdi-Da9VuUVq.cjs +8 -0
- package/dist/chunks/mdi-Da9VuUVq.cjs.map +1 -0
- package/dist/chunks/{referencePickerModal-BkBu4cnq.cjs → referencePickerModal-BdK-_zC6.cjs} +9 -8
- package/dist/chunks/{referencePickerModal-BkBu4cnq.cjs.map → referencePickerModal-BdK-_zC6.cjs.map} +1 -1
- package/dist/chunks/{referencePickerModal-CGG57Dy_.mjs → referencePickerModal-Bxp4FMcs.mjs} +10 -9
- package/dist/chunks/{referencePickerModal-CGG57Dy_.mjs.map → referencePickerModal-Bxp4FMcs.mjs.map} +1 -1
- package/dist/chunks/rtl-DLuwcTlm.cjs +5 -0
- package/dist/chunks/rtl-DLuwcTlm.cjs.map +1 -0
- package/dist/chunks/rtl-v0UOPAM7.mjs +6 -0
- package/dist/chunks/rtl-v0UOPAM7.mjs.map +1 -0
- package/dist/chunks/useModelMigration-D5zhrNXr.cjs +1 -0
- package/dist/chunks/useModelMigration-D5zhrNXr.cjs.map +1 -1
- package/dist/chunks/useModelMigration-EhAWvqDD.mjs +1 -0
- package/dist/chunks/useModelMigration-EhAWvqDD.mjs.map +1 -1
- package/dist/chunks/useTrapStackControl-BJmJdJak.cjs +22 -0
- package/dist/chunks/useTrapStackControl-BJmJdJak.cjs.map +1 -0
- package/dist/chunks/useTrapStackControl-b3A_383w.mjs +23 -0
- package/dist/chunks/useTrapStackControl-b3A_383w.mjs.map +1 -0
- package/dist/chunks/{usernameToColor-BCZuxlEH.mjs → usernameToColor-DJfepfog.mjs} +2 -1
- package/dist/chunks/{usernameToColor-BCZuxlEH.mjs.map → usernameToColor-DJfepfog.mjs.map} +1 -1
- package/dist/chunks/{usernameToColor-cVFS7tET.cjs → usernameToColor-mqInDrGv.cjs} +2 -1
- package/dist/chunks/{usernameToColor-cVFS7tET.cjs.map → usernameToColor-mqInDrGv.cjs.map} +1 -1
- package/dist/composables/useTrapStackControl.d.ts +12 -0
- package/dist/functions/index.d.ts +3 -2
- package/dist/functions/preloadImage/index.d.ts +9 -0
- package/dist/functions/reference/widgets.d.ts +1 -1
- package/dist/index.cjs +62 -53
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +63 -54
- package/dist/index.mjs.map +1 -1
- package/dist/utils/focusTrap.d.ts +26 -0
- package/dist/utils/rtl.d.ts +5 -0
- package/dist/vendor.LICENSE.txt +128 -0
- package/package.json +23 -15
- package/dist/chunks/ChevronLeft-BK4j9oVH.mjs +0 -37
- package/dist/chunks/ChevronLeft-BK4j9oVH.mjs.map +0 -1
- package/dist/chunks/ChevronLeft-CAiEPWc5.cjs +0 -36
- package/dist/chunks/ChevronLeft-CAiEPWc5.cjs.map +0 -1
- package/dist/chunks/NcActionButton-CEysTg4c.mjs.map +0 -1
- package/dist/chunks/NcActionButton-DcpUnqA7.cjs.map +0 -1
- package/dist/chunks/NcActionTextEditable-C-ZP8_Tn.cjs.map +0 -1
- package/dist/chunks/NcActionTextEditable-JRD-G0CT.mjs.map +0 -1
- package/dist/chunks/NcActions-D3hGxwlc.mjs.map +0 -1
- package/dist/chunks/NcActions-DTICeoTz.cjs.map +0 -1
- package/dist/chunks/NcAppContent-BKQ-H04y.mjs.map +0 -1
- package/dist/chunks/NcAppContent-BOt6_YA7.cjs.map +0 -1
- package/dist/chunks/NcAppNavigation-B_92V8o3.mjs.map +0 -1
- package/dist/chunks/NcAppNavigation-D7W-4cVo.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-CpcFOmJR.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-DL9OwWo-.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationSearch-Q0eMy5I2.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationSearch-gytpBKme.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-Br1hcFGt.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-Pr8bEpDs.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-BY33yoNX.cjs.map +0 -1
- package/dist/chunks/NcAppSidebar-cEQy8s50.mjs.map +0 -1
- package/dist/chunks/NcAvatar-BjwyJw34.mjs.map +0 -1
- package/dist/chunks/NcAvatar-CQtsmbBW.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-DrlhnNbV.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-GHiD-Sw7.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-CCuKA55c.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-RjEq0SqY.cjs.map +0 -1
- package/dist/chunks/NcColorPicker-CTQlyVCL.cjs.map +0 -1
- package/dist/chunks/NcColorPicker-ph8Nubq7.mjs.map +0 -1
- package/dist/chunks/NcDialog-I_9fyJVt.mjs.map +0 -1
- package/dist/chunks/NcDialog-mcbLFc8o.cjs.map +0 -1
- package/dist/chunks/NcDialogButton-DuJ3lE7e.mjs.map +0 -1
- package/dist/chunks/NcDialogButton-FLqQdVLb.cjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-B1ot5iNB.cjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-DDCgW2zQ.mjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-BaHhnhN0.cjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-CLcpStap.mjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-B_eOG2sZ.cjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-CHmdAuhg.mjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-C7a7Nha7.mjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-XzKuYi6L.cjs.map +0 -1
- package/dist/chunks/NcInputField-CU5a68Pc.mjs.map +0 -1
- package/dist/chunks/NcInputField-DkhKrb8k.cjs.map +0 -1
- package/dist/chunks/NcListItem-3e1MminS.mjs.map +0 -1
- package/dist/chunks/NcListItem-9w7m2lJ_.cjs.map +0 -1
- package/dist/chunks/NcPopover-BKlH1mbx.cjs.map +0 -1
- package/dist/chunks/NcPopover-DFCPlZpS.mjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-BrkyIR3v.cjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-C6JIVMvN.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-3kkU0Uxu.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-DJy0zZXx.cjs.map +0 -1
- package/dist/chunks/NcRichText-C8SjsRK8.mjs +0 -420
- package/dist/chunks/NcRichText-C8SjsRK8.mjs.map +0 -1
- package/dist/chunks/NcRichText-Ci72ylJ9.cjs +0 -449
- package/dist/chunks/NcRichText-Ci72ylJ9.cjs.map +0 -1
- package/dist/chunks/NcSelect-BQ-NFBXI.mjs.map +0 -1
- package/dist/chunks/NcSelect-YHwbPAJD.cjs.map +0 -1
- package/dist/chunks/_l10n-CjO_W5Dt.cjs +0 -138
- package/dist/chunks/_l10n-DDKxBWQL.mjs +0 -139
- package/dist/chunks/_l10n-DDKxBWQL.mjs.map +0 -1
- package/dist/chunks/focusTrap-Cecv_gjR.mjs +0 -7
- package/dist/chunks/focusTrap-Cecv_gjR.mjs.map +0 -1
- package/dist/chunks/focusTrap-EeXFmjdI.cjs +0 -6
- package/dist/chunks/focusTrap-EeXFmjdI.cjs.map +0 -1
|
@@ -3,7 +3,7 @@ require('../assets/NcDateTimePickerNative-DVGEymgr.css');
|
|
|
3
3
|
const useModelMigration = require("../chunks/useModelMigration-D5zhrNXr.cjs");
|
|
4
4
|
const GenRandomId = require("../chunks/GenRandomId-BQDud3d4.cjs");
|
|
5
5
|
const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
6
|
-
const ScopeComponent = require("../chunks/ScopeComponent-
|
|
6
|
+
const ScopeComponent = require("../chunks/ScopeComponent-CqVh6vwk.cjs");
|
|
7
7
|
const inputDateTypes = ["date", "datetime-local", "month", "time", "week"];
|
|
8
8
|
const _sfc_main = {
|
|
9
9
|
name: "NcDateTimePickerNative",
|
|
@@ -229,3 +229,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
229
229
|
const NcDateTimePickerNative = __component__.exports;
|
|
230
230
|
ScopeComponent.ScopeComponent(NcDateTimePickerNative);
|
|
231
231
|
module.exports = NcDateTimePickerNative;
|
|
232
|
+
//# sourceMappingURL=NcDateTimePickerNative.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcDateTimePickerNative.cjs","sources":["../../src/components/NcDateTimePickerNative/NcDateTimePickerNative.vue","../../src/components/NcDateTimePickerNative/index.js"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\n\nThis components provides a wrapper around the native browser datetime picker. <br>\nThis is an input with some type of date e.g. https://html.spec.whatwg.org/multipage/input.html#local-date-and-time-state-(type=datetime-local). <br>\nAll available types are: 'date', 'datetime-local', 'month', 'time' and 'week', please check them here: https://html.spec.whatwg.org/multipage/input.html# <br>\n\n### Examples\n\n```vue\n<template>\n\t<div>\n\t\t<span>Picked date: {{ value || 'null' }}</span>\n\t\t<hr/>\n\t\t<div class=\"flex\">\n\t\t\t<NcSelect v-bind=\"props\" v-model=\"type\" />\n\t\t\t<NcDateTimePickerNative\n\t\t\t\tv-model=\"value\"\n\t\t\t\t:label=\"label\"\n\t\t\t\t:type=\"type\" />\n\t\t</div>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tprops: {\n\t\t\t\t\tclearable: false,\n\t\t\t\t\tinputLabel: 'Picker type',\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t'date',\n\t\t\t\t\t\t'datetime-local',\n\t\t\t\t\t\t'month',\n\t\t\t\t\t\t'time',\n\t\t\t\t\t\t'week',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\ttype: 'datetime-local',\n\t\t\t\tvalue: new Date(),\n\t\t\t\tlabel: 'Select a new date or time',\n\t\t\t}\n\t\t},\n\t}\n</script>\n<style scoped>\n.flex {\n\tdisplay: flex;\n\tgap: 4px;\n}\n</style>\n```\n\n#### Usage: type='datetime-local' with min date and max date\n```vue\n<template>\n\t<div>\n\t\t<span>Picked date: {{ value || 'null' }}</span>\n\t\t<NcDateTimePickerNative\n\t\t\tv-model=\"value\"\n\t\t\t:min=\"yesterdayDate\"\n\t\t\t:max=\"someDate\"\n\t\t\t:label=\"label\"\n\t\t\ttype=\"datetime-local\" />\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tvalue: new Date(),\n\t\t\t\tlabel: 'please select a new date',\n\t\t\t\tyesterdayDate: new Date(new Date().setDate(new Date().getDate() - 1)),\n\t\t\t\tsomeDate: new Date(new Date().setDate(new Date().getDate() + 7)),\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n</docs>\n\n<template>\n\t<div class=\"native-datetime-picker\">\n\t\t<label class=\"native-datetime-picker--label\"\n\t\t\t:class=\"{ 'hidden-visually': hideLabel }\"\n\t\t\t:for=\"id\">\n\t\t\t{{ label }}\n\t\t</label>\n\t\t<input :id=\"id\"\n\t\t\tclass=\"native-datetime-picker--input\"\n\t\t\t:class=\"inputClass\"\n\t\t\t:type=\"type\"\n\t\t\t:value=\"formattedValue\"\n\t\t\t:min=\"formattedMin\"\n\t\t\t:max=\"formattedMax\"\n\t\t\tv-bind=\"$attrs\"\n\t\t\tv-on=\"listeners\">\n\t</div>\n</template>\n\n<script>\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nconst inputDateTypes = ['date', 'datetime-local', 'month', 'time', 'week']\n\nexport default {\n\tname: 'NcDateTimePickerNative',\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 * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: Date,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * The date is – like the `Date` object in JavaScript – tied to UTC.\n\t\t * The selected time zone does not have an influence of the selected time and date value.\n\t\t * You have to translate the time yourself when you want to factor in time zones.\n\t\t * Pass null to clear the input field.\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: Date,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * id attribute of the input field\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'date-time-picker-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t\t/**\n\t\t * type attribute of the input field\n\t\t * default type: String\n\t\t * The type of the input element, it can be `date`, `datetime-local`, `month`, `time`, `week`\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'date',\n\t\t\tvalidate: (name) => inputDateTypes.includes(name),\n\t\t},\n\t\t/**\n\t\t * text inside the label element\n\t\t * default type: String\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: 'Please choose a date',\n\t\t},\n\t\t/**\n\t\t * min attribute of the input field\n\t\t * default type: null\n\t\t */\n\t\tmin: {\n\t\t\ttype: [Date, Boolean],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * max attribute of the input field\n\t\t * default type: null\n\t\t */\n\t\tmax: {\n\t\t\ttype: [Date, Boolean],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Flag to hide the label\n\t\t * default type: String\n\t\t * The hidden input label for accessibility purposes.\n\t\t */\n\t\thideLabel: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Class to add to the input field.\n\t\t * Necessary to use NcDateTimePickerNative in the NcActionInput component.\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [Object, String],\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'input',\n\t\t/**\n\t\t * Emitted when the input value changes\n\t\t *\n\t\t * @return {Date} new chosen Date()\n\t\t */\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'input')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tformattedValue() {\n\t\t\treturn this.formatValue(this.model)\n\t\t},\n\t\tformattedMin() {\n\t\t\tif (this.min) {\n\t\t\t\treturn this.formatValue(this.min)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tformattedMax() {\n\t\t\tif (this.max) {\n\t\t\t\treturn this.formatValue(this.max)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tlisteners() {\n\t\t\treturn {\n\t\t\t\t...this.$listeners,\n\t\t\t\t/**\n\t\t\t\t * Handle the input event\n\t\t\t\t *\n\t\t\t\t * @param {InputEvent} $event input event payload\n\t\t\t\t * @return {Date|string} new chosen Date() or an empty string\n\t\t\t\t */\n\t\t\t\tinput: ($event) => {\n\t\t\t\t\tif (isNaN($event.target.valueAsNumber)) {\n\t\t\t\t\t\tthis.model = null\n\t\t\t\t\t} else if (this.type === 'time') {\n\t\t\t\t\t\tconst time = $event.target.value\n\t\t\t\t\t\tif (this.model === '') {\n\t\t\t\t\t\t\t// this case is because of Chrome bug\n\t\t\t\t\t\t\tconst { yyyy, MM, dd } = this.getReadableDate(new Date())\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Emitted when the input value changes\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @return {Date} new chosen Date()\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${time}`)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst { yyyy, MM, dd } = this.getReadableDate(this.model)\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${time}`)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (this.type === 'month') {\n\t\t\t\t\t\tconst MM = (new Date($event.target.value).getMonth() + 1).toString().padStart(2, '0')\n\t\t\t\t\t\tif (this.model === '') {\n\t\t\t\t\t\t\tconst { yyyy, dd, hh, mm } = this.getReadableDate(new Date())\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst { yyyy, dd, hh, mm } = this.getReadableDate(this.model)\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst timezoneOffsetSeconds = new Date($event.target.valueAsNumber).getTimezoneOffset() * 1000 * 60\n\t\t\t\t\t\tconst inputDateWithTimezone = $event.target.valueAsNumber + timezoneOffsetSeconds\n\t\t\t\t\t\tthis.model = new Date(inputDateWithTimezone)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Returns Object with string values of a Date\n\t\t *\n\t\t * @param {Date} value The selected value\n\t\t * @return {object|undefined}\n\t\t */\n\t\tgetReadableDate(value) {\n\t\t\tif (value instanceof Date) {\n\t\t\t\tconst yyyy = value.getFullYear().toString().padStart(4, '0')\n\t\t\t\tconst MM = (value.getMonth() + 1).toString().padStart(2, '0')\n\t\t\t\tconst dd = value.getDate().toString().padStart(2, '0')\n\t\t\t\tconst hh = value.getHours().toString().padStart(2, '0')\n\t\t\t\tconst mm = value.getMinutes().toString().padStart(2, '0')\n\n\t\t\t\treturn { yyyy, MM, dd, hh, mm }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Returns preformatted value for the input field\n\t\t *\n\t\t * @param {Date} value The selected value\n\t\t * @return {string|undefined}\n\t\t */\n\t\tformatValue(value) {\n\t\t\tif (value instanceof Date) {\n\t\t\t\tconst { yyyy, MM, dd, hh, mm } = this.getReadableDate(value)\n\t\t\t\tif (this.type === 'datetime-local') {\n\t\t\t\t\treturn `${yyyy}-${MM}-${dd}T${hh}:${mm}`\n\t\t\t\t} else if (this.type === 'date') {\n\t\t\t\t\treturn `${yyyy}-${MM}-${dd}`\n\t\t\t\t} else if (this.type === 'month') {\n\t\t\t\t\treturn `${yyyy}-${MM}`\n\t\t\t\t} else if (this.type === 'time') {\n\t\t\t\t\treturn `${hh}:${mm}`\n\t\t\t\t} else if (this.type === 'week') {\n\t\t\t\t\tconst startDate = new Date(yyyy, 0, 1)\n\t\t\t\t\tconst daysSinceBeginningOfYear = Math.floor((value - startDate)\n\t\t\t\t\t\t/ (24 * 60 * 60 * 1000))\n\t\t\t\t\tconst weekNumber = Math.ceil(daysSinceBeginningOfYear / 7)\n\t\t\t\t\treturn `${yyyy}-W${weekNumber}`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn ''\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.native-datetime-picker {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t.native-datetime-picker .native-datetime-picker--label {\n\t\tmargin-block-end: 2px;\n\t}\n\n\t.native-datetime-picker .native-datetime-picker--input {\n\t\t// If border width differs between focused and unfocused we need to compensate to prevent jumping\n\t\t--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));\n\t\twidth: 100%;\n\t\tflex: 0 0 auto;\n\t\tmargin: 0;\n\t\tpadding-inline-start: calc(var(--border-radius-large) + var(--input-border-width-offset));\n\t\tpadding-inline-end: calc(var(--default-grid-baseline) + var(--input-border-width-offset));\n\t\tborder: var(--border-width-input, 2px) solid var(--color-border-maxcontrast);\n\n\t\t&:active:not([disabled]),\n\t\t&:hover:not([disabled]),\n\t\t&:focus:not([disabled]),\n\t\t&:focus-within:not([disabled]) {\n\t\t\tborder-color: var(--color-main-text);\n\t\t\tborder-width: var(--border-width-input-focused, 2px);\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t\t// Reset padding offset when focused\n\t\t\t--input-border-width-offset: 0px;\n\t\t}\n\t}\n\n\t[data-theme-light],\n\t[data-themes*=light] {\n\t\t.native-datetime-picker--input {\n\t\t\tcolor-scheme: light;\n\t\t}\n\t}\n\n\t[data-theme-dark],\n\t[data-themes*=dark] {\n\t\t.native-datetime-picker--input {\n\t\t\tcolor-scheme: dark;\n\t\t}\n\t}\n\n\t[data-theme-default],\n\t[data-themes*=default] {\n\t\t@media (prefers-color-scheme: light) {\n\t\t\t.native-datetime-picker--input {\n\t\t\t\tcolor-scheme: light;\n\t\t\t}\n\t\t}\n\t\t@media (prefers-color-scheme: dark) {\n\t\t\t.native-datetime-picker--input {\n\t\t\t\tcolor-scheme: dark;\n\t\t\t}\n\t\t}\n\t}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport NcDateTimePickerNative from './NcDateTimePickerNative.vue'\nimport ScopeComponent from '../../utils/ScopeComponent.js'\n\nScopeComponent(NcDateTimePickerNative)\n\nexport default NcDateTimePickerNative\n"],"names":["GenRandomId","useModelMigration","ScopeComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NcDateTimePickerNative.cjs","sources":["../../src/components/NcDateTimePickerNative/NcDateTimePickerNative.vue","../../src/components/NcDateTimePickerNative/index.js"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\n\nThis components provides a wrapper around the native browser datetime picker. <br>\nThis is an input with some type of date e.g. https://html.spec.whatwg.org/multipage/input.html#local-date-and-time-state-(type=datetime-local). <br>\nAll available types are: 'date', 'datetime-local', 'month', 'time' and 'week', please check them here: https://html.spec.whatwg.org/multipage/input.html# <br>\n\n### Examples\n\n```vue\n<template>\n\t<div>\n\t\t<span>Picked date: {{ value || 'null' }}</span>\n\t\t<hr/>\n\t\t<div class=\"flex\">\n\t\t\t<NcSelect v-bind=\"props\" v-model=\"type\" />\n\t\t\t<NcDateTimePickerNative\n\t\t\t\tv-model=\"value\"\n\t\t\t\t:label=\"label\"\n\t\t\t\t:type=\"type\" />\n\t\t</div>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tprops: {\n\t\t\t\t\tclearable: false,\n\t\t\t\t\tinputLabel: 'Picker type',\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t'date',\n\t\t\t\t\t\t'datetime-local',\n\t\t\t\t\t\t'month',\n\t\t\t\t\t\t'time',\n\t\t\t\t\t\t'week',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\ttype: 'datetime-local',\n\t\t\t\tvalue: new Date(),\n\t\t\t\tlabel: 'Select a new date or time',\n\t\t\t}\n\t\t},\n\t}\n</script>\n<style scoped>\n.flex {\n\tdisplay: flex;\n\tgap: 4px;\n}\n</style>\n```\n\n#### Usage: type='datetime-local' with min date and max date\n```vue\n<template>\n\t<div>\n\t\t<span>Picked date: {{ value || 'null' }}</span>\n\t\t<NcDateTimePickerNative\n\t\t\tv-model=\"value\"\n\t\t\t:min=\"yesterdayDate\"\n\t\t\t:max=\"someDate\"\n\t\t\t:label=\"label\"\n\t\t\ttype=\"datetime-local\" />\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tvalue: new Date(),\n\t\t\t\tlabel: 'please select a new date',\n\t\t\t\tyesterdayDate: new Date(new Date().setDate(new Date().getDate() - 1)),\n\t\t\t\tsomeDate: new Date(new Date().setDate(new Date().getDate() + 7)),\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n</docs>\n\n<template>\n\t<div class=\"native-datetime-picker\">\n\t\t<label class=\"native-datetime-picker--label\"\n\t\t\t:class=\"{ 'hidden-visually': hideLabel }\"\n\t\t\t:for=\"id\">\n\t\t\t{{ label }}\n\t\t</label>\n\t\t<input :id=\"id\"\n\t\t\tclass=\"native-datetime-picker--input\"\n\t\t\t:class=\"inputClass\"\n\t\t\t:type=\"type\"\n\t\t\t:value=\"formattedValue\"\n\t\t\t:min=\"formattedMin\"\n\t\t\t:max=\"formattedMax\"\n\t\t\tv-bind=\"$attrs\"\n\t\t\tv-on=\"listeners\">\n\t</div>\n</template>\n\n<script>\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nconst inputDateTypes = ['date', 'datetime-local', 'month', 'time', 'week']\n\nexport default {\n\tname: 'NcDateTimePickerNative',\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 * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: Date,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * The date is – like the `Date` object in JavaScript – tied to UTC.\n\t\t * The selected time zone does not have an influence of the selected time and date value.\n\t\t * You have to translate the time yourself when you want to factor in time zones.\n\t\t * Pass null to clear the input field.\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: Date,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * id attribute of the input field\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'date-time-picker-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t\t/**\n\t\t * type attribute of the input field\n\t\t * default type: String\n\t\t * The type of the input element, it can be `date`, `datetime-local`, `month`, `time`, `week`\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'date',\n\t\t\tvalidate: (name) => inputDateTypes.includes(name),\n\t\t},\n\t\t/**\n\t\t * text inside the label element\n\t\t * default type: String\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: 'Please choose a date',\n\t\t},\n\t\t/**\n\t\t * min attribute of the input field\n\t\t * default type: null\n\t\t */\n\t\tmin: {\n\t\t\ttype: [Date, Boolean],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * max attribute of the input field\n\t\t * default type: null\n\t\t */\n\t\tmax: {\n\t\t\ttype: [Date, Boolean],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Flag to hide the label\n\t\t * default type: String\n\t\t * The hidden input label for accessibility purposes.\n\t\t */\n\t\thideLabel: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Class to add to the input field.\n\t\t * Necessary to use NcDateTimePickerNative in the NcActionInput component.\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [Object, String],\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'input',\n\t\t/**\n\t\t * Emitted when the input value changes\n\t\t *\n\t\t * @return {Date} new chosen Date()\n\t\t */\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'input')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tformattedValue() {\n\t\t\treturn this.formatValue(this.model)\n\t\t},\n\t\tformattedMin() {\n\t\t\tif (this.min) {\n\t\t\t\treturn this.formatValue(this.min)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tformattedMax() {\n\t\t\tif (this.max) {\n\t\t\t\treturn this.formatValue(this.max)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tlisteners() {\n\t\t\treturn {\n\t\t\t\t...this.$listeners,\n\t\t\t\t/**\n\t\t\t\t * Handle the input event\n\t\t\t\t *\n\t\t\t\t * @param {InputEvent} $event input event payload\n\t\t\t\t * @return {Date|string} new chosen Date() or an empty string\n\t\t\t\t */\n\t\t\t\tinput: ($event) => {\n\t\t\t\t\tif (isNaN($event.target.valueAsNumber)) {\n\t\t\t\t\t\tthis.model = null\n\t\t\t\t\t} else if (this.type === 'time') {\n\t\t\t\t\t\tconst time = $event.target.value\n\t\t\t\t\t\tif (this.model === '') {\n\t\t\t\t\t\t\t// this case is because of Chrome bug\n\t\t\t\t\t\t\tconst { yyyy, MM, dd } = this.getReadableDate(new Date())\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Emitted when the input value changes\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @return {Date} new chosen Date()\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${time}`)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst { yyyy, MM, dd } = this.getReadableDate(this.model)\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${time}`)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (this.type === 'month') {\n\t\t\t\t\t\tconst MM = (new Date($event.target.value).getMonth() + 1).toString().padStart(2, '0')\n\t\t\t\t\t\tif (this.model === '') {\n\t\t\t\t\t\t\tconst { yyyy, dd, hh, mm } = this.getReadableDate(new Date())\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst { yyyy, dd, hh, mm } = this.getReadableDate(this.model)\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst timezoneOffsetSeconds = new Date($event.target.valueAsNumber).getTimezoneOffset() * 1000 * 60\n\t\t\t\t\t\tconst inputDateWithTimezone = $event.target.valueAsNumber + timezoneOffsetSeconds\n\t\t\t\t\t\tthis.model = new Date(inputDateWithTimezone)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Returns Object with string values of a Date\n\t\t *\n\t\t * @param {Date} value The selected value\n\t\t * @return {object|undefined}\n\t\t */\n\t\tgetReadableDate(value) {\n\t\t\tif (value instanceof Date) {\n\t\t\t\tconst yyyy = value.getFullYear().toString().padStart(4, '0')\n\t\t\t\tconst MM = (value.getMonth() + 1).toString().padStart(2, '0')\n\t\t\t\tconst dd = value.getDate().toString().padStart(2, '0')\n\t\t\t\tconst hh = value.getHours().toString().padStart(2, '0')\n\t\t\t\tconst mm = value.getMinutes().toString().padStart(2, '0')\n\n\t\t\t\treturn { yyyy, MM, dd, hh, mm }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Returns preformatted value for the input field\n\t\t *\n\t\t * @param {Date} value The selected value\n\t\t * @return {string|undefined}\n\t\t */\n\t\tformatValue(value) {\n\t\t\tif (value instanceof Date) {\n\t\t\t\tconst { yyyy, MM, dd, hh, mm } = this.getReadableDate(value)\n\t\t\t\tif (this.type === 'datetime-local') {\n\t\t\t\t\treturn `${yyyy}-${MM}-${dd}T${hh}:${mm}`\n\t\t\t\t} else if (this.type === 'date') {\n\t\t\t\t\treturn `${yyyy}-${MM}-${dd}`\n\t\t\t\t} else if (this.type === 'month') {\n\t\t\t\t\treturn `${yyyy}-${MM}`\n\t\t\t\t} else if (this.type === 'time') {\n\t\t\t\t\treturn `${hh}:${mm}`\n\t\t\t\t} else if (this.type === 'week') {\n\t\t\t\t\tconst startDate = new Date(yyyy, 0, 1)\n\t\t\t\t\tconst daysSinceBeginningOfYear = Math.floor((value - startDate)\n\t\t\t\t\t\t/ (24 * 60 * 60 * 1000))\n\t\t\t\t\tconst weekNumber = Math.ceil(daysSinceBeginningOfYear / 7)\n\t\t\t\t\treturn `${yyyy}-W${weekNumber}`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn ''\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.native-datetime-picker {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t.native-datetime-picker .native-datetime-picker--label {\n\t\tmargin-block-end: 2px;\n\t}\n\n\t.native-datetime-picker .native-datetime-picker--input {\n\t\t// If border width differs between focused and unfocused we need to compensate to prevent jumping\n\t\t--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));\n\t\twidth: 100%;\n\t\tflex: 0 0 auto;\n\t\tmargin: 0;\n\t\tpadding-inline-start: calc(var(--border-radius-large) + var(--input-border-width-offset));\n\t\tpadding-inline-end: calc(var(--default-grid-baseline) + var(--input-border-width-offset));\n\t\tborder: var(--border-width-input, 2px) solid var(--color-border-maxcontrast);\n\n\t\t&:active:not([disabled]),\n\t\t&:hover:not([disabled]),\n\t\t&:focus:not([disabled]),\n\t\t&:focus-within:not([disabled]) {\n\t\t\tborder-color: var(--color-main-text);\n\t\t\tborder-width: var(--border-width-input-focused, 2px);\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t\t// Reset padding offset when focused\n\t\t\t--input-border-width-offset: 0px;\n\t\t}\n\t}\n\n\t[data-theme-light],\n\t[data-themes*=light] {\n\t\t.native-datetime-picker--input {\n\t\t\tcolor-scheme: light;\n\t\t}\n\t}\n\n\t[data-theme-dark],\n\t[data-themes*=dark] {\n\t\t.native-datetime-picker--input {\n\t\t\tcolor-scheme: dark;\n\t\t}\n\t}\n\n\t[data-theme-default],\n\t[data-themes*=default] {\n\t\t@media (prefers-color-scheme: light) {\n\t\t\t.native-datetime-picker--input {\n\t\t\t\tcolor-scheme: light;\n\t\t\t}\n\t\t}\n\t\t@media (prefers-color-scheme: dark) {\n\t\t\t.native-datetime-picker--input {\n\t\t\t\tcolor-scheme: dark;\n\t\t\t}\n\t\t}\n\t}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport NcDateTimePickerNative from './NcDateTimePickerNative.vue'\nimport ScopeComponent from '../../utils/ScopeComponent.js'\n\nScopeComponent(NcDateTimePickerNative)\n\nexport default NcDateTimePickerNative\n"],"names":["GenRandomId","useModelMigration","ScopeComponent"],"mappings":";;;;;AA+GA,MAAA,iBAAA,CAAA,QAAA,kBAAA,SAAA,QAAA,MAAA;AAEA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,sBAAAA,wBAAA;AAAA,MACA,WAAA,QAAA,GAAA,KAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA,CAAA,SAAA,eAAA,SAAA,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,KAAA;AAAA,MACA,MAAA,CAAA,MAAA,OAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,KAAA;AAAA,MACA,MAAA,CAAA,MAAA,OAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA;AAAA,IAEA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,QAAAC,oCAAA,SAAA,OAAA;AACA,WAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,iBAAA;AACA,aAAA,KAAA,YAAA,KAAA,KAAA;AAAA,IACA;AAAA,IACA,eAAA;AACA,UAAA,KAAA,KAAA;AACA,eAAA,KAAA,YAAA,KAAA,GAAA;AAAA,MACA;AACA,aAAA;AAAA,IACA;AAAA,IACA,eAAA;AACA,UAAA,KAAA,KAAA;AACA,eAAA,KAAA,YAAA,KAAA,GAAA;AAAA,MACA;AACA,aAAA;AAAA,IACA;AAAA,IACA,YAAA;AACA,aAAA;AAAA,QACA,GAAA,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOA,OAAA,CAAA,WAAA;AACA,cAAA,MAAA,OAAA,OAAA,aAAA,GAAA;AACA,iBAAA,QAAA;AAAA,UACA,WAAA,KAAA,SAAA,QAAA;AACA,kBAAA,OAAA,OAAA,OAAA;AACA,gBAAA,KAAA,UAAA,IAAA;AAEA,oBAAA,EAAA,MAAA,IAAA,GAAA,IAAA,KAAA,gBAAA,oBAAA,KAAA,CAAA;AAMA,mBAAA,QAAA,oBAAA,KAAA,GAAA,IAAA,IAAA,EAAA,IAAA,EAAA,IAAA,IAAA,EAAA;AAAA,YACA,OAAA;AACA,oBAAA,EAAA,MAAA,IAAA,GAAA,IAAA,KAAA,gBAAA,KAAA,KAAA;AACA,mBAAA,QAAA,oBAAA,KAAA,GAAA,IAAA,IAAA,EAAA,IAAA,EAAA,IAAA,IAAA,EAAA;AAAA,YACA;AAAA,UACA,WAAA,KAAA,SAAA,SAAA;AACA,kBAAA,MAAA,IAAA,KAAA,OAAA,OAAA,KAAA,EAAA,SAAA,IAAA,GAAA,SAAA,EAAA,SAAA,GAAA,GAAA;AACA,gBAAA,KAAA,UAAA,IAAA;AACA,oBAAA,EAAA,MAAA,IAAA,IAAA,GAAA,IAAA,KAAA,gBAAA,oBAAA,KAAA,CAAA;AACA,mBAAA,QAAA,oBAAA,KAAA,GAAA,IAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA;AAAA,YACA,OAAA;AACA,oBAAA,EAAA,MAAA,IAAA,IAAA,GAAA,IAAA,KAAA,gBAAA,KAAA,KAAA;AACA,mBAAA,QAAA,oBAAA,KAAA,GAAA,IAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,EAAA;AAAA,YACA;AAAA,UACA,OAAA;AACA,kBAAA,wBAAA,IAAA,KAAA,OAAA,OAAA,aAAA,EAAA,kBAAA,IAAA,MAAA;AACA,kBAAA,wBAAA,OAAA,OAAA,gBAAA;AACA,iBAAA,QAAA,IAAA,KAAA,qBAAA;AAAA,UACA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,gBAAA,OAAA;AACA,UAAA,iBAAA,MAAA;AACA,cAAA,OAAA,MAAA,YAAA,EAAA,WAAA,SAAA,GAAA,GAAA;AACA,cAAA,MAAA,MAAA,SAAA,IAAA,GAAA,SAAA,EAAA,SAAA,GAAA,GAAA;AACA,cAAA,KAAA,MAAA,QAAA,EAAA,WAAA,SAAA,GAAA,GAAA;AACA,cAAA,KAAA,MAAA,SAAA,EAAA,WAAA,SAAA,GAAA,GAAA;AACA,cAAA,KAAA,MAAA,WAAA,EAAA,WAAA,SAAA,GAAA,GAAA;AAEA,eAAA,EAAA,MAAA,IAAA,IAAA,IAAA,GAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,YAAA,OAAA;AACA,UAAA,iBAAA,MAAA;AACA,cAAA,EAAA,MAAA,IAAA,IAAA,IAAA,GAAA,IAAA,KAAA,gBAAA,KAAA;AACA,YAAA,KAAA,SAAA,kBAAA;AACA,iBAAA,GAAA,IAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA;AAAA,QACA,WAAA,KAAA,SAAA,QAAA;AACA,iBAAA,GAAA,IAAA,IAAA,EAAA,IAAA,EAAA;AAAA,QACA,WAAA,KAAA,SAAA,SAAA;AACA,iBAAA,GAAA,IAAA,IAAA,EAAA;AAAA,QACA,WAAA,KAAA,SAAA,QAAA;AACA,iBAAA,GAAA,EAAA,IAAA,EAAA;AAAA,QACA,WAAA,KAAA,SAAA,QAAA;AACA,gBAAA,YAAA,IAAA,KAAA,MAAA,GAAA,CAAA;AACA,gBAAA,2BAAA,KAAA,OAAA,QAAA,cACA,KAAA,KAAA,KAAA,IAAA;AACA,gBAAA,aAAA,KAAA,KAAA,2BAAA,CAAA;AACA,iBAAA,GAAA,IAAA,KAAA,UAAA;AAAA,QACA;AAAA,MACA,OAAA;AACA,eAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;ACxUAC,eAAAA,eAAe,sBAAsB;;"}
|
|
@@ -2,7 +2,7 @@ import '../assets/NcDateTimePickerNative-DVGEymgr.css';
|
|
|
2
2
|
import { u as useModelMigration } from "../chunks/useModelMigration-EhAWvqDD.mjs";
|
|
3
3
|
import { G as GenRandomId } from "../chunks/GenRandomId-CMooMQt0.mjs";
|
|
4
4
|
import { n as normalizeComponent } from "../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
5
|
-
import { S as ScopeComponent } from "../chunks/ScopeComponent-
|
|
5
|
+
import { S as ScopeComponent } from "../chunks/ScopeComponent-BaHwjQGQ.mjs";
|
|
6
6
|
const inputDateTypes = ["date", "datetime-local", "month", "time", "week"];
|
|
7
7
|
const _sfc_main = {
|
|
8
8
|
name: "NcDateTimePickerNative",
|
|
@@ -230,3 +230,4 @@ ScopeComponent(NcDateTimePickerNative);
|
|
|
230
230
|
export {
|
|
231
231
|
NcDateTimePickerNative as default
|
|
232
232
|
};
|
|
233
|
+
//# sourceMappingURL=NcDateTimePickerNative.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcDateTimePickerNative.mjs","sources":["../../src/components/NcDateTimePickerNative/NcDateTimePickerNative.vue","../../src/components/NcDateTimePickerNative/index.js"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\n\nThis components provides a wrapper around the native browser datetime picker. <br>\nThis is an input with some type of date e.g. https://html.spec.whatwg.org/multipage/input.html#local-date-and-time-state-(type=datetime-local). <br>\nAll available types are: 'date', 'datetime-local', 'month', 'time' and 'week', please check them here: https://html.spec.whatwg.org/multipage/input.html# <br>\n\n### Examples\n\n```vue\n<template>\n\t<div>\n\t\t<span>Picked date: {{ value || 'null' }}</span>\n\t\t<hr/>\n\t\t<div class=\"flex\">\n\t\t\t<NcSelect v-bind=\"props\" v-model=\"type\" />\n\t\t\t<NcDateTimePickerNative\n\t\t\t\tv-model=\"value\"\n\t\t\t\t:label=\"label\"\n\t\t\t\t:type=\"type\" />\n\t\t</div>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tprops: {\n\t\t\t\t\tclearable: false,\n\t\t\t\t\tinputLabel: 'Picker type',\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t'date',\n\t\t\t\t\t\t'datetime-local',\n\t\t\t\t\t\t'month',\n\t\t\t\t\t\t'time',\n\t\t\t\t\t\t'week',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\ttype: 'datetime-local',\n\t\t\t\tvalue: new Date(),\n\t\t\t\tlabel: 'Select a new date or time',\n\t\t\t}\n\t\t},\n\t}\n</script>\n<style scoped>\n.flex {\n\tdisplay: flex;\n\tgap: 4px;\n}\n</style>\n```\n\n#### Usage: type='datetime-local' with min date and max date\n```vue\n<template>\n\t<div>\n\t\t<span>Picked date: {{ value || 'null' }}</span>\n\t\t<NcDateTimePickerNative\n\t\t\tv-model=\"value\"\n\t\t\t:min=\"yesterdayDate\"\n\t\t\t:max=\"someDate\"\n\t\t\t:label=\"label\"\n\t\t\ttype=\"datetime-local\" />\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tvalue: new Date(),\n\t\t\t\tlabel: 'please select a new date',\n\t\t\t\tyesterdayDate: new Date(new Date().setDate(new Date().getDate() - 1)),\n\t\t\t\tsomeDate: new Date(new Date().setDate(new Date().getDate() + 7)),\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n</docs>\n\n<template>\n\t<div class=\"native-datetime-picker\">\n\t\t<label class=\"native-datetime-picker--label\"\n\t\t\t:class=\"{ 'hidden-visually': hideLabel }\"\n\t\t\t:for=\"id\">\n\t\t\t{{ label }}\n\t\t</label>\n\t\t<input :id=\"id\"\n\t\t\tclass=\"native-datetime-picker--input\"\n\t\t\t:class=\"inputClass\"\n\t\t\t:type=\"type\"\n\t\t\t:value=\"formattedValue\"\n\t\t\t:min=\"formattedMin\"\n\t\t\t:max=\"formattedMax\"\n\t\t\tv-bind=\"$attrs\"\n\t\t\tv-on=\"listeners\">\n\t</div>\n</template>\n\n<script>\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nconst inputDateTypes = ['date', 'datetime-local', 'month', 'time', 'week']\n\nexport default {\n\tname: 'NcDateTimePickerNative',\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 * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: Date,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * The date is – like the `Date` object in JavaScript – tied to UTC.\n\t\t * The selected time zone does not have an influence of the selected time and date value.\n\t\t * You have to translate the time yourself when you want to factor in time zones.\n\t\t * Pass null to clear the input field.\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: Date,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * id attribute of the input field\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'date-time-picker-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t\t/**\n\t\t * type attribute of the input field\n\t\t * default type: String\n\t\t * The type of the input element, it can be `date`, `datetime-local`, `month`, `time`, `week`\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'date',\n\t\t\tvalidate: (name) => inputDateTypes.includes(name),\n\t\t},\n\t\t/**\n\t\t * text inside the label element\n\t\t * default type: String\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: 'Please choose a date',\n\t\t},\n\t\t/**\n\t\t * min attribute of the input field\n\t\t * default type: null\n\t\t */\n\t\tmin: {\n\t\t\ttype: [Date, Boolean],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * max attribute of the input field\n\t\t * default type: null\n\t\t */\n\t\tmax: {\n\t\t\ttype: [Date, Boolean],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Flag to hide the label\n\t\t * default type: String\n\t\t * The hidden input label for accessibility purposes.\n\t\t */\n\t\thideLabel: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Class to add to the input field.\n\t\t * Necessary to use NcDateTimePickerNative in the NcActionInput component.\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [Object, String],\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'input',\n\t\t/**\n\t\t * Emitted when the input value changes\n\t\t *\n\t\t * @return {Date} new chosen Date()\n\t\t */\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'input')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tformattedValue() {\n\t\t\treturn this.formatValue(this.model)\n\t\t},\n\t\tformattedMin() {\n\t\t\tif (this.min) {\n\t\t\t\treturn this.formatValue(this.min)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tformattedMax() {\n\t\t\tif (this.max) {\n\t\t\t\treturn this.formatValue(this.max)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tlisteners() {\n\t\t\treturn {\n\t\t\t\t...this.$listeners,\n\t\t\t\t/**\n\t\t\t\t * Handle the input event\n\t\t\t\t *\n\t\t\t\t * @param {InputEvent} $event input event payload\n\t\t\t\t * @return {Date|string} new chosen Date() or an empty string\n\t\t\t\t */\n\t\t\t\tinput: ($event) => {\n\t\t\t\t\tif (isNaN($event.target.valueAsNumber)) {\n\t\t\t\t\t\tthis.model = null\n\t\t\t\t\t} else if (this.type === 'time') {\n\t\t\t\t\t\tconst time = $event.target.value\n\t\t\t\t\t\tif (this.model === '') {\n\t\t\t\t\t\t\t// this case is because of Chrome bug\n\t\t\t\t\t\t\tconst { yyyy, MM, dd } = this.getReadableDate(new Date())\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Emitted when the input value changes\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @return {Date} new chosen Date()\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${time}`)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst { yyyy, MM, dd } = this.getReadableDate(this.model)\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${time}`)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (this.type === 'month') {\n\t\t\t\t\t\tconst MM = (new Date($event.target.value).getMonth() + 1).toString().padStart(2, '0')\n\t\t\t\t\t\tif (this.model === '') {\n\t\t\t\t\t\t\tconst { yyyy, dd, hh, mm } = this.getReadableDate(new Date())\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst { yyyy, dd, hh, mm } = this.getReadableDate(this.model)\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst timezoneOffsetSeconds = new Date($event.target.valueAsNumber).getTimezoneOffset() * 1000 * 60\n\t\t\t\t\t\tconst inputDateWithTimezone = $event.target.valueAsNumber + timezoneOffsetSeconds\n\t\t\t\t\t\tthis.model = new Date(inputDateWithTimezone)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Returns Object with string values of a Date\n\t\t *\n\t\t * @param {Date} value The selected value\n\t\t * @return {object|undefined}\n\t\t */\n\t\tgetReadableDate(value) {\n\t\t\tif (value instanceof Date) {\n\t\t\t\tconst yyyy = value.getFullYear().toString().padStart(4, '0')\n\t\t\t\tconst MM = (value.getMonth() + 1).toString().padStart(2, '0')\n\t\t\t\tconst dd = value.getDate().toString().padStart(2, '0')\n\t\t\t\tconst hh = value.getHours().toString().padStart(2, '0')\n\t\t\t\tconst mm = value.getMinutes().toString().padStart(2, '0')\n\n\t\t\t\treturn { yyyy, MM, dd, hh, mm }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Returns preformatted value for the input field\n\t\t *\n\t\t * @param {Date} value The selected value\n\t\t * @return {string|undefined}\n\t\t */\n\t\tformatValue(value) {\n\t\t\tif (value instanceof Date) {\n\t\t\t\tconst { yyyy, MM, dd, hh, mm } = this.getReadableDate(value)\n\t\t\t\tif (this.type === 'datetime-local') {\n\t\t\t\t\treturn `${yyyy}-${MM}-${dd}T${hh}:${mm}`\n\t\t\t\t} else if (this.type === 'date') {\n\t\t\t\t\treturn `${yyyy}-${MM}-${dd}`\n\t\t\t\t} else if (this.type === 'month') {\n\t\t\t\t\treturn `${yyyy}-${MM}`\n\t\t\t\t} else if (this.type === 'time') {\n\t\t\t\t\treturn `${hh}:${mm}`\n\t\t\t\t} else if (this.type === 'week') {\n\t\t\t\t\tconst startDate = new Date(yyyy, 0, 1)\n\t\t\t\t\tconst daysSinceBeginningOfYear = Math.floor((value - startDate)\n\t\t\t\t\t\t/ (24 * 60 * 60 * 1000))\n\t\t\t\t\tconst weekNumber = Math.ceil(daysSinceBeginningOfYear / 7)\n\t\t\t\t\treturn `${yyyy}-W${weekNumber}`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn ''\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.native-datetime-picker {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t.native-datetime-picker .native-datetime-picker--label {\n\t\tmargin-block-end: 2px;\n\t}\n\n\t.native-datetime-picker .native-datetime-picker--input {\n\t\t// If border width differs between focused and unfocused we need to compensate to prevent jumping\n\t\t--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));\n\t\twidth: 100%;\n\t\tflex: 0 0 auto;\n\t\tmargin: 0;\n\t\tpadding-inline-start: calc(var(--border-radius-large) + var(--input-border-width-offset));\n\t\tpadding-inline-end: calc(var(--default-grid-baseline) + var(--input-border-width-offset));\n\t\tborder: var(--border-width-input, 2px) solid var(--color-border-maxcontrast);\n\n\t\t&:active:not([disabled]),\n\t\t&:hover:not([disabled]),\n\t\t&:focus:not([disabled]),\n\t\t&:focus-within:not([disabled]) {\n\t\t\tborder-color: var(--color-main-text);\n\t\t\tborder-width: var(--border-width-input-focused, 2px);\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t\t// Reset padding offset when focused\n\t\t\t--input-border-width-offset: 0px;\n\t\t}\n\t}\n\n\t[data-theme-light],\n\t[data-themes*=light] {\n\t\t.native-datetime-picker--input {\n\t\t\tcolor-scheme: light;\n\t\t}\n\t}\n\n\t[data-theme-dark],\n\t[data-themes*=dark] {\n\t\t.native-datetime-picker--input {\n\t\t\tcolor-scheme: dark;\n\t\t}\n\t}\n\n\t[data-theme-default],\n\t[data-themes*=default] {\n\t\t@media (prefers-color-scheme: light) {\n\t\t\t.native-datetime-picker--input {\n\t\t\t\tcolor-scheme: light;\n\t\t\t}\n\t\t}\n\t\t@media (prefers-color-scheme: dark) {\n\t\t\t.native-datetime-picker--input {\n\t\t\t\tcolor-scheme: dark;\n\t\t\t}\n\t\t}\n\t}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport NcDateTimePickerNative from './NcDateTimePickerNative.vue'\nimport ScopeComponent from '../../utils/ScopeComponent.js'\n\nScopeComponent(NcDateTimePickerNative)\n\nexport default NcDateTimePickerNative\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NcDateTimePickerNative.mjs","sources":["../../src/components/NcDateTimePickerNative/NcDateTimePickerNative.vue","../../src/components/NcDateTimePickerNative/index.js"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\n\nThis components provides a wrapper around the native browser datetime picker. <br>\nThis is an input with some type of date e.g. https://html.spec.whatwg.org/multipage/input.html#local-date-and-time-state-(type=datetime-local). <br>\nAll available types are: 'date', 'datetime-local', 'month', 'time' and 'week', please check them here: https://html.spec.whatwg.org/multipage/input.html# <br>\n\n### Examples\n\n```vue\n<template>\n\t<div>\n\t\t<span>Picked date: {{ value || 'null' }}</span>\n\t\t<hr/>\n\t\t<div class=\"flex\">\n\t\t\t<NcSelect v-bind=\"props\" v-model=\"type\" />\n\t\t\t<NcDateTimePickerNative\n\t\t\t\tv-model=\"value\"\n\t\t\t\t:label=\"label\"\n\t\t\t\t:type=\"type\" />\n\t\t</div>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tprops: {\n\t\t\t\t\tclearable: false,\n\t\t\t\t\tinputLabel: 'Picker type',\n\t\t\t\t\toptions: [\n\t\t\t\t\t\t'date',\n\t\t\t\t\t\t'datetime-local',\n\t\t\t\t\t\t'month',\n\t\t\t\t\t\t'time',\n\t\t\t\t\t\t'week',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\ttype: 'datetime-local',\n\t\t\t\tvalue: new Date(),\n\t\t\t\tlabel: 'Select a new date or time',\n\t\t\t}\n\t\t},\n\t}\n</script>\n<style scoped>\n.flex {\n\tdisplay: flex;\n\tgap: 4px;\n}\n</style>\n```\n\n#### Usage: type='datetime-local' with min date and max date\n```vue\n<template>\n\t<div>\n\t\t<span>Picked date: {{ value || 'null' }}</span>\n\t\t<NcDateTimePickerNative\n\t\t\tv-model=\"value\"\n\t\t\t:min=\"yesterdayDate\"\n\t\t\t:max=\"someDate\"\n\t\t\t:label=\"label\"\n\t\t\ttype=\"datetime-local\" />\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tvalue: new Date(),\n\t\t\t\tlabel: 'please select a new date',\n\t\t\t\tyesterdayDate: new Date(new Date().setDate(new Date().getDate() - 1)),\n\t\t\t\tsomeDate: new Date(new Date().setDate(new Date().getDate() + 7)),\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n</docs>\n\n<template>\n\t<div class=\"native-datetime-picker\">\n\t\t<label class=\"native-datetime-picker--label\"\n\t\t\t:class=\"{ 'hidden-visually': hideLabel }\"\n\t\t\t:for=\"id\">\n\t\t\t{{ label }}\n\t\t</label>\n\t\t<input :id=\"id\"\n\t\t\tclass=\"native-datetime-picker--input\"\n\t\t\t:class=\"inputClass\"\n\t\t\t:type=\"type\"\n\t\t\t:value=\"formattedValue\"\n\t\t\t:min=\"formattedMin\"\n\t\t\t:max=\"formattedMax\"\n\t\t\tv-bind=\"$attrs\"\n\t\t\tv-on=\"listeners\">\n\t</div>\n</template>\n\n<script>\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nconst inputDateTypes = ['date', 'datetime-local', 'month', 'time', 'week']\n\nexport default {\n\tname: 'NcDateTimePickerNative',\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 * @deprecated\n\t\t */\n\t\tvalue: {\n\t\t\ttype: Date,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * The date is – like the `Date` object in JavaScript – tied to UTC.\n\t\t * The selected time zone does not have an influence of the selected time and date value.\n\t\t * You have to translate the time yourself when you want to factor in time zones.\n\t\t * Pass null to clear the input field.\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: Date,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * id attribute of the input field\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'date-time-picker-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t\t/**\n\t\t * type attribute of the input field\n\t\t * default type: String\n\t\t * The type of the input element, it can be `date`, `datetime-local`, `month`, `time`, `week`\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'date',\n\t\t\tvalidate: (name) => inputDateTypes.includes(name),\n\t\t},\n\t\t/**\n\t\t * text inside the label element\n\t\t * default type: String\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: 'Please choose a date',\n\t\t},\n\t\t/**\n\t\t * min attribute of the input field\n\t\t * default type: null\n\t\t */\n\t\tmin: {\n\t\t\ttype: [Date, Boolean],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * max attribute of the input field\n\t\t * default type: null\n\t\t */\n\t\tmax: {\n\t\t\ttype: [Date, Boolean],\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Flag to hide the label\n\t\t * default type: String\n\t\t * The hidden input label for accessibility purposes.\n\t\t */\n\t\thideLabel: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Class to add to the input field.\n\t\t * Necessary to use NcDateTimePickerNative in the NcActionInput component.\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [Object, String],\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'input',\n\t\t/**\n\t\t * Emitted when the input value changes\n\t\t *\n\t\t * @return {Date} new chosen Date()\n\t\t */\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'input')\n\t\treturn {\n\t\t\tmodel,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tformattedValue() {\n\t\t\treturn this.formatValue(this.model)\n\t\t},\n\t\tformattedMin() {\n\t\t\tif (this.min) {\n\t\t\t\treturn this.formatValue(this.min)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tformattedMax() {\n\t\t\tif (this.max) {\n\t\t\t\treturn this.formatValue(this.max)\n\t\t\t}\n\t\t\treturn false\n\t\t},\n\t\tlisteners() {\n\t\t\treturn {\n\t\t\t\t...this.$listeners,\n\t\t\t\t/**\n\t\t\t\t * Handle the input event\n\t\t\t\t *\n\t\t\t\t * @param {InputEvent} $event input event payload\n\t\t\t\t * @return {Date|string} new chosen Date() or an empty string\n\t\t\t\t */\n\t\t\t\tinput: ($event) => {\n\t\t\t\t\tif (isNaN($event.target.valueAsNumber)) {\n\t\t\t\t\t\tthis.model = null\n\t\t\t\t\t} else if (this.type === 'time') {\n\t\t\t\t\t\tconst time = $event.target.value\n\t\t\t\t\t\tif (this.model === '') {\n\t\t\t\t\t\t\t// this case is because of Chrome bug\n\t\t\t\t\t\t\tconst { yyyy, MM, dd } = this.getReadableDate(new Date())\n\t\t\t\t\t\t\t/**\n\t\t\t\t\t\t\t * Emitted when the input value changes\n\t\t\t\t\t\t\t *\n\t\t\t\t\t\t\t * @return {Date} new chosen Date()\n\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${time}`)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst { yyyy, MM, dd } = this.getReadableDate(this.model)\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${time}`)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (this.type === 'month') {\n\t\t\t\t\t\tconst MM = (new Date($event.target.value).getMonth() + 1).toString().padStart(2, '0')\n\t\t\t\t\t\tif (this.model === '') {\n\t\t\t\t\t\t\tconst { yyyy, dd, hh, mm } = this.getReadableDate(new Date())\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`)\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst { yyyy, dd, hh, mm } = this.getReadableDate(this.model)\n\t\t\t\t\t\t\tthis.model = new Date(`${yyyy}-${MM}-${dd}T${hh}:${mm}`)\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst timezoneOffsetSeconds = new Date($event.target.valueAsNumber).getTimezoneOffset() * 1000 * 60\n\t\t\t\t\t\tconst inputDateWithTimezone = $event.target.valueAsNumber + timezoneOffsetSeconds\n\t\t\t\t\t\tthis.model = new Date(inputDateWithTimezone)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\t/**\n\t\t * Returns Object with string values of a Date\n\t\t *\n\t\t * @param {Date} value The selected value\n\t\t * @return {object|undefined}\n\t\t */\n\t\tgetReadableDate(value) {\n\t\t\tif (value instanceof Date) {\n\t\t\t\tconst yyyy = value.getFullYear().toString().padStart(4, '0')\n\t\t\t\tconst MM = (value.getMonth() + 1).toString().padStart(2, '0')\n\t\t\t\tconst dd = value.getDate().toString().padStart(2, '0')\n\t\t\t\tconst hh = value.getHours().toString().padStart(2, '0')\n\t\t\t\tconst mm = value.getMinutes().toString().padStart(2, '0')\n\n\t\t\t\treturn { yyyy, MM, dd, hh, mm }\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Returns preformatted value for the input field\n\t\t *\n\t\t * @param {Date} value The selected value\n\t\t * @return {string|undefined}\n\t\t */\n\t\tformatValue(value) {\n\t\t\tif (value instanceof Date) {\n\t\t\t\tconst { yyyy, MM, dd, hh, mm } = this.getReadableDate(value)\n\t\t\t\tif (this.type === 'datetime-local') {\n\t\t\t\t\treturn `${yyyy}-${MM}-${dd}T${hh}:${mm}`\n\t\t\t\t} else if (this.type === 'date') {\n\t\t\t\t\treturn `${yyyy}-${MM}-${dd}`\n\t\t\t\t} else if (this.type === 'month') {\n\t\t\t\t\treturn `${yyyy}-${MM}`\n\t\t\t\t} else if (this.type === 'time') {\n\t\t\t\t\treturn `${hh}:${mm}`\n\t\t\t\t} else if (this.type === 'week') {\n\t\t\t\t\tconst startDate = new Date(yyyy, 0, 1)\n\t\t\t\t\tconst daysSinceBeginningOfYear = Math.floor((value - startDate)\n\t\t\t\t\t\t/ (24 * 60 * 60 * 1000))\n\t\t\t\t\tconst weekNumber = Math.ceil(daysSinceBeginningOfYear / 7)\n\t\t\t\t\treturn `${yyyy}-W${weekNumber}`\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\treturn ''\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\t.native-datetime-picker {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t.native-datetime-picker .native-datetime-picker--label {\n\t\tmargin-block-end: 2px;\n\t}\n\n\t.native-datetime-picker .native-datetime-picker--input {\n\t\t// If border width differs between focused and unfocused we need to compensate to prevent jumping\n\t\t--input-border-width-offset: calc(var(--border-width-input-focused, 2px) - var(--border-width-input, 2px));\n\t\twidth: 100%;\n\t\tflex: 0 0 auto;\n\t\tmargin: 0;\n\t\tpadding-inline-start: calc(var(--border-radius-large) + var(--input-border-width-offset));\n\t\tpadding-inline-end: calc(var(--default-grid-baseline) + var(--input-border-width-offset));\n\t\tborder: var(--border-width-input, 2px) solid var(--color-border-maxcontrast);\n\n\t\t&:active:not([disabled]),\n\t\t&:hover:not([disabled]),\n\t\t&:focus:not([disabled]),\n\t\t&:focus-within:not([disabled]) {\n\t\t\tborder-color: var(--color-main-text);\n\t\t\tborder-width: var(--border-width-input-focused, 2px);\n\t\t\tbox-shadow: 0 0 0 2px var(--color-main-background) !important;\n\t\t\t// Reset padding offset when focused\n\t\t\t--input-border-width-offset: 0px;\n\t\t}\n\t}\n\n\t[data-theme-light],\n\t[data-themes*=light] {\n\t\t.native-datetime-picker--input {\n\t\t\tcolor-scheme: light;\n\t\t}\n\t}\n\n\t[data-theme-dark],\n\t[data-themes*=dark] {\n\t\t.native-datetime-picker--input {\n\t\t\tcolor-scheme: dark;\n\t\t}\n\t}\n\n\t[data-theme-default],\n\t[data-themes*=default] {\n\t\t@media (prefers-color-scheme: light) {\n\t\t\t.native-datetime-picker--input {\n\t\t\t\tcolor-scheme: light;\n\t\t\t}\n\t\t}\n\t\t@media (prefers-color-scheme: dark) {\n\t\t\t.native-datetime-picker--input {\n\t\t\t\tcolor-scheme: dark;\n\t\t\t}\n\t\t}\n\t}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport NcDateTimePickerNative from './NcDateTimePickerNative.vue'\nimport ScopeComponent from '../../utils/ScopeComponent.js'\n\nScopeComponent(NcDateTimePickerNative)\n\nexport default NcDateTimePickerNative\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcEllipsisedOption.cjs","sources":["../../src/components/NcEllipsisedOption/NcEllipsisedOption.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nA component to display a long text with highlight support in one line truncated with ellipsis in the end but keeping up to 10 last characters.\n\nIt is supposed to be used as an `NcSelect`'s option in first place.\n\n### General usage\n\n```vue\n<template>\n\t<div>\n\t\t<h4>Plain text</h4>\n\t\t<p>{{ text }}</p>\n\n\t\t<h4>Truncated text with <code>text-overflow: ellipsis</code></h4>\n\t\t<p style=\"text-overflow: ellipsis; overflow: hidden; white-space: pre;\">{{ text }}</p>\n\n\t\t<h4>NcEllipsisedOption searching for \"Nineteen\"</h4>\n\t\t<NcEllipsisedOption :name=\"text\" :search=\"search\" />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttext: 'One Two Three Four Five Six Seven Eight Nine Ten Eleven Twelve Thirteen Fourteen Fifteen Sixteen Seventeen Eighteen Nineteen Twenty',\n\t\t\tsearch: 'Nineteen',\n\t\t}\n\t},\n}\n</script>\n```\n\n### Usage in `NcSelect`\n\n```vue\n<template>\n\t<NcSelect v-model=\"selected\" :options=\"options\">\n\t\t<template #option=\"option\">\n\t\t\t<NcEllipsisedOption :name=\"option.label\" />\n\t\t</template>\n\t\t<template #selected-option=\"selectedOption\">\n\t\t\t<NcEllipsisedOption :name=\"selectedOption.label\" />\n\t\t</template>\n\t</NcSelect>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\toptions: [\n\t\t\t\t'Option 1 - a short opt.',\n\t\t\t\t'Option 2 - a very very very very long opt.',\n\t\t\t].map((label) => ({ label })),\n\t\t\tselected: '',\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<span dir=\"auto\" class=\"name-parts\" :title=\"name\">\n\t\t<NcHighlight class=\"name-parts__first\"\n\t\t\t:text=\"part1\"\n\t\t\t:search=\"search\"\n\t\t\t:highlight=\"highlight1\" />\n\t\t<NcHighlight v-if=\"part2\"\n\t\t\tclass=\"name-parts__last\"\n\t\t\t:text=\"part2\"\n\t\t\t:search=\"search\"\n\t\t\t:highlight=\"highlight2\" />\n\t</span>\n</template>\n<script>\nimport NcHighlight from '../NcHighlight/index.js'\nimport FindRanges from '../../utils/FindRanges.js'\n\nexport default {\n\tname: 'NcEllipsisedOption',\n\n\tcomponents: {\n\t\tNcHighlight,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * The text to be display in one line. If it is longer than 10 characters, it is be truncated with ellipsis in the end but keeping up to 10 last characters to fit the parent container.\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The search value to highlight in the text\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tneedsTruncate() {\n\t\t\treturn this.name && this.name.length >= 10\n\t\t},\n\t\t/**\n\t\t * Index at which to split the name if it is longer than 10 characters.\n\t\t *\n\t\t * @return {number} The position at which to split\n\t\t */\n\t\tsplit() {\n\t\t\t// leave maximum 10 letters\n\t\t\treturn this.name.length - Math.min(Math.floor(this.name.length / 2), 10)\n\t\t},\n\t\tpart1() {\n\t\t\tif (this.needsTruncate) {\n\t\t\t\treturn this.name.slice(0, this.split)\n\t\t\t}\n\t\t\treturn this.name\n\t\t},\n\t\tpart2() {\n\t\t\tif (this.needsTruncate) {\n\t\t\t\treturn this.name.slice(this.split)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\t/**\n\t\t * The ranges to highlight. Since we split the string for ellipsising,\n\t\t * the Highlight component cannot figure this out itself and needs the ranges provided.\n\t\t *\n\t\t * @return {Array} The array with the ranges to highlight\n\t\t */\n\t\thighlight1() {\n\t\t\tif (!this.search) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn FindRanges(this.name, this.search)\n\t\t},\n\t\t/**\n\t\t * We shift the ranges for the second part by the position of the split.\n\t\t * Ranges out of the string length are discarded by the Highlight component,\n\t\t * so we don't need to take care of this here.\n\t\t *\n\t\t * @return {Array} The array with the ranges to highlight\n\t\t */\n\t\thighlight2() {\n\t\t\treturn this.highlight1.map(range => {\n\t\t\t\treturn {\n\t\t\t\t\tstart: range.start - this.split,\n\t\t\t\t\tend: range.end - this.split,\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.name-parts {\n\tdisplay: flex;\n\tmax-width: 100%;\n\tcursor: inherit;\n\t&__first {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t&__first,\n\t&__last {\n\t\t// prevent whitespace from being trimmed\n\t\twhite-space: pre;\n\t\tcursor: inherit;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n</style>\n"],"names":["NcHighlight","FindRanges"],"mappings":";;;AAqFA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,aAAAA,uBAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,gBAAA;AACA,aAAA,KAAA,QAAA,KAAA,KAAA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAA;AAEA,aAAA,KAAA,KAAA,SAAA,KAAA,IAAA,KAAA,MAAA,KAAA,KAAA,SAAA,CAAA,GAAA,EAAA;AAAA,IACA;AAAA,IACA,QAAA;AACA,UAAA,KAAA,eAAA;AACA,eAAA,KAAA,KAAA,MAAA,GAAA,KAAA,KAAA;AAAA,MACA;AACA,aAAA,KAAA;AAAA,IACA;AAAA,IACA,QAAA;AACA,UAAA,KAAA,eAAA;AACA,eAAA,KAAA,KAAA,MAAA,KAAA,KAAA;AAAA,MACA;AACA,aAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,aAAA;AACA,UAAA,CAAA,KAAA,QAAA;AACA,eAAA,CAAA;AAAA,MACA;AACA,aAAAC,
|
|
1
|
+
{"version":3,"file":"NcEllipsisedOption.cjs","sources":["../../src/components/NcEllipsisedOption/NcEllipsisedOption.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nA component to display a long text with highlight support in one line truncated with ellipsis in the end but keeping up to 10 last characters.\n\nIt is supposed to be used as an `NcSelect`'s option in first place.\n\n### General usage\n\n```vue\n<template>\n\t<div>\n\t\t<h4>Plain text</h4>\n\t\t<p>{{ text }}</p>\n\n\t\t<h4>Truncated text with <code>text-overflow: ellipsis</code></h4>\n\t\t<p style=\"text-overflow: ellipsis; overflow: hidden; white-space: pre;\">{{ text }}</p>\n\n\t\t<h4>NcEllipsisedOption searching for \"Nineteen\"</h4>\n\t\t<NcEllipsisedOption :name=\"text\" :search=\"search\" />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttext: 'One Two Three Four Five Six Seven Eight Nine Ten Eleven Twelve Thirteen Fourteen Fifteen Sixteen Seventeen Eighteen Nineteen Twenty',\n\t\t\tsearch: 'Nineteen',\n\t\t}\n\t},\n}\n</script>\n```\n\n### Usage in `NcSelect`\n\n```vue\n<template>\n\t<NcSelect v-model=\"selected\" :options=\"options\">\n\t\t<template #option=\"option\">\n\t\t\t<NcEllipsisedOption :name=\"option.label\" />\n\t\t</template>\n\t\t<template #selected-option=\"selectedOption\">\n\t\t\t<NcEllipsisedOption :name=\"selectedOption.label\" />\n\t\t</template>\n\t</NcSelect>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\toptions: [\n\t\t\t\t'Option 1 - a short opt.',\n\t\t\t\t'Option 2 - a very very very very long opt.',\n\t\t\t].map((label) => ({ label })),\n\t\t\tselected: '',\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<span dir=\"auto\" class=\"name-parts\" :title=\"name\">\n\t\t<NcHighlight class=\"name-parts__first\"\n\t\t\t:text=\"part1\"\n\t\t\t:search=\"search\"\n\t\t\t:highlight=\"highlight1\" />\n\t\t<NcHighlight v-if=\"part2\"\n\t\t\tclass=\"name-parts__last\"\n\t\t\t:text=\"part2\"\n\t\t\t:search=\"search\"\n\t\t\t:highlight=\"highlight2\" />\n\t</span>\n</template>\n<script>\nimport NcHighlight from '../NcHighlight/index.js'\nimport FindRanges from '../../utils/FindRanges.js'\n\nexport default {\n\tname: 'NcEllipsisedOption',\n\n\tcomponents: {\n\t\tNcHighlight,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * The text to be display in one line. If it is longer than 10 characters, it is be truncated with ellipsis in the end but keeping up to 10 last characters to fit the parent container.\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * The search value to highlight in the text\n\t\t */\n\t\tsearch: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tneedsTruncate() {\n\t\t\treturn this.name && this.name.length >= 10\n\t\t},\n\t\t/**\n\t\t * Index at which to split the name if it is longer than 10 characters.\n\t\t *\n\t\t * @return {number} The position at which to split\n\t\t */\n\t\tsplit() {\n\t\t\t// leave maximum 10 letters\n\t\t\treturn this.name.length - Math.min(Math.floor(this.name.length / 2), 10)\n\t\t},\n\t\tpart1() {\n\t\t\tif (this.needsTruncate) {\n\t\t\t\treturn this.name.slice(0, this.split)\n\t\t\t}\n\t\t\treturn this.name\n\t\t},\n\t\tpart2() {\n\t\t\tif (this.needsTruncate) {\n\t\t\t\treturn this.name.slice(this.split)\n\t\t\t}\n\t\t\treturn ''\n\t\t},\n\t\t/**\n\t\t * The ranges to highlight. Since we split the string for ellipsising,\n\t\t * the Highlight component cannot figure this out itself and needs the ranges provided.\n\t\t *\n\t\t * @return {Array} The array with the ranges to highlight\n\t\t */\n\t\thighlight1() {\n\t\t\tif (!this.search) {\n\t\t\t\treturn []\n\t\t\t}\n\t\t\treturn FindRanges(this.name, this.search)\n\t\t},\n\t\t/**\n\t\t * We shift the ranges for the second part by the position of the split.\n\t\t * Ranges out of the string length are discarded by the Highlight component,\n\t\t * so we don't need to take care of this here.\n\t\t *\n\t\t * @return {Array} The array with the ranges to highlight\n\t\t */\n\t\thighlight2() {\n\t\t\treturn this.highlight1.map(range => {\n\t\t\t\treturn {\n\t\t\t\t\tstart: range.start - this.split,\n\t\t\t\t\tend: range.end - this.split,\n\t\t\t\t}\n\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.name-parts {\n\tdisplay: flex;\n\tmax-width: 100%;\n\tcursor: inherit;\n\t&__first {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n\t&__first,\n\t&__last {\n\t\t// prevent whitespace from being trimmed\n\t\twhite-space: pre;\n\t\tcursor: inherit;\n\t\tstrong {\n\t\t\tfont-weight: bold;\n\t\t}\n\t}\n}\n</style>\n"],"names":["NcHighlight","FindRanges"],"mappings":";;;AAqFA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,aAAAA,uBAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,QAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,gBAAA;AACA,aAAA,KAAA,QAAA,KAAA,KAAA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,QAAA;AAEA,aAAA,KAAA,KAAA,SAAA,KAAA,IAAA,KAAA,MAAA,KAAA,KAAA,SAAA,CAAA,GAAA,EAAA;AAAA,IACA;AAAA,IACA,QAAA;AACA,UAAA,KAAA,eAAA;AACA,eAAA,KAAA,KAAA,MAAA,GAAA,KAAA,KAAA;AAAA,MACA;AACA,aAAA,KAAA;AAAA,IACA;AAAA,IACA,QAAA;AACA,UAAA,KAAA,eAAA;AACA,eAAA,KAAA,KAAA,MAAA,KAAA,KAAA;AAAA,MACA;AACA,aAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,aAAA;AACA,UAAA,CAAA,KAAA,QAAA;AACA,eAAA,CAAA;AAAA,MACA;AACA,aAAAC,kCAAA,KAAA,MAAA,KAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,aAAA;AACA,aAAA,KAAA,WAAA,IAAA,WAAA;AACA,eAAA;AAAA,UACA,OAAA,MAAA,QAAA,KAAA;AAAA,UACA,KAAA,MAAA,MAAA,KAAA;AAAA,QACA;AAAA,MACA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require('../assets/NcEmptyContent-
|
|
1
|
+
require('../assets/NcEmptyContent-CSsXYYcn.css');
|
|
2
2
|
"use strict";
|
|
3
3
|
const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
4
4
|
const _sfc_main = {
|
|
@@ -48,7 +48,8 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
48
48
|
_sfc_staticRenderFns,
|
|
49
49
|
false,
|
|
50
50
|
null,
|
|
51
|
-
"
|
|
51
|
+
"12126d08"
|
|
52
52
|
);
|
|
53
53
|
const NcEmptyContent = __component__.exports;
|
|
54
54
|
module.exports = NcEmptyContent;
|
|
55
|
+
//# sourceMappingURL=NcEmptyContent.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcEmptyContent.cjs","sources":["../../src/components/NcEmptyContent/NcEmptyContent.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Basic use\n\nUse this component to display a message about an empty content.\nProviding an icon, name, and a description is strongly advised.\n\n```\n<template>\n\t<NcEmptyContent name=\"No comments\"\n\t\tdescription=\"Start writing comments and they will appear here.\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport Comment from 'vue-material-design-icons/Comment.vue'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n}\n</script>\n```\n#### With custom svg\n\n```\n<template>\n\t<NcEmptyContent\n\t\tname=\"No files in here\">\n\t\t<template #icon>\n\t\t\t<NcIconSvgWrapper :svg=\"folderSvg\" />\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport folderSvg from '@mdi/svg/svg/folder.svg?raw'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tfolderSvg,\n\t\t}\n\t},\n}\n</script>\n```\n\nYou can also customize the name using the `#name` slot\nand add actions. But to keep the style consistent across Nextcloud\nconsider only using header elements as the root elements for the name slot.\n\n```\n<template>\n\t<NcEmptyContent\n\t\tdescription=\"No comments in here\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t\t<template #name>\n\t\t\t<h1 class=\"empty-content__name\">\n\t\t\t\tNo comments\n\t\t\t</h1>\n\t\t</template>\n\t\t<template #action>\n\t\t\t<NcButton
|
|
1
|
+
{"version":3,"file":"NcEmptyContent.cjs","sources":["../../src/components/NcEmptyContent/NcEmptyContent.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Basic use\n\nUse this component to display a message about an empty content.\nProviding an icon, name, and a description is strongly advised.\n\n```\n<template>\n\t<NcEmptyContent name=\"No comments\"\n\t\tdescription=\"Start writing comments and they will appear here.\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport Comment from 'vue-material-design-icons/Comment.vue'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n}\n</script>\n```\n#### With custom svg\n\n```\n<template>\n\t<NcEmptyContent\n\t\tname=\"No files in here\">\n\t\t<template #icon>\n\t\t\t<NcIconSvgWrapper :svg=\"folderSvg\" />\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport folderSvg from '@mdi/svg/svg/folder.svg?raw'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tfolderSvg,\n\t\t}\n\t},\n}\n</script>\n```\n\nYou can also customize the name using the `#name` slot\nand add actions. But to keep the style consistent across Nextcloud\nconsider only using header elements as the root elements for the name slot.\n\n```\n<template>\n\t<NcEmptyContent\n\t\tdescription=\"No comments in here\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t\t<template #name>\n\t\t\t<h1 class=\"empty-content__name\">\n\t\t\t\tNo comments\n\t\t\t</h1>\n\t\t</template>\n\t\t<template #action>\n\t\t\t<NcButton variant=\"primary\">\n\t\t\t\tAdd a comment!\n\t\t\t</NcButton>\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport Comment from 'vue-material-design-icons/Comment.vue'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n}\n</script>\n```\n\nSimilar to the `#name` slot, you could also use the `#description` slot.\nThe content will be rendered within a paragraph so you can use any inline element,\nlike a link.\n\n```\n<template>\n\t<NcEmptyContent\n\t\tname=\"No comments\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t\t<template #description>\n\t\t\t<a href=\"https://en.wikipedia.org/wiki/Comment\">What is even a comment?</a>\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport Comment from 'vue-material-design-icons/Comment.vue'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<div class=\"empty-content\" role=\"note\">\n\t\t<div v-if=\"$slots.icon\" class=\"empty-content__icon\" aria-hidden=\"true\">\n\t\t\t<!-- @slot Optional material design icon -->\n\t\t\t<slot name=\"icon\" />\n\t\t</div>\n\t\t<!-- @slot Optional name if not set as property, shall be enclosed by a header element -->\n\t\t<slot name=\"name\">\n\t\t\t<span v-if=\"hasName\" class=\"empty-content__name\">\n\t\t\t\t{{ name }}\n\t\t\t</span>\n\t\t</slot>\n\t\t<p v-if=\"hasDescription\" class=\"empty-content__description\">\n\t\t\t<!-- @slot Optional formatted description rendered inside a paragraph -->\n\t\t\t<slot name=\"description\">\n\t\t\t\t{{ description }}\n\t\t\t</slot>\n\t\t</p>\n\t\t<div v-if=\"$slots.action\" class=\"empty-content__action\">\n\t\t\t<!-- @slot Optional slot for a button or the like -->\n\t\t\t<slot name=\"action\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcEmptyContent',\n\n\tprops: {\n\t\t/**\n\t\t * A header message about an empty content shown\n\t\t * @example 'No comments'\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Desription of the empty content\n\t\t * @example 'No comments yet, start the conversation!'\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\thasName() {\n\t\t\treturn this.name !== ''\n\t\t},\n\t\t/**\n\t\t * Check if a description is given as either property or slot\n\t\t */\n\t\thasDescription() {\n\t\t\treturn this.description !== '' || this.$slots.description?.[0]\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.empty-content {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n\tjustify-content: center;\n\t/* In case of using in a flex container - flex in advance */\n\tflex-grow: 1;\n\n\t.modal-wrapper & {\n\t\tmargin-top: 5vh;\n\t\tmargin-bottom: 5vh;\n\t}\n\n\t&__icon {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 64px;\n\t\theight: 64px;\n\t\tmargin: 0 auto 15px;\n\t\topacity: .4;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: 64px;\n\n\t\t:deep(svg) {\n\t\t\twidth: 64px !important;\n\t\t\theight: 64px !important;\n\t\t\tmax-width: 64px !important;\n\t\t\tmax-height: 64px !important;\n\t\t}\n\t}\n\n\t&__name {\n\t\tmargin-bottom: 10px;\n\t\ttext-align: center;\n\t\tfont-weight: bold;\n\t\tfont-size: 20px;\n\t\tline-height: 30px;\n\t}\n\n\t&__description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__action {\n\t\tmargin-top: 8px;\n\n\t\t.modal-wrapper & {\n\t\t\tmargin-top: 20px;\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n}\n</style>\n"],"names":[],"mappings":";;AAqJA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,UAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,iBAAA;AACA,aAAA,KAAA,gBAAA,MAAA,KAAA,OAAA,cAAA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import '../assets/NcEmptyContent-
|
|
1
|
+
import '../assets/NcEmptyContent-CSsXYYcn.css';
|
|
2
2
|
import { n as normalizeComponent } from "../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
3
3
|
const _sfc_main = {
|
|
4
4
|
name: "NcEmptyContent",
|
|
@@ -47,9 +47,10 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
|
47
47
|
_sfc_staticRenderFns,
|
|
48
48
|
false,
|
|
49
49
|
null,
|
|
50
|
-
"
|
|
50
|
+
"12126d08"
|
|
51
51
|
);
|
|
52
52
|
const NcEmptyContent = __component__.exports;
|
|
53
53
|
export {
|
|
54
54
|
NcEmptyContent as default
|
|
55
55
|
};
|
|
56
|
+
//# sourceMappingURL=NcEmptyContent.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcEmptyContent.mjs","sources":["../../src/components/NcEmptyContent/NcEmptyContent.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Basic use\n\nUse this component to display a message about an empty content.\nProviding an icon, name, and a description is strongly advised.\n\n```\n<template>\n\t<NcEmptyContent name=\"No comments\"\n\t\tdescription=\"Start writing comments and they will appear here.\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport Comment from 'vue-material-design-icons/Comment.vue'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n}\n</script>\n```\n#### With custom svg\n\n```\n<template>\n\t<NcEmptyContent\n\t\tname=\"No files in here\">\n\t\t<template #icon>\n\t\t\t<NcIconSvgWrapper :svg=\"folderSvg\" />\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport folderSvg from '@mdi/svg/svg/folder.svg?raw'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tfolderSvg,\n\t\t}\n\t},\n}\n</script>\n```\n\nYou can also customize the name using the `#name` slot\nand add actions. But to keep the style consistent across Nextcloud\nconsider only using header elements as the root elements for the name slot.\n\n```\n<template>\n\t<NcEmptyContent\n\t\tdescription=\"No comments in here\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t\t<template #name>\n\t\t\t<h1 class=\"empty-content__name\">\n\t\t\t\tNo comments\n\t\t\t</h1>\n\t\t</template>\n\t\t<template #action>\n\t\t\t<NcButton
|
|
1
|
+
{"version":3,"file":"NcEmptyContent.mjs","sources":["../../src/components/NcEmptyContent/NcEmptyContent.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Basic use\n\nUse this component to display a message about an empty content.\nProviding an icon, name, and a description is strongly advised.\n\n```\n<template>\n\t<NcEmptyContent name=\"No comments\"\n\t\tdescription=\"Start writing comments and they will appear here.\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport Comment from 'vue-material-design-icons/Comment.vue'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n}\n</script>\n```\n#### With custom svg\n\n```\n<template>\n\t<NcEmptyContent\n\t\tname=\"No files in here\">\n\t\t<template #icon>\n\t\t\t<NcIconSvgWrapper :svg=\"folderSvg\" />\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport folderSvg from '@mdi/svg/svg/folder.svg?raw'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tfolderSvg,\n\t\t}\n\t},\n}\n</script>\n```\n\nYou can also customize the name using the `#name` slot\nand add actions. But to keep the style consistent across Nextcloud\nconsider only using header elements as the root elements for the name slot.\n\n```\n<template>\n\t<NcEmptyContent\n\t\tdescription=\"No comments in here\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t\t<template #name>\n\t\t\t<h1 class=\"empty-content__name\">\n\t\t\t\tNo comments\n\t\t\t</h1>\n\t\t</template>\n\t\t<template #action>\n\t\t\t<NcButton variant=\"primary\">\n\t\t\t\tAdd a comment!\n\t\t\t</NcButton>\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport Comment from 'vue-material-design-icons/Comment.vue'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n}\n</script>\n```\n\nSimilar to the `#name` slot, you could also use the `#description` slot.\nThe content will be rendered within a paragraph so you can use any inline element,\nlike a link.\n\n```\n<template>\n\t<NcEmptyContent\n\t\tname=\"No comments\">\n\t\t<template #icon>\n\t\t\t<Comment />\n\t\t</template>\n\t\t<template #description>\n\t\t\t<a href=\"https://en.wikipedia.org/wiki/Comment\">What is even a comment?</a>\n\t\t</template>\n\t</NcEmptyContent>\n</template>\n\n<script>\nimport Comment from 'vue-material-design-icons/Comment.vue'\n\nexport default {\n\tcomponents: {\n\t\tComment,\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<div class=\"empty-content\" role=\"note\">\n\t\t<div v-if=\"$slots.icon\" class=\"empty-content__icon\" aria-hidden=\"true\">\n\t\t\t<!-- @slot Optional material design icon -->\n\t\t\t<slot name=\"icon\" />\n\t\t</div>\n\t\t<!-- @slot Optional name if not set as property, shall be enclosed by a header element -->\n\t\t<slot name=\"name\">\n\t\t\t<span v-if=\"hasName\" class=\"empty-content__name\">\n\t\t\t\t{{ name }}\n\t\t\t</span>\n\t\t</slot>\n\t\t<p v-if=\"hasDescription\" class=\"empty-content__description\">\n\t\t\t<!-- @slot Optional formatted description rendered inside a paragraph -->\n\t\t\t<slot name=\"description\">\n\t\t\t\t{{ description }}\n\t\t\t</slot>\n\t\t</p>\n\t\t<div v-if=\"$slots.action\" class=\"empty-content__action\">\n\t\t\t<!-- @slot Optional slot for a button or the like -->\n\t\t\t<slot name=\"action\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcEmptyContent',\n\n\tprops: {\n\t\t/**\n\t\t * A header message about an empty content shown\n\t\t * @example 'No comments'\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Desription of the empty content\n\t\t * @example 'No comments yet, start the conversation!'\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\tcomputed: {\n\t\thasName() {\n\t\t\treturn this.name !== ''\n\t\t},\n\t\t/**\n\t\t * Check if a description is given as either property or slot\n\t\t */\n\t\thasDescription() {\n\t\t\treturn this.description !== '' || this.$slots.description?.[0]\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.empty-content {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: column;\n\tjustify-content: center;\n\t/* In case of using in a flex container - flex in advance */\n\tflex-grow: 1;\n\n\t.modal-wrapper & {\n\t\tmargin-top: 5vh;\n\t\tmargin-bottom: 5vh;\n\t}\n\n\t&__icon {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 64px;\n\t\theight: 64px;\n\t\tmargin: 0 auto 15px;\n\t\topacity: .4;\n\t\tbackground-repeat: no-repeat;\n\t\tbackground-position: center;\n\t\tbackground-size: 64px;\n\n\t\t:deep(svg) {\n\t\t\twidth: 64px !important;\n\t\t\theight: 64px !important;\n\t\t\tmax-width: 64px !important;\n\t\t\tmax-height: 64px !important;\n\t\t}\n\t}\n\n\t&__name {\n\t\tmargin-bottom: 10px;\n\t\ttext-align: center;\n\t\tfont-weight: bold;\n\t\tfont-size: 20px;\n\t\tline-height: 30px;\n\t}\n\n\t&__description {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t&__action {\n\t\tmargin-top: 8px;\n\n\t\t.modal-wrapper & {\n\t\t\tmargin-top: 20px;\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n}\n</style>\n"],"names":[],"mappings":";AAqJA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAKA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA,IACA,UAAA;AACA,aAAA,KAAA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,iBAAA;AACA,aAAA,KAAA,gBAAA,MAAA,KAAA,OAAA,cAAA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
require('../assets/NcHeaderButton-
|
|
1
|
+
require('../assets/NcHeaderButton-Dr6MgPDQ.css');
|
|
2
2
|
"use strict";
|
|
3
3
|
const GenRandomId = require("../chunks/GenRandomId-BQDud3d4.cjs");
|
|
4
4
|
const Components_NcButton = require("./NcButton.cjs");
|
|
@@ -42,7 +42,7 @@ const _sfc_main = {
|
|
|
42
42
|
};
|
|
43
43
|
var _sfc_render = function render() {
|
|
44
44
|
var _vm = this, _c = _vm._self._c;
|
|
45
|
-
return _c("div", { staticClass: "header-menu", attrs: { "id": _vm.id } }, [_c("NcButton", { staticClass: "header-menu__trigger", attrs: { "
|
|
45
|
+
return _c("div", { staticClass: "header-menu", attrs: { "id": _vm.id } }, [_c("NcButton", { staticClass: "header-menu__trigger", attrs: { "aria-label": _vm.ariaLabel, "aria-describedby": _vm.descriptionId, "size": "large", "variant": "tertiary-no-background" }, on: { "click": function($event) {
|
|
46
46
|
$event.preventDefault();
|
|
47
47
|
return _vm.$emit("click", $event);
|
|
48
48
|
} }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
|
|
@@ -56,7 +56,8 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
56
56
|
_sfc_staticRenderFns,
|
|
57
57
|
false,
|
|
58
58
|
null,
|
|
59
|
-
"
|
|
59
|
+
"20fd51f9"
|
|
60
60
|
);
|
|
61
61
|
const NcHeaderButton = __component__.exports;
|
|
62
62
|
module.exports = NcHeaderButton;
|
|
63
|
+
//# sourceMappingURL=NcHeaderButton.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcHeaderButton.cjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts…\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton
|
|
1
|
+
{"version":3,"file":"NcHeaderButton.cjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts…\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton class=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"descriptionId\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"$emit('click', $event)\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span v-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderButton',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` attribute of the button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../NcHeaderMenu/header-menu__trigger';\n</style>\n"],"names":["NcButton","GenRandomId"],"mappings":";;;;AA2FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,UAAAA;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,eAAAC,YAAAA,YAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import '../assets/NcHeaderButton-
|
|
1
|
+
import '../assets/NcHeaderButton-Dr6MgPDQ.css';
|
|
2
2
|
import { G as GenRandomId } from "../chunks/GenRandomId-CMooMQt0.mjs";
|
|
3
3
|
import NcButton from "./NcButton.mjs";
|
|
4
4
|
import { n as normalizeComponent } from "../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
@@ -41,7 +41,7 @@ const _sfc_main = {
|
|
|
41
41
|
};
|
|
42
42
|
var _sfc_render = function render() {
|
|
43
43
|
var _vm = this, _c = _vm._self._c;
|
|
44
|
-
return _c("div", { staticClass: "header-menu", attrs: { "id": _vm.id } }, [_c("NcButton", { staticClass: "header-menu__trigger", attrs: { "
|
|
44
|
+
return _c("div", { staticClass: "header-menu", attrs: { "id": _vm.id } }, [_c("NcButton", { staticClass: "header-menu__trigger", attrs: { "aria-label": _vm.ariaLabel, "aria-describedby": _vm.descriptionId, "size": "large", "variant": "tertiary-no-background" }, on: { "click": function($event) {
|
|
45
45
|
$event.preventDefault();
|
|
46
46
|
return _vm.$emit("click", $event);
|
|
47
47
|
} }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
|
|
@@ -55,9 +55,10 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
|
55
55
|
_sfc_staticRenderFns,
|
|
56
56
|
false,
|
|
57
57
|
null,
|
|
58
|
-
"
|
|
58
|
+
"20fd51f9"
|
|
59
59
|
);
|
|
60
60
|
const NcHeaderButton = __component__.exports;
|
|
61
61
|
export {
|
|
62
62
|
NcHeaderButton as default
|
|
63
63
|
};
|
|
64
|
+
//# sourceMappingURL=NcHeaderButton.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcHeaderButton.mjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts…\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton
|
|
1
|
+
{"version":3,"file":"NcHeaderButton.mjs","sources":["../../src/components/NcHeaderButton/NcHeaderButton.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nThis component is made to be used in the Nextcloud top header,\nsimilar to the NcHeaderMenu but to be used when only a trigger button is needed, e.g. when opening a dialog.\n\n```\n<template>\n\t<div id=\"nextcloud-header\">\n\t\t<NcHeaderButton id=\"search-dialog\"\n\t\t\taria-label=\"Search\"\n\t\t\t@click=\"showDialog = true\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify />\n\t\t\t</template>\n\t\t</NcHeaderButton>\n\n\t\t<NcDialog name=\"Search\"\n\t\t\tsize=\"normal\"\n\t\t\t:open.sync=\"showDialog\">\n\t\t\t<NcTextField label=\"Search for files, comments, contacts…\"\n\t\t\t\ttype=\"search\"\n\t\t\t\t:value.sync=\"query\" />\n\t\t\t<NcEmptyContent name=\"Search\"\n\t\t\t\t:description=\"query ? `No results for '${query}'` : 'Start typing to search'\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tquery: '',\n\t\t}\n\t},\n}\n</script>\n<style>\n#nextcloud-header {\n\tdisplay: flex;\n\tjustify-content: right;\n\tbackground-color: var(--color-primary);\n\theight: var(--header-height, 50px);\n\tpadding-inline-end: 12px;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<!-- We need a wrapper for server styles to apply -->\n\t<div :id=\"id\" class=\"header-menu\">\n\t\t<NcButton class=\"header-menu__trigger\"\n\t\t\t:aria-label=\"ariaLabel\"\n\t\t\t:aria-describedby=\"descriptionId\"\n\t\t\tsize=\"large\"\n\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t@click.prevent=\"$emit('click', $event)\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot Icon trigger slot. Make sure the svg path\n\t\t\t\tis at least 16px. Usually mdi icon works at 20px -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</template>\n\t\t</NcButton>\n\n\t\t<span v-if=\"description\"\n\t\t\t:id=\"descriptionId\"\n\t\t\tclass=\"header-menu__description hidden-visually\">\n\t\t\t{{ description }}\n\t\t</span>\n\t</div>\n</template>\n\n<script>\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcButton from '../NcButton/index.js'\n\nexport default {\n\tname: 'NcHeaderButton',\n\n\tcomponents: {\n\t\tNcButton,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id for this menu\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` attribute of the button\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional visually hidden description text for the button\n\t\t */\n\t\tdescription: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: [\n\t\t'click',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tdescriptionId: GenRandomId(),\n\t\t}\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import '../NcHeaderMenu/header-menu__trigger';\n</style>\n"],"names":[],"mappings":";;;AA2FA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,eAAA,YAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const NcIconSvgWrapper = require("../chunks/NcIconSvgWrapper-
|
|
2
|
+
const NcIconSvgWrapper = require("../chunks/NcIconSvgWrapper-BlucK1g3.cjs");
|
|
3
3
|
module.exports = NcIconSvgWrapper.NcIconSvgWrapper;
|
|
4
|
+
//# sourceMappingURL=NcIconSvgWrapper.cjs.map
|