@nextcloud/vue 8.30.0 → 8.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -2
- package/dist/Components/NcActionButton.cjs +1 -1
- package/dist/Components/NcActionButton.mjs +1 -1
- package/dist/Components/NcActionButtonGroup.cjs +1 -1
- package/dist/Components/NcActionButtonGroup.mjs +1 -1
- package/dist/Components/NcActionCheckbox.cjs +1 -1
- package/dist/Components/NcActionCheckbox.mjs +1 -1
- package/dist/Components/NcActionInput.cjs +1 -1
- package/dist/Components/NcActionInput.mjs +1 -1
- package/dist/Components/NcActionLink.cjs +5 -5
- package/dist/Components/NcActionLink.cjs.map +1 -1
- package/dist/Components/NcActionLink.mjs +5 -5
- package/dist/Components/NcActionLink.mjs.map +1 -1
- package/dist/Components/NcActionRadio.cjs +1 -1
- package/dist/Components/NcActionRadio.mjs +1 -1
- package/dist/Components/NcActionRouter.cjs +3 -4
- package/dist/Components/NcActionRouter.cjs.map +1 -1
- package/dist/Components/NcActionRouter.mjs +3 -4
- package/dist/Components/NcActionRouter.mjs.map +1 -1
- package/dist/Components/NcActionText.cjs +3 -3
- package/dist/Components/NcActionText.cjs.map +1 -1
- package/dist/Components/NcActionText.mjs +3 -3
- package/dist/Components/NcActionText.mjs.map +1 -1
- package/dist/Components/NcActionTextEditable.cjs +1 -1
- package/dist/Components/NcActionTextEditable.mjs +1 -1
- package/dist/Components/NcActions.cjs +1 -1
- package/dist/Components/NcActions.mjs +1 -1
- package/dist/Components/NcAppContent.cjs +1 -1
- package/dist/Components/NcAppContent.mjs +1 -1
- package/dist/Components/NcAppContentList.cjs +6 -0
- package/dist/Components/NcAppContentList.cjs.map +1 -1
- package/dist/Components/NcAppContentList.mjs +6 -0
- package/dist/Components/NcAppContentList.mjs.map +1 -1
- package/dist/Components/NcAppNavigation.cjs +1 -1
- package/dist/Components/NcAppNavigation.mjs +1 -1
- package/dist/Components/NcAppNavigationCaption.cjs +1 -1
- package/dist/Components/NcAppNavigationCaption.mjs +1 -1
- package/dist/Components/NcAppNavigationIconBullet.cjs +5 -2
- package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
- package/dist/Components/NcAppNavigationIconBullet.mjs +5 -2
- package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
- package/dist/Components/NcAppNavigationItem.cjs +1 -1
- package/dist/Components/NcAppNavigationItem.mjs +1 -1
- package/dist/Components/NcAppNavigationNew.cjs +2 -65
- package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
- package/dist/Components/NcAppNavigationNew.mjs +2 -65
- package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
- package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
- package/dist/Components/NcAppNavigationSearch.cjs +1 -1
- package/dist/Components/NcAppNavigationSearch.mjs +1 -1
- package/dist/Components/NcAppNavigationSettings.cjs +1 -1
- package/dist/Components/NcAppNavigationSettings.mjs +1 -1
- package/dist/Components/NcAppNavigationToggle.cjs +1 -1
- package/dist/Components/NcAppNavigationToggle.mjs +1 -1
- package/dist/Components/NcAppSettingsDialog.cjs +1 -1
- package/dist/Components/NcAppSettingsDialog.mjs +1 -1
- package/dist/Components/NcAppSettingsSection.cjs +8 -2
- package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
- package/dist/Components/NcAppSettingsSection.mjs +8 -2
- package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
- package/dist/Components/NcAppSidebar.cjs +1 -1
- package/dist/Components/NcAppSidebar.mjs +1 -1
- package/dist/Components/NcAppSidebarHeader.cjs +1 -1
- package/dist/Components/NcAppSidebarHeader.mjs +1 -1
- package/dist/Components/NcAppSidebarTab.cjs +5 -2
- package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
- package/dist/Components/NcAppSidebarTab.mjs +5 -2
- package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
- package/dist/Components/NcAssistantButton.cjs +1 -1
- package/dist/Components/NcAssistantButton.mjs +1 -1
- package/dist/Components/NcAssistantIcon.cjs +1 -1
- package/dist/Components/NcAssistantIcon.mjs +1 -1
- package/dist/Components/NcAvatar.cjs +1 -1
- package/dist/Components/NcAvatar.mjs +1 -1
- package/dist/Components/NcBlurHash.cjs +1 -1
- package/dist/Components/NcBlurHash.mjs +1 -1
- package/dist/Components/NcBreadcrumb.cjs +1 -1
- package/dist/Components/NcBreadcrumb.mjs +1 -1
- package/dist/Components/NcBreadcrumbs.cjs +1 -1
- package/dist/Components/NcBreadcrumbs.mjs +1 -1
- package/dist/Components/NcButton.cjs +2 -332
- package/dist/Components/NcButton.cjs.map +1 -1
- package/dist/Components/NcButton.mjs +2 -332
- package/dist/Components/NcButton.mjs.map +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
- package/dist/Components/NcChip.cjs +14 -12
- package/dist/Components/NcChip.cjs.map +1 -1
- package/dist/Components/NcChip.mjs +14 -12
- package/dist/Components/NcChip.mjs.map +1 -1
- package/dist/Components/NcCollectionList.cjs +1 -1
- package/dist/Components/NcCollectionList.mjs +1 -1
- package/dist/Components/NcColorPicker.cjs +1 -1
- package/dist/Components/NcColorPicker.mjs +1 -1
- package/dist/Components/NcContent.cjs +1 -1
- package/dist/Components/NcContent.mjs +1 -1
- package/dist/Components/NcCounterBubble.cjs +1 -1
- package/dist/Components/NcCounterBubble.mjs +1 -1
- package/dist/Components/NcDashboardWidget.cjs +1 -1
- package/dist/Components/NcDashboardWidget.mjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
- package/dist/Components/NcDateTime.cjs +1 -1
- package/dist/Components/NcDateTime.mjs +1 -1
- package/dist/Components/NcDateTimePicker.cjs +46 -15
- package/dist/Components/NcDateTimePicker.cjs.map +1 -1
- package/dist/Components/NcDateTimePicker.mjs +46 -15
- package/dist/Components/NcDateTimePicker.mjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.cjs +8 -6
- package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +8 -6
- package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
- package/dist/Components/NcDialog.cjs +1 -1
- package/dist/Components/NcDialog.mjs +1 -1
- package/dist/Components/NcDialogButton.cjs +1 -1
- package/dist/Components/NcDialogButton.mjs +1 -1
- package/dist/Components/NcEllipsisedOption.cjs +3 -3
- package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
- package/dist/Components/NcEllipsisedOption.mjs +3 -3
- package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
- package/dist/Components/NcEmojiPicker.cjs +1 -1
- package/dist/Components/NcEmojiPicker.mjs +1 -1
- package/dist/Components/NcEmptyContent.cjs +4 -2
- package/dist/Components/NcEmptyContent.cjs.map +1 -1
- package/dist/Components/NcEmptyContent.mjs +4 -2
- package/dist/Components/NcEmptyContent.mjs.map +1 -1
- package/dist/Components/NcGuestContent.cjs +2 -2
- package/dist/Components/NcGuestContent.cjs.map +1 -1
- package/dist/Components/NcGuestContent.mjs +2 -2
- package/dist/Components/NcGuestContent.mjs.map +1 -1
- package/dist/Components/NcHeaderButton.cjs +2 -61
- package/dist/Components/NcHeaderButton.cjs.map +1 -1
- package/dist/Components/NcHeaderButton.mjs +2 -61
- package/dist/Components/NcHeaderButton.mjs.map +1 -1
- package/dist/Components/NcHeaderMenu.cjs +1 -1
- package/dist/Components/NcHeaderMenu.mjs +1 -1
- package/dist/Components/NcHighlight.cjs +1 -1
- package/dist/Components/NcHighlight.mjs +1 -1
- package/dist/Components/NcIconSvgWrapper.cjs +1 -1
- package/dist/Components/NcIconSvgWrapper.mjs +1 -1
- package/dist/Components/NcInputField.cjs +1 -1
- package/dist/Components/NcInputField.mjs +1 -1
- package/dist/Components/NcKbd.cjs +65 -0
- package/dist/Components/NcKbd.cjs.map +1 -0
- package/dist/Components/NcKbd.mjs +66 -0
- package/dist/Components/NcKbd.mjs.map +1 -0
- package/dist/Components/NcListItem.cjs +1 -1
- package/dist/Components/NcListItem.mjs +1 -1
- package/dist/Components/NcListItemIcon.cjs +1 -1
- package/dist/Components/NcListItemIcon.mjs +1 -1
- package/dist/Components/NcLoadingIcon.cjs +2 -2
- package/dist/Components/NcLoadingIcon.cjs.map +1 -1
- package/dist/Components/NcLoadingIcon.mjs +2 -2
- package/dist/Components/NcLoadingIcon.mjs.map +1 -1
- package/dist/Components/NcModal.cjs +60 -46
- package/dist/Components/NcModal.cjs.map +1 -1
- package/dist/Components/NcModal.mjs +59 -45
- package/dist/Components/NcModal.mjs.map +1 -1
- package/dist/Components/NcNoteCard.cjs +10 -10
- package/dist/Components/NcNoteCard.cjs.map +1 -1
- package/dist/Components/NcNoteCard.mjs +10 -10
- package/dist/Components/NcNoteCard.mjs.map +1 -1
- package/dist/Components/NcPasswordField.cjs +1 -1
- package/dist/Components/NcPasswordField.mjs +1 -1
- package/dist/Components/NcPopover.cjs +1 -1
- package/dist/Components/NcPopover.mjs +1 -1
- package/dist/Components/NcProgressBar.cjs +1 -1
- package/dist/Components/NcProgressBar.mjs +1 -1
- package/dist/Components/NcRadioGroup.cjs +4 -0
- package/dist/Components/NcRadioGroup.cjs.map +1 -0
- package/dist/Components/NcRadioGroup.mjs +5 -0
- package/dist/Components/NcRadioGroup.mjs.map +1 -0
- package/dist/Components/NcRadioGroupButton.cjs +4 -0
- package/dist/Components/NcRadioGroupButton.cjs.map +1 -0
- package/dist/Components/NcRadioGroupButton.mjs +5 -0
- package/dist/Components/NcRadioGroupButton.mjs.map +1 -0
- package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
- package/dist/Components/NcRichContenteditable.cjs +2 -2
- package/dist/Components/NcRichContenteditable.mjs +2 -2
- package/dist/Components/NcRichText.cjs +10 -10
- package/dist/Components/NcRichText.mjs +17 -17
- package/dist/Components/NcSelect.cjs +1 -1
- package/dist/Components/NcSelect.mjs +1 -1
- package/dist/Components/NcSelectTags.cjs +1 -1
- package/dist/Components/NcSelectTags.mjs +1 -1
- package/dist/Components/NcSelectUsers.cjs +1 -1
- package/dist/Components/NcSelectUsers.mjs +1 -1
- package/dist/Components/NcSettingsInputText.cjs +1 -1
- package/dist/Components/NcSettingsInputText.mjs +1 -1
- package/dist/Components/NcSettingsSection.cjs +1 -1
- package/dist/Components/NcSettingsSection.mjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
- package/dist/Components/NcTextArea.cjs +1 -1
- package/dist/Components/NcTextArea.mjs +1 -1
- package/dist/Components/NcTextField.cjs +1 -1
- package/dist/Components/NcTextField.mjs +1 -1
- package/dist/Components/NcTimezonePicker.cjs +1 -1
- package/dist/Components/NcTimezonePicker.mjs +1 -1
- package/dist/Components/NcUserBubble.cjs +1 -1
- package/dist/Components/NcUserBubble.mjs +1 -1
- package/dist/Components/NcUserStatusIcon.cjs +1 -1
- package/dist/Components/NcUserStatusIcon.mjs +1 -1
- package/dist/Components/NcVNodes.cjs +1 -2
- package/dist/Components/NcVNodes.cjs.map +1 -1
- package/dist/Components/NcVNodes.mjs +1 -2
- package/dist/Components/NcVNodes.mjs.map +1 -1
- package/dist/Composables/useFormatDateTime.cjs +2 -4
- package/dist/Composables/useFormatDateTime.cjs.map +1 -1
- package/dist/Composables/useFormatDateTime.mjs +2 -4
- package/dist/Composables/useFormatDateTime.mjs.map +1 -1
- package/dist/Composables/useHotKey.cjs +2 -2
- package/dist/Composables/useHotKey.cjs.map +1 -1
- package/dist/Composables/useHotKey.mjs +1 -1
- package/dist/Composables/useHotKey.mjs.map +1 -1
- package/dist/Composables/useIsDarkTheme.cjs.map +1 -1
- package/dist/Composables/useIsDarkTheme.mjs.map +1 -1
- package/dist/Composables/useIsFullscreen.cjs.map +1 -1
- package/dist/Composables/useIsFullscreen.mjs.map +1 -1
- package/dist/Composables/useIsMobile.cjs.map +1 -1
- package/dist/Composables/useIsMobile.mjs.map +1 -1
- package/dist/Directives/Focus.cjs.map +1 -1
- package/dist/Directives/Focus.mjs.map +1 -1
- package/dist/Directives/Linkify.cjs +4 -6
- package/dist/Directives/Linkify.cjs.map +1 -1
- package/dist/Directives/Linkify.mjs +4 -5
- package/dist/Directives/Linkify.mjs.map +1 -1
- package/dist/Directives/Tooltip.cjs.map +1 -1
- package/dist/Directives/Tooltip.mjs.map +1 -1
- package/dist/Functions/a11y.cjs +2 -2
- package/dist/Functions/a11y.cjs.map +1 -1
- package/dist/Functions/a11y.mjs +2 -2
- package/dist/Functions/a11y.mjs.map +1 -1
- package/dist/Functions/contactsMenu.cjs.map +1 -1
- package/dist/Functions/contactsMenu.mjs.map +1 -1
- package/dist/Functions/dialog.cjs.map +1 -1
- package/dist/Functions/dialog.mjs.map +1 -1
- package/dist/Functions/isDarkTheme.cjs.map +1 -1
- package/dist/Functions/isDarkTheme.mjs.map +1 -1
- package/dist/Functions/preloadImage.cjs.map +1 -1
- package/dist/Functions/preloadImage.mjs.map +1 -1
- package/dist/Functions/reference.cjs +2 -2
- package/dist/Functions/reference.mjs +10 -10
- package/dist/Functions/registerReference.cjs +1 -1
- package/dist/Functions/registerReference.mjs +5 -5
- package/dist/Functions/usernameToColor.cjs +1 -1
- package/dist/Functions/usernameToColor.cjs.map +1 -1
- package/dist/Functions/usernameToColor.mjs +1 -1
- package/dist/Functions/usernameToColor.mjs.map +1 -1
- package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
- package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
- package/dist/Mixins/isFullscreen.cjs.map +1 -1
- package/dist/Mixins/isFullscreen.mjs.map +1 -1
- package/dist/Mixins/isMobile.cjs.map +1 -1
- package/dist/Mixins/isMobile.mjs.map +1 -1
- package/dist/Mixins/richEditor.cjs +1 -1
- package/dist/Mixins/richEditor.mjs +1 -1
- package/dist/assets/{NcActionButton-D8Lyueq3.css → NcActionButton-DwJihiLc.css} +18 -18
- package/dist/assets/{NcActionButtonGroup-oAqMyrzr.css → NcActionButtonGroup-CRXLyFpx.css} +8 -8
- package/dist/assets/{NcActionCheckbox-BlyPt7DF.css → NcActionCheckbox-DvdNISIs.css} +12 -12
- package/dist/assets/{NcActionInput-D79204Jr.css → NcActionInput-DXZaAilC.css} +67 -63
- package/dist/assets/{NcActionLink-CNMaob5P.css → NcActionLink-7Wp6P-Nk.css} +13 -13
- package/dist/assets/{NcActionRadio-CodyhP86.css → NcActionRadio-CLsR2Ore.css} +12 -12
- package/dist/assets/{NcActionRouter-zXuKLsvi.css → NcActionRouter-ByijfQtF.css} +16 -16
- package/dist/assets/{NcActionText-Rad4JSXq.css → NcActionText-CR_yvwWo.css} +18 -18
- package/dist/assets/{NcActionTextEditable-i1KSVe0J.css → NcActionTextEditable-CCWTiT5c.css} +71 -63
- package/dist/assets/{NcActions-Bjgv1Dku.css → NcActions-B4-9qwLn.css} +11 -11
- package/dist/assets/{NcAppContent-Bb5hgGi3.css → NcAppContent-DerHKU6P.css} +23 -23
- package/dist/assets/{NcAppNavigation-WhHdkLQF.css → NcAppNavigation-R4E_wTZ-.css} +12 -12
- package/dist/assets/{NcAppNavigationCaption-DU9PxTvu.css → NcAppNavigationCaption-C7GtQb_y.css} +7 -7
- package/dist/assets/{NcAppNavigationIconBullet-CeBYVy6t.css → NcAppNavigationIconBullet-DLQJkObX.css} +3 -3
- package/dist/assets/{NcAppNavigationItem-DKcGNjYx.css → NcAppNavigationItem-Kua1hP7u.css} +46 -40
- package/dist/assets/{NcAppNavigationNew-Dbo2rvXH.css → NcAppNavigationNew-D8_2ab9R.css} +3 -3
- package/dist/assets/{NcAppNavigationNewItem-CS2gLROV.css → NcAppNavigationNewItem-Cjbn5XkO.css} +44 -38
- package/dist/assets/{NcAppNavigationSearch-CD7kv7L_.css → NcAppNavigationSearch-o97SOfOb.css} +6 -6
- package/dist/assets/{NcAppNavigationSettings-_Qi3rUlw.css → NcAppNavigationSettings-1YRzh-xl.css} +11 -11
- package/dist/assets/{NcAppNavigationToggle-C5IMygw1.css → NcAppNavigationToggle-DgwbZOWc.css} +3 -3
- package/dist/assets/{NcAppSettingsDialog-kKMMsdb3.css → NcAppSettingsDialog-DiJpVNeb.css} +10 -10
- package/dist/assets/{NcAppSettingsSection-Bl2-D3_g.css → NcAppSettingsSection-IzrCzLDw.css} +3 -3
- package/dist/assets/{NcAppSidebar-u0G_qQMh.css → NcAppSidebar-CJYtNcF0.css} +58 -58
- package/dist/assets/{NcAppSidebarTab-Blv6UfuA.css → NcAppSidebarTab-IcebyGtN.css} +4 -4
- package/dist/assets/{NcAssistantIcon-BFNU0uqH.css → NcAssistantIcon-BoOnqVRr.css} +4 -4
- package/dist/assets/{NcAvatar-BqNcvkxP.css → NcAvatar-BdAXbXdR.css} +27 -28
- package/dist/assets/{NcBreadcrumb-DqaFt2qu.css → NcBreadcrumb-0xB19h6f.css} +15 -15
- package/dist/assets/{NcBreadcrumbs-CFRjXqRg.css → NcBreadcrumbs-DahxPGJY.css} +6 -6
- package/dist/assets/{NcButton-C_LOxojs.css → NcButton-D8AOCliw.css} +46 -46
- package/dist/assets/{NcCheckboxRadioSwitch-CC2zuvLL.css → NcCheckboxRadioSwitch-BcHKt-lf.css} +57 -49
- package/dist/assets/{NcChip-CF4Q149V.css → NcChip-Cc17FJEC.css} +9 -9
- package/dist/assets/{NcCollectionList-yjTCAR46.css → NcCollectionList-DInDhsAS.css} +42 -42
- package/dist/assets/{NcColorPicker-DBcVuSwg.css → NcColorPicker-CGI9ElwB.css} +28 -28
- package/dist/assets/{NcContent-DH4tX3N4.css → NcContent-BedDNXST.css} +10 -10
- package/dist/assets/{NcCounterBubble-CI-DxLjL.css → NcCounterBubble-sz81L2Mt.css} +7 -7
- package/dist/assets/{NcDashboardWidget-CrhZaGWD.css → NcDashboardWidget-DzJMoJ_B.css} +12 -12
- package/dist/assets/{NcDashboardWidgetItem-B8_6-_k8.css → NcDashboardWidgetItem-CAsF_ZMZ.css} +12 -12
- package/dist/assets/{NcDateTimePicker-Ce57VAyL.css → NcDateTimePicker-4Zw7r2r4.css} +18 -16
- package/dist/assets/{NcDateTimePickerNative-CYS2ORfo.css → NcDateTimePickerNative-ZqMiOh_m.css} +13 -13
- package/dist/assets/{NcDialog-X7BRqUGJ.css → NcDialog-COuFb47k.css} +15 -15
- package/dist/assets/{NcEllipsisedOption-DGr9_bIL.css → NcEllipsisedOption-DRkFZ9bI.css} +5 -5
- package/dist/assets/{NcEmojiPicker-BRSm8OUy.css → NcEmojiPicker-CrjOSMLF.css} +128 -124
- package/dist/assets/{NcEmptyContent-CHVEJoER.css → NcEmptyContent-xdTcF0yQ.css} +9 -9
- package/dist/assets/{NcGuestContent-ByAkjts7.css → NcGuestContent-BkegjnLL.css} +2 -2
- package/dist/assets/{NcHeaderButton-BRhv2o2J.css → NcHeaderButton-CeT-dsLr.css} +9 -9
- package/dist/assets/{NcHeaderMenu-Cjb3kKi1.css → NcHeaderMenu-BXb9npZp.css} +13 -13
- package/dist/assets/{NcIconSvgWrapper-DX_XWpAs.css → NcIconSvgWrapper-DJQ2Kuip.css} +7 -7
- package/dist/assets/{NcInputConfirmCancel-BanazdhC.css → NcInputConfirmCancel-CkhRZCfD.css} +5 -5
- package/dist/assets/{NcInputField-DAiNwtp_.css → NcInputField-BI3vWgSo.css} +42 -42
- package/dist/assets/NcKbd-BGW1_Jb7.css +36 -0
- package/dist/assets/{NcListItem-KrH47Efg.css → NcListItem-rxOwDYE-.css} +44 -44
- package/dist/assets/{NcListItemIcon-UmX9YoH3.css → NcListItemIcon-Co3jVZZ8.css} +13 -13
- package/dist/assets/{NcLoadingIcon-DbbToJVp.css → NcLoadingIcon-C7S2_wmi.css} +3 -3
- package/dist/assets/{NcMentionBubble-UsTMm5VD.css → NcMentionBubble-CaztX9Pv.css} +9 -9
- package/dist/assets/{NcModal-Cy3UOuI2.css → NcModal-BzkYPomo.css} +64 -62
- package/dist/assets/{NcNoteCard-ChweF_5Q.css → NcNoteCard-Dz5-u2BY.css} +12 -12
- package/dist/assets/{NcPasswordField-DVK8tuPi.css → NcPasswordField-mhXQk8aT.css} +2 -2
- package/dist/assets/{NcProgressBar-DTCznR-m.css → NcProgressBar-CU_ib_HL.css} +11 -11
- package/dist/assets/NcRadioGroup-CNgjqqiP.css +49 -0
- package/dist/assets/NcRadioGroupButton-B1hPj4B8.css +85 -0
- package/dist/assets/{NcRelatedResourcesPanel-DhStLIO2.css → NcRelatedResourcesPanel-d2OxhjiL.css} +65 -65
- package/dist/assets/{NcRichContenteditable-DZLSoy84.css → NcRichContenteditable-BoM95AVW.css} +20 -20
- package/dist/assets/{NcRichText-CWVHZl8s.css → NcRichText-BDx2fupZ.css} +89 -87
- package/dist/assets/{NcSelect-GdIw6cIy.css → NcSelect-B1pyRV6j.css} +3 -1
- package/dist/assets/NcSelectUsers-CfOSPgtz.css +4 -0
- package/dist/assets/{NcSettingsInputText-Bsp_6DjJ.css → NcSettingsInputText-18lfGViv.css} +5 -5
- package/dist/assets/{NcSettingsSection-uKqWTbhb.css → NcSettingsSection-D_qeKnRb.css} +8 -8
- package/dist/assets/{NcSettingsSelectGroup-tjJNoh16.css → NcSettingsSelectGroup-B9FlWQVH.css} +2 -2
- package/dist/assets/{NcTextArea-vxeIyeSg.css → NcTextArea-B6zS3CRN.css} +25 -25
- package/dist/assets/{NcUserBubble-BsTKRhKz.css → NcUserBubble-uIpJvFoQ.css} +8 -8
- package/dist/assets/{NcUserStatusIcon-Dc-aUzBe.css → NcUserStatusIcon-Bw8yMFMP.css} +4 -4
- package/dist/assets/{referencePickerModal-DrvqNTIf.css → referencePickerModal-CTpc6_U6.css} +60 -60
- package/dist/chunks/{GenColors-BjsCKF7S.cjs → GenColors-BVouTbTJ.cjs} +10 -3
- package/dist/chunks/GenColors-BVouTbTJ.cjs.map +1 -0
- package/dist/chunks/{GenColors-BrpkL3hT.mjs → GenColors-DIH749TS.mjs} +10 -3
- package/dist/chunks/GenColors-DIH749TS.mjs.map +1 -0
- package/dist/chunks/{GenRandomId-BQDud3d4.cjs → GenRandomId-D7iOvpZS.cjs} +3 -3
- package/dist/chunks/GenRandomId-D7iOvpZS.cjs.map +1 -0
- package/dist/chunks/{GenRandomId-CMooMQt0.mjs → GenRandomId-F5ebeBB_.mjs} +3 -3
- package/dist/chunks/GenRandomId-F5ebeBB_.mjs.map +1 -0
- package/dist/chunks/{NcActionButton-BhSk7AAp.cjs → NcActionButton-CFXzNoFT.cjs} +9 -7
- package/dist/chunks/NcActionButton-CFXzNoFT.cjs.map +1 -0
- package/dist/chunks/{NcActionButton-DC3oAI2L.mjs → NcActionButton-CVW8aRkE.mjs} +9 -7
- package/dist/chunks/NcActionButton-CVW8aRkE.mjs.map +1 -0
- package/dist/chunks/{NcActionButtonGroup-hhh3GBSS.mjs → NcActionButtonGroup-BOr5Of3k.mjs} +5 -5
- package/dist/chunks/{NcActionButtonGroup-hhh3GBSS.mjs.map → NcActionButtonGroup-BOr5Of3k.mjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-Cr4OSmyb.cjs → NcActionButtonGroup-Bwuy2WZQ.cjs} +5 -5
- package/dist/chunks/{NcActionButtonGroup-Cr4OSmyb.cjs.map → NcActionButtonGroup-Bwuy2WZQ.cjs.map} +1 -1
- package/dist/chunks/{NcActionCheckbox-DSMKeccY.mjs → NcActionCheckbox-C05ls65i.mjs} +9 -5
- package/dist/chunks/NcActionCheckbox-C05ls65i.mjs.map +1 -0
- package/dist/chunks/{NcActionCheckbox-JX-QaTD6.cjs → NcActionCheckbox-Dg_1Ovt0.cjs} +9 -5
- package/dist/chunks/NcActionCheckbox-Dg_1Ovt0.cjs.map +1 -0
- package/dist/chunks/{NcActionInput-B5ysJl2S.mjs → NcActionInput-CoG-fZq9.mjs} +16 -11
- package/dist/chunks/NcActionInput-CoG-fZq9.mjs.map +1 -0
- package/dist/chunks/{NcActionInput-DdaafMi8.cjs → NcActionInput-iIJpNS_Q.cjs} +16 -11
- package/dist/chunks/NcActionInput-iIJpNS_Q.cjs.map +1 -0
- package/dist/chunks/{NcActionRadio-yAm71xxU.mjs → NcActionRadio-Bpbs2dPm.mjs} +9 -5
- package/dist/chunks/NcActionRadio-Bpbs2dPm.mjs.map +1 -0
- package/dist/chunks/{NcActionRadio-BUCQ6VxA.cjs → NcActionRadio-Dtrwffyh.cjs} +9 -5
- package/dist/chunks/NcActionRadio-Dtrwffyh.cjs.map +1 -0
- package/dist/chunks/{NcActionTextEditable-CTXGUIPM.cjs → NcActionTextEditable-BpahzGpr.cjs} +9 -7
- package/dist/chunks/NcActionTextEditable-BpahzGpr.cjs.map +1 -0
- package/dist/chunks/{NcActionTextEditable-CpxJ_LEa.mjs → NcActionTextEditable-DRwDJjPd.mjs} +9 -7
- package/dist/chunks/NcActionTextEditable-DRwDJjPd.mjs.map +1 -0
- package/dist/chunks/{NcActions-DRCkAU8h.cjs → NcActions-B7oXbiVt.cjs} +16 -12
- package/dist/chunks/NcActions-B7oXbiVt.cjs.map +1 -0
- package/dist/chunks/{NcActions-DdARGGZ_.mjs → NcActions-C832pWHO.mjs} +15 -11
- package/dist/chunks/NcActions-C832pWHO.mjs.map +1 -0
- package/dist/chunks/{NcAppContent-BS7BiMG0.mjs → NcAppContent-C9NGJE6n.mjs} +15 -12
- package/dist/chunks/NcAppContent-C9NGJE6n.mjs.map +1 -0
- package/dist/chunks/{NcAppContent-POt1Lj3W.cjs → NcAppContent-Djy38ou2.cjs} +16 -13
- package/dist/chunks/NcAppContent-Djy38ou2.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-BKxSUpcQ.cjs → NcAppNavigation-C0Oc0gQ6.cjs} +7 -7
- package/dist/chunks/NcAppNavigation-C0Oc0gQ6.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigation-BvEa92PC.mjs → NcAppNavigation-DjtmN3dS.mjs} +7 -7
- package/dist/chunks/NcAppNavigation-DjtmN3dS.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationCaption-O4l8dFkh.mjs → NcAppNavigationCaption-CsoHaLXg.mjs} +7 -4
- package/dist/chunks/{NcAppNavigationCaption-BpmzZDPj.cjs.map → NcAppNavigationCaption-CsoHaLXg.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-BpmzZDPj.cjs → NcAppNavigationCaption-D4-hEmCi.cjs} +7 -4
- package/dist/chunks/{NcAppNavigationCaption-O4l8dFkh.mjs.map → NcAppNavigationCaption-D4-hEmCi.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-BFF0p136.mjs → NcAppNavigationItem-DvVYHshm.mjs} +77 -70
- package/dist/chunks/NcAppNavigationItem-DvVYHshm.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationItem-D1CEGuhm.cjs → NcAppNavigationItem-ZOXUMmX5.cjs} +77 -70
- package/dist/chunks/NcAppNavigationItem-ZOXUMmX5.cjs.map +1 -0
- package/dist/chunks/NcAppNavigationNew-AiFYSCW1.mjs +78 -0
- package/dist/chunks/NcAppNavigationNew-AiFYSCW1.mjs.map +1 -0
- package/dist/chunks/NcAppNavigationNew-BqNIa8N9.cjs +77 -0
- package/dist/chunks/NcAppNavigationNew-BqNIa8N9.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationNewItem-CTAoGkDy.cjs → NcAppNavigationNewItem-BuEkCd2H.cjs} +4 -4
- package/dist/chunks/NcAppNavigationNewItem-BuEkCd2H.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationNewItem-D4fJeBl0.mjs → NcAppNavigationNewItem-CdlWkGU3.mjs} +4 -4
- package/dist/chunks/NcAppNavigationNewItem-CdlWkGU3.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSearch-CaBrnpf9.cjs → NcAppNavigationSearch-BXjB3FEJ.cjs} +7 -7
- package/dist/chunks/NcAppNavigationSearch-BXjB3FEJ.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSearch-B9OkdsuE.mjs → NcAppNavigationSearch-CsIzwF6F.mjs} +7 -7
- package/dist/chunks/NcAppNavigationSearch-CsIzwF6F.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSettings-DV5ZnR2s.cjs → NcAppNavigationSettings-CkFZMLtH.cjs} +16 -10
- package/dist/chunks/NcAppNavigationSettings-CkFZMLtH.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSettings-Do0e5oWy.mjs → NcAppNavigationSettings-Dq2O3kRz.mjs} +16 -10
- package/dist/chunks/NcAppNavigationSettings-Dq2O3kRz.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationToggle-DGppWo0q.cjs → NcAppNavigationToggle-C2vtZ3uV.cjs} +7 -7
- package/dist/chunks/NcAppNavigationToggle-C2vtZ3uV.cjs.map +1 -0
- package/dist/chunks/{NcAppNavigationToggle-VxL1CfJY.mjs → NcAppNavigationToggle-DlWpnYdz.mjs} +6 -6
- package/dist/chunks/NcAppNavigationToggle-DlWpnYdz.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-BwsIc_QT.mjs → NcAppSettingsDialog-DVFw09eD.mjs} +12 -10
- package/dist/chunks/NcAppSettingsDialog-DVFw09eD.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-BDo3la0P.cjs → NcAppSettingsDialog-DalEoC9H.cjs} +12 -10
- package/dist/chunks/NcAppSettingsDialog-DalEoC9H.cjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-AR-D7HSj.mjs → NcAppSidebar-Bda_fc-F.mjs} +141 -129
- package/dist/chunks/NcAppSidebar-Bda_fc-F.mjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-Cvyq-kN5.cjs → NcAppSidebar-Cx2ZxU4N.cjs} +142 -130
- package/dist/chunks/NcAppSidebar-Cx2ZxU4N.cjs.map +1 -0
- package/dist/chunks/{NcAppSidebarHeader-G2VD8Nfl.mjs → NcAppSidebarHeader-CBE4tNYb.mjs} +4 -3
- package/dist/chunks/NcAppSidebarHeader-CBE4tNYb.mjs.map +1 -0
- package/dist/chunks/{NcAppSidebarHeader-BUXD8c9i.cjs → NcAppSidebarHeader-D-c_yxvx.cjs} +4 -3
- package/dist/chunks/NcAppSidebarHeader-D-c_yxvx.cjs.map +1 -0
- package/dist/chunks/{NcAssistantButton-Ck1NUjhl.mjs → NcAssistantButton-Dk28Wilk.mjs} +4 -4
- package/dist/chunks/{NcAssistantButton-Ck1NUjhl.mjs.map → NcAssistantButton-Dk28Wilk.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantButton-gD3MKoYS.cjs → NcAssistantButton-zriu0Kiz.cjs} +5 -5
- package/dist/chunks/{NcAssistantButton-gD3MKoYS.cjs.map → NcAssistantButton-zriu0Kiz.cjs.map} +1 -1
- package/dist/chunks/{NcAssistantIcon-D_xelcY2.cjs → NcAssistantIcon-B-Udgta_.cjs} +9 -5
- package/dist/chunks/NcAssistantIcon-B-Udgta_.cjs.map +1 -0
- package/dist/chunks/{NcAssistantIcon-tjSguP9N.mjs → NcAssistantIcon-CtEF1hjA.mjs} +9 -5
- package/dist/chunks/NcAssistantIcon-CtEF1hjA.mjs.map +1 -0
- package/dist/chunks/{NcAvatar-BEIBwiA6.mjs → NcAvatar-CuYtFEdJ.mjs} +35 -28
- package/dist/chunks/NcAvatar-CuYtFEdJ.mjs.map +1 -0
- package/dist/chunks/{NcAvatar-DS1H-VrZ.cjs → NcAvatar-bd-5zXWN.cjs} +36 -29
- package/dist/chunks/NcAvatar-bd-5zXWN.cjs.map +1 -0
- package/dist/chunks/{NcBlurHash-CJ8retHx.cjs → NcBlurHash-CR0v4QBK.cjs} +2 -2
- package/dist/chunks/{NcBlurHash-CJ8retHx.cjs.map → NcBlurHash-CR0v4QBK.cjs.map} +1 -1
- package/dist/chunks/{NcBlurHash-do2wxY-0.mjs → NcBlurHash-DZmsBU0q.mjs} +2 -2
- package/dist/chunks/{NcBlurHash-do2wxY-0.mjs.map → NcBlurHash-DZmsBU0q.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-HtgcEJgs.cjs → NcBreadcrumb-ChxXdE2m.cjs} +19 -19
- package/dist/chunks/NcBreadcrumb-ChxXdE2m.cjs.map +1 -0
- package/dist/chunks/{NcBreadcrumb-BYYXWaif.mjs → NcBreadcrumb-D1106x4x.mjs} +18 -18
- package/dist/chunks/NcBreadcrumb-D1106x4x.mjs.map +1 -0
- package/dist/chunks/{NcBreadcrumbs-cj5ip2-X.mjs → NcBreadcrumbs-C9Zo0nca.mjs} +108 -106
- package/dist/chunks/NcBreadcrumbs-C9Zo0nca.mjs.map +1 -0
- package/dist/chunks/{NcBreadcrumbs-CQcnjGJO.cjs → NcBreadcrumbs-XAvQ1MIp.cjs} +109 -107
- package/dist/chunks/NcBreadcrumbs-XAvQ1MIp.cjs.map +1 -0
- package/dist/chunks/NcButton-CWPBzbcC.mjs +330 -0
- package/dist/chunks/NcButton-CWPBzbcC.mjs.map +1 -0
- package/dist/chunks/NcButton-DOsCAjiE.cjs +329 -0
- package/dist/chunks/NcButton-DOsCAjiE.cjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch-DqdNvkCt.mjs → NcCheckboxRadioSwitch-CLnWsBwK.mjs} +105 -78
- package/dist/chunks/NcCheckboxRadioSwitch-CLnWsBwK.mjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch-B-lXOnEF.cjs → NcCheckboxRadioSwitch-yVj7slxL.cjs} +105 -78
- package/dist/chunks/NcCheckboxRadioSwitch-yVj7slxL.cjs.map +1 -0
- package/dist/chunks/{NcCollectionList-CLv50tJ3.mjs → NcCollectionList-5_ghrfiE.mjs} +27 -21
- package/dist/chunks/NcCollectionList-5_ghrfiE.mjs.map +1 -0
- package/dist/chunks/{NcCollectionList-DXNSOjPG.cjs → NcCollectionList-DZh_7a3g.cjs} +27 -21
- package/dist/chunks/NcCollectionList-DZh_7a3g.cjs.map +1 -0
- package/dist/chunks/{NcColorPicker-52xaYx9k.mjs → NcColorPicker-Cae6XNoK.mjs} +13 -13
- package/dist/chunks/NcColorPicker-Cae6XNoK.mjs.map +1 -0
- package/dist/chunks/{NcColorPicker-CbiIpVlT.cjs → NcColorPicker-D-E2dT4Q.cjs} +14 -14
- package/dist/chunks/NcColorPicker-D-E2dT4Q.cjs.map +1 -0
- package/dist/chunks/{NcContent-BbmqoSY7.mjs → NcContent-CGBJ782F.mjs} +13 -9
- package/dist/chunks/{NcContent-DH7uH5Gv.cjs.map → NcContent-CGBJ782F.mjs.map} +1 -1
- package/dist/chunks/{NcContent-DH7uH5Gv.cjs → NcContent-I3cwZc0Z.cjs} +14 -10
- package/dist/chunks/{NcContent-BbmqoSY7.mjs.map → NcContent-I3cwZc0Z.cjs.map} +1 -1
- package/dist/chunks/{NcCounterBubble-BRrUO34D.cjs → NcCounterBubble-hyvazclA.cjs} +7 -3
- package/dist/chunks/NcCounterBubble-hyvazclA.cjs.map +1 -0
- package/dist/chunks/{NcCounterBubble-CDfRYl8B.mjs → NcCounterBubble-oxV8oMlX.mjs} +7 -3
- package/dist/chunks/NcCounterBubble-oxV8oMlX.mjs.map +1 -0
- package/dist/chunks/{NcDashboardWidget-DhJAJn-_.cjs → NcDashboardWidget-DKUU16oT.cjs} +8 -8
- package/dist/chunks/NcDashboardWidget-DKUU16oT.cjs.map +1 -0
- package/dist/chunks/{NcDashboardWidget-809lybR1.mjs → NcDashboardWidget-_Bi63nDZ.mjs} +8 -8
- package/dist/chunks/NcDashboardWidget-_Bi63nDZ.mjs.map +1 -0
- package/dist/chunks/{NcDashboardWidgetItem-CgO8qJUQ.cjs → NcDashboardWidgetItem-BhGOOhKF.cjs} +8 -7
- package/dist/chunks/NcDashboardWidgetItem-BhGOOhKF.cjs.map +1 -0
- package/dist/chunks/{NcDashboardWidgetItem-6JbU9gp1.mjs → NcDashboardWidgetItem-D4q57Lg_.mjs} +8 -7
- package/dist/chunks/NcDashboardWidgetItem-D4q57Lg_.mjs.map +1 -0
- package/dist/chunks/{NcDateTime-Cl-PZpLN.cjs → NcDateTime-DE-ltgw2.cjs} +2 -2
- package/dist/chunks/NcDateTime-DE-ltgw2.cjs.map +1 -0
- package/dist/chunks/{NcDateTime-kanSdMgW.mjs → NcDateTime-enXYuwj8.mjs} +2 -2
- package/dist/chunks/NcDateTime-enXYuwj8.mjs.map +1 -0
- package/dist/chunks/{NcDialog-ps0F3IQM.cjs → NcDialog-B2tW1DtP.cjs} +39 -31
- package/dist/chunks/NcDialog-B2tW1DtP.cjs.map +1 -0
- package/dist/chunks/{NcDialog-C1b3UtA7.mjs → NcDialog-Du-BeUCp.mjs} +39 -31
- package/dist/chunks/NcDialog-Du-BeUCp.mjs.map +1 -0
- package/dist/chunks/{NcDialogButton-CEdM0Qnr.cjs → NcDialogButton-BB84DliS.cjs} +9 -8
- package/dist/chunks/NcDialogButton-BB84DliS.cjs.map +1 -0
- package/dist/chunks/{NcDialogButton-Di9tU3e_.mjs → NcDialogButton-DtGSMhif.mjs} +8 -7
- package/dist/chunks/NcDialogButton-DtGSMhif.mjs.map +1 -0
- package/dist/chunks/{NcEmojiPicker-CyZg0bCF.mjs → NcEmojiPicker-B2SLfIBu.mjs} +19 -14
- package/dist/chunks/NcEmojiPicker-B2SLfIBu.mjs.map +1 -0
- package/dist/chunks/{NcEmojiPicker-CdH7bAGd.cjs → NcEmojiPicker-q_n1Rd8U.cjs} +20 -15
- package/dist/chunks/NcEmojiPicker-q_n1Rd8U.cjs.map +1 -0
- package/dist/chunks/NcHeaderButton-AKzxd51V.cjs +63 -0
- package/dist/chunks/NcHeaderButton-AKzxd51V.cjs.map +1 -0
- package/dist/chunks/NcHeaderButton-BORaK-yT.mjs +64 -0
- package/dist/chunks/NcHeaderButton-BORaK-yT.mjs.map +1 -0
- package/dist/chunks/{NcHeaderMenu-BWFubuox.cjs → NcHeaderMenu-CBP4SYca.cjs} +11 -10
- package/dist/chunks/NcHeaderMenu-CBP4SYca.cjs.map +1 -0
- package/dist/chunks/{NcHeaderMenu-Dq_Avv2T.mjs → NcHeaderMenu-CkD6cjnH.mjs} +10 -9
- package/dist/chunks/NcHeaderMenu-CkD6cjnH.mjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-Cb-cPj1R.mjs → NcIconSvgWrapper-BreCg8pX.mjs} +6 -5
- package/dist/chunks/NcIconSvgWrapper-BreCg8pX.mjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-CrnN5Sq5.cjs → NcIconSvgWrapper-D-aKMbf3.cjs} +7 -6
- package/dist/chunks/NcIconSvgWrapper-D-aKMbf3.cjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-DA740BJ-.mjs → NcInputConfirmCancel-21vM2JHp.mjs} +12 -6
- package/dist/chunks/NcInputConfirmCancel-21vM2JHp.mjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-Dz7-CkOl.cjs → NcInputConfirmCancel-BqZm3WBG.cjs} +13 -7
- package/dist/chunks/NcInputConfirmCancel-BqZm3WBG.cjs.map +1 -0
- package/dist/chunks/{NcInputField-cT3u4gMS.cjs → NcInputField-Dry3uU_8.cjs} +10 -7
- package/dist/chunks/NcInputField-Dry3uU_8.cjs.map +1 -0
- package/dist/chunks/{NcInputField-BNSfmQqu.mjs → NcInputField-kKgY_2GV.mjs} +9 -6
- package/dist/chunks/NcInputField-kKgY_2GV.mjs.map +1 -0
- package/dist/chunks/{NcListItem-CifyXFmv.mjs → NcListItem-B3ETbT9w.mjs} +9 -5
- package/dist/chunks/NcListItem-B3ETbT9w.mjs.map +1 -0
- package/dist/chunks/{NcListItem-Bx9qm5xC.cjs → NcListItem-D_-a7WR9.cjs} +9 -5
- package/dist/chunks/NcListItem-D_-a7WR9.cjs.map +1 -0
- package/dist/chunks/{NcListItemIcon-DMhlNuU9.cjs → NcListItemIcon-CYR8eKOU.cjs} +11 -10
- package/dist/chunks/NcListItemIcon-CYR8eKOU.cjs.map +1 -0
- package/dist/chunks/{NcListItemIcon-CZrilo88.mjs → NcListItemIcon-bQZej-L0.mjs} +11 -10
- package/dist/chunks/NcListItemIcon-bQZej-L0.mjs.map +1 -0
- package/dist/chunks/{NcPasswordField-DSdrAkZy.mjs → NcPasswordField-9LYKS0t_.mjs} +15 -12
- package/dist/chunks/NcPasswordField-9LYKS0t_.mjs.map +1 -0
- package/dist/chunks/{NcPasswordField-DcFBNVHn.cjs → NcPasswordField-DPGGwGEl.cjs} +15 -12
- package/dist/chunks/NcPasswordField-DPGGwGEl.cjs.map +1 -0
- package/dist/chunks/{NcPopover-DxTXnL3u.mjs → NcPopover-DMUA5d7U.mjs} +20 -6
- package/dist/chunks/NcPopover-DMUA5d7U.mjs.map +1 -0
- package/dist/chunks/{NcPopover-DjeDGPXc.cjs → NcPopover-DkX3Esbr.cjs} +20 -6
- package/dist/chunks/NcPopover-DkX3Esbr.cjs.map +1 -0
- package/dist/chunks/{NcProgressBar-CI_nOrPg.mjs → NcProgressBar-D7zYeXBH.mjs} +8 -4
- package/dist/chunks/NcProgressBar-D7zYeXBH.mjs.map +1 -0
- package/dist/chunks/{NcProgressBar-lh4Gtdfr.cjs → NcProgressBar-DvxA9bq5.cjs} +8 -4
- package/dist/chunks/NcProgressBar-DvxA9bq5.cjs.map +1 -0
- package/dist/chunks/NcRadioGroup-BZ-humrK.cjs +84 -0
- package/dist/chunks/NcRadioGroup-BZ-humrK.cjs.map +1 -0
- package/dist/chunks/NcRadioGroup-VKZJ0Vnh.mjs +83 -0
- package/dist/chunks/NcRadioGroup-VKZJ0Vnh.mjs.map +1 -0
- package/dist/chunks/NcRadioGroupButton-7UZaDiJ2.cjs +62 -0
- package/dist/chunks/NcRadioGroupButton-7UZaDiJ2.cjs.map +1 -0
- package/dist/chunks/NcRadioGroupButton-QLL4wM7A.mjs +63 -0
- package/dist/chunks/NcRadioGroupButton-QLL4wM7A.mjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-BR_ggojH.cjs → NcRelatedResourcesPanel-jHQ2bRko.cjs} +86 -82
- package/dist/chunks/NcRelatedResourcesPanel-jHQ2bRko.cjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-DyvwxDjI.mjs → NcRelatedResourcesPanel-jvOEQWWO.mjs} +85 -81
- package/dist/chunks/NcRelatedResourcesPanel-jvOEQWWO.mjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-DtkaJmwG.cjs → NcRichContenteditable-BILbjzSU.cjs} +51 -28
- package/dist/chunks/NcRichContenteditable-BILbjzSU.cjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-CMQnS1Wz.mjs → NcRichContenteditable-iQhj1-AH.mjs} +50 -27
- package/dist/chunks/NcRichContenteditable-iQhj1-AH.mjs.map +1 -0
- package/dist/chunks/{NcRichText-MMeidJmP.mjs → NcRichText-B7M7rNqC.mjs} +80 -81
- package/dist/chunks/NcRichText-B7M7rNqC.mjs.map +1 -0
- package/dist/chunks/{NcRichText-7B9lDtoo.cjs → NcRichText-DYcfsH5s.cjs} +85 -86
- package/dist/chunks/NcRichText-DYcfsH5s.cjs.map +1 -0
- package/dist/chunks/NcSavingIndicatorIcon-DFyB2KRK.cjs.map +1 -1
- package/dist/chunks/NcSavingIndicatorIcon-U7AIamCl.mjs.map +1 -1
- package/dist/chunks/{NcSelect-okD5YTJq.mjs → NcSelect-PvjbF3jF.mjs} +18 -13
- package/dist/chunks/NcSelect-PvjbF3jF.mjs.map +1 -0
- package/dist/chunks/{NcSelect-CrxryIo3.cjs → NcSelect-s3_u0qvy.cjs} +18 -13
- package/dist/chunks/NcSelect-s3_u0qvy.cjs.map +1 -0
- package/dist/chunks/{NcSelectTags-BPxmiMto.mjs → NcSelectTags-DYUCDZ_e.mjs} +19 -15
- package/dist/chunks/NcSelectTags-DYUCDZ_e.mjs.map +1 -0
- package/dist/chunks/{NcSelectTags-BZqBdSqC.cjs → NcSelectTags-e4Gjcx_7.cjs} +19 -15
- package/dist/chunks/NcSelectTags-e4Gjcx_7.cjs.map +1 -0
- package/dist/chunks/{NcSelectUsers-CshAjqE_.cjs → NcSelectUsers-Bmwhu14K.cjs} +9 -8
- package/dist/chunks/NcSelectUsers-Bmwhu14K.cjs.map +1 -0
- package/dist/chunks/{NcSelectUsers-DK3EtvnG.mjs → NcSelectUsers-CMF_h9c0.mjs} +9 -8
- package/dist/chunks/NcSelectUsers-CMF_h9c0.mjs.map +1 -0
- package/dist/chunks/{NcSettingsInputText-BKoaCiQU.mjs → NcSettingsInputText-BQVh24zT.mjs} +8 -6
- package/dist/chunks/NcSettingsInputText-BQVh24zT.mjs.map +1 -0
- package/dist/chunks/{NcSettingsInputText-D7eoCI2o.cjs → NcSettingsInputText-DWihH7ke.cjs} +8 -6
- package/dist/chunks/NcSettingsInputText-DWihH7ke.cjs.map +1 -0
- package/dist/chunks/{NcSettingsSection-Bmo90KQR.cjs → NcSettingsSection-Dgc7SEuu.cjs} +17 -5
- package/dist/chunks/NcSettingsSection-Dgc7SEuu.cjs.map +1 -0
- package/dist/chunks/{NcSettingsSection-fe_YIg-L.mjs → NcSettingsSection-evNvfEg2.mjs} +17 -5
- package/dist/chunks/NcSettingsSection-evNvfEg2.mjs.map +1 -0
- package/dist/chunks/{NcSettingsSelectGroup-CUUKv6lH.mjs → NcSettingsSelectGroup-C-YAk1f8.mjs} +19 -19
- package/dist/chunks/NcSettingsSelectGroup-C-YAk1f8.mjs.map +1 -0
- package/dist/chunks/{NcSettingsSelectGroup-Dd04CVAM.cjs → NcSettingsSelectGroup-X1pBwmAZ.cjs} +19 -19
- package/dist/chunks/NcSettingsSelectGroup-X1pBwmAZ.cjs.map +1 -0
- package/dist/chunks/{NcTextArea-BFLuhsEv.mjs → NcTextArea-DHmD6-6s.mjs} +8 -5
- package/dist/chunks/NcTextArea-DHmD6-6s.mjs.map +1 -0
- package/dist/chunks/{NcTextArea-B2hcap39.cjs → NcTextArea-DkVtHTpD.cjs} +8 -5
- package/dist/chunks/NcTextArea-DkVtHTpD.cjs.map +1 -0
- package/dist/chunks/{NcTextField-DDJqk3SI.cjs → NcTextField-Cp3tulze.cjs} +8 -8
- package/dist/chunks/NcTextField-Cp3tulze.cjs.map +1 -0
- package/dist/chunks/{NcTextField-eKuP0G6I.mjs → NcTextField-D_IMz2MR.mjs} +8 -8
- package/dist/chunks/NcTextField-D_IMz2MR.mjs.map +1 -0
- package/dist/chunks/NcThemeProvider-25ResoIv.mjs.map +1 -1
- package/dist/chunks/NcThemeProvider-BqGPTeWg.cjs.map +1 -1
- package/dist/chunks/{NcTimezonePicker-DV_arh0f.cjs → NcTimezonePicker-Co7jDP7N.cjs} +10 -8
- package/dist/chunks/NcTimezonePicker-Co7jDP7N.cjs.map +1 -0
- package/dist/chunks/{NcTimezonePicker-BbqblRd7.mjs → NcTimezonePicker-Cu1FrSIX.mjs} +10 -8
- package/dist/chunks/NcTimezonePicker-Cu1FrSIX.mjs.map +1 -0
- package/dist/chunks/{NcUserBubble-C7XtYsrf.mjs → NcUserBubble-Be2B8iJY.mjs} +9 -9
- package/dist/chunks/NcUserBubble-Be2B8iJY.mjs.map +1 -0
- package/dist/chunks/{NcUserBubble-DuyMsPzl.cjs → NcUserBubble-CdX6H9-M.cjs} +9 -9
- package/dist/chunks/NcUserBubble-CdX6H9-M.cjs.map +1 -0
- package/dist/chunks/{NcUserStatusIcon-DQr5EGWZ.mjs → NcUserStatusIcon-C83nB_8T.mjs} +16 -16
- package/dist/chunks/NcUserStatusIcon-C83nB_8T.mjs.map +1 -0
- package/dist/chunks/{NcUserStatusIcon-CKPJ27oi.cjs → NcUserStatusIcon-DhZabBIY.cjs} +16 -16
- package/dist/chunks/NcUserStatusIcon-DhZabBIY.cjs.map +1 -0
- package/dist/chunks/{ScopeComponent-B_NOkzpc.mjs → ScopeComponent-305QOaqN.mjs} +4 -4
- package/dist/chunks/ScopeComponent-305QOaqN.mjs.map +1 -0
- package/dist/chunks/{ScopeComponent-CbzbU6pi.cjs → ScopeComponent-9wtS_FpN.cjs} +4 -4
- package/dist/chunks/ScopeComponent-9wtS_FpN.cjs.map +1 -0
- package/dist/chunks/{_l10n-CW0YfIWk.mjs → _l10n-BEfeU7gr.mjs} +98 -100
- package/dist/chunks/_l10n-BEfeU7gr.mjs.map +1 -0
- package/dist/chunks/{_l10n-RKohWu5d.cjs → _l10n-DM-VRK9x.cjs} +54 -56
- package/dist/chunks/{_l10n-RKohWu5d.cjs.map → _l10n-DM-VRK9x.cjs.map} +1 -1
- package/dist/chunks/actionGlobal-DqVa7c7G.mjs.map +1 -1
- package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs.map +1 -1
- package/dist/chunks/{actionText-fFcUPi2g.mjs → actionText-BMig9Egt.mjs} +5 -4
- package/dist/chunks/actionText-BMig9Egt.mjs.map +1 -0
- package/dist/chunks/{actionText-BcrK4uH1.cjs → actionText-D2-z0ud3.cjs} +5 -4
- package/dist/chunks/actionText-D2-z0ud3.cjs.map +1 -0
- package/dist/chunks/{autolink-BAgL31EZ.cjs → autolink-BPlRHRHR.cjs} +11 -10
- package/dist/chunks/autolink-BPlRHRHR.cjs.map +1 -0
- package/dist/chunks/{autolink-cbuFALXr.mjs → autolink-D2pIbi92.mjs} +11 -10
- package/dist/chunks/autolink-D2pIbi92.mjs.map +1 -0
- package/dist/chunks/constants-Bls5liKo.mjs.map +1 -1
- package/dist/chunks/constants-C_lA-vcp.cjs.map +1 -1
- package/dist/chunks/createElementId-DhjFt1I9.mjs +8 -0
- package/dist/chunks/createElementId-DhjFt1I9.mjs.map +1 -0
- package/dist/chunks/createElementId-lalylSCf.cjs +7 -0
- package/dist/chunks/createElementId-lalylSCf.cjs.map +1 -0
- package/dist/chunks/{customPickerElements-CH9vlHLd.mjs → customPickerElements-DLFtgReB.mjs} +6 -6
- package/dist/chunks/customPickerElements-DLFtgReB.mjs.map +1 -0
- package/dist/chunks/{customPickerElements-Q3Y7fgZ1.cjs → customPickerElements-GyIIOHiQ.cjs} +2 -2
- package/dist/chunks/customPickerElements-GyIIOHiQ.cjs.map +1 -0
- package/dist/chunks/emoji-BY_D0V5K.mjs.map +1 -1
- package/dist/chunks/emoji-VgSjNTd5.cjs.map +1 -1
- package/dist/chunks/focusTrap-DUTqW_IG.cjs.map +1 -1
- package/dist/chunks/focusTrap-HJQ4pqHV.mjs.map +1 -1
- package/dist/chunks/getAvatarUrl-Du9Y3cPO.cjs.map +1 -1
- package/dist/chunks/getAvatarUrl-IhLacDEr.mjs.map +1 -1
- package/dist/chunks/{index-AlIgEQXL.cjs → index-CgkN1xho.cjs} +7 -6
- package/dist/chunks/index-CgkN1xho.cjs.map +1 -0
- package/dist/chunks/{index-Bz6q9mZw.mjs → index-CxTT94_h.mjs} +3 -3
- package/dist/chunks/index-CxTT94_h.mjs.map +1 -0
- package/dist/chunks/{index-DIJxEozm.cjs → index-Dr9k4hIP.cjs} +3 -3
- package/dist/chunks/index-Dr9k4hIP.cjs.map +1 -0
- package/dist/chunks/{index-B8gPNa8c.mjs → index-TmAR7I2T.mjs} +7 -6
- package/dist/chunks/index-TmAR7I2T.mjs.map +1 -0
- package/dist/chunks/logger-3HuiEIF6.cjs.map +1 -1
- package/dist/chunks/logger-D3RVzcfQ.mjs.map +1 -1
- package/dist/chunks/platform-CC2ecGvV.mjs +5 -0
- package/dist/chunks/platform-CC2ecGvV.mjs.map +1 -0
- package/dist/chunks/platform-oKxQ1agV.cjs +4 -0
- package/dist/chunks/platform-oKxQ1agV.cjs.map +1 -0
- package/dist/chunks/{referencePickerModal-BINQW-pL.cjs → referencePickerModal-BcAnnsxZ.cjs} +78 -69
- package/dist/chunks/referencePickerModal-BcAnnsxZ.cjs.map +1 -0
- package/dist/chunks/{referencePickerModal-B2nPzrke.mjs → referencePickerModal-CN4C9eDc.mjs} +83 -74
- package/dist/chunks/referencePickerModal-CN4C9eDc.mjs.map +1 -0
- package/dist/chunks/useModelMigration-D5zhrNXr.cjs.map +1 -1
- package/dist/chunks/useModelMigration-EhAWvqDD.mjs.map +1 -1
- package/dist/chunks/useNcRadioGroup-DaZbEKbf.mjs +14 -0
- package/dist/chunks/useNcRadioGroup-DaZbEKbf.mjs.map +1 -0
- package/dist/chunks/useNcRadioGroup-Djvu7bo0.cjs +13 -0
- package/dist/chunks/useNcRadioGroup-Djvu7bo0.cjs.map +1 -0
- package/dist/chunks/{useTrapStackControl-yqM2SDEs.mjs → useTrapStackControl-BnLfCgGU.mjs} +2 -2
- package/dist/chunks/useTrapStackControl-BnLfCgGU.mjs.map +1 -0
- package/dist/chunks/{useTrapStackControl-CTZTSUOt.cjs → useTrapStackControl-XYABY64G.cjs} +2 -2
- package/dist/chunks/useTrapStackControl-XYABY64G.cjs.map +1 -0
- package/dist/components/NcCollectionList/service.d.ts +7 -0
- package/dist/components/NcKbd/index.d.ts +1 -0
- package/dist/components/NcRadioGroup/index.d.ts +5 -0
- package/dist/components/NcRadioGroup/useNcRadioGroup.d.ts +14 -0
- package/dist/components/NcRadioGroupButton/index.d.ts +5 -0
- package/dist/composables/actions/useActionText.d.ts +4 -1
- package/dist/composables/useFormatDateTime/index.d.ts +7 -5
- package/dist/composables/useIsDarkTheme/constants.d.ts +0 -1
- package/dist/composables/useIsDarkTheme/index.d.ts +2 -1
- package/dist/composables/useModelMigration.d.ts +5 -4
- package/dist/composables/useTrapStackControl.d.ts +1 -1
- package/dist/directives/Linkify/index.d.ts +3 -0
- package/dist/functions/a11y/index.d.ts +3 -3
- package/dist/functions/contactsMenu/index.d.ts +2 -2
- package/dist/functions/dialog/index.d.ts +1 -0
- package/dist/functions/emoji/emoji.d.ts +2 -2
- package/dist/functions/emoji/index.d.ts +1 -1
- package/dist/functions/isDarkTheme/index.d.ts +2 -1
- package/dist/functions/preloadImage/index.d.ts +1 -0
- package/dist/functions/reference/index.d.ts +3 -3
- package/dist/functions/reference/widgets.d.ts +1 -0
- package/dist/functions/registerReference/index.d.ts +2 -2
- package/dist/index.cjs +90 -83
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +89 -82
- package/dist/index.mjs.map +1 -1
- package/dist/plugin.d.ts +1 -0
- package/dist/utils/UserStatus.d.ts +6 -1
- package/dist/utils/createElementId.d.ts +11 -0
- package/dist/utils/getAvatarUrl.d.ts +1 -0
- package/dist/utils/platform.d.ts +1 -0
- package/package.json +28 -24
- package/dist/assets/NcSelectUsers-BOwQNNMf.css +0 -4
- package/dist/chunks/GenColors-BjsCKF7S.cjs.map +0 -1
- package/dist/chunks/GenColors-BrpkL3hT.mjs.map +0 -1
- package/dist/chunks/GenRandomId-BQDud3d4.cjs.map +0 -1
- package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +0 -1
- package/dist/chunks/NcActionButton-BhSk7AAp.cjs.map +0 -1
- package/dist/chunks/NcActionButton-DC3oAI2L.mjs.map +0 -1
- package/dist/chunks/NcActionCheckbox-DSMKeccY.mjs.map +0 -1
- package/dist/chunks/NcActionCheckbox-JX-QaTD6.cjs.map +0 -1
- package/dist/chunks/NcActionInput-B5ysJl2S.mjs.map +0 -1
- package/dist/chunks/NcActionInput-DdaafMi8.cjs.map +0 -1
- package/dist/chunks/NcActionRadio-BUCQ6VxA.cjs.map +0 -1
- package/dist/chunks/NcActionRadio-yAm71xxU.mjs.map +0 -1
- package/dist/chunks/NcActionTextEditable-CTXGUIPM.cjs.map +0 -1
- package/dist/chunks/NcActionTextEditable-CpxJ_LEa.mjs.map +0 -1
- package/dist/chunks/NcActions-DRCkAU8h.cjs.map +0 -1
- package/dist/chunks/NcActions-DdARGGZ_.mjs.map +0 -1
- package/dist/chunks/NcAppContent-BS7BiMG0.mjs.map +0 -1
- package/dist/chunks/NcAppContent-POt1Lj3W.cjs.map +0 -1
- package/dist/chunks/NcAppNavigation-BKxSUpcQ.cjs.map +0 -1
- package/dist/chunks/NcAppNavigation-BvEa92PC.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-BFF0p136.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-D1CEGuhm.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationNewItem-CTAoGkDy.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationNewItem-D4fJeBl0.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationSearch-B9OkdsuE.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationSearch-CaBrnpf9.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationSettings-DV5ZnR2s.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationSettings-Do0e5oWy.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-DGppWo0q.cjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-VxL1CfJY.mjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog-BDo3la0P.cjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog-BwsIc_QT.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-AR-D7HSj.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-Cvyq-kN5.cjs.map +0 -1
- package/dist/chunks/NcAppSidebarHeader-BUXD8c9i.cjs.map +0 -1
- package/dist/chunks/NcAppSidebarHeader-G2VD8Nfl.mjs.map +0 -1
- package/dist/chunks/NcAssistantIcon-D_xelcY2.cjs.map +0 -1
- package/dist/chunks/NcAssistantIcon-tjSguP9N.mjs.map +0 -1
- package/dist/chunks/NcAvatar-BEIBwiA6.mjs.map +0 -1
- package/dist/chunks/NcAvatar-DS1H-VrZ.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-BYYXWaif.mjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-HtgcEJgs.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumbs-CQcnjGJO.cjs.map +0 -1
- package/dist/chunks/NcBreadcrumbs-cj5ip2-X.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-B-lXOnEF.cjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-DqdNvkCt.mjs.map +0 -1
- package/dist/chunks/NcCollectionList-CLv50tJ3.mjs.map +0 -1
- package/dist/chunks/NcCollectionList-DXNSOjPG.cjs.map +0 -1
- package/dist/chunks/NcColorPicker-52xaYx9k.mjs.map +0 -1
- package/dist/chunks/NcColorPicker-CbiIpVlT.cjs.map +0 -1
- package/dist/chunks/NcCounterBubble-BRrUO34D.cjs.map +0 -1
- package/dist/chunks/NcCounterBubble-CDfRYl8B.mjs.map +0 -1
- package/dist/chunks/NcDashboardWidget-809lybR1.mjs.map +0 -1
- package/dist/chunks/NcDashboardWidget-DhJAJn-_.cjs.map +0 -1
- package/dist/chunks/NcDashboardWidgetItem-6JbU9gp1.mjs.map +0 -1
- package/dist/chunks/NcDashboardWidgetItem-CgO8qJUQ.cjs.map +0 -1
- package/dist/chunks/NcDateTime-Cl-PZpLN.cjs.map +0 -1
- package/dist/chunks/NcDateTime-kanSdMgW.mjs.map +0 -1
- package/dist/chunks/NcDialog-C1b3UtA7.mjs.map +0 -1
- package/dist/chunks/NcDialog-ps0F3IQM.cjs.map +0 -1
- package/dist/chunks/NcDialogButton-CEdM0Qnr.cjs.map +0 -1
- package/dist/chunks/NcDialogButton-Di9tU3e_.mjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-CdH7bAGd.cjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-CyZg0bCF.mjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-BWFubuox.cjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-Dq_Avv2T.mjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-Cb-cPj1R.mjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-CrnN5Sq5.cjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-DA740BJ-.mjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-Dz7-CkOl.cjs.map +0 -1
- package/dist/chunks/NcInputField-BNSfmQqu.mjs.map +0 -1
- package/dist/chunks/NcInputField-cT3u4gMS.cjs.map +0 -1
- package/dist/chunks/NcListItem-Bx9qm5xC.cjs.map +0 -1
- package/dist/chunks/NcListItem-CifyXFmv.mjs.map +0 -1
- package/dist/chunks/NcListItemIcon-CZrilo88.mjs.map +0 -1
- package/dist/chunks/NcListItemIcon-DMhlNuU9.cjs.map +0 -1
- package/dist/chunks/NcPasswordField-DSdrAkZy.mjs.map +0 -1
- package/dist/chunks/NcPasswordField-DcFBNVHn.cjs.map +0 -1
- package/dist/chunks/NcPopover-DjeDGPXc.cjs.map +0 -1
- package/dist/chunks/NcPopover-DxTXnL3u.mjs.map +0 -1
- package/dist/chunks/NcProgressBar-CI_nOrPg.mjs.map +0 -1
- package/dist/chunks/NcProgressBar-lh4Gtdfr.cjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-BR_ggojH.cjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-DyvwxDjI.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-CMQnS1Wz.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-DtkaJmwG.cjs.map +0 -1
- package/dist/chunks/NcRichText-7B9lDtoo.cjs.map +0 -1
- package/dist/chunks/NcRichText-MMeidJmP.mjs.map +0 -1
- package/dist/chunks/NcSelect-CrxryIo3.cjs.map +0 -1
- package/dist/chunks/NcSelect-okD5YTJq.mjs.map +0 -1
- package/dist/chunks/NcSelectTags-BPxmiMto.mjs.map +0 -1
- package/dist/chunks/NcSelectTags-BZqBdSqC.cjs.map +0 -1
- package/dist/chunks/NcSelectUsers-CshAjqE_.cjs.map +0 -1
- package/dist/chunks/NcSelectUsers-DK3EtvnG.mjs.map +0 -1
- package/dist/chunks/NcSettingsInputText-BKoaCiQU.mjs.map +0 -1
- package/dist/chunks/NcSettingsInputText-D7eoCI2o.cjs.map +0 -1
- package/dist/chunks/NcSettingsSection-Bmo90KQR.cjs.map +0 -1
- package/dist/chunks/NcSettingsSection-fe_YIg-L.mjs.map +0 -1
- package/dist/chunks/NcSettingsSelectGroup-CUUKv6lH.mjs.map +0 -1
- package/dist/chunks/NcSettingsSelectGroup-Dd04CVAM.cjs.map +0 -1
- package/dist/chunks/NcTextArea-B2hcap39.cjs.map +0 -1
- package/dist/chunks/NcTextArea-BFLuhsEv.mjs.map +0 -1
- package/dist/chunks/NcTextField-DDJqk3SI.cjs.map +0 -1
- package/dist/chunks/NcTextField-eKuP0G6I.mjs.map +0 -1
- package/dist/chunks/NcTimezonePicker-BbqblRd7.mjs.map +0 -1
- package/dist/chunks/NcTimezonePicker-DV_arh0f.cjs.map +0 -1
- package/dist/chunks/NcUserBubble-C7XtYsrf.mjs.map +0 -1
- package/dist/chunks/NcUserBubble-DuyMsPzl.cjs.map +0 -1
- package/dist/chunks/NcUserStatusIcon-CKPJ27oi.cjs.map +0 -1
- package/dist/chunks/NcUserStatusIcon-DQr5EGWZ.mjs.map +0 -1
- package/dist/chunks/ScopeComponent-B_NOkzpc.mjs.map +0 -1
- package/dist/chunks/ScopeComponent-CbzbU6pi.cjs.map +0 -1
- package/dist/chunks/_l10n-CW0YfIWk.mjs.map +0 -1
- package/dist/chunks/actionText-BcrK4uH1.cjs.map +0 -1
- package/dist/chunks/actionText-fFcUPi2g.mjs.map +0 -1
- package/dist/chunks/autolink-BAgL31EZ.cjs.map +0 -1
- package/dist/chunks/autolink-cbuFALXr.mjs.map +0 -1
- package/dist/chunks/customPickerElements-CH9vlHLd.mjs.map +0 -1
- package/dist/chunks/customPickerElements-Q3Y7fgZ1.cjs.map +0 -1
- package/dist/chunks/index-AlIgEQXL.cjs.map +0 -1
- package/dist/chunks/index-B8gPNa8c.mjs.map +0 -1
- package/dist/chunks/index-Bz6q9mZw.mjs.map +0 -1
- package/dist/chunks/index-DIJxEozm.cjs.map +0 -1
- package/dist/chunks/referencePickerModal-B2nPzrke.mjs.map +0 -1
- package/dist/chunks/referencePickerModal-BINQW-pL.cjs.map +0 -1
- package/dist/chunks/useTrapStackControl-CTZTSUOt.cjs.map +0 -1
- package/dist/chunks/useTrapStackControl-yqM2SDEs.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcDateTimePicker.mjs","sources":["../../node_modules/vue-material-design-icons/CalendarBlank.vue","../../node_modules/vue-material-design-icons/Web.vue","../../src/components/NcDateTimePicker/NcDateTimePicker.vue","../../src/components/NcDateTimePicker/index.js"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon calendar-blank-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CalendarBlankIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon web-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"WebIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n> In version 8 we were wrapping the awesome [vue2 datepicker library](https://github.com/mengxiong10/vue2-datepicker),\n> were you could use all of there options even with this component.\n> In version 9 and above this component will no longer be a transparent wrapper,\n> as such only the documented properties below will work.\n\n### Defaults\n- cleareable: false\n- minute-step: 10\n\n### Example\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\ttype=\"datetime\" />\n\t\t{{ time }}\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttime: new Date('2022-10-10 10:10:10'),\n\t\t}\n\t},\n}\n</script>\n```\n\n### Example with confirm button\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\ttype=\"datetime\"\n\t\t\tconfirm />\n\t\t{{ time }}\n\t</span>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttime: null,\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n\n### Range picker\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\ttype=\"date-range\" />\n\t\t{{ time }}\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttime: null,\n\t\t}\n\t},\n}\n</script>\n```\n\n### Time zone aware date picker\n\nThe datepicker can optionally include a picker for the preferred time zone. The selected time does not factor in the\npicked time zone, but you will have to convert it yourself when necessary.\n\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\ttype=\"datetime\"\n\t\t\t:show-timezone-select=\"true\"\n\t\t\t:timezone-id.sync=\"tz\" /><br>\n\t\t{{ time }} | {{ tz }}\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttime: undefined,\n\t\t\ttz: 'Europe/Berlin',\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<DatePicker ref=\"datepicker\"\n\t\t:append-to-body=\"appendToBody\"\n\t\t:clearable=\"clearable\"\n\t\t:format=\"internalFormat\"\n\t\t:formatter=\"internalFormatter\"\n\t\t:lang=\"lang ? lang : defaultLang\"\n\t\t:minute-step=\"minuteStep\"\n\t\t:placeholder=\"placeholder ? placeholder : defaultPlaceholder\"\n\t\t:popup-class=\"{ 'show-week-number': showWeekNumber }\"\n\t\t:range=\"internalRange\"\n\t\t:show-week-number=\"showWeekNumber\"\n\t\t:type=\"realType\"\n\t\t:value=\"model\"\n\t\tv-bind=\"$attrs\"\n\t\tv-on=\"$listeners\"\n\t\t@select-year=\"handleSelectYear\"\n\t\t@select-month=\"handleSelectMonth\"\n\t\t@input=\"model = $event\">\n\t\t<template #icon-calendar>\n\t\t\t<NcPopover v-if=\"showTimezoneSelect\"\n\t\t\t\tpopup-role=\"dialog\"\n\t\t\t\t:shown.sync=\"showTimezonePopover\"\n\t\t\t\tpopover-base-class=\"timezone-select__popper\">\n\t\t\t\t<template #trigger=\"{ attrs }\">\n\t\t\t\t\t<button class=\"datetime-picker-inline-icon\"\n\t\t\t\t\t\t:class=\"{'datetime-picker-inline-icon--highlighted': highlightTimezone}\"\n\t\t\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t\t\t@mousedown.stop.prevent=\"() => {}\">\n\t\t\t\t\t\t<Web :size=\"20\" />\n\t\t\t\t\t</button>\n\t\t\t\t</template>\n\n\t\t\t\t<div role=\"dialog\"\n\t\t\t\t\t:aria-labelledby=\"timezoneDialogHeaderId\">\n\t\t\t\t\t<div class=\"timezone-popover-wrapper__label\">\n\t\t\t\t\t\t<strong :id=\"timezoneDialogHeaderId\">\n\t\t\t\t\t\t\t{{ t('Please select a time zone:') }}\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</div>\n\t\t\t\t\t<NcTimezonePicker v-model=\"tzVal\"\n\t\t\t\t\t\tclass=\"timezone-popover-wrapper__timezone-select\"\n\t\t\t\t\t\t@input=\"$emit('update:timezone-id', arguments[0])\" />\n\t\t\t\t</div>\n\t\t\t</NcPopover>\n\t\t\t<CalendarBlank v-else :size=\"20\" />\n\t\t</template>\n\t\t<template v-for=\"(_, slot) of $scopedSlots\" #[slot]=\"scope\">\n\t\t\t<slot :name=\"slot\" v-bind=\"scope\" />\n\t\t</template>\n\t</DatePicker>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\n\nimport NcTimezonePicker from '../NcTimezonePicker/index.js'\nimport NcPopover from '../NcPopover/index.js'\n\nimport CalendarBlank from 'vue-material-design-icons/CalendarBlank.vue'\nimport Web from 'vue-material-design-icons/Web.vue'\n\nimport './index.scss'\n\nimport {\n\tgetFirstDay,\n\tgetDayNames,\n\tgetDayNamesShort,\n\tgetDayNamesMin,\n\tgetMonthNames,\n\tgetMonthNamesShort,\n} from '@nextcloud/l10n'\n\nimport DatePicker from 'vue2-datepicker'\n\nconst formatMap = {\n\tdate: 'YYYY-MM-DD',\n\tdatetime: 'YYYY-MM-DD H:mm:ss',\n\tyear: 'YYYY',\n\tmonth: 'YYYY-MM',\n\ttime: 'H:mm:ss',\n\tweek: 'w',\n}\n\nexport default {\n\tname: 'NcDateTimePicker',\n\n\tcomponents: {\n\t\tCalendarBlank,\n\t\tDatePicker,\n\t\tNcPopover,\n\t\tNcTimezonePicker,\n\t\tWeb,\n\t},\n\n\tinheritAttrs: false,\n\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n\n\tprops: {\n\t\tclearable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\tminuteStep: {\n\t\t\ttype: Number,\n\t\t\tdefault: 10,\n\t\t},\n\n\t\t/**\n\t\t * Since 8.25.0: Support 'date-range', 'time-range' and 'datetime-range' values.\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'date',\n\t\t\tvalidator: (type) => ['date', 'time', 'datetime', 'week', 'month', 'year', 'date-range', 'time-range', 'datetime-range'].includes(type),\n\t\t},\n\n\t\t/**\n\t\t * Either `moment.js` formatting tokens or a function taking a Date object and returning a string.\n\t\t * Warning: In v9 this will change the accepted token format to standardized Unicode tokens instead!\n\t\t */\n\t\tformat: {\n\t\t\ttype: [String, Function],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * @deprecated use `format` instead\n\t\t */\n\t\tformatter: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\n\t\tlang: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t// eslint-disable-next-line\n\t\tvalue: {\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * The value to initialize, but also two-way bind the selected date. The date is – like the `Date` object in\n\t\t * JavaScript – tied to UTC. The selected time zone does not have an influence of the selected time and date\n\t\t * value. You have to translate the time yourself when you want to factor in time zones.\n\t\t */\n\t\t// eslint-disable-next-line\n\t\tmodelValue: {\n\t\t\tdefault: () => new Date(),\n\t\t},\n\n\t\t/**\n\t\t * The preselected IANA time zone ID for the time zone picker, only relevant in combination with `:show-timezone-select=\"true\"`. Example: `Europe/Berlin`. The prop supports two-way binding through the .sync modifier.\n\t\t */\n\t\ttimezoneId: {\n\t\t\ttype: String,\n\t\t\tdefault: 'UTC',\n\t\t},\n\n\t\tshowTimezoneSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\thighlightTimezone: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\tappendToBody: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\tshowWeekNumber: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * @deprecated use the 'date-range' or 'datetime-range' type instead.\n\t\t */\n\t\trange: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t\t'update:timezone-id',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value')\n\t\treturn {\n\t\t\tmodel,\n\t\t\ttimezoneDialogHeaderId: `timezone-dialog-header-${GenRandomId()}`,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowTimezonePopover: false,\n\t\t\ttzVal: this.timezoneId,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\trealType() {\n\t\t\treturn this.type.split('-')[0]\n\t\t},\n\n\t\t/**\n\t\t * Datepicker language\n\t\t * https://github.com/mengxiong10/vue2-datepicker/blob/master/locale.md\n\t\t *\n\t\t * @return {object}\n\t\t */\n\t\tdefaultLang() {\n\t\t\treturn {\n\t\t\t\tformatLocale: {\n\t\t\t\t\tmonths: getMonthNames(),\n\t\t\t\t\tmonthsShort: getMonthNamesShort(),\n\t\t\t\t\tweekdays: getDayNames(),\n\t\t\t\t\tweekdaysShort: getDayNamesShort(),\n\t\t\t\t\tweekdaysMin: getDayNamesMin(),\n\t\t\t\t\t// 0 = sunday, 1 = monday\n\t\t\t\t\tfirstDayOfWeek: getFirstDay(),\n\t\t\t\t},\n\t\t\t\tmonthFormat: 'MMMM',\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Translated placeholder\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tdefaultPlaceholder() {\n\t\t\tif (this.realType === 'time') {\n\t\t\t\treturn t('Pick a time')\n\t\t\t}\n\t\t\tif (this.realType === 'month') {\n\t\t\t\treturn t('Pick a month')\n\t\t\t}\n\t\t\tif (this.realType === 'year') {\n\t\t\t\treturn t('Pick a year')\n\t\t\t}\n\t\t\tif (this.realType === 'week') {\n\t\t\t\treturn t('Pick a week')\n\t\t\t}\n\t\t\tif (this.realType === 'date') {\n\t\t\t\treturn t('Pick a date')\n\t\t\t}\n\t\t\treturn t('Pick a date and a time')\n\t\t},\n\n\t\t/**\n\t\t * Is the range picker enabled\n\t\t */\n\t\tinternalRange() {\n\t\t\treturn this.range || this.type.endsWith('-range')\n\t\t},\n\n\t\tinternalFormat() {\n\t\t\tif (this.format && typeof this.format === 'string') {\n\t\t\t\treturn this.format\n\t\t\t}\n\t\t\treturn formatMap[this.realType] || formatMap.date\n\t\t},\n\n\t\t/**\n\t\t * The formatter used for the vue-datepicker to fix nextcloud-libraries/nextcloud-vue#5044\n\t\t */\n\t\tinternalFormatter() {\n\t\t\t/**\n\t\t\t * Get the ISO week number of the date\n\t\t\t * @param {Date} date The date to format\n\t\t\t */\n\t\t\tconst getWeek = (date) => {\n\t\t\t\t// Adjust to nearest Thursday\n\t\t\t\tconst firstThursday = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n\t\t\t\tfirstThursday.setUTCDate(firstThursday.getUTCDate() + 4 - (firstThursday.getUTCDay() || 7))\n\n\t\t\t\tconst yearStart = new Date(Date.UTC(firstThursday.getUTCFullYear(), 0, 1))\n\n\t\t\t\t// Full weeks to nearest Thursday\n\t\t\t\treturn Math.ceil((((firstThursday - yearStart) / 86400000) + 1) / 7)\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tgetWeek,\n\t\t\t\t// wrape the format if it is a function\n\t\t\t\t...(typeof this.format === 'function' ? { stringify: this.format } : {}),\n\t\t\t\t// allow to override it by users using the `formatter` prop\n\t\t\t\t...(this.formatter ?? {}),\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\thandleSelectYear(year) {\n\t\t\tconst value = this.$refs.datepicker.currentValue\n\t\t\tif (value) {\n\t\t\t\ttry {\n\t\t\t\t\tconst date = new Date(new Date(value).setFullYear(year))\n\t\t\t\t\tthis.$refs.datepicker.selectDate(date)\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Invalid value', value, year)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\thandleSelectMonth(month) {\n\t\t\tconst value = this.$refs.datepicker.currentValue\n\t\t\tif (value) {\n\t\t\t\ttry {\n\t\t\t\t\tconst date = new Date(new Date(value).setMonth(month))\n\t\t\t\t\tthis.$refs.datepicker.selectDate(date)\n\t\t\t\t} catch (error) {\n\t\t\t\t\tconsole.error('Invalid value', value, month)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Toggles the visibility of the time zone popover\n\t\t */\n\t\ttoggleTimezonePopover() {\n\t\t\tif (!this.showTimezoneSelect) {\n\t\t\t\t// Just a click on the icon, but not for time zones -> ignore\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.showTimezonePopover = !this.showTimezonePopover\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.mx-datepicker :deep(.mx-input-wrapper .mx-input) {\n\tbackground-clip: border-box;\n}\n\n.datetime-picker-inline-icon {\n\topacity: .3;\n\tborder: none;\n\tbackground-color: transparent;\n\tborder-radius: 0;\n\tpadding: 0 !important;\n\tmargin: 0;\n\n\t&--highlighted {\n\t\topacity: .7;\n\t}\n\n\t&:focus,\n\t&:hover {\n\t\topacity: 1;\n\t}\n}\n</style>\n\n<style lang=\"scss\">\n// We overwrite the popover base class, so we can style\n// the popover for the timezone select only.\n.v-popper--theme-nc-popover-8.v-popper__popper.timezone-select__popper .v-popper__wrapper {\n\tborder-radius: var(--border-radius-large);\n\n\t.v-popper__inner {\n\t\tpadding: 4px;\n\t\tborder-radius: var(--border-radius-large);\n\n\t\t.timezone-popover-wrapper {\n\t\t\t&__label {\n\t\t\t\tpadding: 4px 0;\n\t\t\t\tpadding-left: 14px; // Left-align with NcSelect text\n\t\t\t}\n\n\t\t\t// We overwrite the border radius of the input to account for the popover border-radius minus the padding\n\t\t\t&__timezone-select.v-select {\n\t\t\t\t&.select {\n\t\t\t\t\tmin-width: 246px;\n\t\t\t\t\tleft: -8px !important;\n\t\t\t\t}\n\t\t\t\t.vs__dropdown-toggle {\n\t\t\t\t\tborder-radius: calc(var(--border-radius-large) - 4px);\n\t\t\t\t}\n\n\t\t\t\t&.vs--open {\n\t\t\t\t\t.vs__dropdown-toggle {\n\t\t\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t\t\t}\n\t\t\t\t\t&.select--drop-up .vs__dropdown-toggle {\n\t\t\t\t\t\tborder-radius: 0 0 calc(var(--border-radius-large) - 4px) calc(var(--border-radius-large) - 4px);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// TODO: This should be scoped or targeted by a specific selector, but the NcSelect component does not allow this yet.\n.vs__dropdown-menu--floating {\n\t// Higher z-index than the popover in which the NcSelect is located.\n\tz-index: 100001 !important;\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport NcDateTimePicker from './NcDateTimePicker.vue'\nimport ScopeComponent from '../../utils/ScopeComponent.js'\n\nScopeComponent(NcDateTimePicker)\n\nexport default NcDateTimePicker\n"],"names":["_sfc_main"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
1
|
+
{"version":3,"file":"NcDateTimePicker.mjs","sources":["../../node_modules/vue-material-design-icons/CalendarBlank.vue","../../node_modules/vue-material-design-icons/Web.vue","../../src/components/NcDateTimePicker/NcDateTimePicker.vue","../../src/components/NcDateTimePicker/index.js"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon calendar-blank-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CalendarBlankIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon web-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M16.36,14C16.44,13.34 16.5,12.68 16.5,12C16.5,11.32 16.44,10.66 16.36,10H19.74C19.9,10.64 20,11.31 20,12C20,12.69 19.9,13.36 19.74,14M14.59,19.56C15.19,18.45 15.65,17.25 15.97,16H18.92C17.96,17.65 16.43,18.93 14.59,19.56M14.34,14H9.66C9.56,13.34 9.5,12.68 9.5,12C9.5,11.32 9.56,10.65 9.66,10H14.34C14.43,10.65 14.5,11.32 14.5,12C14.5,12.68 14.43,13.34 14.34,14M12,19.96C11.17,18.76 10.5,17.43 10.09,16H13.91C13.5,17.43 12.83,18.76 12,19.96M8,8H5.08C6.03,6.34 7.57,5.06 9.4,4.44C8.8,5.55 8.35,6.75 8,8M5.08,16H8C8.35,17.25 8.8,18.45 9.4,19.56C7.57,18.93 6.03,17.65 5.08,16M4.26,14C4.1,13.36 4,12.69 4,12C4,11.31 4.1,10.64 4.26,10H7.64C7.56,10.66 7.5,11.32 7.5,12C7.5,12.68 7.56,13.34 7.64,14M12,4.03C12.83,5.23 13.5,6.57 13.91,8H10.09C10.5,6.57 11.17,5.23 12,4.03M18.92,8H15.97C15.65,6.75 15.19,5.55 14.59,4.44C16.43,5.07 17.96,6.34 18.92,8M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"WebIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n> In version 8 we were wrapping the awesome [vue2 datepicker library](https://github.com/mengxiong10/vue2-datepicker),\n> were you could use all of there options even with this component.\n> In version 9 and above this component will no longer be a transparent wrapper,\n> as such only the documented properties below will work.\n\n### Defaults\n- cleareable: false\n- minute-step: 10\n\n### Example\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\ttype=\"datetime\" />\n\t\t{{ time }}\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttime: new Date('2022-10-10 10:10:10'),\n\t\t}\n\t},\n}\n</script>\n```\n\n### Example with confirm button\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\ttype=\"datetime\"\n\t\t\tconfirm />\n\t\t{{ time }}\n\t</span>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttime: null,\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n\n### Range picker\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\ttype=\"date-range\" />\n\t\t{{ time }}\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttime: null,\n\t\t}\n\t},\n}\n</script>\n```\n\n### Time zone aware date picker\n\nThe datepicker can optionally include a picker for the preferred time zone. The selected time does not factor in the\npicked time zone, but you will have to convert it yourself when necessary.\n\n```vue\n<template>\n\t<span>\n\t\t<NcDateTimePicker\n\t\t\tv-model=\"time\"\n\t\t\ttype=\"datetime\"\n\t\t\t:show-timezone-select=\"true\"\n\t\t\t:timezone-id.sync=\"tz\" /><br>\n\t\t{{ time }} | {{ tz }}\n\t</span>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttime: undefined,\n\t\t\ttz: 'Europe/Berlin',\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<DatePicker\n\t\tref=\"datepicker\"\n\t\t:append-to-body=\"appendToBody\"\n\t\t:clearable=\"clearable\"\n\t\t:format=\"internalFormat\"\n\t\t:formatter=\"internalFormatter\"\n\t\t:lang=\"lang ? lang : defaultLang\"\n\t\t:minute-step=\"minuteStep\"\n\t\t:placeholder=\"placeholder ? placeholder : defaultPlaceholder\"\n\t\t:popup-class=\"{ 'show-week-number': showWeekNumber }\"\n\t\t:range=\"internalRange\"\n\t\t:show-week-number=\"showWeekNumber\"\n\t\t:type=\"realType\"\n\t\t:value=\"model\"\n\t\tv-bind=\"$attrs\"\n\t\tv-on=\"$listeners\"\n\t\t@select-year=\"handleSelectYear\"\n\t\t@select-month=\"handleSelectMonth\"\n\t\t@input=\"model = $event\">\n\t\t<template #icon-calendar>\n\t\t\t<NcPopover\n\t\t\t\tv-if=\"showTimezoneSelect\"\n\t\t\t\tpopup-role=\"dialog\"\n\t\t\t\t:shown.sync=\"showTimezonePopover\"\n\t\t\t\tpopover-base-class=\"timezone-select__popper\">\n\t\t\t\t<template #trigger=\"{ attrs }\">\n\t\t\t\t\t<button\n\t\t\t\t\t\tclass=\"datetime-picker-inline-icon\"\n\t\t\t\t\t\t:class=\"{ 'datetime-picker-inline-icon--highlighted': highlightTimezone }\"\n\t\t\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t\t\t@mousedown.stop.prevent=\"() => {}\">\n\t\t\t\t\t\t<Web :size=\"20\" />\n\t\t\t\t\t</button>\n\t\t\t\t</template>\n\n\t\t\t\t<div\n\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t:aria-labelledby=\"timezoneDialogHeaderId\">\n\t\t\t\t\t<div class=\"timezone-popover-wrapper__label\">\n\t\t\t\t\t\t<strong :id=\"timezoneDialogHeaderId\">\n\t\t\t\t\t\t\t{{ t('Please select a time zone:') }}\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</div>\n\t\t\t\t\t<NcTimezonePicker\n\t\t\t\t\t\tv-model=\"tzVal\"\n\t\t\t\t\t\tclass=\"timezone-popover-wrapper__timezone-select\"\n\t\t\t\t\t\t@input=\"$emit('update:timezone-id', arguments[0])\" />\n\t\t\t\t</div>\n\t\t\t</NcPopover>\n\t\t\t<CalendarBlank v-else :size=\"20\" />\n\t\t</template>\n\t\t<template v-for=\"(_, slot) of $scopedSlots\" #[slot]=\"scope\">\n\t\t\t<slot :name=\"slot\" v-bind=\"scope\" />\n\t\t</template>\n\t</DatePicker>\n</template>\n\n<script>\nimport {\n\tgetDayNames,\n\tgetDayNamesMin,\n\tgetDayNamesShort,\n\tgetFirstDay,\n\tgetMonthNames,\n\tgetMonthNamesShort,\n} from '@nextcloud/l10n'\nimport DatePicker from 'vue2-datepicker'\nimport CalendarBlank from 'vue-material-design-icons/CalendarBlank.vue'\nimport Web from 'vue-material-design-icons/Web.vue'\nimport { useModelMigration } from '../../composables/useModelMigration.ts'\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { logger } from '../../utils/logger.ts'\nimport NcPopover from '../NcPopover/index.js'\nimport NcTimezonePicker from '../NcTimezonePicker/index.js'\n\nimport './index.scss'\n\nconst formatMap = {\n\tdate: 'YYYY-MM-DD',\n\tdatetime: 'YYYY-MM-DD H:mm:ss',\n\tyear: 'YYYY',\n\tmonth: 'YYYY-MM',\n\ttime: 'H:mm:ss',\n\tweek: 'w',\n}\n\nexport default {\n\tname: 'NcDateTimePicker',\n\n\tcomponents: {\n\t\tCalendarBlank,\n\t\tDatePicker,\n\t\tNcPopover,\n\t\tNcTimezonePicker,\n\t\tWeb,\n\t},\n\n\tinheritAttrs: false,\n\n\tmodel: {\n\t\tprop: 'modelValue',\n\t\tevent: 'update:modelValue',\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Allow to clear the input.\n\t\t */\n\t\tclearable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Default increment step for minutes in the time picker.\n\t\t */\n\t\tminuteStep: {\n\t\t\ttype: Number,\n\t\t\tdefault: 10,\n\t\t},\n\n\t\t/**\n\t\t * Since 8.25.0: Support 'date-range', 'time-range' and 'datetime-range' values.\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'date',\n\t\t\tvalidator: (type) => ['date', 'time', 'datetime', 'week', 'month', 'year', 'date-range', 'time-range', 'datetime-range'].includes(type),\n\t\t},\n\n\t\t/**\n\t\t * Either `moment.js` formatting tokens or a function taking a Date object and returning a string.\n\t\t * Warning: In v9 this will change the accepted token format to standardized Unicode tokens instead!\n\t\t */\n\t\tformat: {\n\t\t\ttype: [String, Function],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * @deprecated use `format` instead\n\t\t */\n\t\tformatter: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * The locale to use for formatting the shown dates.\n\t\t * By default the users current Nextcloud locale is used.\n\t\t */\n\t\tlang: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Removed in v9 - use `modelValue` (`v-model`) instead\n\t\t *\n\t\t * @deprecated\n\t\t */\n\t\t// eslint-disable-next-line\n\t\tvalue: {\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * The value to initialize, but also two-way bind the selected date. The date is – like the `Date` object in\n\t\t * JavaScript – tied to UTC. The selected time zone does not have an influence of the selected time and date\n\t\t * value. You have to translate the time yourself when you want to factor in time zones.\n\t\t */\n\t\t// eslint-disable-next-line\n\t\tmodelValue: {\n\t\t\tdefault: () => new Date(),\n\t\t},\n\n\t\t/**\n\t\t * The preselected IANA time zone ID for the time zone picker, only relevant in combination with `:show-timezone-select=\"true\"`. Example: `Europe/Berlin`. The prop supports two-way binding through the .sync modifier.\n\t\t */\n\t\ttimezoneId: {\n\t\t\ttype: String,\n\t\t\tdefault: 'UTC',\n\t\t},\n\n\t\t/**\n\t\t * Include a timezone picker within the menu.\n\t\t * Please note that the dates are still bound to the locale timezone\n\t\t * and any conversion needs to be done by the app itself.\n\t\t */\n\t\tshowTimezoneSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * If set to true the timezone select icon will be highlighted.\n\t\t */\n\t\thighlightTimezone: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * If set to true the menu will be placed on the `<body>`\n\t\t * instead of default placement on the picker.\n\t\t */\n\t\tappendToBody: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Show the ISO week numbers within the calendar.\n\t\t */\n\t\tshowWeekNumber: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Optional custom placeholder for the input box.\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * @deprecated use the 'date-range' or 'datetime-range' type instead.\n\t\t */\n\t\trange: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * Removed in v9 - use `update:modelValue` (`v-model`) instead\n\t\t *\n\t\t * @deprecated\n\t\t */\n\t\t'update:value',\n\t\t'update:modelValue',\n\t\t/** Same as update:modelValue for Vue 2 compatibility */\n\t\t'update:model-value',\n\t\t'update:timezone-id',\n\t],\n\n\tsetup() {\n\t\tconst model = useModelMigration('value', 'update:value')\n\t\treturn {\n\t\t\tmodel,\n\t\t\ttimezoneDialogHeaderId: `timezone-dialog-header-${GenRandomId()}`,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tshowTimezonePopover: false,\n\t\t\ttzVal: this.timezoneId,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\trealType() {\n\t\t\treturn this.type.split('-')[0]\n\t\t},\n\n\t\t/**\n\t\t * Datepicker language\n\t\t * https://github.com/mengxiong10/vue2-datepicker/blob/master/locale.md\n\t\t *\n\t\t * @return {object}\n\t\t */\n\t\tdefaultLang() {\n\t\t\treturn {\n\t\t\t\tformatLocale: {\n\t\t\t\t\tmonths: getMonthNames(),\n\t\t\t\t\tmonthsShort: getMonthNamesShort(),\n\t\t\t\t\tweekdays: getDayNames(),\n\t\t\t\t\tweekdaysShort: getDayNamesShort(),\n\t\t\t\t\tweekdaysMin: getDayNamesMin(),\n\t\t\t\t\t// 0 = sunday, 1 = monday\n\t\t\t\t\tfirstDayOfWeek: getFirstDay(),\n\t\t\t\t},\n\n\t\t\t\tmonthFormat: 'MMMM',\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Translated placeholder\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tdefaultPlaceholder() {\n\t\t\tif (this.realType === 'time') {\n\t\t\t\treturn t('Pick a time')\n\t\t\t}\n\t\t\tif (this.realType === 'month') {\n\t\t\t\treturn t('Pick a month')\n\t\t\t}\n\t\t\tif (this.realType === 'year') {\n\t\t\t\treturn t('Pick a year')\n\t\t\t}\n\t\t\tif (this.realType === 'week') {\n\t\t\t\treturn t('Pick a week')\n\t\t\t}\n\t\t\tif (this.realType === 'date') {\n\t\t\t\treturn t('Pick a date')\n\t\t\t}\n\t\t\treturn t('Pick a date and a time')\n\t\t},\n\n\t\t/**\n\t\t * Is the range picker enabled\n\t\t */\n\t\tinternalRange() {\n\t\t\treturn this.range || this.type.endsWith('-range')\n\t\t},\n\n\t\tinternalFormat() {\n\t\t\tif (this.format && typeof this.format === 'string') {\n\t\t\t\treturn this.format\n\t\t\t}\n\t\t\treturn formatMap[this.realType] || formatMap.date\n\t\t},\n\n\t\t/**\n\t\t * The formatter used for the vue-datepicker to fix nextcloud-libraries/nextcloud-vue#5044\n\t\t */\n\t\tinternalFormatter() {\n\t\t\t/**\n\t\t\t * Get the ISO week number of the date\n\t\t\t *\n\t\t\t * @param {Date} date The date to format\n\t\t\t */\n\t\t\tconst getWeek = (date) => {\n\t\t\t\t// Adjust to nearest Thursday\n\t\t\t\tconst firstThursday = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n\t\t\t\tfirstThursday.setUTCDate(firstThursday.getUTCDate() + 4 - (firstThursday.getUTCDay() || 7))\n\n\t\t\t\tconst yearStart = new Date(Date.UTC(firstThursday.getUTCFullYear(), 0, 1))\n\n\t\t\t\t// Full weeks to nearest Thursday\n\t\t\t\treturn Math.ceil((((firstThursday - yearStart) / 86400000) + 1) / 7)\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tgetWeek,\n\t\t\t\t// wrape the format if it is a function\n\t\t\t\t...(typeof this.format === 'function' ? { stringify: this.format } : {}),\n\t\t\t\t// allow to override it by users using the `formatter` prop\n\t\t\t\t...(this.formatter ?? {}),\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\thandleSelectYear(year) {\n\t\t\tconst value = this.$refs.datepicker.currentValue\n\t\t\tif (value) {\n\t\t\t\ttry {\n\t\t\t\t\tconst date = new Date(new Date(value).setFullYear(year))\n\t\t\t\t\tthis.$refs.datepicker.selectDate(date)\n\t\t\t\t} catch {\n\t\t\t\t\tlogger.error('Invalid value', value, year)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\thandleSelectMonth(month) {\n\t\t\tconst value = this.$refs.datepicker.currentValue\n\t\t\tif (value) {\n\t\t\t\ttry {\n\t\t\t\t\tconst date = new Date(new Date(value).setMonth(month))\n\t\t\t\t\tthis.$refs.datepicker.selectDate(date)\n\t\t\t\t} catch {\n\t\t\t\t\tlogger.error('Invalid value', value, month)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Toggles the visibility of the time zone popover\n\t\t */\n\t\ttoggleTimezonePopover() {\n\t\t\tif (!this.showTimezoneSelect) {\n\t\t\t\t// Just a click on the icon, but not for time zones -> ignore\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.showTimezonePopover = !this.showTimezonePopover\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.mx-datepicker :deep(.mx-input-wrapper .mx-input) {\n\tbackground-clip: border-box;\n}\n\n.datetime-picker-inline-icon {\n\topacity: .3;\n\tborder: none;\n\tbackground-color: transparent;\n\tborder-radius: 0;\n\tpadding: 0 !important;\n\tmargin: 0;\n\n\t&--highlighted {\n\t\topacity: .7;\n\t}\n\n\t&:focus,\n\t&:hover {\n\t\topacity: 1;\n\t}\n}\n</style>\n\n<style lang=\"scss\">\n// We overwrite the popover base class, so we can style\n// the popover for the timezone select only.\n.v-popper--theme-nc-popover-8.v-popper__popper.timezone-select__popper .v-popper__wrapper {\n\tborder-radius: var(--border-radius-large);\n\n\t.v-popper__inner {\n\t\tpadding: 4px;\n\t\tborder-radius: var(--border-radius-large);\n\n\t\t.timezone-popover-wrapper {\n\t\t\t&__label {\n\t\t\t\tpadding: 4px 0;\n\t\t\t\tpadding-left: 14px; // Left-align with NcSelect text\n\t\t\t}\n\n\t\t\t// We overwrite the border radius of the input to account for the popover border-radius minus the padding\n\t\t\t&__timezone-select.v-select {\n\t\t\t\t&.select {\n\t\t\t\t\tmin-width: 246px;\n\t\t\t\t\tleft: -8px !important;\n\t\t\t\t}\n\t\t\t\t.vs__dropdown-toggle {\n\t\t\t\t\tborder-radius: calc(var(--border-radius-large) - 4px);\n\t\t\t\t}\n\n\t\t\t\t&.vs--open {\n\t\t\t\t\t.vs__dropdown-toggle {\n\t\t\t\t\t\tborder-bottom-left-radius: 0;\n\t\t\t\t\t\tborder-bottom-right-radius: 0;\n\t\t\t\t\t}\n\t\t\t\t\t&.select--drop-up .vs__dropdown-toggle {\n\t\t\t\t\t\tborder-radius: 0 0 calc(var(--border-radius-large) - 4px) calc(var(--border-radius-large) - 4px);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n// TODO: This should be scoped or targeted by a specific selector, but the NcSelect component does not allow this yet.\n.vs__dropdown-menu--floating {\n\t// Higher z-index than the popover in which the NcSelect is located.\n\tz-index: 100001 !important;\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport NcDateTimePicker from './NcDateTimePicker.vue'\nimport ScopeComponent from '../../utils/ScopeComponent.js'\n\nScopeComponent(NcDateTimePicker)\n\nexport default NcDateTimePicker\n"],"names":["_sfc_main"],"mappings":"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","x_google_ignoreList":[0,1]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
require('../assets/NcDateTimePickerNative-
|
|
1
|
+
require('../assets/NcDateTimePickerNative-ZqMiOh_m.css');
|
|
2
2
|
"use strict";
|
|
3
3
|
const useModelMigration = require("../chunks/useModelMigration-D5zhrNXr.cjs");
|
|
4
|
-
const GenRandomId = require("../chunks/GenRandomId-
|
|
4
|
+
const GenRandomId = require("../chunks/GenRandomId-D7iOvpZS.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-9wtS_FpN.cjs");
|
|
7
7
|
const inputDateTypes = ["date", "datetime-local", "month", "time", "week"];
|
|
8
8
|
const _sfc_main = {
|
|
9
9
|
name: "NcDateTimePickerNative",
|
|
@@ -15,6 +15,7 @@ const _sfc_main = {
|
|
|
15
15
|
props: {
|
|
16
16
|
/**
|
|
17
17
|
* Removed in v9 - use `modelValue` (`v-model`) instead
|
|
18
|
+
*
|
|
18
19
|
* @deprecated
|
|
19
20
|
*/
|
|
20
21
|
value: {
|
|
@@ -62,7 +63,7 @@ const _sfc_main = {
|
|
|
62
63
|
* default type: null
|
|
63
64
|
*/
|
|
64
65
|
min: {
|
|
65
|
-
type: [
|
|
66
|
+
type: [Boolean, Date],
|
|
66
67
|
default: null
|
|
67
68
|
},
|
|
68
69
|
/**
|
|
@@ -70,7 +71,7 @@ const _sfc_main = {
|
|
|
70
71
|
* default type: null
|
|
71
72
|
*/
|
|
72
73
|
max: {
|
|
73
|
-
type: [
|
|
74
|
+
type: [Boolean, Date],
|
|
74
75
|
default: null
|
|
75
76
|
},
|
|
76
77
|
/**
|
|
@@ -94,6 +95,7 @@ const _sfc_main = {
|
|
|
94
95
|
emits: [
|
|
95
96
|
/**
|
|
96
97
|
* Removed in v9 - use `update:modelValue` (`v-model`) instead
|
|
98
|
+
*
|
|
97
99
|
* @deprecated
|
|
98
100
|
*/
|
|
99
101
|
"input",
|
|
@@ -223,7 +225,7 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
223
225
|
_sfc_staticRenderFns,
|
|
224
226
|
false,
|
|
225
227
|
null,
|
|
226
|
-
"
|
|
228
|
+
"6c1feae8"
|
|
227
229
|
);
|
|
228
230
|
const NcDateTimePickerNative = __component__.exports;
|
|
229
231
|
ScopeComponent.ScopeComponent(NcDateTimePickerNative);
|
|
@@ -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 payloads\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\n\t\t\tclass=\"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\n\t\t\t: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 *\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\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\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\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: [Boolean, Date],\n\t\t\tdefault: null,\n\t\t},\n\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: [Boolean, Date],\n\t\t\tdefault: null,\n\t\t},\n\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\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 *\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\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\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\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 payloads\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\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,8 +1,8 @@
|
|
|
1
|
-
import '../assets/NcDateTimePickerNative-
|
|
1
|
+
import '../assets/NcDateTimePickerNative-ZqMiOh_m.css';
|
|
2
2
|
import { u as useModelMigration } from "../chunks/useModelMigration-EhAWvqDD.mjs";
|
|
3
|
-
import { G as GenRandomId } from "../chunks/GenRandomId-
|
|
3
|
+
import { G as GenRandomId } from "../chunks/GenRandomId-F5ebeBB_.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-305QOaqN.mjs";
|
|
6
6
|
const inputDateTypes = ["date", "datetime-local", "month", "time", "week"];
|
|
7
7
|
const _sfc_main = {
|
|
8
8
|
name: "NcDateTimePickerNative",
|
|
@@ -14,6 +14,7 @@ const _sfc_main = {
|
|
|
14
14
|
props: {
|
|
15
15
|
/**
|
|
16
16
|
* Removed in v9 - use `modelValue` (`v-model`) instead
|
|
17
|
+
*
|
|
17
18
|
* @deprecated
|
|
18
19
|
*/
|
|
19
20
|
value: {
|
|
@@ -61,7 +62,7 @@ const _sfc_main = {
|
|
|
61
62
|
* default type: null
|
|
62
63
|
*/
|
|
63
64
|
min: {
|
|
64
|
-
type: [
|
|
65
|
+
type: [Boolean, Date],
|
|
65
66
|
default: null
|
|
66
67
|
},
|
|
67
68
|
/**
|
|
@@ -69,7 +70,7 @@ const _sfc_main = {
|
|
|
69
70
|
* default type: null
|
|
70
71
|
*/
|
|
71
72
|
max: {
|
|
72
|
-
type: [
|
|
73
|
+
type: [Boolean, Date],
|
|
73
74
|
default: null
|
|
74
75
|
},
|
|
75
76
|
/**
|
|
@@ -93,6 +94,7 @@ const _sfc_main = {
|
|
|
93
94
|
emits: [
|
|
94
95
|
/**
|
|
95
96
|
* Removed in v9 - use `update:modelValue` (`v-model`) instead
|
|
97
|
+
*
|
|
96
98
|
* @deprecated
|
|
97
99
|
*/
|
|
98
100
|
"input",
|
|
@@ -222,7 +224,7 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
|
222
224
|
_sfc_staticRenderFns,
|
|
223
225
|
false,
|
|
224
226
|
null,
|
|
225
|
-
"
|
|
227
|
+
"6c1feae8"
|
|
226
228
|
);
|
|
227
229
|
const NcDateTimePickerNative = __component__.exports;
|
|
228
230
|
ScopeComponent(NcDateTimePickerNative);
|
|
@@ -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 payloads\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\n\t\t\tclass=\"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\n\t\t\t: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 *\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\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\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\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: [Boolean, Date],\n\t\t\tdefault: null,\n\t\t},\n\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: [Boolean, Date],\n\t\t\tdefault: null,\n\t\t},\n\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\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 *\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\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\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\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 payloads\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\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":";;;;AAiHA,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;AAAA,IAMA,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,sBAAA,YAAA;AAAA,MACA,WAAA,CAAA,OAAA,GAAA,KAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,UAAA,CAAA,SAAA,eAAA,SAAA,IAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,KAAA;AAAA,MACA,MAAA,CAAA,SAAA,IAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,KAAA;AAAA,MACA,MAAA,CAAA,SAAA,IAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,YAAA;AAAA,MACA,MAAA,CAAA,QAAA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA;AAAA,IAEA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,UAAA,QAAA,kBAAA,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,IAEA,eAAA;AACA,UAAA,KAAA,KAAA;AACA,eAAA,KAAA,YAAA,KAAA,GAAA;AAAA,MACA;AACA,aAAA;AAAA,IACA;AAAA,IAEA,eAAA;AACA,UAAA,KAAA,KAAA;AACA,eAAA,KAAA,YAAA,KAAA,GAAA;AAAA,MACA;AACA,aAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA;AAAA,QACA,GAAA,KAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMA,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,IAQA,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;;;;;;;;;;;;;;;ACrVA,eAAe,sBAAsB;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
require('../assets/NcEllipsisedOption-
|
|
1
|
+
require('../assets/NcEllipsisedOption-DRkFZ9bI.css');
|
|
2
2
|
"use strict";
|
|
3
|
-
const Components_NcHighlight = require("../chunks/index-
|
|
3
|
+
const Components_NcHighlight = require("../chunks/index-Dr9k4hIP.cjs");
|
|
4
4
|
const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
5
5
|
const _sfc_main = {
|
|
6
6
|
name: "NcEllipsisedOption",
|
|
@@ -87,7 +87,7 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
87
87
|
_sfc_staticRenderFns,
|
|
88
88
|
false,
|
|
89
89
|
null,
|
|
90
|
-
"
|
|
90
|
+
"592b8444"
|
|
91
91
|
);
|
|
92
92
|
const NcEllipsisedOption = __component__.exports;
|
|
93
93
|
module.exports = NcEllipsisedOption;
|
|
@@ -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
|
|
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\n\t\t\tclass=\"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\n\t\t\tv-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\n<script>\nimport FindRanges from '../../utils/FindRanges.js'\nimport NcHighlight from '../NcHighlight/index.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\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\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\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\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\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\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\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":";;;AAwFA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,aAAAA,uBAAAA;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,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,IAOA,QAAA;AAEA,aAAA,KAAA,KAAA,SAAA,KAAA,IAAA,KAAA,MAAA,KAAA,KAAA,SAAA,CAAA,GAAA,EAAA;AAAA,IACA;AAAA,IAEA,QAAA;AACA,UAAA,KAAA,eAAA;AACA,eAAA,KAAA,KAAA,MAAA,GAAA,KAAA,KAAA;AAAA,MACA;AACA,aAAA,KAAA;AAAA,IACA;AAAA,IAEA,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,IAQA,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,IASA,aAAA;AACA,aAAA,KAAA,WAAA,IAAA,CAAA,UAAA;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,5 +1,5 @@
|
|
|
1
|
-
import '../assets/NcEllipsisedOption-
|
|
2
|
-
import { N as NcHighlight, F as FindRanges } from "../chunks/index-
|
|
1
|
+
import '../assets/NcEllipsisedOption-DRkFZ9bI.css';
|
|
2
|
+
import { N as NcHighlight, F as FindRanges } from "../chunks/index-CxTT94_h.mjs";
|
|
3
3
|
import { n as normalizeComponent } from "../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
4
4
|
const _sfc_main = {
|
|
5
5
|
name: "NcEllipsisedOption",
|
|
@@ -86,7 +86,7 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
|
86
86
|
_sfc_staticRenderFns,
|
|
87
87
|
false,
|
|
88
88
|
null,
|
|
89
|
-
"
|
|
89
|
+
"592b8444"
|
|
90
90
|
);
|
|
91
91
|
const NcEllipsisedOption = __component__.exports;
|
|
92
92
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NcEllipsisedOption.mjs","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
|
|
1
|
+
{"version":3,"file":"NcEllipsisedOption.mjs","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\n\t\t\tclass=\"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\n\t\t\tv-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\n<script>\nimport FindRanges from '../../utils/FindRanges.js'\nimport NcHighlight from '../NcHighlight/index.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\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\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\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\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\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\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\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":[],"mappings":";;AAwFA,MAAA,YAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,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,IAOA,QAAA;AAEA,aAAA,KAAA,KAAA,SAAA,KAAA,IAAA,KAAA,MAAA,KAAA,KAAA,SAAA,CAAA,GAAA,EAAA;AAAA,IACA;AAAA,IAEA,QAAA;AACA,UAAA,KAAA,eAAA;AACA,eAAA,KAAA,KAAA,MAAA,GAAA,KAAA,KAAA;AAAA,MACA;AACA,aAAA,KAAA;AAAA,IACA;AAAA,IAEA,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,IAQA,aAAA;AACA,UAAA,CAAA,KAAA,QAAA;AACA,eAAA,CAAA;AAAA,MACA;AACA,aAAA,WAAA,KAAA,MAAA,KAAA,MAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,aAAA;AACA,aAAA,KAAA,WAAA,IAAA,CAAA,UAAA;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-xdTcF0yQ.css');
|
|
2
2
|
"use strict";
|
|
3
3
|
const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
4
4
|
const _sfc_main = {
|
|
@@ -6,6 +6,7 @@ const _sfc_main = {
|
|
|
6
6
|
props: {
|
|
7
7
|
/**
|
|
8
8
|
* A header message about an empty content shown
|
|
9
|
+
*
|
|
9
10
|
* @example 'No comments'
|
|
10
11
|
*/
|
|
11
12
|
name: {
|
|
@@ -14,6 +15,7 @@ const _sfc_main = {
|
|
|
14
15
|
},
|
|
15
16
|
/**
|
|
16
17
|
* Desription of the empty content
|
|
18
|
+
*
|
|
17
19
|
* @example 'No comments yet, start the conversation!'
|
|
18
20
|
*/
|
|
19
21
|
description: {
|
|
@@ -48,7 +50,7 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
|
48
50
|
_sfc_staticRenderFns,
|
|
49
51
|
false,
|
|
50
52
|
null,
|
|
51
|
-
"
|
|
53
|
+
"e5f606f7"
|
|
52
54
|
);
|
|
53
55
|
const NcEmptyContent = __component__.exports;
|
|
54
56
|
module.exports = NcEmptyContent;
|
|
@@ -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 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\tpadding: var(--default-grid-baseline);\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\ttext-align: center;\n\t\ttext-wrap-style: balance;\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,
|
|
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 *\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 *\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\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\tpadding: var(--default-grid-baseline);\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\ttext-align: center;\n\t\ttext-wrap-style: balance;\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;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,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,IAKA,iBAAA;AACA,aAAA,KAAA,gBAAA,MAAA,KAAA,OAAA,cAAA,CAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;;;;"}
|