@nextcloud/vue 9.0.0-alpha.3 → 9.0.0-alpha.4
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 +44 -0
- package/README.md +5 -0
- package/dist/Components/NcActionButton.mjs +1 -1
- package/dist/Components/NcActionButtonGroup.mjs +1 -1
- package/dist/Components/NcActionCaption.mjs +1 -1
- package/dist/Components/NcActionCheckbox.mjs +1 -1
- package/dist/Components/NcActionInput.mjs +1 -1
- package/dist/Components/NcActionLink.mjs +1 -1
- package/dist/Components/NcActionRadio.mjs +1 -1
- package/dist/Components/NcActionRouter.mjs +1 -1
- package/dist/Components/NcActionSeparator.mjs +1 -1
- package/dist/Components/NcActionText.mjs +1 -1
- package/dist/Components/NcActionTextEditable.mjs +1 -1
- package/dist/Components/NcActions.mjs +1 -1
- package/dist/Components/NcAppContent.mjs +1 -1
- package/dist/Components/NcAppNavigation.mjs +1 -1
- package/dist/Components/NcAppNavigationCaption.mjs +1 -1
- package/dist/Components/NcAppNavigationIconBullet.mjs +1 -1
- package/dist/Components/NcAppNavigationItem.mjs +1 -1
- package/dist/Components/NcAppNavigationList.mjs +1 -1
- package/dist/Components/NcAppNavigationNew.mjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
- package/dist/Components/NcAppNavigationSettings.mjs +1 -1
- package/dist/Components/NcAppNavigationSpacer.mjs +1 -1
- package/dist/Components/NcAppNavigationToggle.mjs +1 -21
- package/dist/Components/NcAppNavigationToggle.mjs.map +1 -1
- package/dist/Components/NcAppSettingsDialog.mjs +1 -1
- package/dist/Components/NcAppSettingsSection.mjs +1 -1
- package/dist/Components/NcAppSidebar.mjs +1 -1
- package/dist/Components/NcAppSidebarTab.mjs +1 -1
- package/dist/Components/NcAvatar.mjs +1 -1
- package/dist/Components/NcBreadcrumb.mjs +1 -1
- package/dist/Components/NcBreadcrumbs.mjs +1 -1
- package/dist/Components/NcButton.mjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
- package/dist/Components/NcChip.mjs +4 -0
- package/dist/Components/NcChip.mjs.map +1 -0
- package/dist/Components/NcColorPicker.mjs +1 -1
- package/dist/Components/NcContent.mjs +1 -1
- package/dist/Components/NcCounterBubble.mjs +1 -1
- package/dist/Components/NcDashboardWidget.mjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
- package/dist/Components/NcDateTime.mjs +1 -1
- package/dist/Components/NcDateTimePicker.mjs +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +1 -1
- package/dist/Components/NcDialog.mjs +1 -1
- package/dist/Components/NcDialogButton.mjs +1 -1
- package/dist/Components/NcEllipsisedOption.mjs +1 -1
- package/dist/Components/NcEmojiPicker.mjs +1 -1
- package/dist/Components/NcEmptyContent.mjs +1 -1
- package/dist/Components/NcGuestContent.mjs +1 -1
- package/dist/Components/NcHeaderMenu.mjs +1 -1
- package/dist/Components/NcHighlight.mjs +1 -1
- package/dist/Components/NcIconSvgWrapper.mjs +1 -1
- package/dist/Components/NcInputField.mjs +1 -1
- package/dist/Components/NcListItem.mjs +1 -1
- package/dist/Components/NcListItemIcon.mjs +1 -1
- package/dist/Components/NcLoadingIcon.mjs +1 -1
- package/dist/Components/NcModal.mjs +14 -53
- package/dist/Components/NcModal.mjs.map +1 -1
- package/dist/Components/NcNoteCard.mjs +1 -1
- package/dist/Components/NcPasswordField.mjs +1 -1
- package/dist/Components/NcPopover.mjs +1 -1
- package/dist/Components/NcProgressBar.mjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
- package/dist/Components/NcRichContenteditable.mjs +2 -2
- package/dist/Components/NcRichText.mjs +3 -24
- package/dist/Components/NcRichText.mjs.map +1 -1
- package/dist/Components/NcSelect.mjs +1 -1
- package/dist/Components/NcSelectTags.mjs +1 -1
- package/dist/Components/NcSettingsInputText.mjs +1 -1
- package/dist/Components/NcSettingsSection.mjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.mjs +1 -22
- package/dist/Components/NcSettingsSelectGroup.mjs.map +1 -1
- package/dist/Components/NcTextArea.mjs +1 -1
- package/dist/Components/NcTextField.mjs +1 -1
- package/dist/Components/NcTimezonePicker.mjs +1 -1
- package/dist/Components/NcUserBubble.mjs +1 -1
- package/dist/Components/NcUserStatusIcon.mjs +1 -1
- package/dist/Components/NcVNodes.mjs.map +1 -1
- package/dist/Composables/useIsFullscreen.mjs +0 -21
- package/dist/Composables/useIsFullscreen.mjs.map +1 -1
- package/dist/Composables/useIsMobile.mjs +0 -21
- package/dist/Composables/useIsMobile.mjs.map +1 -1
- package/dist/Directives/Focus.mjs +0 -21
- package/dist/Directives/Focus.mjs.map +1 -1
- package/dist/Directives/Linkify.mjs +1 -1
- package/dist/Directives/Linkify.mjs.map +1 -1
- package/dist/Directives/Tooltip.mjs +1 -23
- package/dist/Directives/Tooltip.mjs.map +1 -1
- package/dist/Functions/a11y.mjs +0 -21
- package/dist/Functions/a11y.mjs.map +1 -1
- package/dist/Functions/emoji.mjs +1 -1
- package/dist/Functions/reference.mjs +1 -1
- package/dist/Functions/usernameToColor.mjs +1 -1
- package/dist/Mixins/clickOutsideOptions.mjs +0 -21
- package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
- package/dist/Mixins/richEditor.mjs +2 -2
- package/dist/assets/NcActionButton-tvMk0Dz-.css +107 -0
- package/dist/assets/{NcActionButtonGroup-CvloX35s.css → NcActionButtonGroup-CQxLn2fv.css} +6 -20
- package/dist/assets/NcActionCaption-D-VXTPLI.css +32 -0
- package/dist/assets/NcActionCheckbox-DzmNTqwC.css +78 -0
- package/dist/assets/NcActionInput-4qR5N5lV.css +222 -0
- package/dist/assets/NcActionLink-Djp7wPGg.css +92 -0
- package/dist/assets/NcActionRadio-ZRQheAZT.css +78 -0
- package/dist/assets/NcActionRouter-B0l-dISs.css +103 -0
- package/dist/assets/NcActionSeparator-CEbb5P6P.css +24 -0
- package/dist/assets/NcActionText-Ip9hRt85.css +107 -0
- package/dist/assets/NcActionTextEditable-1JPkW_4o.css +238 -0
- package/dist/assets/NcActions-pRTZ3RyK.css +83 -0
- package/dist/assets/NcAppContent-CK9aL637.css +125 -0
- package/dist/assets/NcAppNavigation-BjnW8PQn.css +103 -0
- package/dist/assets/NcAppNavigationCaption-NPhURS5E.css +48 -0
- package/dist/assets/NcAppNavigationIconBullet-EfIZU7x-.css +30 -0
- package/dist/assets/{NcAppNavigationItem-DBjQubbD.css → NcAppNavigationItem-wQ3n8jc-.css} +50 -74
- package/dist/assets/NcAppNavigationList-BIbyyT7b.css +29 -0
- package/dist/assets/NcAppNavigationNew-R0QcGqvG.css +27 -0
- package/dist/assets/{NcAppNavigationNewItem-wTDYmQmA.css → NcAppNavigationNewItem-CO3GnR26.css} +42 -52
- package/dist/assets/NcAppNavigationSettings-Cyn2gy0W.css +79 -0
- package/dist/assets/NcAppNavigationSpacer-DiE3sVy0.css +6 -0
- package/dist/assets/NcAppNavigationToggle-CNPQvWtG.css +27 -0
- package/dist/assets/NcAppSettingsDialog-ksK-DMgk.css +74 -0
- package/dist/assets/NcAppSettingsSection-CcRbdcD-.css +30 -0
- package/dist/assets/{NcAppSidebar-v-H-37nV.css → NcAppSidebar-CxMCtTtn.css} +98 -149
- package/dist/assets/NcAppSidebarTab-Cp0hG2NU.css +34 -0
- package/dist/assets/NcAvatar-BnHiRwVr.css +129 -0
- package/dist/assets/NcBreadcrumb-CJ7KeSKQ.css +68 -0
- package/dist/assets/NcBreadcrumbs-C05lySw_.css +37 -0
- package/dist/assets/{NcButton-BqOBMPBj.css → NcButton-D3_Qd5cl.css} +58 -71
- package/dist/assets/{NcCheckboxRadioSwitch-BrP8x4oD.css → NcCheckboxRadioSwitch-By6afmQ3.css} +53 -81
- package/dist/assets/NcChip-Cho4h_Kr.css +61 -0
- package/dist/assets/NcColorPicker-vEZb9dRS.css +122 -0
- package/dist/assets/NcContent-DljiVMLl.css +80 -0
- package/dist/assets/NcCounterBubble-DT16e2bg.css +53 -0
- package/dist/assets/NcDashboardWidget-CvGZT_xf.css +73 -0
- package/dist/assets/NcDashboardWidgetItem-JCtQhwhS.css +85 -0
- package/dist/assets/{NcDateTimePicker-DBxgtJoU.css → NcDateTimePicker-BLEg7GJo.css} +38 -76
- package/dist/assets/NcDateTimePickerNative-DLch-JRA.css +47 -0
- package/dist/assets/NcDialog-BmN7gR6_.css +132 -0
- package/dist/assets/NcEllipsisedOption-DZK2vWD1.css +34 -0
- package/dist/assets/{NcEmojiPicker-DPDnLnba.css → NcEmojiPicker-C18M6LHu.css} +16 -44
- package/dist/assets/NcEmptyContent-C-nruaFh.css +65 -0
- package/dist/assets/NcGuestContent-Dh5z5Dgm.css +50 -0
- package/dist/assets/NcHeaderMenu-C-0GR7Si.css +77 -0
- package/dist/assets/NcIconSvgWrapper-CtTf2c7f.css +39 -0
- package/dist/assets/NcInputConfirmCancel-DBjIHKvN.css +39 -0
- package/dist/assets/{NcInputField-CSuJUlgW.css → NcInputField-DXzhRkiY.css} +42 -55
- package/dist/assets/NcListItem-Cs-R5Xpu.css +156 -0
- package/dist/assets/NcListItemIcon-C2zhDUEr.css +64 -0
- package/dist/assets/NcLoadingIcon-BSONDy7x.css +21 -0
- package/dist/assets/NcMentionBubble-B-xYaJDc.css +70 -0
- package/dist/assets/{NcModal-JZMyM8zO.css → NcModal-B5iEU9Qr.css} +70 -87
- package/dist/assets/NcNoteCard-BLPU1den.css +50 -0
- package/dist/assets/{NcPopover-BwI1hPzy.css → NcPopover-BDlL00qZ.css} +6 -20
- package/dist/assets/NcProgressBar-BsqdCn-x.css +56 -0
- package/dist/assets/NcRelatedResourcesPanel-C56aj2M3.css +158 -0
- package/dist/assets/{NcRichContenteditable-C9Sikuur.css → NcRichContenteditable-B_YH-89_.css} +55 -97
- package/dist/assets/NcRichText-yqgOn353.css +217 -0
- package/dist/assets/{NcSelect-Fmyu7qyl.css → NcSelect-9AZOhTlS.css} +9 -21
- package/dist/assets/NcSettingsInputText-C3j73xA0.css +35 -0
- package/dist/assets/NcSettingsSection-CFKAEs4p.css +52 -0
- package/dist/assets/NcSettingsSelectGroup-CGfaysRv.css +23 -0
- package/dist/assets/{NcTextArea-n0qdPImB.css → NcTextArea-BjB_qSH0.css} +30 -42
- package/dist/assets/NcUserBubble-CIfQjmmP.css +48 -0
- package/dist/assets/NcUserStatusIcon-D9N1ER72.css +30 -0
- package/dist/assets/{Tooltip-jHgt4m-W.css → Tooltip-4CSl8xev.css} +10 -30
- package/dist/assets/referencePickerModal-DeIfdfau.css +413 -0
- package/dist/chunks/{GenColors-BjorWIgA.mjs → GenColors-BidEIqUL.mjs} +1 -23
- package/dist/chunks/GenColors-BidEIqUL.mjs.map +1 -0
- package/dist/chunks/GenRandomId-CMooMQt0.mjs +6 -0
- package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +1 -0
- package/dist/chunks/Linkify-BtgR-dXX.mjs +14 -0
- package/dist/chunks/Linkify-BtgR-dXX.mjs.map +1 -0
- package/dist/chunks/{NcActionButton-BFQnlisT.mjs → NcActionButton-Bqkgltcz.mjs} +4 -4
- package/dist/chunks/NcActionButton-Bqkgltcz.mjs.map +1 -0
- package/dist/chunks/{NcActionButtonGroup-D-8C3HSO.mjs → NcActionButtonGroup-BeQ4mLmQ.mjs} +3 -3
- package/dist/chunks/NcActionButtonGroup-BeQ4mLmQ.mjs.map +1 -0
- package/dist/chunks/{NcActionCaption-CV_zDfFg.mjs → NcActionCaption-Cb_uvgZc.mjs} +2 -2
- package/dist/chunks/{NcActionCaption-CV_zDfFg.mjs.map → NcActionCaption-Cb_uvgZc.mjs.map} +1 -1
- package/dist/chunks/{NcActionCheckbox-CjZH6kjg.mjs → NcActionCheckbox-A6JNjini.mjs} +4 -4
- package/dist/chunks/NcActionCheckbox-A6JNjini.mjs.map +1 -0
- package/dist/chunks/{NcActionInput-ClUviDGB.mjs → NcActionInput-DCe8K_gs.mjs} +10 -10
- package/dist/chunks/NcActionInput-DCe8K_gs.mjs.map +1 -0
- package/dist/chunks/{NcActionLink-CQEzoS_a.mjs → NcActionLink-C0mINC5i.mjs} +4 -4
- package/dist/chunks/NcActionLink-C0mINC5i.mjs.map +1 -0
- package/dist/chunks/{NcActionRadio-D6VrxjcX.mjs → NcActionRadio-BqAyH2zq.mjs} +4 -4
- package/dist/chunks/NcActionRadio-BqAyH2zq.mjs.map +1 -0
- package/dist/chunks/{NcActionRouter-DmrWV-q1.mjs → NcActionRouter-Dr-j-IUI.mjs} +4 -4
- package/dist/chunks/NcActionRouter-Dr-j-IUI.mjs.map +1 -0
- package/dist/chunks/{NcActionSeparator-ib21YUAE.mjs → NcActionSeparator-DKFXmIJ5.mjs} +2 -2
- package/dist/chunks/NcActionSeparator-DKFXmIJ5.mjs.map +1 -0
- package/dist/chunks/{NcActionText-dj38IHk6.mjs → NcActionText-C5ZPI56c.mjs} +4 -4
- package/dist/chunks/NcActionText-C5ZPI56c.mjs.map +1 -0
- package/dist/chunks/{NcActionTextEditable-W1wFQ9dc.mjs → NcActionTextEditable-CLXTDGjr.mjs} +4 -4
- package/dist/chunks/NcActionTextEditable-CLXTDGjr.mjs.map +1 -0
- package/dist/chunks/{NcActions-B6QL_4DD.mjs → NcActions-COaRMDe5.mjs} +7 -7
- package/dist/chunks/NcActions-COaRMDe5.mjs.map +1 -0
- package/dist/chunks/{NcAppContent-jvz75P8O.mjs → NcAppContent-D2in9bd7.mjs} +5 -5
- package/dist/chunks/NcAppContent-D2in9bd7.mjs.map +1 -0
- package/dist/chunks/NcAppContentDetails-Ch6NJvAl.mjs.map +1 -1
- package/dist/chunks/NcAppContentList-DGwk3AvB.mjs.map +1 -1
- package/dist/chunks/{NcAppNavigation-D0RINQda.mjs → NcAppNavigation-Dz1n-CeR.mjs} +5 -5
- package/dist/chunks/NcAppNavigation-Dz1n-CeR.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationCaption-BnhoAPkJ.mjs → NcAppNavigationCaption-6odGo1iM.mjs} +3 -3
- package/dist/chunks/NcAppNavigationCaption-6odGo1iM.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationIconBullet-JoIYov5C.mjs → NcAppNavigationIconBullet-DuqQFciH.mjs} +2 -2
- package/dist/chunks/NcAppNavigationIconBullet-DuqQFciH.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationItem-s0czI8KR.mjs → NcAppNavigationItem-BHtzDfb2.mjs} +10 -10
- package/dist/chunks/NcAppNavigationItem-BHtzDfb2.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationList-DzTic3Q7.mjs → NcAppNavigationList-DCmrqe9N.mjs} +2 -2
- package/dist/chunks/NcAppNavigationList-DCmrqe9N.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationNew-RBp5Nk-2.mjs → NcAppNavigationNew-CRonFKWJ.mjs} +3 -3
- package/dist/chunks/NcAppNavigationNew-CRonFKWJ.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationNewItem-u85Ffz-V.mjs → NcAppNavigationNewItem-Ctbp1kb-.mjs} +4 -4
- package/dist/chunks/NcAppNavigationNewItem-Ctbp1kb-.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSettings-D_4gHC9H.mjs → NcAppNavigationSettings-ynYeFb6Z.mjs} +4 -4
- package/dist/chunks/NcAppNavigationSettings-ynYeFb6Z.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationSpacer-Ctbl-q5I.mjs → NcAppNavigationSpacer-BQFYpMbq.mjs} +2 -2
- package/dist/chunks/NcAppNavigationSpacer-BQFYpMbq.mjs.map +1 -0
- package/dist/chunks/{NcAppNavigationToggle-BtC5hBww.mjs → NcAppNavigationToggle-DYG8u5dW.mjs} +4 -4
- package/dist/chunks/NcAppNavigationToggle-DYG8u5dW.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-DXpamfEo.mjs → NcAppSettingsDialog-CjpGb_I4.mjs} +4 -4
- package/dist/chunks/NcAppSettingsDialog-CjpGb_I4.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsSection-PG8OLRbP.mjs → NcAppSettingsSection-a7OfJ9GT.mjs} +2 -2
- package/dist/chunks/NcAppSettingsSection-a7OfJ9GT.mjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-B0pjWsoI.mjs → NcAppSidebar-BGCuCKk_.mjs} +232 -200
- package/dist/chunks/NcAppSidebar-BGCuCKk_.mjs.map +1 -0
- package/dist/chunks/{NcAppSidebarTab-BTuuQoW5.mjs → NcAppSidebarTab-zBqyKIgn.mjs} +2 -2
- package/dist/chunks/NcAppSidebarTab-zBqyKIgn.mjs.map +1 -0
- package/dist/chunks/{NcAvatar-BKmfsBcY.mjs → NcAvatar-OjWzLdGK.mjs} +15 -36
- package/dist/chunks/NcAvatar-OjWzLdGK.mjs.map +1 -0
- package/dist/chunks/{NcBreadcrumb-C3k6T3Bj.mjs → NcBreadcrumb-Df7Nn5jU.mjs} +5 -5
- package/dist/chunks/NcBreadcrumb-Df7Nn5jU.mjs.map +1 -0
- package/dist/chunks/{NcBreadcrumbs-Crc4BkfA.mjs → NcBreadcrumbs-CighY87i.mjs} +12 -16
- package/dist/chunks/NcBreadcrumbs-CighY87i.mjs.map +1 -0
- package/dist/chunks/{NcButton-B27fpd1m.mjs → NcButton-DvO0XwJf.mjs} +6 -31
- package/dist/chunks/NcButton-DvO0XwJf.mjs.map +1 -0
- package/dist/chunks/{NcCheckboxRadioSwitch-DdG8AL_h.mjs → NcCheckboxRadioSwitch-BW7W0ToW.mjs} +6 -6
- package/dist/chunks/NcCheckboxRadioSwitch-BW7W0ToW.mjs.map +1 -0
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_959f6f1b_lang-C0H-ioQZ.mjs +3 -0
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_959f6f1b_lang-C0H-ioQZ.mjs.map +1 -0
- package/dist/chunks/NcChip-Crkkyllt.mjs +143 -0
- package/dist/chunks/NcChip-Crkkyllt.mjs.map +1 -0
- package/dist/chunks/{NcColorPicker-D4IB1shI.mjs → NcColorPicker-Bq2-21Np.mjs} +7 -7
- package/dist/chunks/NcColorPicker-Bq2-21Np.mjs.map +1 -0
- package/dist/chunks/NcContent-WcbDFG2f.mjs +130 -0
- package/dist/chunks/NcContent-WcbDFG2f.mjs.map +1 -0
- package/dist/chunks/{NcCounterBubble-BVDNwJiw.mjs → NcCounterBubble-B0Sk58x_.mjs} +2 -2
- package/dist/chunks/NcCounterBubble-B0Sk58x_.mjs.map +1 -0
- package/dist/chunks/{NcDashboardWidget-B5H6n5qG.mjs → NcDashboardWidget-xBpqAct1.mjs} +7 -7
- package/dist/chunks/NcDashboardWidget-xBpqAct1.mjs.map +1 -0
- package/dist/chunks/{NcDashboardWidgetItem-BbgZpZ-D.mjs → NcDashboardWidgetItem-BwemNzvL.mjs} +5 -5
- package/dist/chunks/NcDashboardWidgetItem-BwemNzvL.mjs.map +1 -0
- package/dist/chunks/{NcDateTime-p5872lEX.mjs → NcDateTime-BVQqC6rO.mjs} +1 -22
- package/dist/chunks/NcDateTime-BVQqC6rO.mjs.map +1 -0
- package/dist/chunks/{NcDateTimePicker-C1gBl-W0.mjs → NcDateTimePicker-CjuFbS-2.mjs} +7 -7
- package/dist/chunks/NcDateTimePicker-CjuFbS-2.mjs.map +1 -0
- package/dist/chunks/{NcDateTimePickerNative-CyCL5Ovh.mjs → NcDateTimePickerNative-DwJ_yIEg.mjs} +3 -3
- package/dist/chunks/NcDateTimePickerNative-DwJ_yIEg.mjs.map +1 -0
- package/dist/chunks/{NcDialog-Dq3Qnbke.mjs → NcDialog-CE2gyz2g.mjs} +4 -4
- package/dist/chunks/NcDialog-CE2gyz2g.mjs.map +1 -0
- package/dist/chunks/{NcDialogButton-C6SudZTq.mjs → NcDialogButton-DAb0CNtg.mjs} +11 -3
- package/dist/chunks/NcDialogButton-DAb0CNtg.mjs.map +1 -0
- package/dist/chunks/{NcEllipsisedOption-DsCFqgUF.mjs → NcEllipsisedOption-CufdpPBu.mjs} +9 -3
- package/dist/chunks/NcEllipsisedOption-CufdpPBu.mjs.map +1 -0
- package/dist/chunks/{NcEmojiPicker-BwQ8VxQZ.mjs → NcEmojiPicker-DNbUUyLY.mjs} +9 -9
- package/dist/chunks/NcEmojiPicker-DNbUUyLY.mjs.map +1 -0
- package/dist/chunks/{NcEmptyContent-CdgacgQe.mjs → NcEmptyContent-BoGB3vFC.mjs} +2 -2
- package/dist/chunks/NcEmptyContent-BoGB3vFC.mjs.map +1 -0
- package/dist/chunks/{NcGuestContent-DfnVEtGM.mjs → NcGuestContent-DVqg5Bq4.mjs} +2 -2
- package/dist/chunks/NcGuestContent-DVqg5Bq4.mjs.map +1 -0
- package/dist/chunks/{NcHeaderMenu-CJVtnKpb.mjs → NcHeaderMenu-CIWkk8T1.mjs} +6 -6
- package/dist/chunks/NcHeaderMenu-CIWkk8T1.mjs.map +1 -0
- package/dist/chunks/{NcHighlight-CR5kySMp.mjs → NcHighlight-BHtRIzqk.mjs} +0 -21
- package/dist/chunks/NcHighlight-BHtRIzqk.mjs.map +1 -0
- package/dist/chunks/{NcIconSvgWrapper-C0csZ9zg.mjs → NcIconSvgWrapper-DbL6OP85.mjs} +3 -3
- package/dist/chunks/NcIconSvgWrapper-DbL6OP85.mjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-Rk8B1Q0j.mjs → NcInputConfirmCancel-Cwh6_J6A.mjs} +4 -4
- package/dist/chunks/NcInputConfirmCancel-Cwh6_J6A.mjs.map +1 -0
- package/dist/chunks/{NcInputField-DX0Brmlk.mjs → NcInputField-BrAvsgA4.mjs} +4 -4
- package/dist/chunks/NcInputField-BrAvsgA4.mjs.map +1 -0
- package/dist/chunks/{NcListItem-CgZoQEIf.mjs → NcListItem-D3yyUn7h.mjs} +5 -5
- package/dist/chunks/{NcListItem-CgZoQEIf.mjs.map → NcListItem-D3yyUn7h.mjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-A5o8HkQv.mjs → NcListItemIcon-B06oTqsI.mjs} +6 -6
- package/dist/chunks/NcListItemIcon-B06oTqsI.mjs.map +1 -0
- package/dist/chunks/{NcLoadingIcon-DwbO7gAy.mjs → NcLoadingIcon-DREmHXr2.mjs} +2 -2
- package/dist/chunks/NcLoadingIcon-DREmHXr2.mjs.map +1 -0
- package/dist/chunks/{NcNoteCard-CdZRsd8-.mjs → NcNoteCard-CQgzjr2r.mjs} +2 -2
- package/dist/chunks/NcNoteCard-CQgzjr2r.mjs.map +1 -0
- package/dist/chunks/{NcPasswordField-B7CiEElO.mjs → NcPasswordField-CaRDsoPg.mjs} +4 -3
- package/dist/chunks/NcPasswordField-CaRDsoPg.mjs.map +1 -0
- package/dist/chunks/{NcPopover-B9UbiGTv.mjs → NcPopover-BXfbq-Vs.mjs} +2 -2
- package/dist/chunks/NcPopover-BXfbq-Vs.mjs.map +1 -0
- package/dist/chunks/{NcProgressBar-CAXfza4R.mjs → NcProgressBar-C2r8oqsv.mjs} +3 -3
- package/dist/chunks/NcProgressBar-C2r8oqsv.mjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-Dr4jL2gw.mjs → NcRelatedResourcesPanel-Bg_z2tZT.mjs} +8 -8
- package/dist/chunks/NcRelatedResourcesPanel-Bg_z2tZT.mjs.map +1 -0
- package/dist/chunks/{NcRichContenteditable-P06ORHyg.mjs → NcRichContenteditable-Cx8Fv6sx.mjs} +51 -29
- package/dist/chunks/NcRichContenteditable-Cx8Fv6sx.mjs.map +1 -0
- package/dist/chunks/{NcRichText-BfreYq5m.mjs → NcRichText-2N_x-ark.mjs} +11 -10
- package/dist/chunks/NcRichText-2N_x-ark.mjs.map +1 -0
- package/dist/chunks/NcSavingIndicatorIcon-BiGAtlKQ.mjs.map +1 -1
- package/dist/chunks/{NcSelect-Dt3JJc9b.mjs → NcSelect-CPlvJjcY.mjs} +6 -6
- package/dist/chunks/NcSelect-CPlvJjcY.mjs.map +1 -0
- package/dist/chunks/{NcSelectTags-F8Z_SdXE.mjs → NcSelectTags-Hpq3uQ0b.mjs} +3 -24
- package/dist/chunks/NcSelectTags-Hpq3uQ0b.mjs.map +1 -0
- package/dist/chunks/{NcSettingsInputText-BtDwhhX0.mjs → NcSettingsInputText-oIYmufF3.mjs} +4 -4
- package/dist/chunks/NcSettingsInputText-oIYmufF3.mjs.map +1 -0
- package/dist/chunks/{NcSettingsSection-BN98AV4b.mjs → NcSettingsSection-CMw4W_UL.mjs} +3 -3
- package/dist/chunks/NcSettingsSection-CMw4W_UL.mjs.map +1 -0
- package/dist/chunks/{NcSettingsSelectGroup-61ylzaOo.mjs → NcSettingsSelectGroup-BTVYUUsQ.mjs} +5 -5
- package/dist/chunks/NcSettingsSelectGroup-BTVYUUsQ.mjs.map +1 -0
- package/dist/chunks/{NcTextArea-DOXp3B2R.mjs → NcTextArea-qvR02aYz.mjs} +3 -3
- package/dist/chunks/NcTextArea-qvR02aYz.mjs.map +1 -0
- package/dist/chunks/{NcTextField-5CbWAUlw.mjs → NcTextField-W5cVvjob.mjs} +2 -2
- package/dist/chunks/NcTextField-W5cVvjob.mjs.map +1 -0
- package/dist/chunks/NcTimezonePicker-DQ7LMeQo.mjs +187 -0
- package/dist/chunks/NcTimezonePicker-DQ7LMeQo.mjs.map +1 -0
- package/dist/chunks/{NcUserBubble-B1nO-OgL.mjs → NcUserBubble-DrQahQl0.mjs} +4 -4
- package/dist/chunks/NcUserBubble-DrQahQl0.mjs.map +1 -0
- package/dist/chunks/{NcUserStatusIcon-DXxHWiO9.mjs → NcUserStatusIcon-CA3yJfmu.mjs} +7 -28
- package/dist/chunks/NcUserStatusIcon-CA3yJfmu.mjs.map +1 -0
- package/dist/chunks/ScopeComponent-C5tGtO7l.mjs +14 -0
- package/dist/chunks/ScopeComponent-C5tGtO7l.mjs.map +1 -0
- package/dist/chunks/{_l10n-ipRV_dfs.mjs → _l10n-C3nxU4O-.mjs} +10 -10
- package/dist/chunks/_l10n-C3nxU4O-.mjs.map +1 -0
- package/dist/chunks/actionGlobal-BZFdtdJL.mjs +25 -0
- package/dist/chunks/actionGlobal-BZFdtdJL.mjs.map +1 -0
- package/dist/chunks/{actionText-CBxkao_8.mjs → actionText-aI0owku1.mjs} +1 -43
- package/dist/chunks/actionText-aI0owku1.mjs.map +1 -0
- package/dist/chunks/{autolink-CuPhRJIL.mjs → autolink-CKPk5rzg.mjs} +7 -24
- package/dist/chunks/autolink-CKPk5rzg.mjs.map +1 -0
- package/dist/chunks/{emoji-BjUFGMrw.mjs → emoji-Ba55f8iV.mjs} +0 -21
- package/dist/chunks/emoji-Ba55f8iV.mjs.map +1 -0
- package/dist/chunks/focusTrap-Cecv_gjR.mjs +7 -0
- package/dist/chunks/focusTrap-Cecv_gjR.mjs.map +1 -0
- package/dist/chunks/getAvatarUrl-DxvUjKMi.mjs +11 -0
- package/dist/chunks/getAvatarUrl-DxvUjKMi.mjs.map +1 -0
- package/dist/chunks/{index-5AsHlmYO.mjs → index-BKkaCvJ0.mjs} +4 -25
- package/dist/chunks/index-BKkaCvJ0.mjs.map +1 -0
- package/dist/chunks/index-CtoB4eIp.mjs.map +1 -1
- package/dist/chunks/{referencePickerModal-Tr-vmVPW.mjs → referencePickerModal-Cho5o36L.mjs} +19 -238
- package/dist/chunks/referencePickerModal-Cho5o36L.mjs.map +1 -0
- package/dist/chunks/usernameToColor-4ci35wWd.mjs +26 -0
- package/dist/chunks/usernameToColor-4ci35wWd.mjs.map +1 -0
- package/dist/components/NcActionButton/NcActionButton.vue.d.ts +3 -7
- package/dist/components/NcActionButtonGroup/NcActionButtonGroup.vue.d.ts +1 -1
- package/dist/components/NcActionCheckbox/NcActionCheckbox.vue.d.ts +4 -4
- package/dist/components/NcActionInput/NcActionInput.vue.d.ts +11 -11
- package/dist/components/NcActionRadio/NcActionRadio.vue.d.ts +4 -4
- package/dist/components/NcActionTextEditable/NcActionTextEditable.vue.d.ts +4 -4
- package/dist/components/NcActions/NcActions.vue.d.ts +5 -5
- package/dist/components/NcAppContent/NcAppContent.vue.d.ts +1 -1
- package/dist/components/NcAppNavigationCaption/NcAppNavigationCaption.vue.d.ts +1 -1
- package/dist/components/NcAppNavigationItem/NcAppNavigationItem.vue.d.ts +5 -5
- package/dist/components/NcAppNavigationItem/NcInputConfirmCancel.vue.d.ts +3 -3
- package/dist/components/NcAppNavigationSettings/NcAppNavigationSettings.vue.d.ts +3 -3
- package/dist/components/NcAppSidebar/NcAppSidebar.vue.d.ts +47 -15
- package/dist/components/NcAvatar/NcAvatar.vue.d.ts +3 -3
- package/dist/components/NcBreadcrumb/NcBreadcrumb.vue.d.ts +5 -5
- package/dist/components/NcButton/NcButton.vue.d.ts +16 -13
- package/dist/components/NcButton/index.d.ts +2 -19
- package/dist/components/NcChip/NcChip.vue.d.ts +113 -0
- package/dist/components/NcChip/index.d.ts +5 -0
- package/dist/components/NcContent/NcContent.vue.d.ts +1 -1
- package/dist/components/NcDashboardWidgetItem/NcDashboardWidgetItem.vue.d.ts +1 -1
- package/dist/components/NcEllipsisedOption/NcEllipsisedOption.vue.d.ts +12 -0
- package/dist/components/NcEmojiPicker/NcEmojiPicker.vue.d.ts +2 -2
- package/dist/components/NcHeaderMenu/NcHeaderMenu.vue.d.ts +3 -3
- package/dist/components/NcHighlight/NcHighlight.vue.d.ts +1 -1
- package/dist/components/NcIconSvgWrapper/NcIconSvgWrapper.vue.d.ts +4 -4
- package/dist/components/NcInputField/NcInputField.vue.d.ts +6 -6
- package/dist/components/NcListItem/NcListItem.vue.d.ts +1 -1
- package/dist/components/NcListItemIcon/NcListItemIcon.vue.d.ts +2 -2
- package/dist/components/NcLoadingIcon/NcLoadingIcon.vue.d.ts +1 -1
- package/dist/components/NcNoteCard/NcNoteCard.vue.d.ts +1 -1
- package/dist/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue.d.ts +2 -2
- package/dist/components/NcRelatedResourcesPanel/NcResource.vue.d.ts +1 -1
- package/dist/components/NcRelatedResourcesPanel/NcTeamResources.vue.d.ts +1 -1
- package/dist/components/NcRichContenteditable/NcAutoCompleteResult.vue.d.ts +5 -5
- package/dist/components/NcRichContenteditable/NcRichContenteditable.vue.d.ts +22 -10
- package/dist/components/NcRichText/NcReferencePicker/NcSearch.vue.d.ts +1 -1
- package/dist/components/NcRichText/NcReferenceWidget.vue.d.ts +1 -1
- package/dist/components/NcRichText/NcRichText.vue.d.ts +2 -2
- package/dist/components/NcRichText/helpers.d.ts +4 -0
- package/dist/components/NcSavingIndicatorIcon/NcSavingIndicatorIcon.vue.d.ts +2 -2
- package/dist/components/NcSelect/NcSelect.vue.d.ts +2 -2
- package/dist/components/NcSelectTags/NcSelectTags.vue.d.ts +1 -1
- package/dist/components/NcSettingsInputText/NcSettingsInputText.vue.d.ts +4 -4
- package/dist/components/NcSettingsSelectGroup/NcSettingsSelectGroup.vue.d.ts +5 -5
- package/dist/components/NcTextArea/NcTextArea.vue.d.ts +3 -3
- package/dist/components/NcTimezonePicker/NcTimezonePicker.vue.d.ts +1 -1
- package/dist/components/NcUserBubble/NcUserBubble.vue.d.ts +3 -3
- package/dist/components/NcVNodes/NcVNodes.vue.d.ts +3 -3
- package/dist/components/index.d.ts +6 -19
- package/dist/composables/useFormatDateTime.d.ts +5 -5
- package/dist/directives/index.d.ts +2 -19
- package/dist/functions/a11y/index.d.ts +2 -19
- package/dist/functions/emoji/emoji.d.ts +2 -19
- package/dist/functions/emoji/index.d.ts +2 -19
- package/dist/functions/reference/widgets.d.ts +4 -0
- package/dist/index.d.ts +2 -19
- package/dist/index.mjs +90 -119
- package/dist/index.mjs.map +1 -1
- package/dist/l10n.d.ts +2 -2
- package/dist/mixins/clickOutsideOptions/index.d.ts +1 -1
- package/dist/mixins/richEditor/index.d.ts +1 -1
- package/dist/utils/FindRanges.d.ts +2 -19
- package/dist/utils/GenRandomId.d.ts +2 -19
- package/dist/utils/GetChildren.d.ts +2 -19
- package/dist/utils/GetParent.d.ts +2 -19
- package/dist/utils/ScopeComponent.d.ts +2 -19
- package/dist/utils/Timer.d.ts +4 -38
- package/dist/utils/UserStatus.d.ts +2 -19
- package/dist/utils/getAvatarUrl.d.ts +2 -19
- package/dist/vendor.LICENSE.txt +4 -4
- package/package.json +31 -33
- package/LICENSE +0 -661
- package/dist/assets/NcActionButton-DilAGmID.css +0 -139
- package/dist/assets/NcActionCaption-sfcjBZnu.css +0 -46
- package/dist/assets/NcActionCheckbox-BPTe8v7j.css +0 -110
- package/dist/assets/NcActionInput-BCm3Bb6i.css +0 -271
- package/dist/assets/NcActionLink-ufhOZDI9.css +0 -124
- package/dist/assets/NcActionRadio-BgKkAdF8.css +0 -110
- package/dist/assets/NcActionRouter-DJDXSMeq.css +0 -135
- package/dist/assets/NcActionSeparator-CB59y4di.css +0 -38
- package/dist/assets/NcActionText-FrsQgrnA.css +0 -139
- package/dist/assets/NcActionTextEditable-pgsRQJ7l.css +0 -287
- package/dist/assets/NcActions-6uFGQVJQ.css +0 -111
- package/dist/assets/NcAppContent-CVWf32qC.css +0 -153
- package/dist/assets/NcAppNavigation-B_aG01bd.css +0 -131
- package/dist/assets/NcAppNavigationCaption-B32FjjW3.css +0 -62
- package/dist/assets/NcAppNavigationIconBullet-B8q3pUL5.css +0 -44
- package/dist/assets/NcAppNavigationList-DnIxrbVX.css +0 -43
- package/dist/assets/NcAppNavigationNew-B29SvI0s.css +0 -41
- package/dist/assets/NcAppNavigationSettings-RpFZX7Hx.css +0 -93
- package/dist/assets/NcAppNavigationSpacer-C12GX5n6.css +0 -6
- package/dist/assets/NcAppNavigationToggle-Bb19ZkjT.css +0 -41
- package/dist/assets/NcAppSettingsDialog-CQY4VVRw.css +0 -88
- package/dist/assets/NcAppSettingsSection-BUxPrhYB.css +0 -44
- package/dist/assets/NcAppSidebarTab-WhMYMxlI.css +0 -48
- package/dist/assets/NcAvatar-xxyc0_S6.css +0 -143
- package/dist/assets/NcBreadcrumb-BKgJHxzd.css +0 -82
- package/dist/assets/NcBreadcrumbs-Dq8VnSzJ.css +0 -51
- package/dist/assets/NcColorPicker-q8nVYCvu.css +0 -136
- package/dist/assets/NcContent-CQqz6KXD.css +0 -108
- package/dist/assets/NcCounterBubble-CWi_P1Tb.css +0 -67
- package/dist/assets/NcDashboardWidget-DzDAv3ER.css +0 -87
- package/dist/assets/NcDashboardWidgetItem-BevETFRF.css +0 -99
- package/dist/assets/NcDateTimePickerNative-DHZcOvOf.css +0 -61
- package/dist/assets/NcDialog-CvmjNcgn.css +0 -160
- package/dist/assets/NcEllipsisedOption-ClDzkIX6.css +0 -48
- package/dist/assets/NcEmptyContent-CMM4BKRc.css +0 -79
- package/dist/assets/NcGuestContent-BTahASdv.css +0 -78
- package/dist/assets/NcHeaderMenu-fYpidmuR.css +0 -91
- package/dist/assets/NcIconSvgWrapper-C95UOHYS.css +0 -53
- package/dist/assets/NcInputConfirmCancel-dYsxq6pH.css +0 -53
- package/dist/assets/NcListItem-CJa4SoZs.css +0 -170
- package/dist/assets/NcListItemIcon-KqKY7_tj.css +0 -78
- package/dist/assets/NcLoadingIcon-gxK0ujO0.css +0 -35
- package/dist/assets/NcMentionBubble-DmzU72Mw.css +0 -84
- package/dist/assets/NcNoteCard-e7-Bxio8.css +0 -64
- package/dist/assets/NcProgressBar-D5VftcJm.css +0 -70
- package/dist/assets/NcRelatedResourcesPanel-CbFY3Cdm.css +0 -200
- package/dist/assets/NcRichText-Cc65tYYs.css +0 -240
- package/dist/assets/NcSettingsInputText-DR4Wv2XP.css +0 -49
- package/dist/assets/NcSettingsSection-DrlA06-W.css +0 -66
- package/dist/assets/NcSettingsSelectGroup-Ba_9qqBq.css +0 -37
- package/dist/assets/NcUserBubble-a6zTGwWG.css +0 -62
- package/dist/assets/NcUserStatusIcon-DYNzsng_.css +0 -44
- package/dist/assets/referencePickerModal-4K_FZwca.css +0 -539
- package/dist/chunks/GenColors-BjorWIgA.mjs.map +0 -1
- package/dist/chunks/GenRandomId-CXkjMlAT.mjs +0 -27
- package/dist/chunks/GenRandomId-CXkjMlAT.mjs.map +0 -1
- package/dist/chunks/Linkify-BBPJHBma.mjs +0 -35
- package/dist/chunks/Linkify-BBPJHBma.mjs.map +0 -1
- package/dist/chunks/NcActionButton-BFQnlisT.mjs.map +0 -1
- package/dist/chunks/NcActionButtonGroup-D-8C3HSO.mjs.map +0 -1
- package/dist/chunks/NcActionCheckbox-CjZH6kjg.mjs.map +0 -1
- package/dist/chunks/NcActionInput-ClUviDGB.mjs.map +0 -1
- package/dist/chunks/NcActionLink-CQEzoS_a.mjs.map +0 -1
- package/dist/chunks/NcActionRadio-D6VrxjcX.mjs.map +0 -1
- package/dist/chunks/NcActionRouter-DmrWV-q1.mjs.map +0 -1
- package/dist/chunks/NcActionSeparator-ib21YUAE.mjs.map +0 -1
- package/dist/chunks/NcActionText-dj38IHk6.mjs.map +0 -1
- package/dist/chunks/NcActionTextEditable-W1wFQ9dc.mjs.map +0 -1
- package/dist/chunks/NcActions-B6QL_4DD.mjs.map +0 -1
- package/dist/chunks/NcAppContent-jvz75P8O.mjs.map +0 -1
- package/dist/chunks/NcAppNavigation-D0RINQda.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationCaption-BnhoAPkJ.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationIconBullet-JoIYov5C.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationItem-s0czI8KR.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationList-DzTic3Q7.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationNew-RBp5Nk-2.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationNewItem-u85Ffz-V.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationSettings-D_4gHC9H.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationSpacer-Ctbl-q5I.mjs.map +0 -1
- package/dist/chunks/NcAppNavigationToggle-BtC5hBww.mjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog-DXpamfEo.mjs.map +0 -1
- package/dist/chunks/NcAppSettingsSection-PG8OLRbP.mjs.map +0 -1
- package/dist/chunks/NcAppSidebar-B0pjWsoI.mjs.map +0 -1
- package/dist/chunks/NcAppSidebarTab-BTuuQoW5.mjs.map +0 -1
- package/dist/chunks/NcAvatar-BKmfsBcY.mjs.map +0 -1
- package/dist/chunks/NcBreadcrumb-C3k6T3Bj.mjs.map +0 -1
- package/dist/chunks/NcBreadcrumbs-Crc4BkfA.mjs.map +0 -1
- package/dist/chunks/NcButton-B27fpd1m.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch-DdG8AL_h.mjs.map +0 -1
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_9bdeea42_lang-C9ptCbXx.mjs +0 -3
- package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_9bdeea42_lang-C9ptCbXx.mjs.map +0 -1
- package/dist/chunks/NcColorPicker-D4IB1shI.mjs.map +0 -1
- package/dist/chunks/NcContent-CMQytlSd.mjs +0 -129
- package/dist/chunks/NcContent-CMQytlSd.mjs.map +0 -1
- package/dist/chunks/NcCounterBubble-BVDNwJiw.mjs.map +0 -1
- package/dist/chunks/NcDashboardWidget-B5H6n5qG.mjs.map +0 -1
- package/dist/chunks/NcDashboardWidgetItem-BbgZpZ-D.mjs.map +0 -1
- package/dist/chunks/NcDateTime-p5872lEX.mjs.map +0 -1
- package/dist/chunks/NcDateTimePicker-C1gBl-W0.mjs.map +0 -1
- package/dist/chunks/NcDateTimePickerNative-CyCL5Ovh.mjs.map +0 -1
- package/dist/chunks/NcDialog-Dq3Qnbke.mjs.map +0 -1
- package/dist/chunks/NcDialogButton-C6SudZTq.mjs.map +0 -1
- package/dist/chunks/NcEllipsisedOption-DsCFqgUF.mjs.map +0 -1
- package/dist/chunks/NcEmojiPicker-BwQ8VxQZ.mjs.map +0 -1
- package/dist/chunks/NcEmptyContent-CdgacgQe.mjs.map +0 -1
- package/dist/chunks/NcGuestContent-DfnVEtGM.mjs.map +0 -1
- package/dist/chunks/NcHeaderMenu-CJVtnKpb.mjs.map +0 -1
- package/dist/chunks/NcHighlight-CR5kySMp.mjs.map +0 -1
- package/dist/chunks/NcIconSvgWrapper-C0csZ9zg.mjs.map +0 -1
- package/dist/chunks/NcInputConfirmCancel-Rk8B1Q0j.mjs.map +0 -1
- package/dist/chunks/NcInputField-DX0Brmlk.mjs.map +0 -1
- package/dist/chunks/NcListItemIcon-A5o8HkQv.mjs.map +0 -1
- package/dist/chunks/NcLoadingIcon-DwbO7gAy.mjs.map +0 -1
- package/dist/chunks/NcNoteCard-CdZRsd8-.mjs.map +0 -1
- package/dist/chunks/NcPasswordField-B7CiEElO.mjs.map +0 -1
- package/dist/chunks/NcPopover-B9UbiGTv.mjs.map +0 -1
- package/dist/chunks/NcProgressBar-CAXfza4R.mjs.map +0 -1
- package/dist/chunks/NcRelatedResourcesPanel-Dr4jL2gw.mjs.map +0 -1
- package/dist/chunks/NcRichContenteditable-P06ORHyg.mjs.map +0 -1
- package/dist/chunks/NcRichText-BfreYq5m.mjs.map +0 -1
- package/dist/chunks/NcSelect-Dt3JJc9b.mjs.map +0 -1
- package/dist/chunks/NcSelectTags-F8Z_SdXE.mjs.map +0 -1
- package/dist/chunks/NcSettingsInputText-BtDwhhX0.mjs.map +0 -1
- package/dist/chunks/NcSettingsSection-BN98AV4b.mjs.map +0 -1
- package/dist/chunks/NcSettingsSelectGroup-61ylzaOo.mjs.map +0 -1
- package/dist/chunks/NcTextArea-DOXp3B2R.mjs.map +0 -1
- package/dist/chunks/NcTextField-5CbWAUlw.mjs.map +0 -1
- package/dist/chunks/NcTimezonePicker-Cs2arCUX.mjs +0 -4051
- package/dist/chunks/NcTimezonePicker-Cs2arCUX.mjs.map +0 -1
- package/dist/chunks/NcUserBubble-B1nO-OgL.mjs.map +0 -1
- package/dist/chunks/NcUserStatusIcon-DXxHWiO9.mjs.map +0 -1
- package/dist/chunks/ScopeComponent-B2OE7k3z.mjs +0 -35
- package/dist/chunks/ScopeComponent-B2OE7k3z.mjs.map +0 -1
- package/dist/chunks/_l10n-ipRV_dfs.mjs.map +0 -1
- package/dist/chunks/actionGlobal-BIN1Dngv.mjs +0 -46
- package/dist/chunks/actionGlobal-BIN1Dngv.mjs.map +0 -1
- package/dist/chunks/actionText-CBxkao_8.mjs.map +0 -1
- package/dist/chunks/autolink-CuPhRJIL.mjs.map +0 -1
- package/dist/chunks/emoji-BjUFGMrw.mjs.map +0 -1
- package/dist/chunks/focusTrap-hWDNhn4t.mjs +0 -28
- package/dist/chunks/focusTrap-hWDNhn4t.mjs.map +0 -1
- package/dist/chunks/getAvatarUrl-BBvqBOJD.mjs +0 -32
- package/dist/chunks/getAvatarUrl-BBvqBOJD.mjs.map +0 -1
- package/dist/chunks/index-5AsHlmYO.mjs.map +0 -1
- package/dist/chunks/logger-C7ZZ6zFQ.mjs +0 -25
- package/dist/chunks/logger-C7ZZ6zFQ.mjs.map +0 -1
- package/dist/chunks/referencePickerModal-Tr-vmVPW.mjs.map +0 -1
- package/dist/chunks/usernameToColor-BpeOvoed.mjs +0 -47
- package/dist/chunks/usernameToColor-BpeOvoed.mjs.map +0 -1
- package/dist/utils/IsOutOfViewport.d.ts +0 -8
|
@@ -1,39 +1,14 @@
|
|
|
1
|
-
import '../assets/NcButton-
|
|
1
|
+
import '../assets/NcButton-D3_Qd5cl.css';
|
|
2
2
|
import { Comment, Fragment, Text, defineComponent, h, resolveComponent } from "vue";
|
|
3
3
|
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
|
|
4
|
-
/**
|
|
5
|
-
* @copyright Copyright (c) 2023 Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
|
6
|
-
*
|
|
7
|
-
* @author Raimund Schlüßler <raimund.schluessler@mailbox.org>
|
|
8
|
-
*
|
|
9
|
-
* @license AGPL-3.0-or-later
|
|
10
|
-
*
|
|
11
|
-
* This program is free software: you can redistribute it and/or modify
|
|
12
|
-
* it under the terms of the GNU Affero General Public License as
|
|
13
|
-
* published by the Free Software Foundation, either version 3 of the
|
|
14
|
-
* License, or (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* This program is distributed in the hope that it will be useful,
|
|
17
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
-
* GNU Affero General Public License for more details.
|
|
20
|
-
*
|
|
21
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
22
|
-
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
-
*
|
|
24
|
-
*/
|
|
25
4
|
const isSlotPopulated = function(vnodes) {
|
|
26
5
|
return Array.isArray(vnodes) && vnodes.some((node) => {
|
|
27
|
-
if (node === null)
|
|
28
|
-
return false;
|
|
6
|
+
if (node === null) return false;
|
|
29
7
|
if (typeof node === "object") {
|
|
30
8
|
const vnode = node;
|
|
31
|
-
if (vnode.type === Comment)
|
|
32
|
-
|
|
33
|
-
if (vnode.type ===
|
|
34
|
-
return false;
|
|
35
|
-
if (vnode.type === Text && !vnode.children.trim())
|
|
36
|
-
return false;
|
|
9
|
+
if (vnode.type === Comment) return false;
|
|
10
|
+
if (vnode.type === Fragment && !isSlotPopulated(vnode.children)) return false;
|
|
11
|
+
if (vnode.type === Text && !vnode.children.trim()) return false;
|
|
37
12
|
}
|
|
38
13
|
return true;
|
|
39
14
|
});
|
|
@@ -271,7 +246,7 @@ const _sfc_main = defineComponent({
|
|
|
271
246
|
return renderButton();
|
|
272
247
|
}
|
|
273
248
|
});
|
|
274
|
-
const NcButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
249
|
+
const NcButton = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b8778b31"]]);
|
|
275
250
|
export {
|
|
276
251
|
NcButton as N,
|
|
277
252
|
isSlotPopulated as i
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcButton-DvO0XwJf.mjs","sources":["../../src/utils/isSlotPopulated.ts","../../src/components/NcButton/NcButton.vue"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { VNode, VNodeNormalizedChildren } from 'vue'\nimport { Fragment, Comment, Text } from 'vue'\n\n/**\n * Checks whether a slot is populated\n *\n * @param vnodes The array of vnodes to check\n */\nconst isSlotPopulated = function(vnodes?: VNode[] | VNodeNormalizedChildren) {\n\treturn Array.isArray(vnodes) && vnodes.some(node => {\n\t\tif (node === null) return false\n\t\tif (typeof node === 'object') {\n\t\t\tconst vnode = node as VNode\n\t\t\tif (vnode.type === Comment) return false\n\t\t\tif (vnode.type === Fragment && !isSlotPopulated(vnode.children)) return false\n\t\t\tif (vnode.type === Text && !(vnode.children as string).trim()) return false\n\t\t}\n\t\treturn true\n\t})\n}\n\nexport default isSlotPopulated\n","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\nGeneral purpose button component. See props for different options.\n[Use material design icons only for icons](https://www.npmjs.com/package/vue-material-design-icons) and remember to set their size to 20.\n\n### Usage\n### Custom icon slot\nTo be used with `vue-material-design-icons` only. For icon classes use the `default-icon` slot.\nIt can be used with one or multiple actions.\n```\n<template>\n<div class=\"wrapper\">\n\t<!-- Style selector -->\n\t<div class=\"grid\">\n\t\t<NcCheckboxRadioSwitch v-model=\"style\" value=\"text\" name=\"style\" type=\"radio\">Text only</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"style\" value=\"icon\" name=\"style\" type=\"radio\">Icon only</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"style\" value=\"icontext\" name=\"style\" type=\"radio\">Icon and text</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"disabled\" type=\"checkbox\">Disabled</NcCheckboxRadioSwitch>\n\t\t<!--<NcCheckboxRadioSwitch v-model=\"readonly\" type=\"checkbox\">Read-only</NcCheckboxRadioSwitch>-->\n\t</div>\n\n\t<h5>Standard buttons</h5>\n\t<div class=\"grid\">\n\t\t<p>Tertiary, no background</p>\n\t\t<p>Tertiary</p>\n\t\t<p>Secondary</p>\n\t\t<p>Primary</p>\n\t\t<NcButton\n\t\t\taria-label=\"Example text\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"tertiary-no-background\">\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\t<template v-if=\"style.indexOf('text') !== -1\">Example text</template>\n\t\t</NcButton>\n\t\t<NcButton\n\t\t\taria-label=\"Example text\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"tertiary\">\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\t<template v-if=\"style.indexOf('text') !== -1\">Example text</template>\n\t\t</NcButton>\n\t\t<NcButton\n\t\t\taria-label=\"Example text\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\">\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\t<template v-if=\"style.indexOf('text') !== -1\">Example text</template>\n\t\t</NcButton>\n\t\t<NcButton\n\t\t\taria-label=\"Example text\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"primary\">\n\t\t\t<template v-if=\"style.indexOf('icon') !== -1\" #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\t<template v-if=\"style.indexOf('text') !== -1\">Example text</template>\n\t\t</NcButton>\n\t</div>\n\n\t<!-- Wide button -->\n\t<h5>Wide button</h5>\n\t<NcButton\n\t\t:disabled=\"disabled\"\n\t\t:readonly=\"readonly\"\n\t\t:wide=\"true\"\n\t\ttext=\"Example text\">\n\t\t<template #icon>\n\t\t\t<Video\n\t\t\t\t:size=\"20\" />\n\t\t</template>\n\t\tExample text\n\t</NcButton>\n\n\t<!-- Special buttons -->\n\t<h5>Special buttons</h5>\n\t<div class=\"grid\">\n\t\t<p>Success</p>\n\t\t<p>Warning</p>\n\t\t<p>Error</p>\n\t\t<p> - </p>\n\t\t<NcButton\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"success\">\n\t\t\t<template #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\tExample text\n\t\t</NcButton>\n\t\t<NcButton\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"warning\">\n\t\t\t<template #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\tExample text\n\t\t</NcButton>\n\t\t<NcButton\n\t\t\t:disabled=\"disabled\"\n\t\t\t:readonly=\"readonly\"\n\t\t\ttype=\"error\">\n\t\t\t<template #icon>\n\t\t\t\t<Video\n\t\t\t\t\t:size=\"20\" />\n\t\t\t</template>\n\t\t\tExample text\n\t\t</NcButton>\n\t\t<p> - </p>\n\t</div>\n</div>\n\n</template>\n<script>\nimport Video from 'vue-material-design-icons/Video.vue'\n\nexport default {\n\tcomponents: {\n\t\tVideo,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\ttoggled: false,\n\t\t\tdisabled: false,\n\t\t\treadonly: false,\n\t\t\tstyle: 'icontext',\n\t\t}\n\t}\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.wrapper {\n\tpadding: 0 12px;\n}\n\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: 1fr 1fr 1fr 1fr;\n\tgrid-template-rows: repeat(auto-fill, auto);\n\tposition: relative;\n\tmargin: 12px 0;\n}\n\nh5 {\n\tfont-weight: bold;\n\tmargin: 40px 0 20px 0;\n}\n\np {\n\ttext-align: center;\n\tmargin: 4px 0 12px 0;\n\tcolor: var(--color-text-maxcontrast)\n}\n\nbutton {\n\tmargin: auto;\n}\n</style>\n```\n\n### Alignment\nSometimes it is required to change the icon alignment on the button, like for switching between pages as in following example:\n\n```vue\n<template>\n\t<div style=\"display: flex; flex-direction: column; gap: 12px;\">\n\t\t<NcButton aria-label=\"center (default)\" type=\"secondary\" wide>\n\t\t\t<template #icon>\n\t\t\t\t<IconLeft :size=\"20\" />\n\t\t\t</template>\n\t\t\tcenter (default)\n\t\t</NcButton>\n\t\t<NcButton alignment=\"center-reverse\" aria-label=\"center-reverse\" type=\"secondary\" wide>\n\t\t\t<template #icon>\n\t\t\t\t<IconRight :size=\"20\" />\n\t\t\t</template>\n\t\t\tcenter-reverse\n\t\t</NcButton>\n\t\t<div style=\"display: flex; gap: 12px;\">\n\t\t\t<div style=\"display: flex; flex-direction: column; gap: 12px; flex: 1\">\n\t\t\t\t<NcButton alignment=\"start\" aria-label=\"start\" type=\"secondary\" wide>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconLeft :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\tstart\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton alignment=\"start-reverse\" aria-label=\"start-reverse\" type=\"secondary\" wide>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconRight :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\tstart-reverse\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t\t<div style=\"display: flex; flex-direction: column; gap: 12px; flex: 1\">\n\t\t\t\t<NcButton alignment=\"end\" aria-label=\"end\" type=\"secondary\" wide>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconLeft :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\tend\n\t\t\t\t</NcButton>\n\t\t\t\t<NcButton alignment=\"end-reverse\" aria-label=\"end-reverse\" type=\"secondary\" wide>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<IconRight :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t\tend-reverse\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n<script>\nimport IconLeft from 'vue-material-design-icons/ArrowLeft.vue'\nimport IconRight from 'vue-material-design-icons/ArrowRight.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconLeft,\n\t\tIconRight,\n\t},\n}\n</script>\n```\n\n### Pressed state\n\nIt is possible to make the button stateful by adding a pressed state, e.g. if you like to create a favorite button.\nThe button will have the required `aria` attribute for accessibility and visual style (`primary` when pressed, and the configured type otherwise).\n\nDo not change `text` or `aria-label` of the pressed/unpressed button. See: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-pressed\n\n```vue\n<template>\n\t<div>\n\t\t<div style=\"display: flex; gap: 12px;\">\n\t\t\t<NcButton v-model:pressed=\"isFavorite\" aria-label=\"Favorite\" type=\"tertiary-no-background\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconStar v-if=\"isFavorite\" :size=\"20\" />\n\t\t\t\t\t<IconStarOutline v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t\t<NcButton v-model:pressed=\"isFavorite\" type=\"tertiary\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconStar v-if=\"isFavorite\" :size=\"20\" />\n\t\t\t\t\t<IconStarOutline v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tFavorite\n\t\t\t</NcButton>\n\t\t\t<NcButton v-model:pressed=\"isFavorite\" aria-label=\"Favorite\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<IconStar v-if=\"isFavorite\" :size=\"20\" />\n\t\t\t\t\t<IconStarOutline v-else :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcButton>\n\t\t</div>\n\t\t<div>\n\t\t\tIt is {{ isFavorite ? 'a' : 'not a' }} favorite.\n\t\t</div>\n\t</div>\n</template>\n<script>\nimport IconStar from 'vue-material-design-icons/Star.vue'\nimport IconStarOutline from 'vue-material-design-icons/StarOutline.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconStar,\n\t\tIconStarOutline,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tisFavorite: false,\n\t\t}\n\t},\n\tmethods: {\n\t\ttoggleFavorite() {\n\t\t\tthis.isFavorite = !this.isFavorite\n\t\t},\n\t},\n}\n</script>\n```\n\n### Usage example: Sorting table columns\nThe standard way to implement sortable table column headers should be like this:\n\n```vue\n<template>\n\t<table>\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<th :aria-sorted=\"sortedName\" class=\"row-name\">\n\t\t\t\t\t<NcButton alignment=\"start-reverse\"\n\t\t\t\t\t\t:wide=\"true\"\n\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t@click=\"sortName\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<IconDown v-if=\"sortedName === 'ascending'\" class=\"sort-icon\" :size=\"20\" />\n\t\t\t\t\t\t\t<IconUp v-else-if=\"sortedName === 'descending'\" class=\"sort-icon\" :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<span class=\"table-header\">Name</span>\n\t\t\t\t\t</NcButton>\n\t\t\t\t</th>\n\t\t\t\t<th :aria-sorted=\"sortedSize\" class=\"row-size\">\n\t\t\t\t\t<NcButton alignment=\"end\"\n\t\t\t\t\t\t:wide=\"true\"\n\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t@click=\"sortSize\">\n\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t<IconDown v-if=\"sortedSize === 'ascending'\" class=\"sort-icon\" :size=\"20\" />\n\t\t\t\t\t\t\t<IconUp v-else-if=\"sortedSize === 'descending'\" class=\"sort-icon\" :size=\"20\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<span class=\"table-header\">Size</span>\n\t\t\t\t\t</NcButton>\n\t\t\t\t</th>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t<tr>\n\t\t\t\t<td class=\"row-name\">Lorem ipsum</td>\n\t\t\t\t<td class=\"row-size\">8 MiB</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n</template>\n<script>\nimport IconUp from 'vue-material-design-icons/MenuUp.vue'\nimport IconDown from 'vue-material-design-icons/MenuDown.vue'\n\nexport default {\n\tcomponents: {\n\t\tIconUp,\n\t\tIconDown,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tsortedName: null,\n\t\t\tsortedSize: null,\n\t\t}\n\t},\n\tmethods: {\n\t\tsortName() {\n\t\t\tif (this.sortedName === 'ascending') {\n\t\t\t\tthis.sortedName = 'descending'\n\t\t\t} else if (this.sortedName === 'descending') {\n\t\t\t\tthis.sortedName = null\n\t\t\t} else {\n\t\t\t\tthis.sortedName = 'ascending'\n\t\t\t}\n\t\t},\n\t\tsortSize() {\n\t\t\tif (this.sortedSize === 'ascending') {\n\t\t\t\tthis.sortedSize = 'descending'\n\t\t\t} else if (this.sortedSize === 'descending') {\n\t\t\t\tthis.sortedSize = null\n\t\t\t} else {\n\t\t\t\tthis.sortedSize = 'ascending'\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n<style>\ntable {\n\ttable-layout: fixed;\n\twidth: 300px;\n}\n\ntd.row-name {\n\tpadding-inline-start: 16px;\n}\n\ntd.row-size {\n\ttext-align: right;\n\tpadding-inline-end: 16px;\n}\n\n.table-header {\n\tfont-weight: normal;\n\tcolor: var(--color-text-maxcontrast);\n}\n\n.sort-icon {\n\tcolor: var(--color-text-maxcontrast);\n\tposition: relative;\n\tinset-inline: -10px;\n}\n\n.row-size .sort-icon {\n\tinset-inline: 10px;\n}\n</style>\n```\n\n</docs>\n\n<script lang=\"ts\">\nimport type { PropType } from 'vue'\n\nimport { defineComponent, h, resolveComponent } from 'vue'\n\nimport isSlotPopulated from '../../utils/isSlotPopulated'\n\nconst BUTTON_ALIGNMENT = ['start', 'start-reverse', 'center', 'center-reverse', 'end', 'end-reverse'] as const\nconst BUTTON_TYPES = ['primary', 'secondary', 'tertiary', 'tertiary-no-background', 'tertiary-on-primary', 'error', 'warning', 'success'] as const\nconst NATIVE_TYPES = ['submit', 'reset', 'button'] as const\n\nexport default defineComponent({\n\tname: 'NcButton',\n\n\tinject: {\n\t\tgetNcPopoverTriggerAttrs: {\n\t\t\tfrom: 'NcPopover:trigger:attrs',\n\t\t\tdefault: () => () => ({}),\n\t\t},\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Set the text and icon alignment\n\t\t *\n\t\t * @default 'center'\n\t\t * @type {'start' | 'start-reverse' | 'center' | 'center-reverse' | 'end' | 'end-reverse'}\n\t\t */\n\t\talignment: {\n\t\t\ttype: String as PropType<typeof BUTTON_ALIGNMENT[number]>,\n\t\t\tdefault: 'center',\n\t\t\tvalidator(alignment) {\n\t\t\t\treturn typeof alignment === 'string' && (BUTTON_ALIGNMENT as readonly string[]).includes(alignment)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Toggles the disabled state of the button on and off.\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Specifies the button type\n\t\t * If left empty, the default button style will be applied.\n\t\t *\n\t\t * @default 'secondary'\n\t\t * @type {'primary' | 'secondary' | 'tertiary' | 'tertiary-no-background' | 'tertiary-on-primary' | 'error' | 'warning' | 'success'}\n\t\t */\n\t\ttype: {\n\t\t\ttype: String as PropType<typeof BUTTON_TYPES[number]>,\n\t\t\tvalidator(value) {\n\t\t\t\treturn typeof value === 'string' && (BUTTON_TYPES as readonly string[]).indexOf(value) !== -1\n\t\t\t},\n\t\t\tdefault: 'secondary',\n\t\t},\n\n\t\t/**\n\t\t * Specifies the button native type\n\t\t * If left empty, the default \"button\" type will be used.\n\t\t *\n\t\t * @type {'submit' | 'reset' | 'button'}\n\t\t */\n\t\tnativeType: {\n\t\t\ttype: String as PropType<typeof NATIVE_TYPES[number]>,\n\t\t\tvalidator(value) {\n\t\t\t\treturn typeof value === 'string' && (NATIVE_TYPES as readonly string[]).includes(value)\n\t\t\t},\n\t\t\tdefault: 'button',\n\t\t},\n\n\t\t/**\n\t\t * Specifies whether the button should span all the available width.\n\t\t * By default, buttons span the whole width of the container.\n\t\t */\n\t\twide: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Always try to provide an aria-label to your button. Make it more\n\t\t * specific than the button's name by provide some more context. E.g. if\n\t\t * the name of the button is \"send\" in the Mail app, the aria label could\n\t\t * be \"Send email\".\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Providing the href attribute turns the button component into an `a`\n\t\t * element.\n\t\t */\n\t\thref: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Providing the download attribute with href downloads file when clicking.\n\t\t */\n\t\tdownload: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Providing the to attribute turns the button component into a `router-link`\n\t\t * element. Takes precedence over the href attribute.\n\t\t */\n\t\tto: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * @deprecated To be removed in @nextcloud/vue 9. Migration guide: remove ariaHidden prop from NcAction* components.\n\t\t * @todo Add a check in @nextcloud/vue 9 that this prop is not provided,\n\t\t * otherwise root element will inherit incorrect aria-hidden.\n\t\t */\n\t\tariaHidden: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * The pressed state of the button if it has a checked state\n\t\t * This will add the `aria-pressed` attribute and for the button to have the primary style in checked state.\n\t\t *\n\t\t * Pressed state is not supported for links\n\t\t */\n\t\tpressed: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: ['update:pressed', 'click'],\n\n\tcomputed: {\n\t\t/**\n\t\t * The real type to be used for the button, enforces `primary` for pressed state and, if stateful button, any other type for not pressed state\n\t\t * Otherwise the type property is used.\n\t\t */\n\t\trealType() {\n\t\t\t// Force *primary* when pressed\n\t\t\tif (this.pressed) {\n\t\t\t\treturn 'primary'\n\t\t\t}\n\t\t\t// If not pressed but button is configured as stateful button then the type must not be primary\n\t\t\tif (this.pressed === false && this.type === 'primary') {\n\t\t\t\treturn 'secondary'\n\t\t\t}\n\t\t\treturn this.type\n\t\t},\n\n\t\t/**\n\t\t * The flexbox alignment of the button content\n\t\t */\n\t\tflexAlignment() {\n\t\t\treturn this.alignment.split('-')[0]\n\t\t},\n\n\t\t/**\n\t\t * If the button content should be reversed (icon on the end)\n\t\t */\n\t\tisReverseAligned() {\n\t\t\treturn this.alignment.includes('-')\n\t\t},\n\n\t\tncPopoverTriggerAttrs() {\n\t\t\treturn (this.getNcPopoverTriggerAttrs as () => Record<string, string|undefined>)()\n\t\t},\n\t},\n\n\t/**\n\t * The render function to display the component\n\t *\n\t * @return {object|undefined} The created VNode\n\t */\n\trender() {\n\t\tconst hasText = isSlotPopulated(this.$slots.default?.())\n\t\tconst hasIcon = isSlotPopulated(this.$slots.icon?.())\n\n\t\t/**\n\t\t * Always fill either the text prop or the ariaLabel one.\n\t\t */\n\t\tif (!hasText && !this.ariaLabel) {\n\t\t\tconsole.warn('You need to fill either the text or the ariaLabel props in the button component.', {\n\t\t\t\ttext: this.$slots.default?.()?.[0]?.children,\n\t\t\t\tariaLabel: this.ariaLabel,\n\t\t\t},\n\t\t\tthis)\n\t\t}\n\n\t\tconst isLink = (this.to || this.href)\n\n\t\tconst hasPressed = !isLink && typeof this.pressed === 'boolean'\n\n\t\tconst renderButton = ({ href, navigate, isActive }: {href?: string, navigate?: (ev: Event) => void, isActive?: boolean } = {}) => h(isLink ? 'a' : 'button',\n\t\t\t{\n\t\t\t\tclass: [\n\t\t\t\t\t'button-vue',\n\t\t\t\t\t{\n\t\t\t\t\t\t'button-vue--icon-only': hasIcon && !hasText,\n\t\t\t\t\t\t'button-vue--text-only': hasText && !hasIcon,\n\t\t\t\t\t\t'button-vue--icon-and-text': hasIcon && hasText,\n\t\t\t\t\t\t[`button-vue--vue-${this.realType}`]: this.realType,\n\t\t\t\t\t\t'button-vue--wide': this.wide,\n\t\t\t\t\t\t[`button-vue--${this.flexAlignment}`]: this.flexAlignment !== 'center',\n\t\t\t\t\t\t'button-vue--reverse': this.isReverseAligned,\n\t\t\t\t\t\tactive: isActive,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\t'aria-label': this.ariaLabel,\n\t\t\t\t'aria-pressed': hasPressed ? this.pressed.toString() : undefined,\n\t\t\t\tdisabled: this.disabled,\n\t\t\t\ttype: isLink ? null : this.nativeType,\n\t\t\t\trole: isLink ? 'button' : null,\n\t\t\t\thref: this.to ? href : (this.href || null),\n\t\t\t\ttarget: isLink ? '_self' : null,\n\t\t\t\trel: isLink ? 'nofollow noreferrer noopener' : null,\n\t\t\t\tdownload: (!this.to && this.href && this.download) ? this.download : null,\n\t\t\t\t// If this button is used as a popover trigger, we need to apply trigger attrs, e.g. aria attributes\n\t\t\t\t...this.ncPopoverTriggerAttrs,\n\t\t\t\tonClick: ($event) => {\n\t\t\t\t\t// Update pressed prop on click if it is set\n\t\t\t\t\tif (hasPressed) {\n\t\t\t\t\t\t/**\n\t\t\t\t\t\t * Update the current pressed state of the button (if the `pressed` property was configured)\n\t\t\t\t\t\t *\n\t\t\t\t\t\t * @property {boolean} newValue The new `pressed`-state\n\t\t\t\t\t\t */\n\t\t\t\t\t\tthis.$emit('update:pressed', !this.pressed)\n\t\t\t\t\t}\n\t\t\t\t\t// We have to both navigate and emit the click event\n\t\t\t\t\tthis.$emit('click', $event)\n\t\t\t\t\tnavigate?.($event)\n\t\t\t\t},\n\t\t\t},\n\t\t\t[\n\t\t\t\th('span', { class: 'button-vue__wrapper' }, [\n\t\t\t\t\thasIcon\n\t\t\t\t\t\t? h('span', {\n\t\t\t\t\t\t\tclass: 'button-vue__icon',\n\t\t\t\t\t\t\tattrs: {\n\t\t\t\t\t\t\t\t'aria-hidden': 'true',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t[this.$slots.icon?.()],\n\t\t\t\t\t\t)\n\t\t\t\t\t\t: null,\n\t\t\t\t\thasText ? h('span', { class: 'button-vue__text' }, [this.$slots.default?.()]) : null,\n\t\t\t\t]),\n\t\t\t],\n\t\t)\n\n\t\t// If we have a router-link, we wrap the button in it\n\t\tif (this.to) {\n\t\t\treturn h(resolveComponent('router-link'), {\n\t\t\t\tcustom: true,\n\t\t\t\tto: this.to,\n\t\t\t}, {\n\t\t\t\tdefault: renderButton,\n\t\t\t})\n\t\t}\n\t\t// Otherwise we simply return the button\n\t\treturn renderButton()\n\t},\n})\n</script>\n\n<style lang=\"scss\" scoped>\n\n.button-vue {\n\tposition: relative;\n\twidth: fit-content;\n\toverflow: hidden;\n\tborder: 0;\n\tpadding: 0;\n\tfont-size: var(--default-font-size);\n\tfont-weight: bold;\n\tmin-height: var(--default-clickable-area);\n\tmin-width: var(--default-clickable-area);\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\n\t// Cursor pointer on element and all children\n\tcursor: pointer;\n\t& *,\n\tspan {\n\t\tcursor: pointer;\n\t}\n\tborder-radius: var(--border-radius-element, calc(var(--default-clickable-area) / 2));\n\ttransition-property: color, border-color, background-color;\n\ttransition-duration: 0.1s;\n\ttransition-timing-function: linear;\n\n\t// No outline feedback for focus. Handled with a toggled class in js (see data)\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t&:disabled {\n\t\tcursor: default;\n\t\t& * {\n\t\t\tcursor: default;\n\t\t}\n\t\topacity: $opacity_disabled;\n\t\t// Gives a wash out effect\n\t\tfilter: saturate($opacity_normal);\n\t}\n\n\t// Default button type\n\tcolor: var(--color-primary-element-light-text);\n\tbackground-color: var(--color-primary-element-light);\n\t&:hover:not(:disabled) {\n\t\tbackground-color: var(--color-primary-element-light-hover);\n\t}\n\n\t// Back to the default color for this button when active\n\t// TODO: add ripple effect\n\t&:active {\n\t\tbackground-color: var(--color-primary-element-light);\n\t}\n\n\t&__wrapper {\n\t\tdisplay: inline-flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t}\n\n\t&--end &__wrapper {\n\t\tjustify-content: end;\n\t}\n\t&--start &__wrapper {\n\t\tjustify-content: start;\n\t}\n\t&--reverse &__wrapper {\n\t\tflex-direction: row-reverse;\n\t}\n\n\t&--reverse#{&}--icon-and-text {\n\t\tpadding-inline: calc(var(--default-grid-baseline) * 4) var(--default-grid-baseline);\n\t}\n\n\t&__icon {\n\t\theight: var(--default-clickable-area);\n\t\twidth: var(--default-clickable-area);\n\t\tmin-height: var(--default-clickable-area);\n\t\tmin-width: var(--default-clickable-area);\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t}\n\n\t&__text {\n\t\tfont-weight: bold;\n\t\tmargin-bottom: 1px;\n\t\tpadding: 2px 0;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\toverflow: hidden;\n\t}\n\n\t// Icon-only button\n\t&--icon-only {\n\t\tline-height: 1;\n\t\twidth: var(--default-clickable-area) !important;\n\t}\n\n\t// Text-only button\n\t&--text-only {\n\t\tpadding: 0 12px;\n\t\t& .button-vue__text {\n\t\t\tmargin-left: 4px;\n\t\t\tmargin-right: 4px;\n\t\t}\n\t}\n\n\t// Icon and text button\n\t&--icon-and-text {\n\t\tpadding-block: 0;\n\t\tpadding-inline: var(--default-grid-baseline) calc(var(--default-grid-baseline) * 4);\n\t}\n\n\t// Wide button spans the whole width of the container\n\t&--wide {\n\t\twidth: 100%;\n\t}\n\n\t&:focus-visible {\n\t\toutline: 2px solid var(--color-main-text) !important;\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background) !important;\n\t\t&.button-vue--vue-tertiary-on-primary {\n\t\t\toutline: 2px solid var(--color-primary-element-text);\n\t\t\tborder-radius: var(--border-radius-element, var(--border-radius));\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Button types\n\n\t// Primary\n\t&--vue-primary {\n\t\tbackground-color: var(--color-primary-element);\n\t\tcolor: var(--color-primary-element-text);\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-primary-element-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-primary-element);\n\t\t}\n\t}\n\n\t// Secondary\n\t&--vue-secondary {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground-color: var(--color-primary-element-light);\n\t\t&:hover:not(:disabled) {\n\t\t\tcolor: var(--color-primary-element-light-text);\n\t\t\tbackground-color: var(--color-primary-element-light-hover);\n\t\t}\n\t}\n\n\t// Tertiary\n\t&--vue-tertiary {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-background-hover);\n\t\t}\n\t}\n\n\t// Tertiary, no background\n\t&--vue-tertiary-no-background {\n\t\tcolor: var(--color-main-text);\n\t\tbackground-color: transparent;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Tertiary on primary color (like the header)\n\t&--vue-tertiary-on-primary {\n\t\tcolor: var(--color-primary-element-text);\n\t\tbackground-color: transparent;\n\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: transparent;\n\t\t}\n\t}\n\n\t// Success\n\t&--vue-success {\n\t\tbackground-color: var(--color-success);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-success-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// : add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-success);\n\t\t}\n\t}\n\n\t// Warning\n\t&--vue-warning {\n\t\tbackground-color: var(--color-warning);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-warning-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-warning);\n\t\t}\n\t}\n\n\t// Error\n\t&--vue-error {\n\t\tbackground-color: var(--color-error);\n\t\tcolor: white;\n\t\t&:hover:not(:disabled) {\n\t\t\tbackground-color: var(--color-error-hover);\n\t\t}\n\t\t// Back to the default color for this button when active\n\t\t// TODO: add ripple effect\n\t\t&:active {\n\t\t\tbackground-color: var(--color-error);\n\t\t}\n\t}\n}\n\n</style>\n"],"names":[],"mappings":"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"}
|
package/dist/chunks/{NcCheckboxRadioSwitch-DdG8AL_h.mjs → NcCheckboxRadioSwitch-BW7W0ToW.mjs}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { openBlock, createElementBlock, mergeProps, createElementVNode, toDisplayString, createCommentVNode, resolveComponent, normalizeClass, renderSlot, createBlock, resolveDynamicComponent, toHandlers, withCtx, createVNode, createSlots } from "vue";
|
|
2
2
|
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
|
|
3
|
-
import { N as NcLoadingIcon } from "./NcLoadingIcon-
|
|
4
|
-
import "./NcCheckboxRadioSwitch.
|
|
5
|
-
import { G as GenRandomId } from "./GenRandomId-
|
|
6
|
-
import { a as t, K as n } from "./_l10n-
|
|
3
|
+
import { N as NcLoadingIcon } from "./NcLoadingIcon-DREmHXr2.mjs";
|
|
4
|
+
import "./NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_959f6f1b_lang-C0H-ioQZ.mjs";
|
|
5
|
+
import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
|
|
6
|
+
import { a as t, K as n } from "./_l10n-C3nxU4O-.mjs";
|
|
7
7
|
const _sfc_main$8 = {
|
|
8
8
|
name: "CheckboxBlankOutlineIcon",
|
|
9
9
|
emits: ["click"],
|
|
@@ -460,7 +460,7 @@ function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
460
460
|
], 2)) : createCommentVNode("", true)
|
|
461
461
|
], 10, _hoisted_1$1);
|
|
462
462
|
}
|
|
463
|
-
const NcCheckboxContent = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-
|
|
463
|
+
const NcCheckboxContent = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1], ["__scopeId", "data-v-d9ed614b"]]);
|
|
464
464
|
const _sfc_main = {
|
|
465
465
|
name: "NcCheckboxRadioSwitch",
|
|
466
466
|
components: {
|
|
@@ -784,7 +784,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
784
784
|
_: 3
|
|
785
785
|
}, 16, ["id", "aria-label", "class", "style", "type"]);
|
|
786
786
|
}
|
|
787
|
-
const NcCheckboxRadioSwitch = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-
|
|
787
|
+
const NcCheckboxRadioSwitch = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-959f6f1b"]]);
|
|
788
788
|
export {
|
|
789
789
|
NcCheckboxRadioSwitch as N
|
|
790
790
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcCheckboxRadioSwitch-BW7W0ToW.mjs","sources":["../../node_modules/vue-material-design-icons/CheckboxBlankOutline.vue","../../node_modules/vue-material-design-icons/MinusBox.vue","../../node_modules/vue-material-design-icons/CheckboxMarked.vue","../../node_modules/vue-material-design-icons/RadioboxMarked.vue","../../node_modules/vue-material-design-icons/RadioboxBlank.vue","../../node_modules/vue-material-design-icons/ToggleSwitchOff.vue","../../node_modules/vue-material-design-icons/ToggleSwitch.vue","../../src/components/NcCheckboxRadioSwitch/NcCheckboxContent.vue","../../src/components/NcCheckboxRadioSwitch/NcCheckboxRadioSwitch.vue"],"sourcesContent":["<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : true\"\n :aria-label=\"title\"\n class=\"material-design-icon checkbox-blank-outline-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,3H5C3.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,3M19,5V19H5V5H19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CheckboxBlankOutlineIcon\",\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 minus-box-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=\"M17,13H7V11H17M19,3H5C3.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,3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"MinusBoxIcon\",\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 checkbox-marked-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=\"M10,17L5,12L6.41,10.58L10,14.17L17.59,6.58L19,8M19,3H5C3.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,3Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"CheckboxMarkedIcon\",\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 radiobox-marked-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=\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,7A5,5 0 0,0 7,12A5,5 0 0,0 12,17A5,5 0 0,0 17,12A5,5 0 0,0 12,7Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"RadioboxMarkedIcon\",\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 radiobox-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=\"M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20M12,2A10,10 0 0,0 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: \"RadioboxBlankIcon\",\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 toggle-switch-off-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=\"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M7,15A3,3 0 0,1 4,12A3,3 0 0,1 7,9A3,3 0 0,1 10,12A3,3 0 0,1 7,15Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ToggleSwitchOffIcon\",\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 toggle-switch-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=\"M17,7H7A5,5 0 0,0 2,12A5,5 0 0,0 7,17H17A5,5 0 0,0 22,12A5,5 0 0,0 17,7M17,15A3,3 0 0,1 14,12A3,3 0 0,1 17,9A3,3 0 0,1 20,12A3,3 0 0,1 17,15Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"ToggleSwitchIcon\",\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: 2023 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<span :id=\"!isButtonType ? `${id}-label` : undefined\"\n\t\tclass=\"checkbox-content\"\n\t\t:class=\"{\n\t\t\t['checkbox-content-' + type]: true,\n\t\t\t'checkbox-content--button-variant': buttonVariant,\n\t\t\t'checkbox-content--has-text': !!$slots.default,\n\t\t}\">\n\t\t<!--\n\t\t\tlabel can't be used here because of shift+click firefox bug\n\t\t\thttps://bugzilla.mozilla.org/show_bug.cgi?id=559506\n\t\t-->\n\t\t<span :class=\"{\n\t\t\t\t'checkbox-content__icon': true,\n\t\t\t\t'checkbox-content__icon--checked': isChecked,\n\t\t\t\t[iconClass]: true\n\t\t\t}\"\n\t\t\t:aria-hidden=\"true\"\n\t\t\tinert>\n\t\t\t<!-- @slot The checkbox/radio icon, you can use it for adding an icon to the button variant\n\t\t\t\t\t@binding {bool} checked The input checked state\n\t\t\t\t\t@binding {bool} loading The loading state\n\t\t\t-->\n\t\t\t<slot name=\"icon\"\n\t\t\t\t:checked=\"isChecked\"\n\t\t\t\t:loading=\"loading\">\n\t\t\t\t<NcLoadingIcon v-if=\"loading\" />\n\t\t\t\t<component :is=\"checkboxRadioIconElement\"\n\t\t\t\t\tv-else-if=\"!buttonVariant\"\n\t\t\t\t\t:size=\"size\" />\n\t\t\t</slot>\n\t\t</span>\n\n\t\t<span v-if=\"$slots.default\" :class=\"['checkbox-content__text', textClass]\">\n\t\t\t<!-- @slot The checkbox/radio label -->\n\t\t\t<slot />\n\t\t</span>\n\t</span>\n</template>\n\n<script>\nimport CheckboxBlankOutline from 'vue-material-design-icons/CheckboxBlankOutline.vue'\nimport MinusBox from 'vue-material-design-icons/MinusBox.vue'\nimport CheckboxMarked from 'vue-material-design-icons/CheckboxMarked.vue'\nimport RadioboxMarked from 'vue-material-design-icons/RadioboxMarked.vue'\nimport RadioboxBlank from 'vue-material-design-icons/RadioboxBlank.vue'\nimport ToggleSwitchOff from 'vue-material-design-icons/ToggleSwitchOff.vue'\nimport ToggleSwitch from 'vue-material-design-icons/ToggleSwitch.vue'\n\nimport NcLoadingIcon from '../NcLoadingIcon/index.js'\n\nexport const TYPE_CHECKBOX = 'checkbox'\nexport const TYPE_RADIO = 'radio'\nexport const TYPE_SWITCH = 'switch'\nexport const TYPE_BUTTON = 'button'\n\nexport default {\n\tname: 'NcCheckboxContent',\n\n\tcomponents: {\n\t\tNcLoadingIcon,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id attribute of the input to label\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Class for the icon element\n\t\t */\n\t\ticonClass: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Class for the text element\n\t\t */\n\t\ttextClass: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Type of the input. checkbox, radio, switch, or button.\n\t\t *\n\t\t * Only use button when used in a `tablist` container and the\n\t\t * `tab` role is set.\n\t\t *\n\t\t * @type {'checkbox'|'radio'|'switch'|'button'}\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'checkbox',\n\t\t\tvalidator: type => [\n\t\t\t\tTYPE_CHECKBOX,\n\t\t\t\tTYPE_RADIO,\n\t\t\t\tTYPE_SWITCH,\n\t\t\t\tTYPE_BUTTON,\n\t\t\t].includes(type),\n\t\t},\n\n\t\t/**\n\t\t * Toggle the alternative button style\n\t\t */\n\t\tbuttonVariant: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * True if the entry is checked\n\t\t */\n\t\tisChecked: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Indeterminate state\n\t\t */\n\t\tindeterminate: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Loading state\n\t\t */\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Icon size\n\t\t */\n\t\tsize: {\n\t\t\ttype: Number,\n\t\t\tdefault: 24,\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tisButtonType() {\n\t\t\treturn this.type === TYPE_BUTTON\n\t\t},\n\n\t\t/**\n\t\t * Returns the proper Material icon depending on the select case\n\t\t *\n\t\t * @return {object}\n\t\t */\n\t\tcheckboxRadioIconElement() {\n\t\t\tif (this.type === TYPE_RADIO) {\n\t\t\t\tif (this.isChecked) {\n\t\t\t\t\treturn RadioboxMarked\n\t\t\t\t}\n\t\t\t\treturn RadioboxBlank\n\t\t\t}\n\n\t\t\t// Switch\n\t\t\tif (this.type === TYPE_SWITCH) {\n\t\t\t\tif (this.isChecked) {\n\t\t\t\t\treturn ToggleSwitch\n\t\t\t\t}\n\t\t\t\treturn ToggleSwitchOff\n\t\t\t}\n\n\t\t\t// Checkbox\n\t\t\tif (this.indeterminate) {\n\t\t\t\treturn MinusBox\n\t\t\t}\n\t\t\tif (this.isChecked) {\n\t\t\t\treturn CheckboxMarked\n\t\t\t}\n\t\t\treturn CheckboxBlankOutline\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.checkbox-content {\n\tdisplay: flex;\n\talign-items: center;\n\tflex-direction: row;\n\tgap: 4px;\n\tuser-select: none;\n\tmin-height: $clickable-area;\n\tborder-radius: $clickable-area;\n\tpadding: 4px calc(($clickable-area - var(--icon-height)) / 2);\n\t// Set to 100% to make text overflow work on button style\n\twidth: 100%;\n\t// but restrict to content so plain checkboxes / radio switches do not expand\n\tmax-width: fit-content;\n\n\t&__text {\n\t\tflex: 1 0;\n\n\t\t&:empty {\n\t\t\t// hide text if empty to ensure checkbox outline is a circle instead of oval\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t&__icon > * {\n\t\twidth: var(--icon-size);\n\t\theight: var(--icon-size);\n\t}\n\n\t&--button-variant {\n\t\t.checkbox-content__icon:not(.checkbox-content__icon--checked) > * {\n\t\t\tcolor: var(--color-primary-element);\n\t\t}\n\n\t\t.checkbox-content__icon--checked > * {\n\t\t\tcolor: var(--color-primary-element-text);\n\t\t}\n\t}\n\n\t&--has-text {\n\t\tpadding-right: $icon-margin;\n\t}\n\n\t&:not(&--button-variant) {\n\t\t.checkbox-content__icon > * {\n\t\t\tcolor: var(--color-primary-element);\n\t\t}\n\t}\n\n\t&, * {\n\t\tcursor: pointer;\n\t\tflex-shrink: 0;\n\t}\n}\n</style>\n","<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n### General description\n\nThis is a simple input checkbox, radio and switch design.\nPlease have a look at proper usage and recommendations: https://material.io/components/checkboxes\n\n### Standard checkbox\n```vue\n<template>\n\t<div>\n\t\t<NcCheckboxRadioSwitch v-model=\"sharingEnabled\">Enable sharing</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"sharingEnabled\" :disabled=\"true\">Enable sharing (disabled)</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :model-value=\"sharingEnabled\" :loading=\"loading\" @update:model-value=\"onToggle\">Enable sharing (with request loading)</NcCheckboxRadioSwitch>\n\t\t<br>\n\t\tsharingEnabled: {{ sharingEnabled }}\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tloading: false,\n\t\t\tsharingEnabled: false,\n\t\t}\n\t},\n\tmethods: {\n\t\tonToggle() {\n\t\t\tthis.loading = true\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.sharingEnabled = !this.sharingEnabled\n\t\t\t\tthis.loading = false\n\t\t\t}, 1000)\n\t\t}\n\t}\n}\n</script>\n```\n\n### Standard radio set\n```vue\n<template>\n\t<div>\n\t\t<NcCheckboxRadioSwitch v-model=\"sharingPermission\" value=\"r\" name=\"sharing_permission_radio\" type=\"radio\">Default permission read</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"sharingPermission\" value=\"rw\" name=\"sharing_permission_radio\" type=\"radio\">Default permission read+write</NcCheckboxRadioSwitch>\n\t\t<br>\n\t\tsharingPermission: {{ sharingPermission }}\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tsharingPermission: 'r',\n\t\t\t}\n\t\t}\n\t}\n</script>\n```\n\n### Standard radio set with alternative button style\n```vue\n<template>\n\t<div>\n\t\t<h4>Horizontal</h4>\n\t\t<div style=\"display: flex\">\n\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t:button-variant=\"true\"\n\t\t\t\tv-model=\"sharingPermission\"\n\t\t\t\tvalue=\"r\"\n\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\tbutton-variant-grouped=\"horizontal\">\n\t\t\t\tDefault permission read\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t:button-variant=\"true\"\n\t\t\t\tv-model=\"sharingPermission\"\n\t\t\t\tvalue=\"rw\"\n\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\tbutton-variant-grouped=\"horizontal\">\n\t\t\t\tDefault permission read+write\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</div>\n\t\t<h4>Vertically</h4>\n\t\t<div style=\"width: fit-content\">\n\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t:button-variant=\"true\"\n\t\t\t\tv-model=\"sharingPermission\"\n\t\t\t\tvalue=\"r\"\n\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\tbutton-variant-grouped=\"vertical\">\n\t\t\t\tDefault permission read\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t:button-variant=\"true\"\n\t\t\t\tv-model=\"sharingPermission\"\n\t\t\t\tvalue=\"rw\"\n\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\tbutton-variant-grouped=\"vertical\">\n\t\t\t\tDefault permission read+write\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</div>\n\t\tsharingPermission: {{ sharingPermission }}\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tsharingPermission: 'r',\n\t\t}\n\t}\n}\n</script>\n```\n\n### Radio set with button style and icons\n```vue\n<template>\n\t<div>\n\t\t<h4>Horizontal</h4>\n\t\t<div style=\"display: flex\">\n\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t:button-variant=\"true\"\n\t\t\t\tv-model=\"enableSettings\"\n\t\t\t\tvalue=\"y\"\n\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\tbutton-variant-grouped=\"horizontal\">\n\t\t\t\tEnable settings\n\t\t\t\t<template #icon><CheckIcon :size=\"20\"></template>\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t:button-variant=\"true\"\n\t\t\t\tv-model=\"enableSettings\"\n\t\t\t\tvalue=\"n\"\n\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\tbutton-variant-grouped=\"horizontal\">\n\t\t\t\tDisable settings\n\t\t\t\t<template #icon><CancelIcon :size=\"20\"></template>\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</div>\n\t\t<h4>Vertically</h4>\n\t\t<div style=\"width: fit-content\">\n\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t:button-variant=\"true\"\n\t\t\t\tv-model=\"enableSettings\"\n\t\t\t\tvalue=\"y\"\n\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\tbutton-variant-grouped=\"vertical\">\n\t\t\t\tEnable settings\n\t\t\t\t<template #icon><CheckIcon :size=\"20\"></template>\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t\t<NcCheckboxRadioSwitch\n\t\t\t\t:button-variant=\"true\"\n\t\t\t\tv-model=\"enableSettings\"\n\t\t\t\tvalue=\"n\"\n\t\t\t\tname=\"sharing_permission_radio\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\tbutton-variant-grouped=\"vertical\">\n\t\t\t\tDisable settings\n\t\t\t\t<template #icon><CancelIcon :size=\"20\"></template>\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</div>\n\t\tSettings enabled: {{ enableSettings === 'y' ? 'yes' : 'no' }}\n\t</div>\n</template>\n<script>\nimport CheckIcon from 'vue-material-design-icons/Check.vue'\nimport CancelIcon from 'vue-material-design-icons/Cancel.vue'\nexport default {\n\tcomponents: {\n\t\tCheckIcon,\n\t\tCancelIcon,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tenableSettings: 'n',\n\t\t}\n\t}\n}\n</script>\n```\n\n### Standard checkbox set\n```vue\n<template>\n\t<div>\n\t\t<NcCheckboxRadioSwitch :disabled=\"true\" v-model=\"sharingPermission\" value=\"r\" name=\"sharing_permission\">Permission read</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"sharingPermission\" value=\"w\" name=\"sharing_permission\">Permission write</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"sharingPermission\" value=\"d\" name=\"sharing_permission\">Permission delete</NcCheckboxRadioSwitch>\n\t\t<br>\n\t\tsharingPermission: {{ sharingPermission }}\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tsharingPermission: ['r', 'd'],\n\t\t}\n\t}\n}\n</script>\n```\n\n### Standard switch\n```vue\n<template>\n\t<div>\n\t\t<NcCheckboxRadioSwitch v-model=\"sharingEnabled\" type=\"switch\">Enable sharing</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"sharingEnabled\" type=\"switch\" :disabled=\"true\">Enable sharing (disabled)</NcCheckboxRadioSwitch>\n\t\t<br>\n\t\tsharingEnabled: {{ sharingEnabled }}\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tsharingEnabled: true,\n\t\t}\n\t},\n}\n</script>\n```\n\n</docs>\n\n<template>\n\t<component :is=\"computedWrapperElement\"\n\t\t:id=\"wrapperId\"\n\t\t:aria-label=\"isButtonType && ariaLabel ? ariaLabel : undefined\"\n\t\t:class=\"{\n\t\t\t['checkbox-radio-switch-' + type]: type,\n\t\t\t'checkbox-radio-switch--checked': isChecked,\n\t\t\t'checkbox-radio-switch--disabled': disabled,\n\t\t\t'checkbox-radio-switch--indeterminate': hasIndeterminate ? indeterminate : false,\n\t\t\t'checkbox-radio-switch--button-variant': buttonVariant,\n\t\t\t'checkbox-radio-switch--button-variant-v-grouped': buttonVariant && buttonVariantGrouped === 'vertical',\n\t\t\t'checkbox-radio-switch--button-variant-h-grouped': buttonVariant && buttonVariantGrouped === 'horizontal',\n\t\t\t'button-vue': isButtonType,\n\t\t}\"\n\t\tclass=\"checkbox-radio-switch\"\n\t\t:style=\"cssVars\"\n\t\t:type=\"isButtonType ? 'button' : null\"\n\t\tv-on=\"isButtonType ? listeners : {}\">\n\t\t<input v-if=\"!isButtonType\"\n\t\t\t:id=\"id\"\n\t\t\t:aria-labelledby=\"!isButtonType && !ariaLabel ? `${id}-label` : null\"\n\t\t\t:aria-label=\"ariaLabel || undefined\"\n\t\t\tclass=\"checkbox-radio-switch__input\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:type=\"inputType\"\n\t\t\t:value=\"value\"\n\t\t\t:checked=\"isChecked\"\n\t\t\t:indeterminate.prop=\"hasIndeterminate ? indeterminate : null\"\n\t\t\t:required=\"required\"\n\t\t\t:name=\"name\"\n\t\t\tv-on=\"listeners\">\n\t\t<NcCheckboxContent :id=\"id\"\n\t\t\tclass=\"checkbox-radio-switch__content\"\n\t\t\ticon-class=\"checkbox-radio-switch__icon\"\n\t\t\ttext-class=\"checkbox-radio-switch__text\"\n\t\t\t:type=\"type\"\n\t\t\t:indeterminate=\"hasIndeterminate ? indeterminate : false\"\n\t\t\t:button-variant=\"buttonVariant\"\n\t\t\t:is-checked=\"isChecked\"\n\t\t\t:loading=\"loading\"\n\t\t\t:size=\"size\"\n\t\t\t@click=\"onToggle\">\n\t\t\t<template #icon>\n\t\t\t\t<!-- @slot The checkbox/radio icon, you can use it for adding an icon to the button variant -->\n\t\t\t\t<slot name=\"icon\" />\n\t\t\t</template>\n\n\t\t\t<template v-if=\"!!$slots.default\" #default>\n\t\t\t\t<!-- @slot The checkbox/radio label -->\n\t\t\t\t<slot />\n\t\t\t</template>\n\t\t</NcCheckboxContent>\n\t</component>\n</template>\n\n<script>\nimport NcCheckboxContent, { TYPE_BUTTON, TYPE_CHECKBOX, TYPE_RADIO, TYPE_SWITCH } from './NcCheckboxContent.vue'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { t, n } from '../../l10n.js'\n\nexport default {\n\tname: 'NcCheckboxRadioSwitch',\n\n\tcomponents: {\n\t\tNcCheckboxContent,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Unique id attribute of the input\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'checkbox-radio-switch-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\n\t\t/**\n\t\t * Unique id attribute of the wrapper element\n\t\t */\n\t\twrapperId: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Input name. Required for radio, optional for checkbox, and ignored\n\t\t * for button.\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Required if no text is set.\n\t\t * The aria-label is forwarded to the input or button.\n\t\t */\n\t\tariaLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Type of the input. checkbox, radio, switch, or button.\n\t\t *\n\t\t * Only use button when used in a `tablist` container and the\n\t\t * `tab` role is set.\n\t\t *\n\t\t * @type {'checkbox'|'radio'|'switch'|'button'}\n\t\t */\n\t\ttype: {\n\t\t\ttype: String,\n\t\t\tdefault: 'checkbox',\n\t\t\tvalidator: type => [\n\t\t\t\tTYPE_CHECKBOX,\n\t\t\t\tTYPE_RADIO,\n\t\t\t\tTYPE_SWITCH,\n\t\t\t\tTYPE_BUTTON,\n\t\t\t].includes(type),\n\t\t},\n\n\t\t/**\n\t\t * Toggle the alternative button style\n\t\t */\n\t\tbuttonVariant: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Are the elements are all direct siblings?\n\t\t * If so they will be grouped horizontally or vertically\n\t\t *\n\t\t * @type {'no'|'horizontal'|'vertical'}\n\t\t */\n\t\tbuttonVariantGrouped: {\n\t\t\ttype: String,\n\t\t\tdefault: 'no',\n\t\t\tvalidator: v => ['no', 'vertical', 'horizontal'].includes(v),\n\t\t},\n\n\t\t/**\n\t\t * Checked state. To be used with `v-model:value`\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: [Boolean, Array, String],\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Value to be synced on check\n\t\t */\n\t\tvalue: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Disabled state\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Indeterminate state\n\t\t */\n\t\tindeterminate: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Required state\n\t\t */\n\t\trequired: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Loading state\n\t\t */\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Wrapping element tag\n\t\t *\n\t\t * When `type` is set to `button` this will be ignored\n\t\t *\n\t\t * Defaults to `span`\n\t\t */\n\t\twrapperElement: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\t},\n\n\temits: ['update:modelValue'],\n\n\tcomputed: {\n\t\tisButtonType() {\n\t\t\treturn this.type === TYPE_BUTTON\n\t\t},\n\n\t\tcomputedWrapperElement() {\n\t\t\tif (this.isButtonType) {\n\t\t\t\treturn 'button'\n\t\t\t}\n\t\t\tif (this.wrapperElement !== null) {\n\t\t\t\treturn this.wrapperElement\n\t\t\t}\n\t\t\treturn 'span'\n\t\t},\n\n\t\tlisteners() {\n\t\t\tif (this.isButtonType) {\n\t\t\t\treturn {\n\t\t\t\t\tclick: this.onToggle,\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tchange: this.onToggle,\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Icon size\n\t\t *\n\t\t * @return {number}\n\t\t */\n\t\tsize() {\n\t\t\treturn this.type === TYPE_SWITCH\n\t\t\t\t? 36\n\t\t\t\t: 24\n\t\t},\n\n\t\t/**\n\t\t * Css local variables for this component\n\t\t *\n\t\t * @return {object}\n\t\t */\n\t\tcssVars() {\n\t\t\treturn {\n\t\t\t\t'--icon-size': this.size + 'px',\n\t\t\t\t'--icon-height': (this.type === TYPE_SWITCH ? 16 : this.size) + 'px',\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Return the input type.\n\t\t * Switch is not an official type\n\t\t *\n\t\t * @return {string}\n\t\t */\n\t\tinputType() {\n\t\t\tconst nativeTypes = [\n\t\t\t\tTYPE_CHECKBOX,\n\t\t\t\tTYPE_RADIO,\n\t\t\t\tTYPE_BUTTON,\n\t\t\t]\n\t\t\tif (nativeTypes.includes(this.type)) {\n\t\t\t\treturn this.type\n\t\t\t}\n\t\t\treturn TYPE_CHECKBOX\n\t\t},\n\n\t\t/**\n\t\t * Check if that entry is checked\n\t\t * If value is defined, we use that as the checked value\n\t\t * If not, we expect true/false in this.checked\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\tisChecked() {\n\t\t\tif (this.value !== null) {\n\t\t\t\tif (Array.isArray(this.modelValue)) {\n\t\t\t\t\treturn [...this.modelValue].indexOf(this.value) > -1\n\t\t\t\t}\n\t\t\t\treturn this.modelValue === this.value\n\t\t\t}\n\t\t\treturn this.modelValue === true\n\t\t},\n\n\t\thasIndeterminate() {\n\t\t\treturn [\n\t\t\t\tTYPE_CHECKBOX,\n\t\t\t\tTYPE_RADIO,\n\t\t\t].includes(this.inputType)\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (this.name && this.type === TYPE_CHECKBOX) {\n\t\t\tif (!Array.isArray(this.modelValue)) {\n\t\t\t\tthrow new Error('When using groups of checkboxes, the updated value will be an array.')\n\t\t\t}\n\t\t}\n\n\t\t// https://material.io/components/checkboxes#usage\n\t\tif (this.name && this.type === TYPE_SWITCH) {\n\t\t\tthrow new Error('Switches are not made to be used for data sets. Please use checkboxes instead.')\n\t\t}\n\n\t\t// https://material.io/components/checkboxes#usage\n\t\tif (typeof this.modelValue !== 'boolean' && this.type === TYPE_SWITCH) {\n\t\t\tthrow new Error('Switches can only be used with boolean as modelValue prop.')\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\t\tn,\n\n\t\tonToggle() {\n\t\t\tif (this.disabled) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If this is a radio, there can only be one value\n\t\t\tif (this.type === TYPE_RADIO) {\n\t\t\t\tthis.$emit('update:modelValue', this.value)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If this is a radio, there can only be one value\n\t\t\tif (this.type === TYPE_SWITCH) {\n\t\t\t\tthis.$emit('update:modelValue', !this.isChecked)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// If the initial value was a boolean, let's keep it that way\n\t\t\tif (typeof this.modelValue === 'boolean') {\n\t\t\t\tthis.$emit('update:modelValue', !this.modelValue)\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\t// Dispatch the checked values as an array if multiple, or single value otherwise\n\t\t\tconst values = this.getInputsSet()\n\t\t\t\t.filter(input => input.checked)\n\t\t\t\t.map(input => input.value)\n\n\t\t\tif (values.includes(this.value)) {\n\t\t\t\tthis.$emit('update:modelValue', values.filter((v) => v !== this.value))\n\t\t\t} else {\n\t\t\t\tthis.$emit('update:modelValue', [...values, this.value])\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Get the input set based on this name\n\t\t *\n\t\t * @return {Node[]}\n\t\t */\n\t\tgetInputsSet() {\n\t\t\treturn [...document.getElementsByName(this.name)]\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.checkbox-radio-switch {\n\tdisplay: flex;\n\talign-items: center;\n\tcolor: var(--color-main-text);\n\tbackground-color: transparent;\n\tfont-size: var(--default-font-size);\n\tline-height: var(--default-line-height);\n\tpadding: 0;\n\tposition: relative;\n\n\t&__input {\n\t\tposition: absolute;\n\t\tz-index: -1;\n\t\topacity: 0 !important; // We need !important, or it gets overwritten by server style\n\t\twidth: var(--icon-size);\n\t\theight: var(--icon-size);\n\t\t// Same as label padding\n\t\tmargin: 4px $icon-margin;\n\t}\n\n\t&__input:focus-visible + &__content,\n\t&__input:focus-visible {\n\t\toutline: 2px solid var(--color-main-text);\n\t\tborder-color: var(--color-main-background);\n\t\toutline-offset: -2px;\n\t}\n\n\t&--disabled &__content {\n\t\topacity: $opacity_disabled;\n\t\t:deep(.checkbox-radio-switch__icon) > * {\n\t\t\tcolor: var(--color-main-text)\n\t\t}\n\t}\n\n\t&:not(&--disabled, &--checked):focus-within &__content,\n\t&:not(&--disabled, &--checked) &__content:hover {\n\t\tbackground-color: var(--color-background-hover);\n\t}\n\n\t&--checked:not(&--disabled):focus-within &__content,\n\t&--checked:not(&--disabled) &__content:hover {\n\t\tbackground-color: var(--color-primary-element-hover);\n\t}\n\n\t&--checked:not(&--button-variant):not(&--disabled):focus-within &__content,\n\t&--checked:not(&--button-variant):not(&--disabled) &__content:hover {\n\t\tbackground-color: var(--color-primary-element-light-hover);\n\t}\n\n\t// Switch specific rules\n\t&-switch:not(&--checked) :deep(.checkbox-radio-switch__icon) > * {\n\t\tcolor: var(--color-text-maxcontrast);\n\t}\n\n\t// If switch is checked AND disabled, use the fade primary colour\n\t&-switch.checkbox-radio-switch--disabled.checkbox-radio-switch--checked :deep(.checkbox-radio-switch__icon) > * {\n\t\tcolor: var(--color-primary-element-light);\n\t}\n\n\t$border-radius: calc(var(--default-clickable-area) / 2);\n\t// keep inner border width in mind\n\t$border-radius-outer: calc($border-radius + 2px);\n\n\t&--button-variant.checkbox-radio-switch {\n\t\tbackground-color: var(--color-main-background);\n\t\tborder: 2px solid var(--color-border-maxcontrast);\n\t\toverflow: hidden;\n\n\t\t&--checked {\n\t\t\tfont-weight: bold;\n\n\t\t\t.checkbox-radio-switch__content {\n\t\t\t\tbackground-color: var(--color-primary-element);\n\t\t\t\tcolor: var(--color-primary-element-text);\n\t\t\t}\n\t\t}\n\t}\n\n\t// Text overflow of button style\n\t&--button-variant :deep(.checkbox-radio-switch__text) {\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\twidth: 100%;\n\t}\n\n\t// Set icon color for non active elements to main text color\n\t&--button-variant:not(&--checked) :deep(.checkbox-radio-switch__icon) > * {\n\t\tcolor: var(--color-main-text);\n\t}\n\n\t// Hide icon container if empty to remove virtual padding\n\t&--button-variant :deep(.checkbox-radio-switch__icon:empty) {\n\t\tdisplay: none;\n\t}\n\n\t&--button-variant:not(&--button-variant-v-grouped):not(&--button-variant-h-grouped),\n\t&--button-variant &__content {\n\t\tborder-radius: $border-radius;\n\t}\n\n\t/* Special rules for vertical button groups */\n\t&--button-variant-v-grouped &__content {\n\t\tflex-basis: 100%;\n\t\t// vertically grouped buttons should all have the same width\n\t\tmax-width: unset;\n\t}\n\t&--button-variant-v-grouped {\n\t\t&:first-of-type {\n\t\t\tborder-top-left-radius: $border-radius-outer;\n\t\t\tborder-top-right-radius: $border-radius-outer;\n\t\t}\n\t\t&:last-of-type {\n\t\t\tborder-bottom-left-radius: $border-radius-outer;\n\t\t\tborder-bottom-right-radius: $border-radius-outer;\n\t\t}\n\n\t\t// remove borders between elements\n\t\t&:not(:last-of-type) {\n\t\t\tborder-bottom: 0!important;\n\t\t\t.checkbox-radio-switch__content {\n\t\t\t\tmargin-bottom: 2px;\n\t\t\t}\n\t\t}\n\t\t&:not(:first-of-type) {\n\t\t\tborder-top: 0!important;\n\t\t}\n\t}\n\n\t/* Special rules for horizontal button groups */\n\t&--button-variant-h-grouped {\n\t\t&:first-of-type {\n\t\t\tborder-top-left-radius: $border-radius-outer;\n\t\t\tborder-bottom-left-radius: $border-radius-outer;\n\t\t}\n\t\t&:last-of-type {\n\t\t\tborder-top-right-radius: $border-radius-outer;\n\t\t\tborder-bottom-right-radius: $border-radius-outer;\n\t\t}\n\n\t\t// remove borders between elements\n\t\t&:not(:last-of-type) {\n\t\t\tborder-right: 0!important;\n\t\t\t.checkbox-radio-switch__content {\n\t\t\t\tmargin-right: 2px;\n\t\t\t}\n\t\t}\n\t\t&:not(:first-of-type) {\n\t\t\tborder-left: 0!important;\n\t\t}\n\t}\n\t&--button-variant-h-grouped :deep(.checkbox-radio-switch__text) {\n\t\ttext-align: center;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t}\n\t&--button-variant-h-grouped &__content {\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\twidth: 100%;\n\t\tmargin: 0;\n\t\tgap: 0;\n\t}\n}\n</style>\n"],"names":["_sfc_main","_hoisted_1","_hoisted_2","_hoisted_3","_createElementBlock","_mergeProps","_createElementVNode","_hoisted_4","_createCommentVNode","_normalizeClass","_renderSlot","_openBlock","_createBlock","_resolveDynamicComponent","_toHandlers","_withCtx","_createVNode","_createSlots"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_959f6f1b_lang-C0H-ioQZ.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import '../assets/NcChip-Cho4h_Kr.css';
|
|
2
|
+
import { defineComponent, resolveComponent, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, createBlock, createCommentVNode, createTextVNode, toDisplayString, withCtx, createVNode } from "vue";
|
|
3
|
+
import { r as register, a as t } from "./_l10n-C3nxU4O-.mjs";
|
|
4
|
+
import { N as NcActions } from "./NcActions-COaRMDe5.mjs";
|
|
5
|
+
import { N as NcActionButton } from "./NcActionButton-Bqkgltcz.mjs";
|
|
6
|
+
import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-DbL6OP85.mjs";
|
|
7
|
+
import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
|
|
8
|
+
var mdiClose = "M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z";
|
|
9
|
+
register();
|
|
10
|
+
const _sfc_main = defineComponent({
|
|
11
|
+
name: "NcChip",
|
|
12
|
+
components: {
|
|
13
|
+
NcActions,
|
|
14
|
+
NcActionButton,
|
|
15
|
+
NcIconSvgWrapper
|
|
16
|
+
},
|
|
17
|
+
props: {
|
|
18
|
+
/**
|
|
19
|
+
* aria label to set on the close button
|
|
20
|
+
* @default 'Close'
|
|
21
|
+
*/
|
|
22
|
+
ariaLabelClose: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: t("Close")
|
|
25
|
+
},
|
|
26
|
+
/**
|
|
27
|
+
* Main text of the chip
|
|
28
|
+
*/
|
|
29
|
+
text: {
|
|
30
|
+
type: String,
|
|
31
|
+
default: ""
|
|
32
|
+
},
|
|
33
|
+
/**
|
|
34
|
+
* Chip style
|
|
35
|
+
* This sets the background style of the chip, similar to NcButton's `type`
|
|
36
|
+
*/
|
|
37
|
+
type: {
|
|
38
|
+
type: String,
|
|
39
|
+
default: "secondary",
|
|
40
|
+
validator: (value) => ["primary", "secondary", "tertiary"].includes(value)
|
|
41
|
+
},
|
|
42
|
+
/**
|
|
43
|
+
* SVG path of the icon to use.
|
|
44
|
+
* For example icon paths from `@mdi/js` can be used.
|
|
45
|
+
*/
|
|
46
|
+
iconPath: {
|
|
47
|
+
type: String,
|
|
48
|
+
default: null
|
|
49
|
+
},
|
|
50
|
+
/**
|
|
51
|
+
* Inline SVG to use as the icon
|
|
52
|
+
*/
|
|
53
|
+
iconSvg: {
|
|
54
|
+
type: String,
|
|
55
|
+
default: null
|
|
56
|
+
},
|
|
57
|
+
/**
|
|
58
|
+
* Set to true to prevent the close button to be shown
|
|
59
|
+
*/
|
|
60
|
+
noClose: {
|
|
61
|
+
type: Boolean,
|
|
62
|
+
default: false
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
emits: ["close"],
|
|
66
|
+
setup() {
|
|
67
|
+
return {
|
|
68
|
+
mdiClose
|
|
69
|
+
};
|
|
70
|
+
},
|
|
71
|
+
computed: {
|
|
72
|
+
canClose() {
|
|
73
|
+
return !this.noClose;
|
|
74
|
+
},
|
|
75
|
+
hasActions() {
|
|
76
|
+
return this.canClose || this.$slots.actions?.() !== void 0;
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
methods: {
|
|
80
|
+
t,
|
|
81
|
+
onClose() {
|
|
82
|
+
this.$emit("close");
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
const _hoisted_1 = { class: "nc-chip__icon" };
|
|
87
|
+
const _hoisted_2 = { class: "nc-chip__text" };
|
|
88
|
+
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
89
|
+
const _component_NcIconSvgWrapper = resolveComponent("NcIconSvgWrapper");
|
|
90
|
+
const _component_NcActionButton = resolveComponent("NcActionButton");
|
|
91
|
+
const _component_NcActions = resolveComponent("NcActions");
|
|
92
|
+
return openBlock(), createElementBlock("div", {
|
|
93
|
+
class: normalizeClass(["nc-chip", { [`nc-chip--${_ctx.type}`]: true, "nc-chip--no-actions": !_ctx.hasActions }])
|
|
94
|
+
}, [
|
|
95
|
+
createElementVNode("span", _hoisted_1, [
|
|
96
|
+
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
97
|
+
_ctx.iconPath || _ctx.iconSvg ? (openBlock(), createBlock(_component_NcIconSvgWrapper, {
|
|
98
|
+
key: 0,
|
|
99
|
+
inline: "",
|
|
100
|
+
path: _ctx.iconPath,
|
|
101
|
+
svg: _ctx.iconPath ? void 0 : _ctx.iconSvg,
|
|
102
|
+
size: 18
|
|
103
|
+
}, null, 8, ["path", "svg"])) : createCommentVNode("", true)
|
|
104
|
+
], true)
|
|
105
|
+
]),
|
|
106
|
+
createElementVNode("span", _hoisted_2, [
|
|
107
|
+
renderSlot(_ctx.$slots, "default", {}, () => [
|
|
108
|
+
createTextVNode(toDisplayString(_ctx.text), 1)
|
|
109
|
+
], true)
|
|
110
|
+
]),
|
|
111
|
+
_ctx.hasActions ? (openBlock(), createBlock(_component_NcActions, {
|
|
112
|
+
key: 0,
|
|
113
|
+
class: "nc-chip__actions",
|
|
114
|
+
"force-menu": !_ctx.canClose,
|
|
115
|
+
type: "tertiary-no-background"
|
|
116
|
+
}, {
|
|
117
|
+
default: withCtx(() => [
|
|
118
|
+
_ctx.canClose ? (openBlock(), createBlock(_component_NcActionButton, {
|
|
119
|
+
key: 0,
|
|
120
|
+
"close-after-click": "",
|
|
121
|
+
onClick: _ctx.onClose
|
|
122
|
+
}, {
|
|
123
|
+
icon: withCtx(() => [
|
|
124
|
+
createVNode(_component_NcIconSvgWrapper, {
|
|
125
|
+
path: _ctx.mdiClose,
|
|
126
|
+
size: 20
|
|
127
|
+
}, null, 8, ["path"])
|
|
128
|
+
]),
|
|
129
|
+
default: withCtx(() => [
|
|
130
|
+
createTextVNode(" " + toDisplayString(_ctx.ariaLabelClose), 1)
|
|
131
|
+
]),
|
|
132
|
+
_: 1
|
|
133
|
+
}, 8, ["onClick"])) : createCommentVNode("", true),
|
|
134
|
+
renderSlot(_ctx.$slots, "actions", {}, void 0, true)
|
|
135
|
+
]),
|
|
136
|
+
_: 3
|
|
137
|
+
}, 8, ["force-menu"])) : createCommentVNode("", true)
|
|
138
|
+
], 2);
|
|
139
|
+
}
|
|
140
|
+
const NcChip = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-7b25551c"]]);
|
|
141
|
+
export {
|
|
142
|
+
NcChip as N
|
|
143
|
+
};
|