@nextcloud/vue 8.33.0 → 8.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/README.md +2 -2
- package/dist/Components/NcActionButton.cjs +1 -1
- package/dist/Components/NcActionButton.mjs +1 -1
- package/dist/Components/NcActionButtonGroup.cjs +1 -1
- package/dist/Components/NcActionButtonGroup.mjs +1 -1
- package/dist/Components/NcActionInput.cjs +1 -1
- package/dist/Components/NcActionInput.mjs +1 -1
- package/dist/Components/NcActionTextEditable.cjs +1 -1
- package/dist/Components/NcActionTextEditable.mjs +1 -1
- package/dist/Components/NcActions.cjs +1 -1
- package/dist/Components/NcActions.mjs +1 -1
- package/dist/Components/NcAppContent.cjs +1 -1
- package/dist/Components/NcAppContent.mjs +1 -1
- package/dist/Components/NcAppNavigation.cjs +1 -1
- package/dist/Components/NcAppNavigation.mjs +1 -1
- package/dist/Components/NcAppNavigationCaption.cjs +1 -1
- package/dist/Components/NcAppNavigationCaption.mjs +1 -1
- package/dist/Components/NcAppNavigationItem.cjs +1 -1
- package/dist/Components/NcAppNavigationItem.mjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.cjs +1 -1
- package/dist/Components/NcAppNavigationNewItem.mjs +1 -1
- package/dist/Components/NcAppNavigationSearch.cjs +1 -1
- package/dist/Components/NcAppNavigationSearch.mjs +1 -1
- package/dist/Components/NcAppNavigationSettings.cjs +1 -1
- package/dist/Components/NcAppNavigationSettings.mjs +1 -1
- package/dist/Components/NcAppNavigationToggle.cjs +1 -1
- package/dist/Components/NcAppNavigationToggle.mjs +1 -1
- package/dist/Components/NcAppSettingsDialog.cjs +1 -1
- package/dist/Components/NcAppSettingsDialog.mjs +1 -1
- package/dist/Components/NcAppSettingsSection.cjs +1 -1
- package/dist/Components/NcAppSettingsSection.mjs +1 -1
- package/dist/Components/NcAppSettingsSectionShortcuts.cjs +2 -2
- package/dist/Components/NcAppSettingsSectionShortcuts.mjs +1 -1
- package/dist/Components/NcAppSettingsShortcutsSection.cjs +4 -0
- package/dist/Components/NcAppSettingsShortcutsSection.cjs.map +1 -0
- package/dist/Components/NcAppSettingsShortcutsSection.mjs +5 -0
- package/dist/Components/NcAppSettingsShortcutsSection.mjs.map +1 -0
- package/dist/Components/NcAppSidebar.cjs +1 -1
- package/dist/Components/NcAppSidebar.mjs +1 -1
- package/dist/Components/NcAssistantButton.cjs +1 -1
- package/dist/Components/NcAssistantButton.mjs +1 -1
- package/dist/Components/NcAssistantIcon.cjs +1 -1
- package/dist/Components/NcAssistantIcon.mjs +1 -1
- package/dist/Components/NcAvatar.cjs +1 -1
- package/dist/Components/NcAvatar.mjs +1 -1
- package/dist/Components/NcBreadcrumb.cjs +1 -1
- package/dist/Components/NcBreadcrumb.mjs +1 -1
- package/dist/Components/NcBreadcrumbs.cjs +1 -1
- package/dist/Components/NcBreadcrumbs.mjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.cjs +1 -1
- package/dist/Components/NcCheckboxRadioSwitch.mjs +1 -1
- package/dist/Components/NcChip.cjs +4 -4
- package/dist/Components/NcChip.mjs +4 -4
- package/dist/Components/NcCollectionList.cjs +1 -1
- package/dist/Components/NcCollectionList.mjs +1 -1
- package/dist/Components/NcColorPicker.cjs +1 -1
- package/dist/Components/NcColorPicker.mjs +1 -1
- package/dist/Components/NcContent.cjs +1 -1
- package/dist/Components/NcContent.mjs +1 -1
- package/dist/Components/NcDashboardWidget.cjs +1 -1
- package/dist/Components/NcDashboardWidget.mjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.cjs +1 -1
- package/dist/Components/NcDashboardWidgetItem.mjs +1 -1
- package/dist/Components/NcDateTimePicker.cjs +5 -5
- package/dist/Components/NcDateTimePicker.mjs +5 -5
- package/dist/Components/NcDateTimePickerNative.cjs +1 -1
- package/dist/Components/NcDateTimePickerNative.mjs +1 -1
- package/dist/Components/NcDialog.cjs +1 -1
- package/dist/Components/NcDialog.mjs +1 -1
- package/dist/Components/NcDialogButton.cjs +1 -1
- package/dist/Components/NcDialogButton.mjs +1 -1
- package/dist/Components/NcEmojiPicker.cjs +1 -1
- package/dist/Components/NcEmojiPicker.mjs +1 -1
- package/dist/Components/NcFormBox.cjs +4 -0
- package/dist/Components/NcFormBox.cjs.map +1 -0
- package/dist/Components/NcFormBox.mjs +5 -0
- package/dist/Components/NcFormBox.mjs.map +1 -0
- package/dist/Components/NcFormBoxButton.cjs +4 -0
- package/dist/Components/NcFormBoxButton.cjs.map +1 -0
- package/dist/Components/NcFormBoxButton.mjs +5 -0
- package/dist/Components/NcFormBoxButton.mjs.map +1 -0
- package/dist/Components/NcFormBoxCopyButton.cjs +4 -0
- package/dist/Components/NcFormBoxCopyButton.cjs.map +1 -0
- package/dist/Components/NcFormBoxCopyButton.mjs +5 -0
- package/dist/Components/NcFormBoxCopyButton.mjs.map +1 -0
- package/dist/Components/NcFormBoxSwitch.cjs +4 -0
- package/dist/Components/NcFormBoxSwitch.cjs.map +1 -0
- package/dist/Components/NcFormBoxSwitch.mjs +5 -0
- package/dist/Components/NcFormBoxSwitch.mjs.map +1 -0
- package/dist/Components/NcFormGroup.cjs +4 -0
- package/dist/Components/NcFormGroup.cjs.map +1 -0
- package/dist/Components/NcFormGroup.mjs +5 -0
- package/dist/Components/NcFormGroup.mjs.map +1 -0
- package/dist/Components/NcHotkey.cjs +1 -1
- package/dist/Components/NcHotkey.mjs +1 -1
- package/dist/Components/NcHotkeyList.cjs +1 -1
- package/dist/Components/NcHotkeyList.mjs +1 -1
- package/dist/Components/NcKbd.cjs +1 -1
- package/dist/Components/NcKbd.mjs +1 -1
- package/dist/Components/NcListItem.cjs +1 -1
- package/dist/Components/NcListItem.mjs +1 -1
- package/dist/Components/NcListItemIcon.cjs +1 -1
- package/dist/Components/NcListItemIcon.mjs +1 -1
- package/dist/Components/NcModal.cjs +5 -5
- package/dist/Components/NcModal.mjs +5 -5
- package/dist/Components/NcPasswordField.cjs +1 -1
- package/dist/Components/NcPasswordField.mjs +1 -1
- package/dist/Components/NcRadioGroup.cjs +1 -1
- package/dist/Components/NcRadioGroup.mjs +1 -1
- package/dist/Components/NcRadioGroupButton.cjs +1 -1
- package/dist/Components/NcRadioGroupButton.mjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.cjs +1 -1
- package/dist/Components/NcRelatedResourcesPanel.mjs +1 -1
- package/dist/Components/NcRichContenteditable.cjs +1 -1
- package/dist/Components/NcRichContenteditable.mjs +1 -1
- package/dist/Components/NcRichText.cjs +2 -2
- package/dist/Components/NcRichText.mjs +3 -3
- package/dist/Components/NcSelect.cjs +1 -1
- package/dist/Components/NcSelect.mjs +1 -1
- package/dist/Components/NcSelectTags.cjs +1 -1
- package/dist/Components/NcSelectTags.mjs +1 -1
- package/dist/Components/NcSelectUsers.cjs +1 -1
- package/dist/Components/NcSelectUsers.mjs +1 -1
- package/dist/Components/NcSettingsInputText.cjs +1 -1
- package/dist/Components/NcSettingsInputText.mjs +1 -1
- package/dist/Components/NcSettingsSection.cjs +1 -1
- package/dist/Components/NcSettingsSection.mjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.cjs +1 -1
- package/dist/Components/NcSettingsSelectGroup.mjs +1 -1
- package/dist/Components/NcTextField.cjs +1 -1
- package/dist/Components/NcTextField.mjs +1 -1
- package/dist/Components/NcTimezonePicker.cjs +1 -1
- package/dist/Components/NcTimezonePicker.mjs +1 -1
- package/dist/Components/NcUserBubble.cjs +1 -1
- package/dist/Components/NcUserBubble.mjs +1 -1
- package/dist/Components/NcUserStatusIcon.cjs +1 -1
- package/dist/Components/NcUserStatusIcon.mjs +1 -1
- package/dist/Composables/useFormatDateTime.cjs +1 -1
- package/dist/Composables/useFormatDateTime.mjs +1 -1
- package/dist/Functions/reference.cjs +1 -1
- package/dist/Functions/reference.mjs +1 -1
- package/dist/Functions/usernameToColor.cjs +1 -1
- package/dist/Functions/usernameToColor.mjs +1 -1
- package/dist/assets/{NcActions-B4-9qwLn.css → NcActions-Dfs69WGA.css} +11 -11
- package/dist/assets/{NcAppSettingsDialog-2axspyf-.css → NcAppSettingsDialog-TJ3aaiJI.css} +10 -10
- package/dist/assets/NcAppSettingsSection-Yg4NYCih.css +46 -0
- package/dist/assets/{NcDateTimePicker-BmMuUpwr.css → NcDateTimePicker-uS5WikmF.css} +8 -8
- package/dist/assets/NcFormBox-D-kcijXp.css +54 -0
- package/dist/assets/{NcAppSettingsSection-CLSVNQzv.css → NcFormBoxButton-C6EvdLK4.css} +13 -11
- package/dist/assets/NcFormBoxItem-j2nGdOvd.css +88 -0
- package/dist/assets/NcFormBoxSwitch-BmyNQCbA.css +37 -0
- package/dist/assets/NcFormGroup-BrD0Scm7.css +43 -0
- package/dist/assets/{NcHotkey-QklVKSyr.css → NcHotkey-4yi1Hobg.css} +10 -9
- package/dist/assets/NcHotkeyList-gAZN0WIu.css +8 -0
- package/dist/assets/{NcListItem-rxOwDYE-.css → NcListItem-Czbi1F0Q.css} +44 -44
- package/dist/assets/NcRadioGroup-1zpSX8V5.css +21 -0
- package/dist/assets/{NcRadioGroupButton-qxDfssOp.css → NcRadioGroupButton-DRZ1_-yY.css} +11 -19
- package/dist/assets/{NcRichContenteditable-CO5ziuZO.css → NcRichContenteditable-BjQ4qHUO.css} +11 -11
- package/dist/assets/{NcRichText-BpXupu1n.css → NcRichText-Cr-HXxVi.css} +92 -86
- package/dist/chunks/{NcActionButton-DSq_luox.cjs → NcActionButton-BWM7FD0z.cjs} +2 -2
- package/dist/chunks/{NcActionButton-DSq_luox.cjs.map → NcActionButton-BWM7FD0z.cjs.map} +1 -1
- package/dist/chunks/{NcActionButton-CD1Z-o2Y.mjs → NcActionButton-DykQxmXJ.mjs} +2 -2
- package/dist/chunks/{NcActionButton-CD1Z-o2Y.mjs.map → NcActionButton-DykQxmXJ.mjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-DKVCsZhH.cjs → NcActionButtonGroup-Bqp4vRGy.cjs} +2 -2
- package/dist/chunks/{NcActionButtonGroup-DKVCsZhH.cjs.map → NcActionButtonGroup-Bqp4vRGy.cjs.map} +1 -1
- package/dist/chunks/{NcActionButtonGroup-Bd-SOAHU.mjs → NcActionButtonGroup-Uol_nwut.mjs} +2 -2
- package/dist/chunks/{NcActionButtonGroup-Bd-SOAHU.mjs.map → NcActionButtonGroup-Uol_nwut.mjs.map} +1 -1
- package/dist/chunks/{NcActionInput-BMUreHhp.cjs → NcActionInput-BZGP5m4T.cjs} +5 -5
- package/dist/chunks/{NcActionInput-BMUreHhp.cjs.map → NcActionInput-BZGP5m4T.cjs.map} +1 -1
- package/dist/chunks/{NcActionInput-D4MLI-0P.mjs → NcActionInput-pjhToEAw.mjs} +5 -5
- package/dist/chunks/{NcActionInput-D4MLI-0P.mjs.map → NcActionInput-pjhToEAw.mjs.map} +1 -1
- package/dist/chunks/{NcActionTextEditable-5mNFl7Jm.mjs → NcActionTextEditable-Bnt0-S7Y.mjs} +2 -2
- package/dist/chunks/{NcActionTextEditable-5mNFl7Jm.mjs.map → NcActionTextEditable-Bnt0-S7Y.mjs.map} +1 -1
- package/dist/chunks/{NcActionTextEditable-C8B1qqqe.cjs → NcActionTextEditable-JAg35gIb.cjs} +2 -2
- package/dist/chunks/{NcActionTextEditable-C8B1qqqe.cjs.map → NcActionTextEditable-JAg35gIb.cjs.map} +1 -1
- package/dist/chunks/{NcActions-BvFVkIzX.mjs → NcActions-CpdT2y6O.mjs} +29 -31
- package/dist/chunks/NcActions-CpdT2y6O.mjs.map +1 -0
- package/dist/chunks/{NcActions-CF9VxHHD.cjs → NcActions-ykoV9rRj.cjs} +28 -30
- package/dist/chunks/NcActions-ykoV9rRj.cjs.map +1 -0
- package/dist/chunks/{NcAppContent-C7hwN-sU.mjs → NcAppContent-CABHzKrx.mjs} +3 -3
- package/dist/chunks/{NcAppContent-C7hwN-sU.mjs.map → NcAppContent-CABHzKrx.mjs.map} +1 -1
- package/dist/chunks/{NcAppContent-BSyhjn2J.cjs → NcAppContent-D2h4xrfv.cjs} +3 -3
- package/dist/chunks/{NcAppContent-BSyhjn2J.cjs.map → NcAppContent-D2h4xrfv.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigation-B2cKVKBH.mjs → NcAppNavigation-BKgpMjQN.mjs} +2 -2
- package/dist/chunks/{NcAppNavigation-B2cKVKBH.mjs.map → NcAppNavigation-BKgpMjQN.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigation-DApCpI_F.cjs → NcAppNavigation-D_pDitZ1.cjs} +2 -2
- package/dist/chunks/{NcAppNavigation-DApCpI_F.cjs.map → NcAppNavigation-D_pDitZ1.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-BOHmVyQb.cjs → NcAppNavigationCaption-CO99po3G.cjs} +2 -2
- package/dist/chunks/{NcAppNavigationCaption-BOHmVyQb.cjs.map → NcAppNavigationCaption-CO99po3G.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationCaption-bTauZtcw.mjs → NcAppNavigationCaption-CcWZR8rN.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationCaption-bTauZtcw.mjs.map → NcAppNavigationCaption-CcWZR8rN.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-geCwhCsd.mjs → NcAppNavigationItem-BYWvtSRw.mjs} +6 -6
- package/dist/chunks/{NcAppNavigationItem-geCwhCsd.mjs.map → NcAppNavigationItem-BYWvtSRw.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationItem-DbtR6u7Y.cjs → NcAppNavigationItem-Ca9CAehR.cjs} +6 -6
- package/dist/chunks/{NcAppNavigationItem-DbtR6u7Y.cjs.map → NcAppNavigationItem-Ca9CAehR.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-Dqnwa8Gl.cjs → NcAppNavigationNewItem-CwhxGiXO.cjs} +2 -2
- package/dist/chunks/{NcAppNavigationNewItem-Dqnwa8Gl.cjs.map → NcAppNavigationNewItem-CwhxGiXO.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationNewItem-Yy56yPrn.mjs → NcAppNavigationNewItem-DUNLtTs8.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationNewItem-Yy56yPrn.mjs.map → NcAppNavigationNewItem-DUNLtTs8.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-pMlFjm9w.cjs → NcAppNavigationSearch-BC3LfUdL.cjs} +3 -3
- package/dist/chunks/{NcAppNavigationSearch-pMlFjm9w.cjs.map → NcAppNavigationSearch-BC3LfUdL.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSearch-WfL4IPD8.mjs → NcAppNavigationSearch-Ci8jz_C2.mjs} +3 -3
- package/dist/chunks/{NcAppNavigationSearch-WfL4IPD8.mjs.map → NcAppNavigationSearch-Ci8jz_C2.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-BhK7vlfP.mjs → NcAppNavigationSettings-B29zrNPr.mjs} +4 -4
- package/dist/chunks/{NcAppNavigationSettings-BhK7vlfP.mjs.map → NcAppNavigationSettings-B29zrNPr.mjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationSettings-C6qjJ3hF.cjs → NcAppNavigationSettings-Dt15jIbU.cjs} +4 -4
- package/dist/chunks/{NcAppNavigationSettings-C6qjJ3hF.cjs.map → NcAppNavigationSettings-Dt15jIbU.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-8lSuagjd.cjs → NcAppNavigationToggle-Bk99wJ65.cjs} +2 -2
- package/dist/chunks/{NcAppNavigationToggle-8lSuagjd.cjs.map → NcAppNavigationToggle-Bk99wJ65.cjs.map} +1 -1
- package/dist/chunks/{NcAppNavigationToggle-DlnxjlcH.mjs → NcAppNavigationToggle-DtNWDe9v.mjs} +2 -2
- package/dist/chunks/{NcAppNavigationToggle-DlnxjlcH.mjs.map → NcAppNavigationToggle-DtNWDe9v.mjs.map} +1 -1
- package/dist/chunks/{NcAppSettingsDialog--RlMIfbo.cjs → NcAppSettingsDialog-C1mtjsnj.cjs} +9 -7
- package/dist/chunks/NcAppSettingsDialog-C1mtjsnj.cjs.map +1 -0
- package/dist/chunks/{NcAppSettingsDialog-8YaW7ud3.mjs → NcAppSettingsDialog-CF-oMoP_.mjs} +10 -8
- package/dist/chunks/NcAppSettingsDialog-CF-oMoP_.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsSection-DVrBPuLD.mjs → NcAppSettingsSection-Cq1VIzMR.mjs} +9 -7
- package/dist/chunks/NcAppSettingsSection-Cq1VIzMR.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsSection-OPWPqi2Y.cjs → NcAppSettingsSection-Q5PB51ht.cjs} +8 -6
- package/dist/chunks/NcAppSettingsSection-Q5PB51ht.cjs.map +1 -0
- package/dist/chunks/{NcAppSettingsSectionShortcuts-CdP-4ktS.mjs → NcAppSettingsShortcutsSection-C089rPL6.mjs} +7 -7
- package/dist/chunks/NcAppSettingsShortcutsSection-C089rPL6.mjs.map +1 -0
- package/dist/chunks/{NcAppSettingsSectionShortcuts-CBYgfYGz.cjs → NcAppSettingsShortcutsSection-DG3FQlb5.cjs} +7 -7
- package/dist/chunks/NcAppSettingsShortcutsSection-DG3FQlb5.cjs.map +1 -0
- package/dist/chunks/{NcAppSidebar-f7tuofzM.mjs → NcAppSidebar-D5IUeKjd.mjs} +4 -4
- package/dist/chunks/{NcAppSidebar-f7tuofzM.mjs.map → NcAppSidebar-D5IUeKjd.mjs.map} +1 -1
- package/dist/chunks/{NcAppSidebar-DLb6ALHL.cjs → NcAppSidebar-DwLrcwGi.cjs} +4 -4
- package/dist/chunks/{NcAppSidebar-DLb6ALHL.cjs.map → NcAppSidebar-DwLrcwGi.cjs.map} +1 -1
- package/dist/chunks/{NcAssistantButton-BMzPE7WA.cjs → NcAssistantButton-DrYpawyR.cjs} +3 -3
- package/dist/chunks/{NcAssistantButton-BMzPE7WA.cjs.map → NcAssistantButton-DrYpawyR.cjs.map} +1 -1
- package/dist/chunks/{NcAssistantButton-enexPvoC.mjs → NcAssistantButton-lRXTGAwe.mjs} +3 -3
- package/dist/chunks/{NcAssistantButton-enexPvoC.mjs.map → NcAssistantButton-lRXTGAwe.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantIcon-XwQFzBgA.mjs → NcAssistantIcon-B9L1Ih5x.mjs} +2 -2
- package/dist/chunks/{NcAssistantIcon-XwQFzBgA.mjs.map → NcAssistantIcon-B9L1Ih5x.mjs.map} +1 -1
- package/dist/chunks/{NcAssistantIcon-DfVd2zWt.cjs → NcAssistantIcon-jHDGZ_Bd.cjs} +2 -2
- package/dist/chunks/{NcAssistantIcon-DfVd2zWt.cjs.map → NcAssistantIcon-jHDGZ_Bd.cjs.map} +1 -1
- package/dist/chunks/{NcAvatar-BwioPrbY.cjs → NcAvatar-BXRgjNXy.cjs} +5 -5
- package/dist/chunks/{NcAvatar-BwioPrbY.cjs.map → NcAvatar-BXRgjNXy.cjs.map} +1 -1
- package/dist/chunks/{NcAvatar-DwUmx6Fg.mjs → NcAvatar-D5nljVEA.mjs} +5 -5
- package/dist/chunks/{NcAvatar-DwUmx6Fg.mjs.map → NcAvatar-D5nljVEA.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-ljdZbX7p.mjs → NcBreadcrumb-BC6tmZfd.mjs} +2 -2
- package/dist/chunks/{NcBreadcrumb-ljdZbX7p.mjs.map → NcBreadcrumb-BC6tmZfd.mjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumb-B-zWjBNp.cjs → NcBreadcrumb-DCq7akG2.cjs} +2 -2
- package/dist/chunks/{NcBreadcrumb-B-zWjBNp.cjs.map → NcBreadcrumb-DCq7akG2.cjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-B6tPEu9b.cjs → NcBreadcrumbs-7dWiGWqj.cjs} +4 -4
- package/dist/chunks/{NcBreadcrumbs-B6tPEu9b.cjs.map → NcBreadcrumbs-7dWiGWqj.cjs.map} +1 -1
- package/dist/chunks/{NcBreadcrumbs-D2DtX3XC.mjs → NcBreadcrumbs-BPfsSByZ.mjs} +4 -4
- package/dist/chunks/{NcBreadcrumbs-D2DtX3XC.mjs.map → NcBreadcrumbs-BPfsSByZ.mjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch-wSD3hWxs.cjs → NcCheckboxRadioSwitch-CC2UI0kG.cjs} +2 -2
- package/dist/chunks/{NcCheckboxRadioSwitch-wSD3hWxs.cjs.map → NcCheckboxRadioSwitch-CC2UI0kG.cjs.map} +1 -1
- package/dist/chunks/{NcCheckboxRadioSwitch-NPJuwzqS.mjs → NcCheckboxRadioSwitch-DAPHFb0L.mjs} +2 -2
- package/dist/chunks/{NcCheckboxRadioSwitch-NPJuwzqS.mjs.map → NcCheckboxRadioSwitch-DAPHFb0L.mjs.map} +1 -1
- package/dist/chunks/{NcCollectionList-D85QdobI.mjs → NcCollectionList-B9weMM0Q.mjs} +7 -7
- package/dist/chunks/{NcCollectionList-D85QdobI.mjs.map → NcCollectionList-B9weMM0Q.mjs.map} +1 -1
- package/dist/chunks/{NcCollectionList-Br6V_EiM.cjs → NcCollectionList-DSugNziH.cjs} +7 -7
- package/dist/chunks/{NcCollectionList-Br6V_EiM.cjs.map → NcCollectionList-DSugNziH.cjs.map} +1 -1
- package/dist/chunks/{NcColorPicker-Dg3d5_aQ.cjs → NcColorPicker-Chrtrp3i.cjs} +4 -4
- package/dist/chunks/{NcColorPicker-Dg3d5_aQ.cjs.map → NcColorPicker-Chrtrp3i.cjs.map} +1 -1
- package/dist/chunks/{NcColorPicker-BoS26yac.mjs → NcColorPicker-DVkGUHxL.mjs} +4 -4
- package/dist/chunks/{NcColorPicker-BoS26yac.mjs.map → NcColorPicker-DVkGUHxL.mjs.map} +1 -1
- package/dist/chunks/{NcContent-D8OFKv52.mjs → NcContent-BPmE93Mq.mjs} +3 -3
- package/dist/chunks/{NcContent-D8OFKv52.mjs.map → NcContent-BPmE93Mq.mjs.map} +1 -1
- package/dist/chunks/{NcContent-BbPae-OV.cjs → NcContent-UoMpCfT3.cjs} +3 -3
- package/dist/chunks/{NcContent-BbPae-OV.cjs.map → NcContent-UoMpCfT3.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-SSlGHcII.mjs → NcDashboardWidget-DpzjksBk.mjs} +5 -5
- package/dist/chunks/{NcDashboardWidget-SSlGHcII.mjs.map → NcDashboardWidget-DpzjksBk.mjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidget-mEPmvuR0.cjs → NcDashboardWidget-k5_NmYYZ.cjs} +5 -5
- package/dist/chunks/{NcDashboardWidget-mEPmvuR0.cjs.map → NcDashboardWidget-k5_NmYYZ.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-C7AmqxH4.cjs → NcDashboardWidgetItem-CeA1eF60.cjs} +4 -4
- package/dist/chunks/{NcDashboardWidgetItem-C7AmqxH4.cjs.map → NcDashboardWidgetItem-CeA1eF60.cjs.map} +1 -1
- package/dist/chunks/{NcDashboardWidgetItem-BqlNJI6a.mjs → NcDashboardWidgetItem-DZ13sBtT.mjs} +4 -4
- package/dist/chunks/{NcDashboardWidgetItem-BqlNJI6a.mjs.map → NcDashboardWidgetItem-DZ13sBtT.mjs.map} +1 -1
- package/dist/chunks/{NcDialog-Bg0hY6TP.mjs → NcDialog-DDuqQeT-.mjs} +2 -2
- package/dist/chunks/{NcDialog-Bg0hY6TP.mjs.map → NcDialog-DDuqQeT-.mjs.map} +1 -1
- package/dist/chunks/{NcDialog-D020rlVy.cjs → NcDialog-DUTlKw4_.cjs} +2 -2
- package/dist/chunks/{NcDialog-D020rlVy.cjs.map → NcDialog-DUTlKw4_.cjs.map} +1 -1
- package/dist/chunks/{NcDialogButton-8JhFaC5X.cjs → NcDialogButton-DyWjiA1e.cjs} +3 -3
- package/dist/chunks/{NcDialogButton-8JhFaC5X.cjs.map → NcDialogButton-DyWjiA1e.cjs.map} +1 -1
- package/dist/chunks/{NcDialogButton-DSrC6lFd.mjs → NcDialogButton-P7Ryycqk.mjs} +3 -3
- package/dist/chunks/{NcDialogButton-DSrC6lFd.mjs.map → NcDialogButton-P7Ryycqk.mjs.map} +1 -1
- package/dist/chunks/{NcEmojiPicker-CAphjgaf.mjs → NcEmojiPicker-CpU37Ozq.mjs} +6 -6
- package/dist/chunks/{NcEmojiPicker-CAphjgaf.mjs.map → NcEmojiPicker-CpU37Ozq.mjs.map} +1 -1
- package/dist/chunks/{NcEmojiPicker-DwXhWYHY.cjs → NcEmojiPicker-D8d4iUUn.cjs} +6 -6
- package/dist/chunks/{NcEmojiPicker-DwXhWYHY.cjs.map → NcEmojiPicker-D8d4iUUn.cjs.map} +1 -1
- package/dist/chunks/NcFormBox-DL435pbV.mjs +56 -0
- package/dist/chunks/NcFormBox-DL435pbV.mjs.map +1 -0
- package/dist/chunks/NcFormBox-_JqkU_xn.cjs +55 -0
- package/dist/chunks/NcFormBox-_JqkU_xn.cjs.map +1 -0
- package/dist/chunks/NcFormBoxButton-D-s5mL0c.cjs +137 -0
- package/dist/chunks/NcFormBoxButton-D-s5mL0c.cjs.map +1 -0
- package/dist/chunks/NcFormBoxButton-DN0-J4yN.mjs +138 -0
- package/dist/chunks/NcFormBoxButton-DN0-J4yN.mjs.map +1 -0
- package/dist/chunks/NcFormBoxCopyButton-CTHelPkb.cjs +76 -0
- package/dist/chunks/NcFormBoxCopyButton-CTHelPkb.cjs.map +1 -0
- package/dist/chunks/NcFormBoxCopyButton-Dwrfiovz.mjs +77 -0
- package/dist/chunks/NcFormBoxCopyButton-Dwrfiovz.mjs.map +1 -0
- package/dist/chunks/NcFormBoxItem-CtrbGjnv.cjs +86 -0
- package/dist/chunks/NcFormBoxItem-CtrbGjnv.cjs.map +1 -0
- package/dist/chunks/NcFormBoxItem-DPBm3ZbJ.mjs +87 -0
- package/dist/chunks/NcFormBoxItem-DPBm3ZbJ.mjs.map +1 -0
- package/dist/chunks/NcFormBoxSwitch-CM3WaFkA.cjs +96 -0
- package/dist/chunks/NcFormBoxSwitch-CM3WaFkA.cjs.map +1 -0
- package/dist/chunks/NcFormBoxSwitch-aOCNeI-K.mjs +97 -0
- package/dist/chunks/NcFormBoxSwitch-aOCNeI-K.mjs.map +1 -0
- package/dist/chunks/NcFormGroup-BfsPo9aC.mjs +69 -0
- package/dist/chunks/NcFormGroup-BfsPo9aC.mjs.map +1 -0
- package/dist/chunks/NcFormGroup-CBMl_9_J.cjs +68 -0
- package/dist/chunks/NcFormGroup-CBMl_9_J.cjs.map +1 -0
- package/dist/chunks/{NcHotkey-CUPH5u09.cjs → NcHotkey-BMemJWSu.cjs} +7 -7
- package/dist/chunks/{NcHotkey-CUPH5u09.cjs.map → NcHotkey-BMemJWSu.cjs.map} +1 -1
- package/dist/chunks/{NcHotkey-BVMf1V89.mjs → NcHotkey-CzuMmIU9.mjs} +7 -7
- package/dist/chunks/{NcHotkey-BVMf1V89.mjs.map → NcHotkey-CzuMmIU9.mjs.map} +1 -1
- package/dist/chunks/{NcHotkeyList-jfSroQAQ.mjs → NcHotkeyList-Bm25Odp7.mjs} +5 -5
- package/dist/chunks/NcHotkeyList-Bm25Odp7.mjs.map +1 -0
- package/dist/chunks/{NcHotkeyList-CUjp1-hr.cjs → NcHotkeyList-DAJkKYNu.cjs} +5 -5
- package/dist/chunks/NcHotkeyList-DAJkKYNu.cjs.map +1 -0
- package/dist/chunks/{NcInputConfirmCancel-XPlRewAN.mjs → NcInputConfirmCancel-CtdWwDCo.mjs} +2 -2
- package/dist/chunks/{NcInputConfirmCancel-XPlRewAN.mjs.map → NcInputConfirmCancel-CtdWwDCo.mjs.map} +1 -1
- package/dist/chunks/{NcInputConfirmCancel-Bk_FQ5aA.cjs → NcInputConfirmCancel-vqVq5qKL.cjs} +2 -2
- package/dist/chunks/{NcInputConfirmCancel-Bk_FQ5aA.cjs.map → NcInputConfirmCancel-vqVq5qKL.cjs.map} +1 -1
- package/dist/chunks/{NcKbd-BdW5UbhW.mjs → NcKbd-CfVfr9CW.mjs} +2 -2
- package/dist/chunks/{NcKbd-BdW5UbhW.mjs.map → NcKbd-CfVfr9CW.mjs.map} +1 -1
- package/dist/chunks/{NcKbd-CVBh8nyU.cjs → NcKbd-ewuqi-PO.cjs} +2 -2
- package/dist/chunks/{NcKbd-CVBh8nyU.cjs.map → NcKbd-ewuqi-PO.cjs.map} +1 -1
- package/dist/chunks/{NcListItem-YVemqwZ_.mjs → NcListItem-BommrKRB.mjs} +6 -6
- package/dist/chunks/{NcListItem-D3HiK7ra.cjs.map → NcListItem-BommrKRB.mjs.map} +1 -1
- package/dist/chunks/{NcListItem-D3HiK7ra.cjs → NcListItem-DaRnEXN5.cjs} +6 -6
- package/dist/chunks/{NcListItem-YVemqwZ_.mjs.map → NcListItem-DaRnEXN5.cjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-DL1VwHvL.cjs → NcListItemIcon-2L14AYM5.cjs} +2 -2
- package/dist/chunks/{NcListItemIcon-DL1VwHvL.cjs.map → NcListItemIcon-2L14AYM5.cjs.map} +1 -1
- package/dist/chunks/{NcListItemIcon-BKwmcXnO.mjs → NcListItemIcon-DT7XMp5c.mjs} +2 -2
- package/dist/chunks/{NcListItemIcon-BKwmcXnO.mjs.map → NcListItemIcon-DT7XMp5c.mjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-CujpFQHq.mjs → NcPasswordField-B91RnUSh.mjs} +3 -3
- package/dist/chunks/{NcPasswordField-CujpFQHq.mjs.map → NcPasswordField-B91RnUSh.mjs.map} +1 -1
- package/dist/chunks/{NcPasswordField-BeEYmL5N.cjs → NcPasswordField-BO0hL-T4.cjs} +3 -3
- package/dist/chunks/{NcPasswordField-BeEYmL5N.cjs.map → NcPasswordField-BO0hL-T4.cjs.map} +1 -1
- package/dist/chunks/{NcRadioGroup-VKZJ0Vnh.mjs → NcRadioGroup-D0rC63G8.mjs} +10 -19
- package/dist/chunks/NcRadioGroup-D0rC63G8.mjs.map +1 -0
- package/dist/chunks/{NcRadioGroup-BZ-humrK.cjs → NcRadioGroup-D59En1O3.cjs} +10 -19
- package/dist/chunks/NcRadioGroup-D59En1O3.cjs.map +1 -0
- package/dist/chunks/{NcRadioGroupButton-CD4tkF_s.mjs → NcRadioGroupButton-3Pu4Iqdf.mjs} +11 -9
- package/dist/chunks/NcRadioGroupButton-3Pu4Iqdf.mjs.map +1 -0
- package/dist/chunks/{NcRadioGroupButton-DrqgN-8C.cjs → NcRadioGroupButton-DoOf7cE1.cjs} +11 -9
- package/dist/chunks/NcRadioGroupButton-DoOf7cE1.cjs.map +1 -0
- package/dist/chunks/{NcRelatedResourcesPanel-CO6jajKF.cjs → NcRelatedResourcesPanel-CpXbcI3f.cjs} +4 -4
- package/dist/chunks/{NcRelatedResourcesPanel-CO6jajKF.cjs.map → NcRelatedResourcesPanel-CpXbcI3f.cjs.map} +1 -1
- package/dist/chunks/{NcRelatedResourcesPanel-BTyqVb_E.mjs → NcRelatedResourcesPanel-D9-wo_xr.mjs} +4 -4
- package/dist/chunks/{NcRelatedResourcesPanel-BTyqVb_E.mjs.map → NcRelatedResourcesPanel-D9-wo_xr.mjs.map} +1 -1
- package/dist/chunks/{NcRichContenteditable-BivvoSO5.mjs → NcRichContenteditable-BQNR-AeA.mjs} +13 -10
- package/dist/chunks/{NcRichContenteditable-BivvoSO5.mjs.map → NcRichContenteditable-BQNR-AeA.mjs.map} +1 -1
- package/dist/chunks/{NcRichContenteditable-BjxmdpS0.cjs → NcRichContenteditable-DsWbC4ZK.cjs} +13 -10
- package/dist/chunks/{NcRichContenteditable-BjxmdpS0.cjs.map → NcRichContenteditable-DsWbC4ZK.cjs.map} +1 -1
- package/dist/chunks/{NcRichText-Dy5By94Y.mjs → NcRichText-BfK6Ybyf.mjs} +8 -5
- package/dist/chunks/{NcRichText-Dy5By94Y.mjs.map → NcRichText-BfK6Ybyf.mjs.map} +1 -1
- package/dist/chunks/{NcRichText-DoQg3Lha.cjs → NcRichText-CSFIswpI.cjs} +8 -5
- package/dist/chunks/{NcRichText-DoQg3Lha.cjs.map → NcRichText-CSFIswpI.cjs.map} +1 -1
- package/dist/chunks/{NcSelect-Bw8EG_xU.cjs → NcSelect-CgLK3i8n.cjs} +4 -4
- package/dist/chunks/{NcSelect-Bw8EG_xU.cjs.map → NcSelect-CgLK3i8n.cjs.map} +1 -1
- package/dist/chunks/{NcSelect-QVd6uJPA.mjs → NcSelect-DTniMiUS.mjs} +4 -4
- package/dist/chunks/{NcSelect-QVd6uJPA.mjs.map → NcSelect-DTniMiUS.mjs.map} +1 -1
- package/dist/chunks/{NcSelectTags-D-22teKJ.mjs → NcSelectTags-CktuFsK3.mjs} +3 -3
- package/dist/chunks/{NcSelectTags-D-22teKJ.mjs.map → NcSelectTags-CktuFsK3.mjs.map} +1 -1
- package/dist/chunks/{NcSelectTags-aGwTgIM-.cjs → NcSelectTags-DRotL4u-.cjs} +3 -3
- package/dist/chunks/{NcSelectTags-aGwTgIM-.cjs.map → NcSelectTags-DRotL4u-.cjs.map} +1 -1
- package/dist/chunks/{NcSelectUsers-DR6-q1aK.mjs → NcSelectUsers-RyUVUaWQ.mjs} +5 -5
- package/dist/chunks/{NcSelectUsers-DR6-q1aK.mjs.map → NcSelectUsers-RyUVUaWQ.mjs.map} +1 -1
- package/dist/chunks/{NcSelectUsers-Qhrizan5.cjs → NcSelectUsers-Vy7qpE1b.cjs} +5 -5
- package/dist/chunks/{NcSelectUsers-Qhrizan5.cjs.map → NcSelectUsers-Vy7qpE1b.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-O8870Grr.cjs → NcSettingsInputText-DJ1lsJ-4.cjs} +3 -3
- package/dist/chunks/{NcSettingsInputText-O8870Grr.cjs.map → NcSettingsInputText-DJ1lsJ-4.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsInputText-Q8DDr-Yj.mjs → NcSettingsInputText-Dtr4Rn2b.mjs} +3 -3
- package/dist/chunks/{NcSettingsInputText-Q8DDr-Yj.mjs.map → NcSettingsInputText-Dtr4Rn2b.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-VxcVEF8L.mjs → NcSettingsSection-BniKad1K.mjs} +3 -3
- package/dist/chunks/{NcSettingsSection-VxcVEF8L.mjs.map → NcSettingsSection-BniKad1K.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSection-DKpzo7eI.cjs → NcSettingsSection-DGoocV82.cjs} +3 -3
- package/dist/chunks/{NcSettingsSection-DKpzo7eI.cjs.map → NcSettingsSection-DGoocV82.cjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-CZ0EjeJb.mjs → NcSettingsSelectGroup-D4_09H0F.mjs} +4 -4
- package/dist/chunks/{NcSettingsSelectGroup-CZ0EjeJb.mjs.map → NcSettingsSelectGroup-D4_09H0F.mjs.map} +1 -1
- package/dist/chunks/{NcSettingsSelectGroup-BQWwtSEb.cjs → NcSettingsSelectGroup-DRp_BpNb.cjs} +4 -4
- package/dist/chunks/{NcSettingsSelectGroup-BQWwtSEb.cjs.map → NcSettingsSelectGroup-DRp_BpNb.cjs.map} +1 -1
- package/dist/chunks/{NcTextField-CVfixgfj.mjs → NcTextField-CfZknuqx.mjs} +4 -4
- package/dist/chunks/{NcTextField-CVfixgfj.mjs.map → NcTextField-CfZknuqx.mjs.map} +1 -1
- package/dist/chunks/{NcTextField-52Fnd27A.cjs → NcTextField-YOwuZ0wq.cjs} +4 -4
- package/dist/chunks/{NcTextField-52Fnd27A.cjs.map → NcTextField-YOwuZ0wq.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-CtFsF-jG.cjs → NcTimezonePicker-CuJzNsPZ.cjs} +5 -5
- package/dist/chunks/{NcTimezonePicker-CtFsF-jG.cjs.map → NcTimezonePicker-CuJzNsPZ.cjs.map} +1 -1
- package/dist/chunks/{NcTimezonePicker-BInLNCSt.mjs → NcTimezonePicker-DgoDpdHS.mjs} +5 -5
- package/dist/chunks/{NcTimezonePicker-BInLNCSt.mjs.map → NcTimezonePicker-DgoDpdHS.mjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-ByvVV8jh.cjs → NcUserBubble-DwJgtybL.cjs} +2 -2
- package/dist/chunks/{NcUserBubble-ByvVV8jh.cjs.map → NcUserBubble-DwJgtybL.cjs.map} +1 -1
- package/dist/chunks/{NcUserBubble-sIUM-Rru.mjs → NcUserBubble-VLY4hn5K.mjs} +2 -2
- package/dist/chunks/{NcUserBubble-sIUM-Rru.mjs.map → NcUserBubble-VLY4hn5K.mjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-DZI9jlXE.mjs → NcUserStatusIcon-D_kxQky5.mjs} +3 -3
- package/dist/chunks/{NcUserStatusIcon-DZI9jlXE.mjs.map → NcUserStatusIcon-D_kxQky5.mjs.map} +1 -1
- package/dist/chunks/{NcUserStatusIcon-CYsrjxDh.cjs → NcUserStatusIcon-DaYZfl2J.cjs} +3 -3
- package/dist/chunks/{NcUserStatusIcon-CYsrjxDh.cjs.map → NcUserStatusIcon-DaYZfl2J.cjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-CNZ_b7IG.mjs → ScopeComponent-B4ZR5mwH.mjs} +2 -2
- package/dist/chunks/{ScopeComponent-CNZ_b7IG.mjs.map → ScopeComponent-B4ZR5mwH.mjs.map} +1 -1
- package/dist/chunks/{ScopeComponent-BCznIxFT.cjs → ScopeComponent-B59v3zbZ.cjs} +2 -2
- package/dist/chunks/{ScopeComponent-BCznIxFT.cjs.map → ScopeComponent-B59v3zbZ.cjs.map} +1 -1
- package/dist/chunks/{_l10n-eOBJ3Dwl.cjs → _l10n-B4clLGwo.cjs} +34 -34
- package/dist/chunks/{_l10n-eOBJ3Dwl.cjs.map → _l10n-B4clLGwo.cjs.map} +1 -1
- package/dist/chunks/{_l10n-BWisB7-O.mjs → _l10n-BmKQgz1z.mjs} +61 -61
- package/dist/chunks/_l10n-BmKQgz1z.mjs.map +1 -0
- package/dist/chunks/{colors-D3xlq-id.mjs → colors-BwQwSDJi.mjs} +2 -2
- package/dist/chunks/{colors-D3xlq-id.mjs.map → colors-BwQwSDJi.mjs.map} +1 -1
- package/dist/chunks/{colors-BsDQ1Yz3.cjs → colors-FtmuYvMf.cjs} +2 -2
- package/dist/chunks/{colors-BsDQ1Yz3.cjs.map → colors-FtmuYvMf.cjs.map} +1 -1
- package/dist/chunks/{mdi-Nhb6SBw8.cjs → mdi-CVXTs58m.cjs} +11 -1
- package/dist/chunks/{mdi-CKSXwCsV.mjs.map → mdi-CVXTs58m.cjs.map} +1 -1
- package/dist/chunks/{mdi-CKSXwCsV.mjs → mdi-C_j0YT8c.mjs} +18 -8
- package/dist/chunks/{mdi-Nhb6SBw8.cjs.map → mdi-C_j0YT8c.mjs.map} +1 -1
- package/dist/chunks/{referencePickerModal-Cl3fIc9s.mjs → referencePickerModal-CHpUHrDL.mjs} +9 -9
- package/dist/chunks/{referencePickerModal-Cl3fIc9s.mjs.map → referencePickerModal-CHpUHrDL.mjs.map} +1 -1
- package/dist/chunks/{referencePickerModal-Dz1h1EHq.cjs → referencePickerModal-CJNn-fvp.cjs} +9 -9
- package/dist/chunks/{referencePickerModal-Dz1h1EHq.cjs.map → referencePickerModal-CJNn-fvp.cjs.map} +1 -1
- package/dist/chunks/{useAppSettingsDialog-CPqmms-u.cjs → useAppSettingsDialog-BfnyikIV.cjs} +3 -1
- package/dist/chunks/useAppSettingsDialog-BfnyikIV.cjs.map +1 -0
- package/dist/chunks/{useAppSettingsDialog-Dn48dw1k.mjs → useAppSettingsDialog-DbtEkXa4.mjs} +4 -2
- package/dist/chunks/useAppSettingsDialog-DbtEkXa4.mjs.map +1 -0
- package/dist/chunks/useNcFormBox-DA9iwXWY.mjs +13 -0
- package/dist/chunks/useNcFormBox-DA9iwXWY.mjs.map +1 -0
- package/dist/chunks/useNcFormBox-DQeOEuQp.cjs +12 -0
- package/dist/chunks/useNcFormBox-DQeOEuQp.cjs.map +1 -0
- package/dist/components/NcAppSettingsDialog/useAppSettingsDialog.d.ts +2 -1
- package/dist/components/NcAppSettingsSectionShortcuts/index.d.ts +8 -1
- package/dist/components/NcAppSettingsShortcutsSection/index.d.ts +5 -0
- package/dist/components/NcFormBox/index.d.ts +1 -0
- package/dist/components/NcFormBox/useNcFormBox.d.ts +19 -0
- package/dist/components/NcFormBoxButton/index.d.ts +5 -0
- package/dist/components/NcFormBoxCopyButton/index.d.ts +5 -0
- package/dist/components/NcFormBoxCopyButton/useCopy.d.ts +10 -0
- package/dist/components/NcFormBoxSwitch/index.d.ts +5 -0
- package/dist/components/NcFormGroup/index.d.ts +5 -0
- package/dist/composables/useButtonLink.d.ts +71 -0
- package/dist/index.cjs +70 -53
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +71 -54
- package/dist/index.mjs.map +1 -1
- package/dist/utils/VueTypes.d.ts +7 -0
- package/package.json +10 -10
- package/dist/assets/NcHotkeyList-B42a0d8Z.css +0 -9
- package/dist/assets/NcRadioGroup-CNgjqqiP.css +0 -49
- package/dist/chunks/NcActions-BvFVkIzX.mjs.map +0 -1
- package/dist/chunks/NcActions-CF9VxHHD.cjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog--RlMIfbo.cjs.map +0 -1
- package/dist/chunks/NcAppSettingsDialog-8YaW7ud3.mjs.map +0 -1
- package/dist/chunks/NcAppSettingsSection-DVrBPuLD.mjs.map +0 -1
- package/dist/chunks/NcAppSettingsSection-OPWPqi2Y.cjs.map +0 -1
- package/dist/chunks/NcAppSettingsSectionShortcuts-CBYgfYGz.cjs.map +0 -1
- package/dist/chunks/NcAppSettingsSectionShortcuts-CdP-4ktS.mjs.map +0 -1
- package/dist/chunks/NcHotkeyList-CUjp1-hr.cjs.map +0 -1
- package/dist/chunks/NcHotkeyList-jfSroQAQ.mjs.map +0 -1
- package/dist/chunks/NcRadioGroup-BZ-humrK.cjs.map +0 -1
- package/dist/chunks/NcRadioGroup-VKZJ0Vnh.mjs.map +0 -1
- package/dist/chunks/NcRadioGroupButton-CD4tkF_s.mjs.map +0 -1
- package/dist/chunks/NcRadioGroupButton-DrqgN-8C.cjs.map +0 -1
- package/dist/chunks/_l10n-BWisB7-O.mjs.map +0 -1
- package/dist/chunks/useAppSettingsDialog-CPqmms-u.cjs.map +0 -1
- package/dist/chunks/useAppSettingsDialog-Dn48dw1k.mjs.map +0 -1
- /package/dist/assets/{NcAppSettingsSectionShortcuts-BuI-s4kd.css → NcAppSettingsShortcutsSection-BuI-s4kd.css} +0 -0
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import '../assets/NcFormBoxButton-C6EvdLK4.css';
|
|
2
|
+
import { reactive, getCurrentInstance, computed, defineComponent } from "vue";
|
|
3
|
+
import { k as mdiOpenInNew, l as mdiArrowTopRight } from "./mdi-C_j0YT8c.mjs";
|
|
4
|
+
import { toRef } from "@vueuse/core";
|
|
5
|
+
import { N as NcFormBoxItem } from "./NcFormBoxItem-DPBm3ZbJ.mjs";
|
|
6
|
+
import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-BreCg8pX.mjs";
|
|
7
|
+
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
8
|
+
/*!
|
|
9
|
+
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
|
10
|
+
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
11
|
+
*/
|
|
12
|
+
function useButtonLink(options) {
|
|
13
|
+
const props = reactive(options);
|
|
14
|
+
const instance = getCurrentInstance();
|
|
15
|
+
const hasVueRouterContext = "$router" in instance.proxy.$root;
|
|
16
|
+
const tag = computed(() => {
|
|
17
|
+
if (hasVueRouterContext && props.to) {
|
|
18
|
+
return "RouterLink";
|
|
19
|
+
} else if (props.href) {
|
|
20
|
+
return "a";
|
|
21
|
+
} else {
|
|
22
|
+
return "button";
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
const isLink = computed(() => tag.value === "RouterLink" || tag.value === "a");
|
|
26
|
+
const isHyperLink = computed(() => tag.value === "a");
|
|
27
|
+
const isRouterLink = computed(() => tag.value === "RouterLink");
|
|
28
|
+
const isButton = computed(() => tag.value === "button");
|
|
29
|
+
const attrs = computed(() => {
|
|
30
|
+
if (tag.value === "RouterLink") {
|
|
31
|
+
return {
|
|
32
|
+
to: props.to,
|
|
33
|
+
activeClass: "active",
|
|
34
|
+
...props.additionalAttrs?.("RouterLink") ?? {}
|
|
35
|
+
};
|
|
36
|
+
} else if (tag.value === "a") {
|
|
37
|
+
return {
|
|
38
|
+
href: props.href,
|
|
39
|
+
target: props.target,
|
|
40
|
+
download: props.download || void 0,
|
|
41
|
+
rel: "nofollow noreferrer noopener",
|
|
42
|
+
...props.additionalAttrs?.("a") ?? {}
|
|
43
|
+
};
|
|
44
|
+
} else if (tag.value === "button") {
|
|
45
|
+
return {
|
|
46
|
+
type: props.type || "button",
|
|
47
|
+
disabled: props.disabled,
|
|
48
|
+
...props.additionalAttrs?.("button") ?? {}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
tag,
|
|
54
|
+
isLink,
|
|
55
|
+
isHyperLink,
|
|
56
|
+
isRouterLink,
|
|
57
|
+
isButton,
|
|
58
|
+
attrs
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
62
|
+
__name: "NcFormBoxButton",
|
|
63
|
+
props: {
|
|
64
|
+
label: { default: void 0 },
|
|
65
|
+
description: { default: void 0 },
|
|
66
|
+
invertedAccent: { type: Boolean, default: false },
|
|
67
|
+
to: { default: void 0 },
|
|
68
|
+
href: { default: void 0 },
|
|
69
|
+
target: { default: void 0 },
|
|
70
|
+
disabled: { type: Boolean, default: false }
|
|
71
|
+
},
|
|
72
|
+
emits: ["click"],
|
|
73
|
+
setup(__props) {
|
|
74
|
+
const props = __props;
|
|
75
|
+
const { tag, attrs, isLink } = useButtonLink({
|
|
76
|
+
to: toRef(() => props.to),
|
|
77
|
+
href: toRef(() => props.href),
|
|
78
|
+
target: toRef(() => props.target),
|
|
79
|
+
disabled: toRef(() => props.disabled)
|
|
80
|
+
});
|
|
81
|
+
const icon = computed(() => {
|
|
82
|
+
if (isLink.value) {
|
|
83
|
+
return props.target === "_blank" ? mdiOpenInNew : mdiArrowTopRight;
|
|
84
|
+
}
|
|
85
|
+
return void 0;
|
|
86
|
+
});
|
|
87
|
+
return { __sfc: true, props, tag, attrs, isLink, icon, NcFormBoxItem, NcIconSvgWrapper };
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
const formBoxButton = "_formBoxButton_15jyc_20";
|
|
91
|
+
const style0 = {
|
|
92
|
+
"material-design-icon": "_material-design-icon_15jyc_12",
|
|
93
|
+
formBoxButton
|
|
94
|
+
};
|
|
95
|
+
var _sfc_render = function render() {
|
|
96
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
97
|
+
return _c(_setup.NcFormBoxItem, _vm._b({ attrs: { "tag": _setup.tag, "item-classes": [
|
|
98
|
+
"button-vue",
|
|
99
|
+
/* Reset server's global HTML button styles */
|
|
100
|
+
_vm.$style.formBoxButton
|
|
101
|
+
], "inverted-accent": _vm.invertedAccent, "tabindex": "0" }, on: { "click": function($event) {
|
|
102
|
+
return _vm.$emit("click", $event);
|
|
103
|
+
} }, scopedSlots: _vm._u([_vm.$scopedSlots.default || _vm.label ? { key: "default", fn: function() {
|
|
104
|
+
return [_vm._t("default", function() {
|
|
105
|
+
return [_vm._v(" " + _vm._s(_vm.label) + " ")];
|
|
106
|
+
})];
|
|
107
|
+
}, proxy: true } : null, _vm.$scopedSlots.description || _vm.description ? { key: "description", fn: function() {
|
|
108
|
+
return [_vm._t("description", function() {
|
|
109
|
+
return [_vm._v(" " + _vm._s(_vm.description) + " ")];
|
|
110
|
+
})];
|
|
111
|
+
}, proxy: true } : null, _vm.$scopedSlots.icon || _setup.icon ? { key: "icon", fn: function() {
|
|
112
|
+
return [_vm._t("icon", function() {
|
|
113
|
+
return [_setup.icon ? _c(_setup.NcIconSvgWrapper, { attrs: { "path": _setup.icon, "inline": "" } }) : _vm._e()];
|
|
114
|
+
})];
|
|
115
|
+
}, proxy: true } : null], null, true) }, "NcFormBoxItem", _setup.attrs, false));
|
|
116
|
+
};
|
|
117
|
+
var _sfc_staticRenderFns = [];
|
|
118
|
+
const __cssModules = {
|
|
119
|
+
"$style": style0
|
|
120
|
+
};
|
|
121
|
+
function _sfc_injectStyles(ctx) {
|
|
122
|
+
for (var key in __cssModules) {
|
|
123
|
+
this[key] = __cssModules[key];
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
127
|
+
_sfc_main,
|
|
128
|
+
_sfc_render,
|
|
129
|
+
_sfc_staticRenderFns,
|
|
130
|
+
false,
|
|
131
|
+
_sfc_injectStyles,
|
|
132
|
+
null
|
|
133
|
+
);
|
|
134
|
+
const NcFormBoxButton = __component__.exports;
|
|
135
|
+
export {
|
|
136
|
+
NcFormBoxButton as N
|
|
137
|
+
};
|
|
138
|
+
//# sourceMappingURL=NcFormBoxButton-DN0-J4yN.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcFormBoxButton-DN0-J4yN.mjs","sources":["../../src/composables/useButtonLink.ts","../../src/components/NcFormBoxButton/NcFormBoxButton.vue"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRef } from '@vueuse/core'\nimport type { AnchorHTMLAttributes, ButtonHTMLAttributes } from 'vue'\nimport type { RawLocation } from 'vue-router'\n\nimport { computed, getCurrentInstance, reactive } from 'vue'\n\ntype ButtonLinkProps = {\n\t// Required - general link props\n\n\t/**\n\t * RouterLink's to props and a trigger to use RouterLink.\n\t * Note: This takes precedence over the href attribute.\n\t */\n\tto: MaybeRef<RawLocation | undefined>\n\t/**\n\t * HyperLink href attribute and a trigger to use <a> hyperlink.\n\t */\n\thref: MaybeRef<string | undefined>\n\t/**\n\t * Define additional attributes, based on the tag\n\t */\n\tadditionalAttrs?: (tag: 'RouterLink' | 'a' | 'button') => object | undefined\n\n\t// RouterLink props\n\n\t/**\n\t * RouterLink's activeClass prop\n\t */\n\tactiveClass?: MaybeRef<string | undefined>\n\n\t// Hyperlink\n\n\t/**\n\t * <a> hyperlink's target attribute\n\t */\n\ttarget?: MaybeRef<AnchorHTMLAttributes['target'] | undefined>\n\t/**\n\t * <a> hyperlink's download attribute\n\t */\n\tdownload?: MaybeRef<string | boolean | undefined>\n\n\t// Button\n\n\t/**\n\t * <button> element's type attribute, but default to \"button\" instead of \"submit\"\n\t */\n\ttype?: MaybeRef<ButtonHTMLAttributes['type'] | undefined>\n\t/**\n\t * <button> element's disabled attribute\n\t */\n\tdisabled?: MaybeRef<boolean | undefined>\n}\n\n/**\n * Reusable implementation of an interactive button-like element that can be a link or a button\n *\n * @param options - Props to determine the button/link behavior. Can be a reactive object, or an object with nested refs, or mixed.\n */\nexport function useButtonLink(options: ButtonLinkProps) {\n\t// Resolve all MaybeRef-s values and maybe reactive object via unwrapping\n\tconst props = reactive(options)\n\n\tconst instance = getCurrentInstance()!\n\tconst hasVueRouterContext = '$router' in instance.proxy.$root\n\n\t/**\n\t * Tag name to be used\n\t */\n\tconst tag = computed(() => {\n\t\t// TODO: should we warn if props.to is provided but there is no vue-router?\n\t\tif (hasVueRouterContext && props.to) {\n\t\t\t// Note: RouterLink is used as globally registered component (by name) and not imported intentionally\n\t\t\t// to use injected component from the app and not bundle it to the button\n\t\t\treturn 'RouterLink'\n\t\t} else if (props.href) {\n\t\t\treturn 'a'\n\t\t} else {\n\t\t\treturn 'button'\n\t\t}\n\t})\n\n\tconst isLink = computed(() => tag.value === 'RouterLink' || tag.value === 'a')\n\tconst isHyperLink = computed(() => tag.value === 'a')\n\tconst isRouterLink = computed(() => tag.value === 'RouterLink')\n\tconst isButton = computed(() => tag.value === 'button')\n\n\tconst attrs = computed(() => {\n\t\tif (tag.value === 'RouterLink') {\n\t\t\treturn {\n\t\t\t\tto: props.to,\n\t\t\t\tactiveClass: 'active',\n\t\t\t\t...(props.additionalAttrs?.('RouterLink') ?? {}),\n\t\t\t}\n\t\t} else if (tag.value === 'a') {\n\t\t\treturn {\n\t\t\t\thref: props.href,\n\t\t\t\ttarget: props.target,\n\t\t\t\tdownload: props.download || undefined,\n\t\t\t\trel: 'nofollow noreferrer noopener',\n\t\t\t\t...(props.additionalAttrs?.('a') ?? {}),\n\t\t\t}\n\t\t} else if (tag.value === 'button') {\n\t\t\treturn {\n\t\t\t\ttype: props.type || 'button',\n\t\t\t\tdisabled: props.disabled,\n\t\t\t\t...(props.additionalAttrs?.('button') ?? {}),\n\t\t\t}\n\t\t}\n\t})\n\n\treturn {\n\t\ttag,\n\t\tisLink,\n\t\tisHyperLink,\n\t\tisRouterLink,\n\t\tisButton,\n\t\tattrs,\n\t}\n}\n","<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport type { AnchorHTMLAttributes } from 'vue'\nimport type { RawLocation } from 'vue-router'\n\nimport { mdiArrowTopRight, mdiOpenInNew } from '@mdi/js'\nimport { toRef } from '@vueuse/core'\nimport { computed } from 'vue'\nimport NcFormBoxItem from '../NcFormBox/NcFormBoxItem.vue'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport { useButtonLink } from '../../composables/useButtonLink.ts'\n\nconst props = withDefaults(defineProps<{\n\t/** Main label */\n\tlabel?: string\n\t/** Optional description below the label, also used for the aria-describedby */\n\tdescription?: string\n\t/** Accent on the description instead of the label (see docs) */\n\tinvertedAccent?: boolean\n\t/** RouterLink's `to` prop; when provided, renders as `<RouterLink>` (takes precedence over the `href` prop) */\n\tto?: RawLocation\n\t/** Hyperlink `href` attribute; when provided, renders as `<a>` */\n\thref?: string\n\t/** Hyperlink's target attribute */\n\ttarget?: AnchorHTMLAttributes['target']\n\t/** Button's disabled attribute, not applicable to links */\n\tdisabled?: boolean\n}>(), {\n\tlabel: undefined,\n\tdescription: undefined,\n\tinvertedAccent: false,\n\tto: undefined,\n\thref: undefined,\n\ttarget: undefined, // TODO: should it be _blank by default?\n\tdisabled: false,\n})\n\ndefineEmits<{\n\t/** Native click event */\n\t(e: 'click', event: MouseEvent): void\n}>()\n\nconst { tag, attrs, isLink } = useButtonLink({\n\tto: toRef(() => props.to),\n\thref: toRef(() => props.href),\n\ttarget: toRef(() => props.target),\n\tdisabled: toRef(() => props.disabled),\n})\n\nconst icon = computed(() => {\n\tif (isLink.value) {\n\t\treturn props.target === '_blank' ? mdiOpenInNew : mdiArrowTopRight\n\t}\n\treturn undefined\n})\n</script>\n\n<template>\n\t<NcFormBoxItem\n\t\t:tag=\"tag\"\n\t\t:item-classes=\"[\n\t\t\t'button-vue', /* Reset server's global HTML button styles */\n\t\t\t$style.formBoxButton,\n\t\t]\"\n\t\t:inverted-accent=\"invertedAccent\"\n\t\tv-bind=\"attrs\"\n\t\ttabindex=\"0\"\n\t\t@click=\"$emit('click', $event)\">\n\t\t<template v-if=\"$scopedSlots.default || label\" #default>\n\t\t\t<!-- @slot Custom label content -->\n\t\t\t<slot>\n\t\t\t\t{{ label }}\n\t\t\t</slot>\n\t\t</template>\n\t\t<template v-if=\"$scopedSlots.description || description\" #description>\n\t\t\t<!-- @slot Custom description content -->\n\t\t\t<slot name=\"description\">\n\t\t\t\t{{ description }}\n\t\t\t</slot>\n\t\t</template>\n\t\t<template v-if=\"$scopedSlots.icon || icon\" #icon>\n\t\t\t<!-- @slot Required icon (links have a default icon) -->\n\t\t\t<slot name=\"icon\">\n\t\t\t\t<NcIconSvgWrapper v-if=\"icon\" :path=\"icon\" inline />\n\t\t\t</slot>\n\t\t</template>\n\t</NcFormBoxItem>\n</template>\n\n<style lang=\"scss\" module>\n.formBoxButton {\n\t/* Reset default HTML button styles */\n\tbackground: unset;\n\tborder: none;\n\tcolor: inherit;\n\tfont-size: inherit;\n\tfont-weight: inherit;\n\ttext-decoration: none;\n\ttext-align: inherit;\n\tline-height: inherit;\n\tpadding: 0;\n\tmargin: 0;\n\toutline: none;\n}\n</style>\n\n<docs>\n### General\n\nAn interactive button-like item within `<NcFormBox>`. It can be a button or a native link/router link if `to` or `href` props are provided.\n\nLike other form box items, it has a label and an optional description.\n\n```vue\n<script>\nimport { mdiContentCopy, mdiInformationOutline } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmdiContentCopy,\n\t\t\tmdiInformationOutline,\n\t\t}\n\t},\n}\n</script>\n\n<template>\n\t<NcFormBox>\n\t\t<NcFormBoxButton\n\t\t\tlabel=\"Nextcloud\"\n\t\t\thref=\"https://nextcloud.com\"\n\t\t\ttarget=\"_blank\" />\n\n\t\t<NcFormBoxButton\n\t\t\thref=\"https://nextcloud-vue-components.netlify.app\">\n\t\t\t<code>@nextcloud/vue</code> documentation\n\t\t</NcFormBoxButton>\n\n\t\t<NcFormBoxButton\n\t\t\tlabel=\"About\"\n\t\t\tdescription=\"Installation details\"\n\t\t\thref=\"https://nextcloud.com\"\n\t\t\ttarget=\"_blank\">\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiInformationOutline\" inline />\n\t\t\t</template>\n\t\t</NcFormBoxButton>\n\n\t\t<NcFormBoxButton\n\t\t\tlabel=\"Public signing key\">\n\t\t\t<template #description>\n\t\t\t\t<code>SSBkb24ndCBrbm93IHdoeSB5b3UgZGVjb2RlZCB0aGlzIHZhbHVlDQrgvLwg44GkIOKXlV/il5Ug4Ly944Gk</code>\n\t\t\t</template>\n\t\t\t<template #icon>\n\t\t\t\t<NcIconSvgWrapper :path=\"mdiContentCopy\" inline />\n\t\t\t</template>\n\t\t</NcFormBoxButton>\n\t</NcFormBox>\n</template>\n```\n\n### Inverted accent\n\nSometimes the description is more important than the label. In such cases use `inverted-accent` prop.\n\nFor example:\n- **Steps:** the description of the step is more important than the step number\n- **Copy button:** the value being copied is more important than the value label\n- **Folder picker:** the selected folder path is more important than the input label\n\n```vue\n<script>\nimport { mdiContentCopy, mdiDomain, mdiFolderOpenOutline } from '@mdi/js'\n\nexport default {\n\tsetup() {\n\t\treturn { mdiContentCopy, mdiDomain, mdiFolderOpenOutline }\n\t},\n}\n</script>\n\n<template>\n\t<div style=\"display: flex; flex-direction: column; gap: calc(4 * var(--default-grid-baseline));\">\n\t\t<NcFormGroup label=\"Mailvelope\" description=\"A browser extension that enables easy OpenPGP encryption and decryption of emails\">\n\t\t\t<NcFormBox>\n\t\t\t\t<NcFormBoxButton\n\t\t\t\t\tlabel=\"Step 1\"\n\t\t\t\t\tdescription=\"Install the browser extension\"\n\t\t\t\t\thref=\"https://www.mailvelope.com/\"\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\tinverted-accent />\n\t\t\t\t<NcFormBoxButton\n\t\t\t\t\tlabel=\"Step 2\"\n\t\t\t\t\tdescription=\"Enable the current domain\"\n\t\t\t\t\tinverted-accent>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiDomain\" inline />\n\t\t\t\t\t</template>\n\t\t\t\t</NcFormBoxButton>\n\t\t\t</NcFormBox>\n\t\t</NcFormGroup>\n\n\t\t<NcFormGroup label=\"CalDAV\" description=\"Access Nextcloud calendars from other apps and devices\">\n\t\t\t<NcFormBox>\n\t\t\t\t<NcFormBoxButton\n\t\t\t\t\tlabel=\"CalDAV URL\"\n\t\t\t\t\tdescription=\"https://cloud.example.com/remote.php/dav/\"\n\t\t\t\t\tinverted-accent>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiContentCopy\" inline />\n\t\t\t\t\t</template>\n\t\t\t\t</NcFormBoxButton>\n\t\t\t\t<NcFormBoxButton\n\t\t\t\t\tlabel=\"Server Address for iOS and macOS\"\n\t\t\t\t\tdescription=\"https://cloud.example.com/remote.php/dav/principals/users/user/\"\n\t\t\t\t\tinverted-accent>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiContentCopy\" inline />\n\t\t\t\t\t</template>\n\t\t\t\t</NcFormBoxButton>\n\t\t\t</NcFormBox>\n\t\t</NcFormGroup>\n\n\t\t<NcFormGroup label=\"Files\">\n\t\t\t<NcFormBox>\n\t\t\t\t<NcFormBoxButton\n\t\t\t\t\tlabel=\"Attachments folder\"\n\t\t\t\t\tdescription=\"/Talk\"\n\t\t\t\t\tinverted-accent>\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<NcIconSvgWrapper :path=\"mdiFolderOpenOutline\" inline />\n\t\t\t\t\t</template>\n\t\t\t\t</NcFormBoxButton>\n\t\t\t</NcFormBox>\n\t\t</NcFormGroup>\n\t</div>\n</template>\n```\n\n### Requirements\n\n- Label is required (`label` prop or the default slot)\n- Icon is required unless there is a default icon (links)\n\n```vue\n<template>\n\t<NcFormBox>\n\t\t<NcFormBoxButton description=\"No label example\">\n\t\t\t<template #icon>\n\t\t\t\t✅\n\t\t\t</template>\n\t\t</NcFormBoxButton>\n\t\t<NcFormBoxButton label=\"No icon example\"/>\n\t\t<NcFormBoxButton\n\t\t\tlabel=\"No icon link example\"\n\t\t\tdescription=\"Links have a default icon\"\n\t\t\thref=\"https://nextcloud.com\"\n\t\t\ttarget=\"_blank\" />\n\t</NcFormBox>\n</template>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;AAAA;AAAA;AAAA;AAAA;AA+DO,SAAS,cAAc,SAA0B;AAEvD,QAAM,QAAQ,SAAS,OAAO;AAE9B,QAAM,WAAW,mBAAA;AACjB,QAAM,sBAAsB,aAAa,SAAS,MAAM;AAKxD,QAAM,MAAM,SAAS,MAAM;AAE1B,QAAI,uBAAuB,MAAM,IAAI;AAGpC,aAAO;AAAA,IACR,WAAW,MAAM,MAAM;AACtB,aAAO;AAAA,IACR,OAAO;AACN,aAAO;AAAA,IACR;AAAA,EACD,CAAC;AAED,QAAM,SAAS,SAAS,MAAM,IAAI,UAAU,gBAAgB,IAAI,UAAU,GAAG;AAC7E,QAAM,cAAc,SAAS,MAAM,IAAI,UAAU,GAAG;AACpD,QAAM,eAAe,SAAS,MAAM,IAAI,UAAU,YAAY;AAC9D,QAAM,WAAW,SAAS,MAAM,IAAI,UAAU,QAAQ;AAEtD,QAAM,QAAQ,SAAS,MAAM;AAC5B,QAAI,IAAI,UAAU,cAAc;AAC/B,aAAO;AAAA,QACN,IAAI,MAAM;AAAA,QACV,aAAa;AAAA,QACb,GAAI,MAAM,kBAAkB,YAAY,KAAK,CAAA;AAAA,MAAC;AAAA,IAEhD,WAAW,IAAI,UAAU,KAAK;AAC7B,aAAO;AAAA,QACN,MAAM,MAAM;AAAA,QACZ,QAAQ,MAAM;AAAA,QACd,UAAU,MAAM,YAAY;AAAA,QAC5B,KAAK;AAAA,QACL,GAAI,MAAM,kBAAkB,GAAG,KAAK,CAAA;AAAA,MAAC;AAAA,IAEvC,WAAW,IAAI,UAAU,UAAU;AAClC,aAAO;AAAA,QACN,MAAM,MAAM,QAAQ;AAAA,QACpB,UAAU,MAAM;AAAA,QAChB,GAAI,MAAM,kBAAkB,QAAQ,KAAK,CAAA;AAAA,MAAC;AAAA,IAE5C;AAAA,EACD,CAAC;AAED,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF;;;;;;;;;;;;;;;AC7EA,UAAM,EAAE,KAAK,OAAO,OAAA,IAAW,cAAc;AAAA,MAC5C,IAAI,MAAM,MAAM,MAAM,EAAE;AAAA,MACxB,MAAM,MAAM,MAAM,MAAM,IAAI;AAAA,MAC5B,QAAQ,MAAM,MAAM,MAAM,MAAM;AAAA,MAChC,UAAU,MAAM,MAAM,MAAM,QAAQ;AAAA,IAAA,CACpC;AAED,UAAM,OAAO,SAAS,MAAM;AAC3B,UAAI,OAAO,OAAO;AACjB,eAAO,MAAM,WAAW,WAAW,eAAe;AAAA,MACnD;AACA,aAAO;AAAA,IACR,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const Vue = require("vue");
|
|
3
|
+
const mdi = require("./mdi-CVXTs58m.cjs");
|
|
4
|
+
const core = require("@vueuse/core");
|
|
5
|
+
const NcFormBoxButton = require("./NcFormBoxButton-D-s5mL0c.cjs");
|
|
6
|
+
const NcIconSvgWrapper = require("./NcIconSvgWrapper-D-aKMbf3.cjs");
|
|
7
|
+
const _l10n = require("./_l10n-B4clLGwo.cjs");
|
|
8
|
+
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
9
|
+
_l10n.register();
|
|
10
|
+
/*!
|
|
11
|
+
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
|
12
|
+
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
13
|
+
*/
|
|
14
|
+
const DELAY = 2e3;
|
|
15
|
+
function useCopy(content) {
|
|
16
|
+
const isCopied = Vue.ref(false);
|
|
17
|
+
async function copy() {
|
|
18
|
+
if (isCopied.value) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const value = core.toValue(content);
|
|
22
|
+
try {
|
|
23
|
+
await navigator.clipboard.writeText(value);
|
|
24
|
+
} catch {
|
|
25
|
+
prompt("", value);
|
|
26
|
+
}
|
|
27
|
+
isCopied.value = true;
|
|
28
|
+
setTimeout(() => {
|
|
29
|
+
isCopied.value = false;
|
|
30
|
+
}, DELAY);
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
isCopied,
|
|
34
|
+
copy
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
38
|
+
__name: "NcFormBoxCopyButton",
|
|
39
|
+
props: {
|
|
40
|
+
label: { default: void 0 },
|
|
41
|
+
value: null,
|
|
42
|
+
disabled: { type: Boolean, default: false }
|
|
43
|
+
},
|
|
44
|
+
emits: ["copy"],
|
|
45
|
+
setup(__props, { emit }) {
|
|
46
|
+
const props = __props;
|
|
47
|
+
const { isCopied, copy } = useCopy(() => props.value);
|
|
48
|
+
const icon = Vue.computed(() => isCopied.value ? mdi.mdiCheck : mdi.mdiContentCopy);
|
|
49
|
+
core.whenever(isCopied, () => emit("copy"));
|
|
50
|
+
return { __sfc: true, props, emit, isCopied, copy, icon, NcFormBoxButton: NcFormBoxButton.NcFormBoxButton, NcIconSvgWrapper: NcIconSvgWrapper.NcIconSvgWrapper, t: _l10n.t };
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
var _sfc_render = function render() {
|
|
54
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
55
|
+
return _c(_setup.NcFormBoxButton, { attrs: { "disabled": _vm.disabled, "inverted-accent": "" }, on: { "click": _setup.copy }, scopedSlots: _vm._u([_vm.$slots.default || _vm.label ? { key: "default", fn: function() {
|
|
56
|
+
return [_c("span", { staticClass: "hidden-visually" }, [_vm._v(" " + _vm._s(_setup.isCopied ? _setup.t("Copied") : _setup.t("Copy to clipboard")) + " ")]), _vm._t("default", function() {
|
|
57
|
+
return [_vm._v(" " + _vm._s(_vm.label) + " ")];
|
|
58
|
+
})];
|
|
59
|
+
}, proxy: true } : null, { key: "description", fn: function() {
|
|
60
|
+
return [_vm._v(" " + _vm._s(_vm.value) + " ")];
|
|
61
|
+
}, proxy: true }, { key: "icon", fn: function() {
|
|
62
|
+
return [_c(_setup.NcIconSvgWrapper, { attrs: { "path": _setup.icon, "inline": "" } })];
|
|
63
|
+
}, proxy: true }], null, true) });
|
|
64
|
+
};
|
|
65
|
+
var _sfc_staticRenderFns = [];
|
|
66
|
+
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
67
|
+
_sfc_main,
|
|
68
|
+
_sfc_render,
|
|
69
|
+
_sfc_staticRenderFns,
|
|
70
|
+
false,
|
|
71
|
+
null,
|
|
72
|
+
null
|
|
73
|
+
);
|
|
74
|
+
const NcFormBoxCopyButton = __component__.exports;
|
|
75
|
+
exports.NcFormBoxCopyButton = NcFormBoxCopyButton;
|
|
76
|
+
//# sourceMappingURL=NcFormBoxCopyButton-CTHelPkb.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcFormBoxCopyButton-CTHelPkb.cjs","sources":["../../src/components/NcFormBoxCopyButton/useCopy.ts","../../src/components/NcFormBoxCopyButton/NcFormBoxCopyButton.vue"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRefOrGetter } from '@vueuse/core'\n\nimport { toValue } from '@vueuse/core'\nimport { ref } from 'vue'\n\nconst DELAY = 2000\n\n/**\n * Copy content to clipboard with copied state\n *\n * @param content - Content to copy\n */\nexport function useCopy(content: MaybeRefOrGetter<string>) {\n\tconst isCopied = ref(false)\n\n\t/**\n\t * Copy the content to clipboard\n\t */\n\tasync function copy() {\n\t\tif (isCopied.value) {\n\t\t\treturn\n\t\t}\n\n\t\tconst value = toValue(content)\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(value)\n\t\t} catch {\n\t\t\t// Fallback for a case when clipboard API is not available or permission denied\n\t\t\tprompt('', value)\n\t\t}\n\n\t\tisCopied.value = true\n\t\tsetTimeout(() => {\n\t\t\tisCopied.value = false\n\t\t}, DELAY)\n\t}\n\n\treturn {\n\t\tisCopied,\n\t\tcopy,\n\t}\n}\n","<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport { mdiCheck, mdiContentCopy } from '@mdi/js'\nimport { whenever } from '@vueuse/core'\nimport { computed } from 'vue'\nimport NcFormBoxButton from '../NcFormBoxButton/NcFormBoxButton.vue'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport { t } from '../../l10n.js'\nimport { useCopy } from './useCopy.ts'\n\nconst props = withDefaults(defineProps<{\n\t/** Copied value's value */\n\tlabel?: string\n\t/** The value to be copied */\n\tvalue: string\n\t/** Native disabled attribute */\n\tdisabled?: boolean\n}>(), {\n\tlabel: undefined,\n\tdisabled: false,\n})\n\nconst emit = defineEmits<{\n\t/** Value has been successfully copied */\n\t(event: 'copy'): void\n}>()\n\nconst { isCopied, copy } = useCopy(() => props.value)\n\nconst icon = computed(() => isCopied.value ? mdiCheck : mdiContentCopy)\n\nwhenever(isCopied, () => emit('copy'))\n</script>\n\n<template>\n\t<NcFormBoxButton\n\t\t:disabled=\"disabled\"\n\t\tinverted-accent\n\t\t@click=\"copy\">\n\t\t<template v-if=\"$slots.default || label\" #default>\n\t\t\t<!-- @slot Custom label content -->\n\t\t\t<span class=\"hidden-visually\">\n\t\t\t\t{{ isCopied ? t('Copied') : t('Copy to clipboard') }}\n\t\t\t</span>\n\t\t\t<slot>\n\t\t\t\t{{ label }}\n\t\t\t</slot>\n\t\t</template>\n\t\t<template #description>\n\t\t\t{{ value }}\n\t\t</template>\n\t\t<template #icon>\n\t\t\t<NcIconSvgWrapper :path=\"icon\" inline />\n\t\t</template>\n\t</NcFormBoxButton>\n</template>\n\n<docs>\n### General\n\n`NcFormBoxButton` set up to be a copy button.\n\n```vue\n<template>\n\t<NcFormGroup label=\"CalDAV\" description=\"Access Nextcloud calendars from other apps and devices\">\n\t\t<NcFormBox>\n\t\t\t<NcFormBoxCopyButton\n\t\t\t\tlabel=\"CalDAV URL\"\n\t\t\t\tvalue=\"https://cloud.example.com/remote.php/dav/\" />\n\t\t\t<NcFormBoxCopyButton\n\t\t\t\tlabel=\"Server Address for iOS and macOS\"\n\t\t\t\tvalue=\"https://cloud.example.com/remote.php/dav/principals/users/user/\" />\n\t\t</NcFormBox>\n\t</NcFormGroup>\n</template>\n```\n</docs>\n"],"names":["ref","toValue","computed","mdiCheck","mdiContentCopy","whenever"],"mappings":";;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAUA,MAAM,QAAQ;AAOP,SAAS,QAAQ,SAAmC;AAC1D,QAAM,WAAWA,IAAAA,IAAI,KAAK;AAK1B,iBAAe,OAAO;AACrB,QAAI,SAAS,OAAO;AACnB;AAAA,IACD;AAEA,UAAM,QAAQC,KAAAA,QAAQ,OAAO;AAC7B,QAAI;AACH,YAAM,UAAU,UAAU,UAAU,KAAK;AAAA,IAC1C,QAAQ;AAEP,aAAO,IAAI,KAAK;AAAA,IACjB;AAEA,aAAS,QAAQ;AACjB,eAAW,MAAM;AAChB,eAAS,QAAQ;AAAA,IAClB,GAAG,KAAK;AAAA,EACT;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EAAA;AAEF;;;;;;;;;;;ACfA,UAAM,EAAE,UAAU,KAAA,IAAS,QAAQ,MAAM,MAAM,KAAK;AAEpD,UAAM,OAAOC,IAAAA,SAAS,MAAM,SAAS,QAAQC,IAAAA,WAAWC,kBAAc;AAEtEC,SAAAA,SAAS,UAAU,MAAM,KAAK,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ref, defineComponent, computed } from "vue";
|
|
2
|
+
import { a as mdiCheck, j as mdiContentCopy } from "./mdi-C_j0YT8c.mjs";
|
|
3
|
+
import { toValue, whenever } from "@vueuse/core";
|
|
4
|
+
import { N as NcFormBoxButton } from "./NcFormBoxButton-DN0-J4yN.mjs";
|
|
5
|
+
import { N as NcIconSvgWrapper } from "./NcIconSvgWrapper-BreCg8pX.mjs";
|
|
6
|
+
import { r as register, a as t } from "./_l10n-BmKQgz1z.mjs";
|
|
7
|
+
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
8
|
+
register();
|
|
9
|
+
/*!
|
|
10
|
+
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
|
11
|
+
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
12
|
+
*/
|
|
13
|
+
const DELAY = 2e3;
|
|
14
|
+
function useCopy(content) {
|
|
15
|
+
const isCopied = ref(false);
|
|
16
|
+
async function copy() {
|
|
17
|
+
if (isCopied.value) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const value = toValue(content);
|
|
21
|
+
try {
|
|
22
|
+
await navigator.clipboard.writeText(value);
|
|
23
|
+
} catch {
|
|
24
|
+
prompt("", value);
|
|
25
|
+
}
|
|
26
|
+
isCopied.value = true;
|
|
27
|
+
setTimeout(() => {
|
|
28
|
+
isCopied.value = false;
|
|
29
|
+
}, DELAY);
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
isCopied,
|
|
33
|
+
copy
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
37
|
+
__name: "NcFormBoxCopyButton",
|
|
38
|
+
props: {
|
|
39
|
+
label: { default: void 0 },
|
|
40
|
+
value: null,
|
|
41
|
+
disabled: { type: Boolean, default: false }
|
|
42
|
+
},
|
|
43
|
+
emits: ["copy"],
|
|
44
|
+
setup(__props, { emit }) {
|
|
45
|
+
const props = __props;
|
|
46
|
+
const { isCopied, copy } = useCopy(() => props.value);
|
|
47
|
+
const icon = computed(() => isCopied.value ? mdiCheck : mdiContentCopy);
|
|
48
|
+
whenever(isCopied, () => emit("copy"));
|
|
49
|
+
return { __sfc: true, props, emit, isCopied, copy, icon, NcFormBoxButton, NcIconSvgWrapper, t };
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
var _sfc_render = function render() {
|
|
53
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
54
|
+
return _c(_setup.NcFormBoxButton, { attrs: { "disabled": _vm.disabled, "inverted-accent": "" }, on: { "click": _setup.copy }, scopedSlots: _vm._u([_vm.$slots.default || _vm.label ? { key: "default", fn: function() {
|
|
55
|
+
return [_c("span", { staticClass: "hidden-visually" }, [_vm._v(" " + _vm._s(_setup.isCopied ? _setup.t("Copied") : _setup.t("Copy to clipboard")) + " ")]), _vm._t("default", function() {
|
|
56
|
+
return [_vm._v(" " + _vm._s(_vm.label) + " ")];
|
|
57
|
+
})];
|
|
58
|
+
}, proxy: true } : null, { key: "description", fn: function() {
|
|
59
|
+
return [_vm._v(" " + _vm._s(_vm.value) + " ")];
|
|
60
|
+
}, proxy: true }, { key: "icon", fn: function() {
|
|
61
|
+
return [_c(_setup.NcIconSvgWrapper, { attrs: { "path": _setup.icon, "inline": "" } })];
|
|
62
|
+
}, proxy: true }], null, true) });
|
|
63
|
+
};
|
|
64
|
+
var _sfc_staticRenderFns = [];
|
|
65
|
+
var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
66
|
+
_sfc_main,
|
|
67
|
+
_sfc_render,
|
|
68
|
+
_sfc_staticRenderFns,
|
|
69
|
+
false,
|
|
70
|
+
null,
|
|
71
|
+
null
|
|
72
|
+
);
|
|
73
|
+
const NcFormBoxCopyButton = __component__.exports;
|
|
74
|
+
export {
|
|
75
|
+
NcFormBoxCopyButton as N
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=NcFormBoxCopyButton-Dwrfiovz.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcFormBoxCopyButton-Dwrfiovz.mjs","sources":["../../src/components/NcFormBoxCopyButton/useCopy.ts","../../src/components/NcFormBoxCopyButton/NcFormBoxCopyButton.vue"],"sourcesContent":["/*!\n * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport type { MaybeRefOrGetter } from '@vueuse/core'\n\nimport { toValue } from '@vueuse/core'\nimport { ref } from 'vue'\n\nconst DELAY = 2000\n\n/**\n * Copy content to clipboard with copied state\n *\n * @param content - Content to copy\n */\nexport function useCopy(content: MaybeRefOrGetter<string>) {\n\tconst isCopied = ref(false)\n\n\t/**\n\t * Copy the content to clipboard\n\t */\n\tasync function copy() {\n\t\tif (isCopied.value) {\n\t\t\treturn\n\t\t}\n\n\t\tconst value = toValue(content)\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(value)\n\t\t} catch {\n\t\t\t// Fallback for a case when clipboard API is not available or permission denied\n\t\t\tprompt('', value)\n\t\t}\n\n\t\tisCopied.value = true\n\t\tsetTimeout(() => {\n\t\t\tisCopied.value = false\n\t\t}, DELAY)\n\t}\n\n\treturn {\n\t\tisCopied,\n\t\tcopy,\n\t}\n}\n","<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script setup lang=\"ts\">\nimport { mdiCheck, mdiContentCopy } from '@mdi/js'\nimport { whenever } from '@vueuse/core'\nimport { computed } from 'vue'\nimport NcFormBoxButton from '../NcFormBoxButton/NcFormBoxButton.vue'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/NcIconSvgWrapper.vue'\nimport { t } from '../../l10n.js'\nimport { useCopy } from './useCopy.ts'\n\nconst props = withDefaults(defineProps<{\n\t/** Copied value's value */\n\tlabel?: string\n\t/** The value to be copied */\n\tvalue: string\n\t/** Native disabled attribute */\n\tdisabled?: boolean\n}>(), {\n\tlabel: undefined,\n\tdisabled: false,\n})\n\nconst emit = defineEmits<{\n\t/** Value has been successfully copied */\n\t(event: 'copy'): void\n}>()\n\nconst { isCopied, copy } = useCopy(() => props.value)\n\nconst icon = computed(() => isCopied.value ? mdiCheck : mdiContentCopy)\n\nwhenever(isCopied, () => emit('copy'))\n</script>\n\n<template>\n\t<NcFormBoxButton\n\t\t:disabled=\"disabled\"\n\t\tinverted-accent\n\t\t@click=\"copy\">\n\t\t<template v-if=\"$slots.default || label\" #default>\n\t\t\t<!-- @slot Custom label content -->\n\t\t\t<span class=\"hidden-visually\">\n\t\t\t\t{{ isCopied ? t('Copied') : t('Copy to clipboard') }}\n\t\t\t</span>\n\t\t\t<slot>\n\t\t\t\t{{ label }}\n\t\t\t</slot>\n\t\t</template>\n\t\t<template #description>\n\t\t\t{{ value }}\n\t\t</template>\n\t\t<template #icon>\n\t\t\t<NcIconSvgWrapper :path=\"icon\" inline />\n\t\t</template>\n\t</NcFormBoxButton>\n</template>\n\n<docs>\n### General\n\n`NcFormBoxButton` set up to be a copy button.\n\n```vue\n<template>\n\t<NcFormGroup label=\"CalDAV\" description=\"Access Nextcloud calendars from other apps and devices\">\n\t\t<NcFormBox>\n\t\t\t<NcFormBoxCopyButton\n\t\t\t\tlabel=\"CalDAV URL\"\n\t\t\t\tvalue=\"https://cloud.example.com/remote.php/dav/\" />\n\t\t\t<NcFormBoxCopyButton\n\t\t\t\tlabel=\"Server Address for iOS and macOS\"\n\t\t\t\tvalue=\"https://cloud.example.com/remote.php/dav/principals/users/user/\" />\n\t\t</NcFormBox>\n\t</NcFormGroup>\n</template>\n```\n</docs>\n"],"names":[],"mappings":";;;;;;;;AAAA;AAAA;AAAA;AAAA;AAUA,MAAM,QAAQ;AAOP,SAAS,QAAQ,SAAmC;AAC1D,QAAM,WAAW,IAAI,KAAK;AAK1B,iBAAe,OAAO;AACrB,QAAI,SAAS,OAAO;AACnB;AAAA,IACD;AAEA,UAAM,QAAQ,QAAQ,OAAO;AAC7B,QAAI;AACH,YAAM,UAAU,UAAU,UAAU,KAAK;AAAA,IAC1C,QAAQ;AAEP,aAAO,IAAI,KAAK;AAAA,IACjB;AAEA,aAAS,QAAQ;AACjB,eAAW,MAAM;AAChB,eAAS,QAAQ;AAAA,IAClB,GAAG,KAAK;AAAA,EACT;AAEA,SAAO;AAAA,IACN;AAAA,IACA;AAAA,EAAA;AAEF;;;;;;;;;;;ACfA,UAAM,EAAE,UAAU,KAAA,IAAS,QAAQ,MAAM,MAAM,KAAK;AAEpD,UAAM,OAAO,SAAS,MAAM,SAAS,QAAQ,WAAW,cAAc;AAEtE,aAAS,UAAU,MAAM,KAAK,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
require('../assets/NcFormBoxItem-j2nGdOvd.css');
|
|
2
|
+
"use strict";
|
|
3
|
+
const Vue = require("vue");
|
|
4
|
+
const useNcFormBox = require("./useNcFormBox-DQeOEuQp.cjs");
|
|
5
|
+
const createElementId = require("./createElementId-lalylSCf.cjs");
|
|
6
|
+
const legacy = require("./legacy-KBXhWdRy.cjs");
|
|
7
|
+
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
8
|
+
const __default__ = {
|
|
9
|
+
inheritAttrs: false
|
|
10
|
+
};
|
|
11
|
+
const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
12
|
+
...__default__,
|
|
13
|
+
__name: "NcFormBoxItem",
|
|
14
|
+
props: {
|
|
15
|
+
tag: null,
|
|
16
|
+
label: { default: void 0 },
|
|
17
|
+
description: { default: void 0 },
|
|
18
|
+
invertedAccent: { type: Boolean, default: false },
|
|
19
|
+
itemClasses: { default: void 0 }
|
|
20
|
+
},
|
|
21
|
+
emits: ["click"],
|
|
22
|
+
setup(__props) {
|
|
23
|
+
const props = __props;
|
|
24
|
+
const slots = Vue.useSlots();
|
|
25
|
+
const { formBoxItemClass } = useNcFormBox.useNcFormBox();
|
|
26
|
+
const descriptionId = createElementId.createElementId();
|
|
27
|
+
const hasDescription = () => !!props.description || !!slots.description;
|
|
28
|
+
return { __sfc: true, props, slots, formBoxItemClass, descriptionId, hasDescription, isLegacy32: legacy.isLegacy32 };
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
const formBoxItem = "_formBoxItem_pugbs_20";
|
|
32
|
+
const formBoxItem_legacy = "_formBoxItem_legacy_pugbs_60";
|
|
33
|
+
const formBoxItem_inverted = "_formBoxItem_inverted_pugbs_64";
|
|
34
|
+
const formBoxItem__element = "_formBoxItem__element_pugbs_64";
|
|
35
|
+
const formBoxItem__description = "_formBoxItem__description_pugbs_67";
|
|
36
|
+
const formBoxItem__content = "_formBoxItem__content_pugbs_71";
|
|
37
|
+
const formBoxItem__icon = "_formBoxItem__icon_pugbs_89";
|
|
38
|
+
const style0 = {
|
|
39
|
+
"material-design-icon": "_material-design-icon_pugbs_12",
|
|
40
|
+
formBoxItem,
|
|
41
|
+
formBoxItem_legacy,
|
|
42
|
+
formBoxItem_inverted,
|
|
43
|
+
formBoxItem__element,
|
|
44
|
+
formBoxItem__description,
|
|
45
|
+
formBoxItem__content,
|
|
46
|
+
formBoxItem__icon
|
|
47
|
+
};
|
|
48
|
+
var _sfc_render = function render() {
|
|
49
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
50
|
+
return _c("div", { class: [
|
|
51
|
+
_vm.$style.formBoxItem,
|
|
52
|
+
_setup.formBoxItemClass,
|
|
53
|
+
{
|
|
54
|
+
[_vm.$style.formBoxItem_inverted]: _vm.invertedAccent && _setup.hasDescription(),
|
|
55
|
+
[_vm.$style.formBoxItem_legacy]: _setup.isLegacy32
|
|
56
|
+
}
|
|
57
|
+
] }, [_c("span", { class: _vm.$style.formBoxItem__content }, [_c(_vm.tag, _vm._b({ tag: "component", class: [_vm.$style.formBoxItem__element, _vm.itemClasses], on: { "click": function($event) {
|
|
58
|
+
return _vm.$emit("click", $event);
|
|
59
|
+
} } }, "component", _vm.$attrs, false), [_vm._t("default", function() {
|
|
60
|
+
return [_vm._v(" " + _vm._s(_vm.label || "⚠️ Label is missing") + " ")];
|
|
61
|
+
}, { "descriptionId": _setup.descriptionId })], 2), _setup.hasDescription() ? _c("span", { class: _vm.$style.formBoxItem__description, attrs: { "id": _setup.descriptionId } }, [_vm._t("description", function() {
|
|
62
|
+
return [_vm._v(" " + _vm._s(_vm.description) + " ")];
|
|
63
|
+
})], 2) : _vm._e()], 1), _c("span", { class: _vm.$style.formBoxItem__icon }, [_vm._t("icon", function() {
|
|
64
|
+
return [_vm._v(" ⚠️ Icon is missing ")];
|
|
65
|
+
}, { "descriptionId": _setup.descriptionId })], 2)]);
|
|
66
|
+
};
|
|
67
|
+
var _sfc_staticRenderFns = [];
|
|
68
|
+
const __cssModules = {
|
|
69
|
+
"$style": style0
|
|
70
|
+
};
|
|
71
|
+
function _sfc_injectStyles(ctx) {
|
|
72
|
+
for (var key in __cssModules) {
|
|
73
|
+
this[key] = __cssModules[key];
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
77
|
+
_sfc_main,
|
|
78
|
+
_sfc_render,
|
|
79
|
+
_sfc_staticRenderFns,
|
|
80
|
+
false,
|
|
81
|
+
_sfc_injectStyles,
|
|
82
|
+
null
|
|
83
|
+
);
|
|
84
|
+
const NcFormBoxItem = __component__.exports;
|
|
85
|
+
exports.NcFormBoxItem = NcFormBoxItem;
|
|
86
|
+
//# sourceMappingURL=NcFormBoxItem-CtrbGjnv.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcFormBoxItem-CtrbGjnv.cjs","sources":["../../src/components/NcFormBox/NcFormBoxItem.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script lang=\"ts\">\nexport default {\n\tinheritAttrs: false,\n}\n</script>\n\n<script setup lang=\"ts\">\nimport type { VueClassType } from '../../utils/VueTypes.ts'\n\nimport { useSlots } from 'vue'\nimport { useNcFormBox } from '../../components/NcFormBox/useNcFormBox.ts'\nimport { createElementId } from '../../utils/createElementId.ts'\nimport { isLegacy32 } from '../../utils/legacy.ts'\n\nconst props = withDefaults(defineProps<{\n\t/** Interactive item element's tag */\n\ttag: string\n\t/** Main Label */\n\tlabel?: string\n\t/** Optional description below the label, also used for the aria-describedby */\n\tdescription?: string\n\t/** Accent on the description instead of the label */\n\tinvertedAccent?: boolean\n\t/** Interactive item classes */\n\titemClasses?: VueClassType\n}>(), {\n\tlabel: undefined,\n\tdescription: undefined,\n\tinvertedAccent: false,\n\tclass: undefined,\n\titemClasses: undefined,\n})\n\ndefineEmits<{\n\t/** Click on the item */\n\t(e: 'click', event: MouseEvent): void\n}>()\n\nconst slots = useSlots()\n\nconst { formBoxItemClass } = useNcFormBox()\n\nconst descriptionId = createElementId()\nconst hasDescription = () => !!props.description || !!slots.description\n</script>\n\n<template>\n\t<div\n\t\t:class=\"[\n\t\t\t$style.formBoxItem,\n\t\t\tformBoxItemClass,\n\t\t\t{\n\t\t\t\t[$style.formBoxItem_inverted]: invertedAccent && hasDescription(),\n\t\t\t\t[$style.formBoxItem_legacy]: isLegacy32,\n\t\t\t},\n\t\t]\">\n\t\t<span :class=\"$style.formBoxItem__content\">\n\t\t\t<component\n\t\t\t\t:is=\"tag\"\n\t\t\t\t:class=\"[$style.formBoxItem__element, itemClasses]\"\n\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t@click=\"$emit('click', $event)\">\n\t\t\t\t<!-- @slot Item's label custom content\n\t\t\t\t @binding {string} descriptionId IDRef of the description element if present -->\n\t\t\t\t<slot :description-id=\"descriptionId\">\n\t\t\t\t\t{{ label || '⚠️ Label is missing' }}\n\t\t\t\t</slot>\n\t\t\t</component>\n\t\t\t<span v-if=\"hasDescription()\" :id=\"descriptionId\" :class=\"$style.formBoxItem__description\">\n\t\t\t\t<!-- @slot Custom description content\n\t\t\t\t @binding {string} descriptionId IDRef of the description element if present -->\n\t\t\t\t<slot name=\"description\">\n\t\t\t\t\t{{ description }}\n\t\t\t\t</slot>\n\t\t\t</span>\n\t\t</span>\n\t\t<span :class=\"$style.formBoxItem__icon\">\n\t\t\t<!-- @slot Icon content -->\n\t\t\t<slot name=\"icon\" :description-id=\"descriptionId\">\n\t\t\t\t⚠️ Icon is missing\n\t\t\t</slot>\n\t\t</span>\n\t</div>\n</template>\n\n<style lang=\"scss\" module>\n.formBoxItem {\n\t--nc-form-box-item-border-width: 1px;\n\t--nc-form-box-item-min-height: 40px; // Special size defined by the design\n\t--form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n\t--form-element-label-padding: calc(var(--form-element-label-offset) - var(--nc-form-box-item-border-width));\n\t// New colors we don't yet have in theming\n\t// TODO: add new colors to the theming\n\t--color-primary-element-extra-light: hsl(from var(--color-primary-element-light) h s calc(l * 1.045));\n\t--color-primary-element-extra-light-hover: hsl(from var(--color-primary-element-light-hover) h s calc(l * 1.045));\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: calc(2 * var(--default-grid-baseline));\n\tmin-height: var(--nc-form-box-item-min-height);\n\tpadding-inline: var(--form-element-label-padding);\n\tborder: 1px solid var(--color-primary-element-extra-light-hover);\n\tborder-bottom-width: 2px;\n\tborder-radius: var(--border-radius-element);\n\tbackground-color: var(--color-primary-element-extra-light);\n\tcolor: var(--color-primary-element-light-text);\n\ttransition-property: color, border-color, background-color;\n\ttransition-duration: var(--animation-quick);\n\ttransition-timing-function: linear;\n\t-webkit-user-select: none;\n\tuser-select: none;\n\tcursor: pointer;\n\n\t* {\n\t\tcursor: inherit;\n\t}\n\n\t&:has(:disabled) {\n\t\tcursor: default;\n\t\topacity: 0.5;\n\t}\n\n\t&:hover:not(:has(:disabled)) {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground-color: var(--color-primary-element-extra-light-hover);\n\t}\n\n\t&:has(:focus-visible) {\n\t\toutline: 2px solid var(--color-main-text);\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background);\n\t}\n\n\t&.formBoxItem_legacy {\n\t\t--nc-form-box-item-border-width: 0px;\n\t\tborder: none;\n\t}\n\n\t&.formBoxItem_inverted {\n\t\t.formBoxItem__element {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\n\t\t.formBoxItem__description {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n}\n\n.formBoxItem__content {\n\tflex: 1;\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-block: calc(2 * var(--default-grid-baseline));\n\toverflow-wrap: anywhere;\n}\n\n// A trick for accessibility:\n// make entire component clickable while internally splitting the interactive item and the description\n.formBoxItem__element::after {\n\tcontent: '';\n\tposition: absolute;\n\tinset: 0;\n}\n\n.formBoxItem__description {\n\tcolor: var(--color-text-maxcontrast);\n}\n\n.formBoxItem__icon {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-end;\n}\n</style>\n\n<docs>\nAn internal component\n</docs>\n"],"names":["useSlots","useNcFormBox","createElementId"],"mappings":";;;;;;AAMA,MAAA,cAAe;AAAA,EACd,cAAc;AACf;;;;;;;;;;;;;;AAmCA,UAAM,QAAQA,IAAAA,SAAA;AAEd,UAAM,EAAE,iBAAA,IAAqBC,0BAAA;AAE7B,UAAM,gBAAgBC,gBAAAA,gBAAA;AACtB,UAAM,iBAAiB,MAAM,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import '../assets/NcFormBoxItem-j2nGdOvd.css';
|
|
2
|
+
import { defineComponent, useSlots } from "vue";
|
|
3
|
+
import { u as useNcFormBox } from "./useNcFormBox-DA9iwXWY.mjs";
|
|
4
|
+
import { c as createElementId } from "./createElementId-DhjFt1I9.mjs";
|
|
5
|
+
import { i as isLegacy32 } from "./legacy-MK4GvP26.mjs";
|
|
6
|
+
import { n as normalizeComponent } from "./_plugin-vue2_normalizer-DU4iP6Vu.mjs";
|
|
7
|
+
const __default__ = {
|
|
8
|
+
inheritAttrs: false
|
|
9
|
+
};
|
|
10
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
11
|
+
...__default__,
|
|
12
|
+
__name: "NcFormBoxItem",
|
|
13
|
+
props: {
|
|
14
|
+
tag: null,
|
|
15
|
+
label: { default: void 0 },
|
|
16
|
+
description: { default: void 0 },
|
|
17
|
+
invertedAccent: { type: Boolean, default: false },
|
|
18
|
+
itemClasses: { default: void 0 }
|
|
19
|
+
},
|
|
20
|
+
emits: ["click"],
|
|
21
|
+
setup(__props) {
|
|
22
|
+
const props = __props;
|
|
23
|
+
const slots = useSlots();
|
|
24
|
+
const { formBoxItemClass } = useNcFormBox();
|
|
25
|
+
const descriptionId = createElementId();
|
|
26
|
+
const hasDescription = () => !!props.description || !!slots.description;
|
|
27
|
+
return { __sfc: true, props, slots, formBoxItemClass, descriptionId, hasDescription, isLegacy32 };
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
const formBoxItem = "_formBoxItem_pugbs_20";
|
|
31
|
+
const formBoxItem_legacy = "_formBoxItem_legacy_pugbs_60";
|
|
32
|
+
const formBoxItem_inverted = "_formBoxItem_inverted_pugbs_64";
|
|
33
|
+
const formBoxItem__element = "_formBoxItem__element_pugbs_64";
|
|
34
|
+
const formBoxItem__description = "_formBoxItem__description_pugbs_67";
|
|
35
|
+
const formBoxItem__content = "_formBoxItem__content_pugbs_71";
|
|
36
|
+
const formBoxItem__icon = "_formBoxItem__icon_pugbs_89";
|
|
37
|
+
const style0 = {
|
|
38
|
+
"material-design-icon": "_material-design-icon_pugbs_12",
|
|
39
|
+
formBoxItem,
|
|
40
|
+
formBoxItem_legacy,
|
|
41
|
+
formBoxItem_inverted,
|
|
42
|
+
formBoxItem__element,
|
|
43
|
+
formBoxItem__description,
|
|
44
|
+
formBoxItem__content,
|
|
45
|
+
formBoxItem__icon
|
|
46
|
+
};
|
|
47
|
+
var _sfc_render = function render() {
|
|
48
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
49
|
+
return _c("div", { class: [
|
|
50
|
+
_vm.$style.formBoxItem,
|
|
51
|
+
_setup.formBoxItemClass,
|
|
52
|
+
{
|
|
53
|
+
[_vm.$style.formBoxItem_inverted]: _vm.invertedAccent && _setup.hasDescription(),
|
|
54
|
+
[_vm.$style.formBoxItem_legacy]: _setup.isLegacy32
|
|
55
|
+
}
|
|
56
|
+
] }, [_c("span", { class: _vm.$style.formBoxItem__content }, [_c(_vm.tag, _vm._b({ tag: "component", class: [_vm.$style.formBoxItem__element, _vm.itemClasses], on: { "click": function($event) {
|
|
57
|
+
return _vm.$emit("click", $event);
|
|
58
|
+
} } }, "component", _vm.$attrs, false), [_vm._t("default", function() {
|
|
59
|
+
return [_vm._v(" " + _vm._s(_vm.label || "⚠️ Label is missing") + " ")];
|
|
60
|
+
}, { "descriptionId": _setup.descriptionId })], 2), _setup.hasDescription() ? _c("span", { class: _vm.$style.formBoxItem__description, attrs: { "id": _setup.descriptionId } }, [_vm._t("description", function() {
|
|
61
|
+
return [_vm._v(" " + _vm._s(_vm.description) + " ")];
|
|
62
|
+
})], 2) : _vm._e()], 1), _c("span", { class: _vm.$style.formBoxItem__icon }, [_vm._t("icon", function() {
|
|
63
|
+
return [_vm._v(" ⚠️ Icon is missing ")];
|
|
64
|
+
}, { "descriptionId": _setup.descriptionId })], 2)]);
|
|
65
|
+
};
|
|
66
|
+
var _sfc_staticRenderFns = [];
|
|
67
|
+
const __cssModules = {
|
|
68
|
+
"$style": style0
|
|
69
|
+
};
|
|
70
|
+
function _sfc_injectStyles(ctx) {
|
|
71
|
+
for (var key in __cssModules) {
|
|
72
|
+
this[key] = __cssModules[key];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
var __component__ = /* @__PURE__ */ normalizeComponent(
|
|
76
|
+
_sfc_main,
|
|
77
|
+
_sfc_render,
|
|
78
|
+
_sfc_staticRenderFns,
|
|
79
|
+
false,
|
|
80
|
+
_sfc_injectStyles,
|
|
81
|
+
null
|
|
82
|
+
);
|
|
83
|
+
const NcFormBoxItem = __component__.exports;
|
|
84
|
+
export {
|
|
85
|
+
NcFormBoxItem as N
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=NcFormBoxItem-DPBm3ZbJ.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NcFormBoxItem-DPBm3ZbJ.mjs","sources":["../../src/components/NcFormBox/NcFormBoxItem.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<script lang=\"ts\">\nexport default {\n\tinheritAttrs: false,\n}\n</script>\n\n<script setup lang=\"ts\">\nimport type { VueClassType } from '../../utils/VueTypes.ts'\n\nimport { useSlots } from 'vue'\nimport { useNcFormBox } from '../../components/NcFormBox/useNcFormBox.ts'\nimport { createElementId } from '../../utils/createElementId.ts'\nimport { isLegacy32 } from '../../utils/legacy.ts'\n\nconst props = withDefaults(defineProps<{\n\t/** Interactive item element's tag */\n\ttag: string\n\t/** Main Label */\n\tlabel?: string\n\t/** Optional description below the label, also used for the aria-describedby */\n\tdescription?: string\n\t/** Accent on the description instead of the label */\n\tinvertedAccent?: boolean\n\t/** Interactive item classes */\n\titemClasses?: VueClassType\n}>(), {\n\tlabel: undefined,\n\tdescription: undefined,\n\tinvertedAccent: false,\n\tclass: undefined,\n\titemClasses: undefined,\n})\n\ndefineEmits<{\n\t/** Click on the item */\n\t(e: 'click', event: MouseEvent): void\n}>()\n\nconst slots = useSlots()\n\nconst { formBoxItemClass } = useNcFormBox()\n\nconst descriptionId = createElementId()\nconst hasDescription = () => !!props.description || !!slots.description\n</script>\n\n<template>\n\t<div\n\t\t:class=\"[\n\t\t\t$style.formBoxItem,\n\t\t\tformBoxItemClass,\n\t\t\t{\n\t\t\t\t[$style.formBoxItem_inverted]: invertedAccent && hasDescription(),\n\t\t\t\t[$style.formBoxItem_legacy]: isLegacy32,\n\t\t\t},\n\t\t]\">\n\t\t<span :class=\"$style.formBoxItem__content\">\n\t\t\t<component\n\t\t\t\t:is=\"tag\"\n\t\t\t\t:class=\"[$style.formBoxItem__element, itemClasses]\"\n\t\t\t\tv-bind=\"$attrs\"\n\t\t\t\t@click=\"$emit('click', $event)\">\n\t\t\t\t<!-- @slot Item's label custom content\n\t\t\t\t @binding {string} descriptionId IDRef of the description element if present -->\n\t\t\t\t<slot :description-id=\"descriptionId\">\n\t\t\t\t\t{{ label || '⚠️ Label is missing' }}\n\t\t\t\t</slot>\n\t\t\t</component>\n\t\t\t<span v-if=\"hasDescription()\" :id=\"descriptionId\" :class=\"$style.formBoxItem__description\">\n\t\t\t\t<!-- @slot Custom description content\n\t\t\t\t @binding {string} descriptionId IDRef of the description element if present -->\n\t\t\t\t<slot name=\"description\">\n\t\t\t\t\t{{ description }}\n\t\t\t\t</slot>\n\t\t\t</span>\n\t\t</span>\n\t\t<span :class=\"$style.formBoxItem__icon\">\n\t\t\t<!-- @slot Icon content -->\n\t\t\t<slot name=\"icon\" :description-id=\"descriptionId\">\n\t\t\t\t⚠️ Icon is missing\n\t\t\t</slot>\n\t\t</span>\n\t</div>\n</template>\n\n<style lang=\"scss\" module>\n.formBoxItem {\n\t--nc-form-box-item-border-width: 1px;\n\t--nc-form-box-item-min-height: 40px; // Special size defined by the design\n\t--form-element-label-offset: calc(var(--border-radius-element) + var(--default-grid-baseline));\n\t--form-element-label-padding: calc(var(--form-element-label-offset) - var(--nc-form-box-item-border-width));\n\t// New colors we don't yet have in theming\n\t// TODO: add new colors to the theming\n\t--color-primary-element-extra-light: hsl(from var(--color-primary-element-light) h s calc(l * 1.045));\n\t--color-primary-element-extra-light-hover: hsl(from var(--color-primary-element-light-hover) h s calc(l * 1.045));\n\tposition: relative;\n\tdisplay: flex;\n\talign-items: center;\n\tgap: calc(2 * var(--default-grid-baseline));\n\tmin-height: var(--nc-form-box-item-min-height);\n\tpadding-inline: var(--form-element-label-padding);\n\tborder: 1px solid var(--color-primary-element-extra-light-hover);\n\tborder-bottom-width: 2px;\n\tborder-radius: var(--border-radius-element);\n\tbackground-color: var(--color-primary-element-extra-light);\n\tcolor: var(--color-primary-element-light-text);\n\ttransition-property: color, border-color, background-color;\n\ttransition-duration: var(--animation-quick);\n\ttransition-timing-function: linear;\n\t-webkit-user-select: none;\n\tuser-select: none;\n\tcursor: pointer;\n\n\t* {\n\t\tcursor: inherit;\n\t}\n\n\t&:has(:disabled) {\n\t\tcursor: default;\n\t\topacity: 0.5;\n\t}\n\n\t&:hover:not(:has(:disabled)) {\n\t\tcolor: var(--color-primary-element-light-text);\n\t\tbackground-color: var(--color-primary-element-extra-light-hover);\n\t}\n\n\t&:has(:focus-visible) {\n\t\toutline: 2px solid var(--color-main-text);\n\t\tbox-shadow: 0 0 0 4px var(--color-main-background);\n\t}\n\n\t&.formBoxItem_legacy {\n\t\t--nc-form-box-item-border-width: 0px;\n\t\tborder: none;\n\t}\n\n\t&.formBoxItem_inverted {\n\t\t.formBoxItem__element {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\n\t\t.formBoxItem__description {\n\t\t\tcolor: inherit;\n\t\t}\n\t}\n}\n\n.formBoxItem__content {\n\tflex: 1;\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-block: calc(2 * var(--default-grid-baseline));\n\toverflow-wrap: anywhere;\n}\n\n// A trick for accessibility:\n// make entire component clickable while internally splitting the interactive item and the description\n.formBoxItem__element::after {\n\tcontent: '';\n\tposition: absolute;\n\tinset: 0;\n}\n\n.formBoxItem__description {\n\tcolor: var(--color-text-maxcontrast);\n}\n\n.formBoxItem__icon {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: flex-end;\n}\n</style>\n\n<docs>\nAn internal component\n</docs>\n"],"names":[],"mappings":";;;;;AAMA,MAAA,cAAe;AAAA,EACd,cAAc;AACf;;;;;;;;;;;;;;AAmCA,UAAM,QAAQ,SAAA;AAEd,UAAM,EAAE,iBAAA,IAAqB,aAAA;AAE7B,UAAM,gBAAgB,gBAAA;AACtB,UAAM,iBAAiB,MAAM,CAAC,CAAC,MAAM,eAAe,CAAC,CAAC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
require('../assets/NcFormBoxSwitch-BmyNQCbA.css');
|
|
2
|
+
"use strict";
|
|
3
|
+
const Vue = require("vue");
|
|
4
|
+
const mdi = require("./mdi-CVXTs58m.cjs");
|
|
5
|
+
const core = require("@vueuse/core");
|
|
6
|
+
const NcFormBoxItem = require("./NcFormBoxItem-CtrbGjnv.cjs");
|
|
7
|
+
const NcIconSvgWrapper = require("./NcIconSvgWrapper-D-aKMbf3.cjs");
|
|
8
|
+
const createElementId = require("./createElementId-lalylSCf.cjs");
|
|
9
|
+
const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-V0q-tHlQ.cjs");
|
|
10
|
+
const __default__ = {
|
|
11
|
+
model: {
|
|
12
|
+
prop: "modelValue",
|
|
13
|
+
event: "update:modelValue"
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const _sfc_main = /* @__PURE__ */ Vue.defineComponent({
|
|
17
|
+
...__default__,
|
|
18
|
+
__name: "NcFormBoxSwitch",
|
|
19
|
+
props: {
|
|
20
|
+
label: { default: void 0 },
|
|
21
|
+
description: { default: void 0 },
|
|
22
|
+
disabled: { type: Boolean, default: false },
|
|
23
|
+
modelValue: { type: Boolean }
|
|
24
|
+
},
|
|
25
|
+
emits: ["enable", "disable", "update:modelValue"],
|
|
26
|
+
setup(__props, { emit }) {
|
|
27
|
+
const props = __props;
|
|
28
|
+
const model = core.useVModel(props, "modelValue", emit);
|
|
29
|
+
const inputId = createElementId.createElementId();
|
|
30
|
+
Vue.watch(model, () => {
|
|
31
|
+
if (model.value) {
|
|
32
|
+
emit("enable");
|
|
33
|
+
} else {
|
|
34
|
+
emit("disable");
|
|
35
|
+
}
|
|
36
|
+
}, {
|
|
37
|
+
// defineModel emits update:modelValue synchronously
|
|
38
|
+
// Watching it synchronously to emit the enable/disable events together with the update:modelValue event
|
|
39
|
+
flush: "sync"
|
|
40
|
+
});
|
|
41
|
+
return { __sfc: true, props, emit, model, inputId, mdiToggleSwitch: mdi.mdiToggleSwitch, mdiToggleSwitchOff: mdi.mdiToggleSwitchOff, NcFormBoxItem: NcFormBoxItem.NcFormBoxItem, NcIconSvgWrapper: NcIconSvgWrapper.NcIconSvgWrapper };
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
const formBoxSwitch__input = "_formBoxSwitch__input_hjv1a_20";
|
|
45
|
+
const formBoxSwitch__icon = "_formBoxSwitch__icon_hjv1a_34";
|
|
46
|
+
const style0 = {
|
|
47
|
+
"material-design-icon": "_material-design-icon_hjv1a_12",
|
|
48
|
+
formBoxSwitch__input,
|
|
49
|
+
formBoxSwitch__icon
|
|
50
|
+
};
|
|
51
|
+
var _sfc_render = function render() {
|
|
52
|
+
var _vm = this, _c = _vm._self._c, _setup = _vm._self._setupProxy;
|
|
53
|
+
return _c(_setup.NcFormBoxItem, { attrs: { "tag": "label", "for": _setup.inputId }, scopedSlots: _vm._u([_vm.$slots.default || _vm.label ? { key: "default", fn: function() {
|
|
54
|
+
return [_vm._t("default", function() {
|
|
55
|
+
return [_vm._v(" " + _vm._s(_vm.label) + " ")];
|
|
56
|
+
})];
|
|
57
|
+
}, proxy: true } : null, _vm.$slots.description || _vm.description ? { key: "description", fn: function() {
|
|
58
|
+
return [_vm._t("description", function() {
|
|
59
|
+
return [_vm._v(" " + _vm._s(_vm.description) + " ")];
|
|
60
|
+
})];
|
|
61
|
+
}, proxy: true } : null, { key: "icon", fn: function({ descriptionId }) {
|
|
62
|
+
return [_c("input", { directives: [{ name: "model", rawName: "v-model", value: _setup.model, expression: "model" }], class: _vm.$style.formBoxSwitch__input, attrs: { "id": _setup.inputId, "type": "checkbox", "role": "switch", "aria-describedby": descriptionId, "disabled": _vm.disabled }, domProps: { "checked": Array.isArray(_setup.model) ? _vm._i(_setup.model, null) > -1 : _setup.model }, on: { "change": function($event) {
|
|
63
|
+
var $$a = _setup.model, $$el = $event.target, $$c = $$el.checked ? true : false;
|
|
64
|
+
if (Array.isArray($$a)) {
|
|
65
|
+
var $$v = null, $$i = _vm._i($$a, $$v);
|
|
66
|
+
if ($$el.checked) {
|
|
67
|
+
$$i < 0 && (_setup.model = $$a.concat([$$v]));
|
|
68
|
+
} else {
|
|
69
|
+
$$i > -1 && (_setup.model = $$a.slice(0, $$i).concat($$a.slice($$i + 1)));
|
|
70
|
+
}
|
|
71
|
+
} else {
|
|
72
|
+
_setup.model = $$c;
|
|
73
|
+
}
|
|
74
|
+
} } }), _c(_setup.NcIconSvgWrapper, { class: _vm.$style.formBoxSwitch__icon, attrs: { "path": _setup.model ? _setup.mdiToggleSwitch : _setup.mdiToggleSwitchOff, "size": 34, "inline": "" } })];
|
|
75
|
+
} }], null, true) });
|
|
76
|
+
};
|
|
77
|
+
var _sfc_staticRenderFns = [];
|
|
78
|
+
const __cssModules = {
|
|
79
|
+
"$style": style0
|
|
80
|
+
};
|
|
81
|
+
function _sfc_injectStyles(ctx) {
|
|
82
|
+
for (var key in __cssModules) {
|
|
83
|
+
this[key] = __cssModules[key];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
|
|
87
|
+
_sfc_main,
|
|
88
|
+
_sfc_render,
|
|
89
|
+
_sfc_staticRenderFns,
|
|
90
|
+
false,
|
|
91
|
+
_sfc_injectStyles,
|
|
92
|
+
null
|
|
93
|
+
);
|
|
94
|
+
const NcFormBoxSwitch = __component__.exports;
|
|
95
|
+
exports.NcFormBoxSwitch = NcFormBoxSwitch;
|
|
96
|
+
//# sourceMappingURL=NcFormBoxSwitch-CM3WaFkA.cjs.map
|