@nextcloud/vue 9.0.0-alpha.6 → 9.0.0-alpha.8

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.
Files changed (561) hide show
  1. package/CHANGELOG.md +376 -149
  2. package/README.md +69 -66
  3. package/dist/assets/{NcActionButton-BLoWchS5.css → NcActionButton-d8aZCq9u.css} +19 -16
  4. package/dist/assets/{NcActionCaption-B7FZTc3Y.css → NcActionCaption-DnG2OyWa.css} +4 -4
  5. package/dist/assets/{NcActionCheckbox-CoQEhC0c.css → NcActionCheckbox-tMIOGziy.css} +18 -17
  6. package/dist/assets/{NcActionInput-BEvIPQv2.css → NcActionInput-C-rQsTEA.css} +71 -65
  7. package/dist/assets/{NcActionLink-Dxv-rmRR.css → NcActionLink-jSPFFKV8.css} +15 -12
  8. package/dist/assets/{NcActionRadio-CsMcYeMT.css → NcActionRadio-xdrmoEIq.css} +19 -18
  9. package/dist/assets/{NcActionRouter-CflTO8Z-.css → NcActionRouter-qNNqBZab.css} +18 -15
  10. package/dist/assets/{NcActionText-CV2sRLti.css → NcActionText-0XNfku_2.css} +20 -17
  11. package/dist/assets/{NcActionTextEditable-Nufxk13g.css → NcActionTextEditable-ZlNtR_B_.css} +70 -64
  12. package/dist/assets/{NcActions-P5DOkDHr.css → NcActions-D7gPHaUE.css} +12 -15
  13. package/dist/assets/{NcAppContent-CyHAUPNL.css → NcAppContent-CLu_1q4O.css} +24 -24
  14. package/dist/assets/{NcAppNavigation-B21SNH2o.css → NcAppNavigation-BXItV5BV.css} +13 -13
  15. package/dist/assets/{NcAppNavigationCaption-Ddf7LHGR.css → NcAppNavigationCaption-B6mZd0E3.css} +9 -8
  16. package/dist/assets/{NcAppNavigationItem-OPiz-90P.css → NcAppNavigationItem-aVy0uQwf.css} +46 -39
  17. package/dist/assets/{NcAppNavigationNew-R0QcGqvG.css → NcAppNavigationNew-Ba3wWpcY.css} +3 -3
  18. package/dist/assets/{NcAppNavigationNewItem-BoSjpr5m.css → NcAppNavigationNewItem-rCrG0Uuo.css} +44 -37
  19. package/dist/assets/{NcAppNavigationSearch-C5RevjgZ.css → NcAppNavigationSearch-BAzhDRd7.css} +6 -6
  20. package/dist/assets/NcAppNavigationSettings-BDc6Mtek.css +29 -0
  21. package/dist/assets/{NcAppNavigationToggle-D2c7IdEL.css → NcAppNavigationToggle-DnTKNSH7.css} +3 -3
  22. package/dist/assets/{NcAppSettingsDialog-B6Pliptg.css → NcAppSettingsDialog-DZfD_UEa.css} +11 -11
  23. package/dist/assets/{NcAppSidebar-DJR5EHRN.css → NcAppSidebar-GFQ62pY2.css} +61 -61
  24. package/dist/assets/{NcAvatar-0pU8ivmq.css → NcAvatar-DUKfNDGL.css} +27 -27
  25. package/dist/assets/NcBlurHash-7aGtE-_T.css +8 -0
  26. package/dist/assets/{NcBreadcrumb-10d4k_Pc.css → NcBreadcrumb-CV3DgRKn.css} +15 -15
  27. package/dist/assets/{NcBreadcrumbs-aYVMDayQ.css → NcBreadcrumbs-D2wff82k.css} +6 -6
  28. package/dist/assets/{NcButton-DoYn-HfJ.css → NcButton-wmjlEdLP.css} +48 -49
  29. package/dist/assets/{NcCheckboxRadioSwitch-CG-8Isv_.css → NcCheckboxRadioSwitch-uwXbP_jb.css} +42 -42
  30. package/dist/assets/{NcChip-JjMdjcjN.css → NcChip-CKtzzrlA.css} +9 -9
  31. package/dist/assets/{NcCollectionList-B4azFVAf.css → NcCollectionList-DTJgOfCk.css} +29 -29
  32. package/dist/assets/{NcColorPicker-B4Vqq3HN.css → NcColorPicker-Clz7MjCA.css} +29 -31
  33. package/dist/assets/{NcContent-CQc_dM2n.css → NcContent-aXaYSfjS.css} +10 -10
  34. package/dist/assets/{NcDashboardWidget-Hc2DAw3Y.css → NcDashboardWidget-xV4o6Cen.css} +14 -15
  35. package/dist/assets/NcDateTimePicker-AIJmp5dC.css +81 -0
  36. package/dist/assets/NcDateTimePickerNative-CdHLvH4A.css +60 -0
  37. package/dist/assets/{NcDialog-DG8bAh01.css → NcDialog-Dkeikssh.css} +15 -15
  38. package/dist/assets/{NcEllipsisedOption-CTvngv1F.css → NcEllipsisedOption-D-IsjXWc.css} +5 -5
  39. package/dist/assets/{NcEmojiPicker-BDp_Jc8K.css → NcEmojiPicker-DnMU8iEd.css} +91 -69
  40. package/dist/assets/{NcEmptyContent-C-nruaFh.css → NcEmptyContent-D1O466rM.css} +9 -9
  41. package/dist/assets/{NcHeaderButton-8c2zDKtV.css → NcHeaderButton-BPIasMkw.css} +8 -7
  42. package/dist/assets/{NcHeaderMenu-CDlSXB2d.css → NcHeaderMenu-ZmtqwEYA.css} +12 -11
  43. package/dist/assets/{NcInputConfirmCancel-DBjIHKvN.css → NcInputConfirmCancel-9YyvRYjw.css} +6 -6
  44. package/dist/assets/{NcInputField-CthOpVGS.css → NcInputField-B8J2uFD4.css} +32 -32
  45. package/dist/assets/{NcListItem-oz15CnUw.css → NcListItem-Byw-ayOI.css} +44 -44
  46. package/dist/assets/{NcListItemIcon-d5-l-ZB1.css → NcListItemIcon-Bnr-Z-SO.css} +14 -14
  47. package/dist/assets/{NcMentionBubble-C6t8od-_.css → NcMentionBubble-BL05HUeF.css} +12 -13
  48. package/dist/assets/{NcPasswordField-By-kPRJC.css → NcPasswordField-z9gbKnov.css} +2 -2
  49. package/dist/assets/{NcPopover-BGWT8K0v.css → NcPopover-ChETNAVH.css} +16 -5
  50. package/dist/assets/{NcRelatedResourcesPanel-CrarpPeQ.css → NcRelatedResourcesPanel-DXfywiqL.css} +23 -23
  51. package/dist/assets/{NcRichContenteditable-heb9EQV3.css → NcRichContenteditable-Bxi-Ki0j.css} +41 -39
  52. package/dist/assets/NcRichText-Dvt8jvWN.css +326 -0
  53. package/dist/assets/{NcSelect-EIXtZSVn.css → NcSelect-B6DUjUdl.css} +2 -2
  54. package/dist/assets/{NcSettingsInputText-C3j73xA0.css → NcSettingsInputText-B-V6Y4MD.css} +7 -7
  55. package/dist/assets/{NcSettingsSelectGroup-CGfaysRv.css → NcSettingsSelectGroup-DZcNr_Dq.css} +2 -2
  56. package/dist/assets/{NcTextArea-CUPKm8vZ.css → NcTextArea-DHr9DPOJ.css} +20 -20
  57. package/dist/assets/{NcUserBubble-DE3IWeZN.css → NcUserBubble-tSs2XTDQ.css} +11 -11
  58. package/dist/assets/{index-BHBrLd2w.css → index-Du_FXiPy.css} +61 -61
  59. package/dist/assets/{referencePickerModal-CZYRGXDd.css → referencePickerModal-CkGgDb19.css} +46 -46
  60. package/dist/chunks/{AlertCircleOutline-DoHidQlr.mjs → AlertCircleOutline-DVzpKQVu.mjs} +2 -1
  61. package/dist/chunks/{AlertCircleOutline-DoHidQlr.mjs.map → AlertCircleOutline-DVzpKQVu.mjs.map} +1 -1
  62. package/dist/chunks/{ArrowLeft-DCZ3CkUw.mjs → ArrowLeft-CanHG70H.mjs} +2 -1
  63. package/dist/chunks/{ArrowLeft-DCZ3CkUw.mjs.map → ArrowLeft-CanHG70H.mjs.map} +1 -1
  64. package/dist/chunks/{ArrowRight-CCodNfTT.mjs → ArrowRight-DQT24Cb-.mjs} +2 -1
  65. package/dist/chunks/{ArrowRight-CCodNfTT.mjs.map → ArrowRight-DQT24Cb-.mjs.map} +1 -1
  66. package/dist/chunks/{Check-DDuGOKMw.mjs → Check-5i4xKnkl.mjs} +2 -1
  67. package/dist/chunks/{Check-DDuGOKMw.mjs.map → Check-5i4xKnkl.mjs.map} +1 -1
  68. package/dist/chunks/{ChevronDown-C6gc637b.mjs → ChevronDown-FiGpp0KT.mjs} +2 -1
  69. package/dist/chunks/{ChevronDown-C6gc637b.mjs.map → ChevronDown-FiGpp0KT.mjs.map} +1 -1
  70. package/dist/chunks/{ChevronLeft-uQipmOWv.mjs → ChevronLeft-FfC-tiIS.mjs} +2 -1
  71. package/dist/chunks/{ChevronLeft-uQipmOWv.mjs.map → ChevronLeft-FfC-tiIS.mjs.map} +1 -1
  72. package/dist/chunks/{ChevronRight-D4KvRLyO.mjs → ChevronRight-LvtA5_hq.mjs} +2 -1
  73. package/dist/chunks/{ChevronRight-D4KvRLyO.mjs.map → ChevronRight-LvtA5_hq.mjs.map} +1 -1
  74. package/dist/chunks/{ChevronUp-ChH8oB7p.mjs → ChevronUp-DPXFp1ss.mjs} +2 -1
  75. package/dist/chunks/{ChevronUp-ChH8oB7p.mjs.map → ChevronUp-DPXFp1ss.mjs.map} +1 -1
  76. package/dist/chunks/{Close-9bmgDVZE.mjs → Close-D6ngJ4t9.mjs} +4 -3
  77. package/dist/chunks/{Close-9bmgDVZE.mjs.map → Close-D6ngJ4t9.mjs.map} +1 -1
  78. package/dist/chunks/{DotsHorizontal-bCAjz9wZ.mjs → DotsHorizontal-AMVAlTNH.mjs} +2 -1
  79. package/dist/chunks/{DotsHorizontal-bCAjz9wZ.mjs.map → DotsHorizontal-AMVAlTNH.mjs.map} +1 -1
  80. package/dist/chunks/{NcActionButton-B3JQywgv.mjs → NcActionButton-BdQ_qmvW.mjs} +14 -12
  81. package/dist/chunks/{NcActionButton-B3JQywgv.mjs.map → NcActionButton-BdQ_qmvW.mjs.map} +1 -1
  82. package/dist/chunks/{NcActionButtonGroup-DtHcJpaH.mjs → NcActionButtonGroup-TitZerDl.mjs} +8 -6
  83. package/dist/chunks/NcActionButtonGroup-TitZerDl.mjs.map +1 -0
  84. package/dist/chunks/{NcActionCaption-BeVuTBKE.mjs → NcActionCaption-Fumfjzxj.mjs} +6 -4
  85. package/dist/chunks/NcActionCaption-Fumfjzxj.mjs.map +1 -0
  86. package/dist/chunks/{NcActionCheckbox-DdLcVat_.mjs → NcActionCheckbox-CUYbo1rw.mjs} +8 -6
  87. package/dist/chunks/NcActionCheckbox-CUYbo1rw.mjs.map +1 -0
  88. package/dist/chunks/{NcActionInput-CxPmTwTo.mjs → NcActionInput-TI648L3V.mjs} +13 -12
  89. package/dist/chunks/NcActionInput-TI648L3V.mjs.map +1 -0
  90. package/dist/chunks/{NcActionLink-9TfevQgn.mjs → NcActionLink-cQlsviu9.mjs} +7 -5
  91. package/dist/chunks/NcActionLink-cQlsviu9.mjs.map +1 -0
  92. package/dist/chunks/{NcActionRadio-CV0AtyQD.mjs → NcActionRadio-tORL1qPt.mjs} +25 -17
  93. package/dist/chunks/NcActionRadio-tORL1qPt.mjs.map +1 -0
  94. package/dist/chunks/{NcActionRouter-RKft3XO3.mjs → NcActionRouter-Bw1tpEZt.mjs} +7 -5
  95. package/dist/chunks/NcActionRouter-Bw1tpEZt.mjs.map +1 -0
  96. package/dist/chunks/{NcActionSeparator-DKFXmIJ5.mjs → NcActionSeparator-Doekl1NX.mjs} +3 -2
  97. package/dist/chunks/{NcActionSeparator-DKFXmIJ5.mjs.map → NcActionSeparator-Doekl1NX.mjs.map} +1 -1
  98. package/dist/chunks/{NcActionText-ChktUmp9.mjs → NcActionText-VLCHOiIy.mjs} +7 -5
  99. package/dist/chunks/NcActionText-VLCHOiIy.mjs.map +1 -0
  100. package/dist/chunks/{NcActionTextEditable-D3Iix8Je.mjs → NcActionTextEditable-nTbwgRy2.mjs} +25 -9
  101. package/dist/chunks/NcActionTextEditable-nTbwgRy2.mjs.map +1 -0
  102. package/dist/chunks/{NcActions-BJ703bdY.mjs → NcActions-CgKHXNbF.mjs} +58 -93
  103. package/dist/chunks/NcActions-CgKHXNbF.mjs.map +1 -0
  104. package/dist/chunks/{NcAppContent-DcqJmTNj.mjs → NcAppContent-C4gBVRQs.mjs} +79 -27
  105. package/dist/chunks/NcAppContent-C4gBVRQs.mjs.map +1 -0
  106. package/dist/chunks/{NcAppContentDetails-Ch6NJvAl.mjs → NcAppContentDetails-DsEEBJ0U.mjs} +2 -1
  107. package/dist/chunks/{NcAppContentDetails-Ch6NJvAl.mjs.map → NcAppContentDetails-DsEEBJ0U.mjs.map} +1 -1
  108. package/dist/chunks/{NcAppContentList-DGwk3AvB.mjs → NcAppContentList-DnLY_sWw.mjs} +2 -1
  109. package/dist/chunks/{NcAppContentList-DGwk3AvB.mjs.map → NcAppContentList-DnLY_sWw.mjs.map} +1 -1
  110. package/dist/chunks/{NcAppNavigation-DKl5GKDr.mjs → NcAppNavigation-DbRpHbi9.mjs} +8 -7
  111. package/dist/chunks/{NcAppNavigation-DKl5GKDr.mjs.map → NcAppNavigation-DbRpHbi9.mjs.map} +1 -1
  112. package/dist/chunks/{NcAppNavigationCaption-yvL3fHpB.mjs → NcAppNavigationCaption-R_UZ7iKw.mjs} +5 -4
  113. package/dist/chunks/{NcAppNavigationCaption-yvL3fHpB.mjs.map → NcAppNavigationCaption-R_UZ7iKw.mjs.map} +1 -1
  114. package/dist/chunks/{NcAppNavigationIconBullet-DXwKXzN2.mjs → NcAppNavigationIconBullet-B1kc4u65.mjs} +3 -2
  115. package/dist/chunks/{NcAppNavigationIconBullet-DXwKXzN2.mjs.map → NcAppNavigationIconBullet-B1kc4u65.mjs.map} +1 -1
  116. package/dist/chunks/{NcAppNavigationItem-Ba6kwsU9.mjs → NcAppNavigationItem-CxYtFEhV.mjs} +20 -19
  117. package/dist/chunks/NcAppNavigationItem-CxYtFEhV.mjs.map +1 -0
  118. package/dist/chunks/{NcAppNavigationList-HRNlIV27.mjs → NcAppNavigationList-DX_Yo23V.mjs} +3 -2
  119. package/dist/chunks/{NcAppNavigationList-HRNlIV27.mjs.map → NcAppNavigationList-DX_Yo23V.mjs.map} +1 -1
  120. package/dist/chunks/{NcAppNavigationNew-D2aD0z-u.mjs → NcAppNavigationNew-sMVo_IoL.mjs} +12 -7
  121. package/dist/chunks/NcAppNavigationNew-sMVo_IoL.mjs.map +1 -0
  122. package/dist/chunks/{NcAppNavigationNewItem-BPYFl_Xy.mjs → NcAppNavigationNewItem-CJZcL6GH.mjs} +6 -5
  123. package/dist/chunks/{NcAppNavigationNewItem-BPYFl_Xy.mjs.map → NcAppNavigationNewItem-CJZcL6GH.mjs.map} +1 -1
  124. package/dist/chunks/{NcAppNavigationSearch-pTeRzg7y.mjs → NcAppNavigationSearch-Dbhh-Vtw.mjs} +8 -7
  125. package/dist/chunks/NcAppNavigationSearch-Dbhh-Vtw.mjs.map +1 -0
  126. package/dist/chunks/NcAppNavigationSettings-Bfo3EWk_.mjs +132 -0
  127. package/dist/chunks/NcAppNavigationSettings-Bfo3EWk_.mjs.map +1 -0
  128. package/dist/chunks/{NcAppNavigationSpacer-BQFYpMbq.mjs → NcAppNavigationSpacer-CzBLuQL8.mjs} +3 -2
  129. package/dist/chunks/{NcAppNavigationSpacer-BQFYpMbq.mjs.map → NcAppNavigationSpacer-CzBLuQL8.mjs.map} +1 -1
  130. package/dist/chunks/{NcAppNavigationToggle-CEun9mHr.mjs → NcAppNavigationToggle-Ys-PjFo3.mjs} +10 -9
  131. package/dist/chunks/NcAppNavigationToggle-Ys-PjFo3.mjs.map +1 -0
  132. package/dist/chunks/{NcAppSettingsDialog-CQ1KFqAh.mjs → NcAppSettingsDialog-Cc-OdY9a.mjs} +6 -5
  133. package/dist/chunks/{NcAppSettingsDialog-CQ1KFqAh.mjs.map → NcAppSettingsDialog-Cc-OdY9a.mjs.map} +1 -1
  134. package/dist/chunks/{NcAppSettingsSection-BzqBBgS2.mjs → NcAppSettingsSection-CssmXyZ0.mjs} +3 -2
  135. package/dist/chunks/{NcAppSettingsSection-BzqBBgS2.mjs.map → NcAppSettingsSection-CssmXyZ0.mjs.map} +1 -1
  136. package/dist/chunks/{NcAppSidebar-C0VSug_j.mjs → NcAppSidebar-Dgwj8O_Z.mjs} +30 -29
  137. package/dist/chunks/NcAppSidebar-Dgwj8O_Z.mjs.map +1 -0
  138. package/dist/chunks/{NcAppSidebarTab-zBqyKIgn.mjs → NcAppSidebarTab-DG51ajic.mjs} +3 -2
  139. package/dist/chunks/{NcAppSidebarTab-zBqyKIgn.mjs.map → NcAppSidebarTab-DG51ajic.mjs.map} +1 -1
  140. package/dist/chunks/{NcAvatar-CB2n3G0J.mjs → NcAvatar-CA8y4d-c.mjs} +40 -43
  141. package/dist/chunks/NcAvatar-CA8y4d-c.mjs.map +1 -0
  142. package/dist/chunks/NcBlurHash-BiFktE2N.mjs +99 -0
  143. package/dist/chunks/NcBlurHash-BiFktE2N.mjs.map +1 -0
  144. package/dist/chunks/{NcBreadcrumb-ChOkGtT6.mjs → NcBreadcrumb-DSjIxTeU.mjs} +23 -19
  145. package/dist/chunks/NcBreadcrumb-DSjIxTeU.mjs.map +1 -0
  146. package/dist/chunks/{NcBreadcrumbs-CcWv0nYL.mjs → NcBreadcrumbs-jPvP6Cmo.mjs} +12 -11
  147. package/dist/chunks/NcBreadcrumbs-jPvP6Cmo.mjs.map +1 -0
  148. package/dist/chunks/{NcButton-C3eisBbK.mjs → NcButton-BHLqKKYP.mjs} +64 -56
  149. package/dist/chunks/NcButton-BHLqKKYP.mjs.map +1 -0
  150. package/dist/chunks/{NcCheckboxRadioSwitch-Zndby-mL.mjs → NcCheckboxRadioSwitch-CWU_M_ui.mjs} +25 -33
  151. package/dist/chunks/NcCheckboxRadioSwitch-CWU_M_ui.mjs.map +1 -0
  152. package/dist/chunks/{NcChip-DxejjHGT.mjs → NcChip-C3U2HYR9.mjs} +23 -62
  153. package/dist/chunks/NcChip-C3U2HYR9.mjs.map +1 -0
  154. package/dist/chunks/{NcCollectionList-DckB8BUh.mjs → NcCollectionList-BtHsipae.mjs} +10 -9
  155. package/dist/chunks/NcCollectionList-BtHsipae.mjs.map +1 -0
  156. package/dist/chunks/{NcColorPicker-Bh4f-X_s.mjs → NcColorPicker-BI-Is4nj.mjs} +16 -15
  157. package/dist/chunks/NcColorPicker-BI-Is4nj.mjs.map +1 -0
  158. package/dist/chunks/{NcContent-CfyPkDba.mjs → NcContent-BcF6f3N-.mjs} +10 -9
  159. package/dist/chunks/{NcContent-CfyPkDba.mjs.map → NcContent-BcF6f3N-.mjs.map} +1 -1
  160. package/dist/chunks/{NcCounterBubble-DIOmLH9G.mjs → NcCounterBubble-6B_JNUUS.mjs} +3 -2
  161. package/dist/chunks/{NcCounterBubble-DIOmLH9G.mjs.map → NcCounterBubble-6B_JNUUS.mjs.map} +1 -1
  162. package/dist/chunks/{NcDashboardWidget-DC7EvOH5.mjs → NcDashboardWidget-1rVqTzgV.mjs} +10 -9
  163. package/dist/chunks/{NcDashboardWidget-DC7EvOH5.mjs.map → NcDashboardWidget-1rVqTzgV.mjs.map} +1 -1
  164. package/dist/chunks/{NcDashboardWidgetItem-Bmm83kUk.mjs → NcDashboardWidgetItem-7RXY5EKJ.mjs} +6 -5
  165. package/dist/chunks/{NcDashboardWidgetItem-Bmm83kUk.mjs.map → NcDashboardWidgetItem-7RXY5EKJ.mjs.map} +1 -1
  166. package/dist/chunks/NcDateTime.vue_vue_type_script_setup_true_lang-DtP-oauZ.mjs +31 -0
  167. package/dist/chunks/NcDateTime.vue_vue_type_script_setup_true_lang-DtP-oauZ.mjs.map +1 -0
  168. package/dist/chunks/NcDateTimePicker-BzfuHym4.mjs +257 -0
  169. package/dist/chunks/NcDateTimePicker-BzfuHym4.mjs.map +1 -0
  170. package/dist/chunks/{NcDateTimePickerNative-I2YJ1mqx.mjs → NcDateTimePickerNative-Dake1IML.mjs} +12 -9
  171. package/dist/chunks/NcDateTimePickerNative-Dake1IML.mjs.map +1 -0
  172. package/dist/chunks/{NcDialog-bRHxABY1.mjs → NcDialog-_pc2BPHU.mjs} +30 -20
  173. package/dist/chunks/NcDialog-_pc2BPHU.mjs.map +1 -0
  174. package/dist/chunks/{NcDialogButton.vue_vue_type_script_setup_true_lang-CBKNl2vE.mjs → NcDialogButton.vue_vue_type_script_setup_true_lang-BKrJ_xd8.mjs} +31 -29
  175. package/dist/chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-BKrJ_xd8.mjs.map +1 -0
  176. package/dist/chunks/{NcEllipsisedOption-BaL7DZ1K.mjs → NcEllipsisedOption-4k07kvEr.mjs} +6 -5
  177. package/dist/chunks/NcEllipsisedOption-4k07kvEr.mjs.map +1 -0
  178. package/dist/chunks/{NcEmojiPicker-DIv_bq9B.mjs → NcEmojiPicker-CWbez_of.mjs} +74 -54
  179. package/dist/chunks/NcEmojiPicker-CWbez_of.mjs.map +1 -0
  180. package/dist/chunks/{NcEmptyContent-BoGB3vFC.mjs → NcEmptyContent-BQnIrQQn.mjs} +4 -3
  181. package/dist/chunks/NcEmptyContent-BQnIrQQn.mjs.map +1 -0
  182. package/dist/chunks/{NcGuestContent-DVqg5Bq4.mjs → NcGuestContent-iQpV7mLC.mjs} +3 -2
  183. package/dist/chunks/{NcGuestContent-DVqg5Bq4.mjs.map → NcGuestContent-iQpV7mLC.mjs.map} +1 -1
  184. package/dist/chunks/{NcHeaderButton-DagheXHN.mjs → NcHeaderButton-BsstEWtv.mjs} +10 -9
  185. package/dist/chunks/NcHeaderButton-BsstEWtv.mjs.map +1 -0
  186. package/dist/chunks/NcHeaderMenu-ZzoCwPvX.mjs +141 -0
  187. package/dist/chunks/NcHeaderMenu-ZzoCwPvX.mjs.map +1 -0
  188. package/dist/chunks/{NcHighlight-BHtRIzqk.mjs → NcHighlight-Cu4UfEEO.mjs} +11 -7
  189. package/dist/chunks/NcHighlight-Cu4UfEEO.mjs.map +1 -0
  190. package/dist/chunks/{NcIconSvgWrapper-DbL6OP85.mjs → NcIconSvgWrapper-BYTrkA66.mjs} +3 -2
  191. package/dist/chunks/{NcIconSvgWrapper-DbL6OP85.mjs.map → NcIconSvgWrapper-BYTrkA66.mjs.map} +1 -1
  192. package/dist/chunks/{NcInputConfirmCancel-CHdSVEcQ.mjs → NcInputConfirmCancel-CX56m05a.mjs} +21 -20
  193. package/dist/chunks/NcInputConfirmCancel-CX56m05a.mjs.map +1 -0
  194. package/dist/chunks/{NcInputField-BMtTTtl5.mjs → NcInputField-DdZlDVwQ.mjs} +10 -9
  195. package/dist/chunks/NcInputField-DdZlDVwQ.mjs.map +1 -0
  196. package/dist/chunks/{NcListItem-D04-5zRU.mjs → NcListItem-DF8Yv05m.mjs} +6 -5
  197. package/dist/chunks/NcListItem-DF8Yv05m.mjs.map +1 -0
  198. package/dist/chunks/{NcListItemIcon-DcBo1GLm.mjs → NcListItemIcon-nzw_x2Q5.mjs} +8 -9
  199. package/dist/chunks/{NcListItemIcon-DcBo1GLm.mjs.map → NcListItemIcon-nzw_x2Q5.mjs.map} +1 -1
  200. package/dist/chunks/{NcLoadingIcon-DREmHXr2.mjs → NcLoadingIcon-CsMn1bFR.mjs} +3 -2
  201. package/dist/chunks/{NcLoadingIcon-DREmHXr2.mjs.map → NcLoadingIcon-CsMn1bFR.mjs.map} +1 -1
  202. package/dist/chunks/{getAvatarUrl-DxvUjKMi.mjs → NcMentionBubble.vue_vue_type_style_index_0_scoped_6c8d0da9_lang-DYJMHclV.mjs} +2 -0
  203. package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_6c8d0da9_lang-DYJMHclV.mjs.map +1 -0
  204. package/dist/chunks/{NcNoteCard-BwQvZ3pf.mjs → NcNoteCard-XoSOund1.mjs} +3 -2
  205. package/dist/chunks/{NcNoteCard-BwQvZ3pf.mjs.map → NcNoteCard-XoSOund1.mjs.map} +1 -1
  206. package/dist/chunks/{NcPasswordField-OK30bZq8.mjs → NcPasswordField-BnnlEhT1.mjs} +8 -8
  207. package/dist/chunks/NcPasswordField-BnnlEhT1.mjs.map +1 -0
  208. package/dist/chunks/{NcPopover-Cmspgso4.mjs → NcPopover-C3ZoyUjc.mjs} +16 -12
  209. package/dist/chunks/NcPopover-C3ZoyUjc.mjs.map +1 -0
  210. package/dist/chunks/{NcProgressBar-C2r8oqsv.mjs → NcProgressBar-Bx8bMkd4.mjs} +3 -2
  211. package/dist/chunks/{NcProgressBar-C2r8oqsv.mjs.map → NcProgressBar-Bx8bMkd4.mjs.map} +1 -1
  212. package/dist/chunks/{NcRelatedResourcesPanel-DvA5dHwS.mjs → NcRelatedResourcesPanel-D2YLEouH.mjs} +22 -16
  213. package/dist/chunks/NcRelatedResourcesPanel-D2YLEouH.mjs.map +1 -0
  214. package/dist/chunks/{NcRichContenteditable-s2Cz698X.mjs → NcRichContenteditable-B16VJW0Y.mjs} +34 -34
  215. package/dist/chunks/NcRichContenteditable-B16VJW0Y.mjs.map +1 -0
  216. package/dist/chunks/NcRichText-4jIBSmap.mjs +3673 -0
  217. package/dist/chunks/NcRichText-4jIBSmap.mjs.map +1 -0
  218. package/dist/chunks/{NcSavingIndicatorIcon-BiGAtlKQ.mjs → NcSavingIndicatorIcon-icWy8J5x.mjs} +2 -1
  219. package/dist/chunks/{NcSavingIndicatorIcon-BiGAtlKQ.mjs.map → NcSavingIndicatorIcon-icWy8J5x.mjs.map} +1 -1
  220. package/dist/chunks/{NcSelect-J_CQazCj.mjs → NcSelect-CAx_ixPU.mjs} +16 -15
  221. package/dist/chunks/NcSelect-CAx_ixPU.mjs.map +1 -0
  222. package/dist/chunks/{NcSelectTags-BZ22veGg.mjs → NcSelectTags-UXzC7lDz.mjs} +5 -4
  223. package/dist/chunks/{NcSelectTags-BZ22veGg.mjs.map → NcSelectTags-UXzC7lDz.mjs.map} +1 -1
  224. package/dist/chunks/{NcSettingsInputText-Bjw2RqKu.mjs → NcSettingsInputText-BEHu3xAI.mjs} +7 -6
  225. package/dist/chunks/NcSettingsInputText-BEHu3xAI.mjs.map +1 -0
  226. package/dist/chunks/{NcSettingsSection-MATJGEoF.mjs → NcSettingsSection-X7f0W7vZ.mjs} +5 -4
  227. package/dist/chunks/{NcSettingsSection-MATJGEoF.mjs.map → NcSettingsSection-X7f0W7vZ.mjs.map} +1 -1
  228. package/dist/chunks/{NcSettingsSelectGroup-iglfU6Rr.mjs → NcSettingsSelectGroup-DfrKchOy.mjs} +9 -8
  229. package/dist/chunks/NcSettingsSelectGroup-DfrKchOy.mjs.map +1 -0
  230. package/dist/chunks/{NcTextArea-D_kk5GuX.mjs → NcTextArea-DKHjCur8.mjs} +8 -7
  231. package/dist/chunks/NcTextArea-DKHjCur8.mjs.map +1 -0
  232. package/dist/chunks/{NcTextField-XbpY0pop.mjs → NcTextField-BTzKCPza.mjs} +8 -7
  233. package/dist/chunks/{NcTextField-XbpY0pop.mjs.map → NcTextField-BTzKCPza.mjs.map} +1 -1
  234. package/dist/chunks/{NcTimezonePicker-CMpvPeCI.mjs → NcTimezonePicker-CMoUk4sZ.mjs} +9 -8
  235. package/dist/chunks/NcTimezonePicker-CMoUk4sZ.mjs.map +1 -0
  236. package/dist/chunks/{NcUserBubble-DJFSxKtO.mjs → NcUserBubble-Dgzog0Ps.mjs} +7 -6
  237. package/dist/chunks/{NcUserBubble-DJFSxKtO.mjs.map → NcUserBubble-Dgzog0Ps.mjs.map} +1 -1
  238. package/dist/chunks/{NcUserStatusIcon-DjoGxkTB.mjs → NcUserStatusIcon-DvYiEs2L.mjs} +5 -3
  239. package/dist/chunks/{NcUserStatusIcon-DjoGxkTB.mjs.map → NcUserStatusIcon-DvYiEs2L.mjs.map} +1 -1
  240. package/dist/chunks/{ScopeComponent-77f9B57X.mjs → ScopeComponent-BWZEma4R.mjs} +2 -1
  241. package/dist/chunks/{ScopeComponent-77f9B57X.mjs.map → ScopeComponent-BWZEma4R.mjs.map} +1 -1
  242. package/dist/chunks/_l10n-7kR7gXFc.mjs +132 -0
  243. package/dist/chunks/_l10n-7kR7gXFc.mjs.map +1 -0
  244. package/dist/chunks/_plugin-vue_export-helper-1tPrXgE0.mjs +1 -0
  245. package/dist/chunks/actionGlobal-BZFdtdJL.mjs +1 -0
  246. package/dist/chunks/actionGlobal-BZFdtdJL.mjs.map +1 -1
  247. package/dist/chunks/{actionText-aI0owku1.mjs → actionText-BiV1_BZX.mjs} +8 -13
  248. package/dist/chunks/actionText-BiV1_BZX.mjs.map +1 -0
  249. package/dist/chunks/autolink-CKPk5rzg.mjs +1 -0
  250. package/dist/chunks/autolink-CKPk5rzg.mjs.map +1 -1
  251. package/dist/chunks/{GenColors-Cw7N7vRg.mjs → colors-BJbWzaQ-.mjs} +28 -22
  252. package/dist/chunks/colors-BJbWzaQ-.mjs.map +1 -0
  253. package/dist/chunks/createElementId-DhjFt1I9.mjs +8 -0
  254. package/dist/chunks/createElementId-DhjFt1I9.mjs.map +1 -0
  255. package/dist/chunks/emoji-BY_D0V5K.mjs +1 -0
  256. package/dist/chunks/emoji-BY_D0V5K.mjs.map +1 -1
  257. package/dist/chunks/focusTrap-DmkaYJTC.mjs +32 -0
  258. package/dist/chunks/focusTrap-DmkaYJTC.mjs.map +1 -0
  259. package/dist/chunks/{index-CtB0UiwH.mjs → index--u6iHwFv.mjs} +7 -9
  260. package/dist/chunks/index--u6iHwFv.mjs.map +1 -0
  261. package/dist/chunks/{index-CrKUsc__.mjs → index-BF8joS9W.mjs} +3 -2
  262. package/dist/chunks/{index-CrKUsc__.mjs.map → index-BF8joS9W.mjs.map} +1 -1
  263. package/dist/chunks/logger-D3RVzcfQ.mjs +6 -0
  264. package/dist/chunks/logger-D3RVzcfQ.mjs.map +1 -0
  265. package/dist/chunks/mdi-zYpVOORa.mjs +17 -0
  266. package/dist/chunks/mdi-zYpVOORa.mjs.map +1 -0
  267. package/dist/chunks/{referencePickerModal-DPmXigHR.mjs → referencePickerModal-BpNnwC_g.mjs} +25 -25
  268. package/dist/chunks/referencePickerModal-BpNnwC_g.mjs.map +1 -0
  269. package/dist/chunks/rtl-v0UOPAM7.mjs +6 -0
  270. package/dist/chunks/rtl-v0UOPAM7.mjs.map +1 -0
  271. package/dist/chunks/{NcDateTime-BsCT_tyH.mjs → useFormatDateTime-B5sWtJdj.mjs} +3 -63
  272. package/dist/chunks/useFormatDateTime-B5sWtJdj.mjs.map +1 -0
  273. package/dist/chunks/useNcActions-CiGWxAJE.mjs +7 -0
  274. package/dist/chunks/useNcActions-CiGWxAJE.mjs.map +1 -0
  275. package/dist/chunks/useTrapStackControl-b3A_383w.mjs +23 -0
  276. package/dist/chunks/useTrapStackControl-b3A_383w.mjs.map +1 -0
  277. package/dist/chunks/usernameToColor-CzXWY0j4.mjs +22 -0
  278. package/dist/chunks/usernameToColor-CzXWY0j4.mjs.map +1 -0
  279. package/dist/components/NcActionButton/NcActionButton.vue.d.ts +6 -1
  280. package/dist/components/NcActionButton/index.mjs +2 -1
  281. package/dist/components/NcActionButtonGroup/index.mjs +2 -1
  282. package/dist/components/NcActionCaption/index.mjs +2 -1
  283. package/dist/components/NcActionCheckbox/index.mjs +2 -1
  284. package/dist/components/NcActionInput/index.mjs +2 -1
  285. package/dist/components/NcActionLink/index.mjs +2 -1
  286. package/dist/components/NcActionRadio/NcActionRadio.vue.d.ts +10 -8
  287. package/dist/components/NcActionRadio/index.mjs +2 -1
  288. package/dist/components/NcActionRouter/NcActionRouter.vue.d.ts +5 -0
  289. package/dist/components/NcActionRouter/index.mjs +2 -1
  290. package/dist/components/NcActionSeparator/index.mjs +2 -1
  291. package/dist/components/NcActionText/NcActionText.vue.d.ts +5 -0
  292. package/dist/components/NcActionText/index.mjs +2 -1
  293. package/dist/components/NcActionTextEditable/NcActionTextEditable.vue.d.ts +9 -1
  294. package/dist/components/NcActionTextEditable/index.mjs +2 -1
  295. package/dist/components/NcActions/NcActions.vue.d.ts +52 -59
  296. package/dist/components/NcActions/index.mjs +2 -1
  297. package/dist/components/NcActions/useNcActions.d.ts +3 -0
  298. package/dist/components/NcAppContent/index.mjs +2 -1
  299. package/dist/components/NcAppContentDetails/index.mjs +2 -1
  300. package/dist/components/NcAppContentList/index.mjs +2 -1
  301. package/dist/components/NcAppNavigation/NcAppNavigation.vue.d.ts +23 -22
  302. package/dist/components/NcAppNavigation/index.mjs +2 -1
  303. package/dist/components/NcAppNavigationCaption/NcAppNavigationCaption.vue.d.ts +34 -33
  304. package/dist/components/NcAppNavigationCaption/index.mjs +2 -1
  305. package/dist/components/NcAppNavigationIconBullet/index.mjs +2 -1
  306. package/dist/components/NcAppNavigationItem/NcAppNavigationIconCollapsible.vue.d.ts +16 -15
  307. package/dist/components/NcAppNavigationItem/NcAppNavigationItem.vue.d.ts +96 -88
  308. package/dist/components/NcAppNavigationItem/NcInputConfirmCancel.vue.d.ts +25 -24
  309. package/dist/components/NcAppNavigationItem/index.mjs +2 -1
  310. package/dist/components/NcAppNavigationList/index.mjs +2 -1
  311. package/dist/components/NcAppNavigationNew/NcAppNavigationNew.vue.d.ts +27 -18
  312. package/dist/components/NcAppNavigationNew/index.mjs +2 -1
  313. package/dist/components/NcAppNavigationNewItem/NcAppNavigationNewItem.vue.d.ts +18 -17
  314. package/dist/components/NcAppNavigationNewItem/index.mjs +2 -1
  315. package/dist/components/NcAppNavigationSearch/NcAppNavigationSearch.vue.d.ts +16 -15
  316. package/dist/components/NcAppNavigationSearch/index.mjs +2 -1
  317. package/dist/components/NcAppNavigationSettings/NcAppNavigationSettings.vue.d.ts +49 -0
  318. package/dist/components/NcAppNavigationSettings/index.mjs +2 -1
  319. package/dist/components/NcAppNavigationSpacer/index.mjs +2 -1
  320. package/dist/components/NcAppNavigationToggle/NcAppNavigationToggle.vue.d.ts +16 -15
  321. package/dist/components/NcAppNavigationToggle/index.mjs +2 -1
  322. package/dist/components/NcAppSettingsDialog/index.mjs +2 -1
  323. package/dist/components/NcAppSettingsSection/index.mjs +2 -1
  324. package/dist/components/NcAppSidebar/index.mjs +2 -1
  325. package/dist/components/NcAppSidebarTab/index.mjs +2 -1
  326. package/dist/components/NcAvatar/index.mjs +2 -1
  327. package/dist/components/NcBlurHash/NcBlurHash.vue.d.ts +31 -0
  328. package/dist/components/NcBlurHash/index.d.ts +5 -0
  329. package/dist/components/NcBlurHash/index.mjs +5 -0
  330. package/dist/components/NcBlurHash/index.mjs.map +1 -0
  331. package/dist/components/NcBreadcrumb/NcBreadcrumb.vue.d.ts +70 -67
  332. package/dist/components/NcBreadcrumb/index.mjs +2 -1
  333. package/dist/components/NcBreadcrumbs/NcBreadcrumbs.vue.d.ts +98 -84
  334. package/dist/components/NcBreadcrumbs/index.mjs +2 -1
  335. package/dist/components/NcButton/NcButton.vue.d.ts +42 -38
  336. package/dist/components/NcButton/index.mjs +4 -3
  337. package/dist/components/NcButton/types.d.ts +2 -2
  338. package/dist/components/NcCheckboxRadioSwitch/index.mjs +2 -1
  339. package/dist/components/NcChip/NcChip.vue.d.ts +57 -92
  340. package/dist/components/NcChip/index.mjs +2 -1
  341. package/dist/components/NcCollectionList/index.mjs +2 -1
  342. package/dist/components/NcColorPicker/index.mjs +2 -1
  343. package/dist/components/NcContent/NcContent.vue.d.ts +17 -16
  344. package/dist/components/NcContent/index.mjs +2 -1
  345. package/dist/components/NcCounterBubble/index.mjs +2 -1
  346. package/dist/components/NcDashboardWidget/index.mjs +2 -1
  347. package/dist/components/NcDashboardWidgetItem/index.mjs +2 -1
  348. package/dist/components/NcDateTime/NcDateTime.vue.d.ts +56 -1
  349. package/dist/components/NcDateTime/index.d.ts +4 -0
  350. package/dist/components/NcDateTime/index.mjs +3 -2
  351. package/dist/components/NcDateTimePicker/NcDateTimePicker.vue.d.ts +116 -1
  352. package/dist/components/NcDateTimePicker/index.d.ts +4 -0
  353. package/dist/components/NcDateTimePicker/index.mjs +2 -1
  354. package/dist/components/NcDateTimePickerNative/index.mjs +2 -1
  355. package/dist/components/NcDialog/NcDialog.vue.d.ts +60 -55
  356. package/dist/components/NcDialog/index.mjs +2 -1
  357. package/dist/components/NcDialogButton/NcDialogButton.vue.d.ts +43 -35
  358. package/dist/components/NcDialogButton/index.mjs +2 -1
  359. package/dist/components/NcEllipsisedOption/index.mjs +2 -1
  360. package/dist/components/NcEmojiPicker/NcEmojiPicker.vue.d.ts +45 -32
  361. package/dist/components/NcEmojiPicker/index.mjs +2 -1
  362. package/dist/components/NcEmptyContent/index.mjs +2 -1
  363. package/dist/components/NcGuestContent/index.mjs +2 -1
  364. package/dist/components/NcHeaderButton/index.mjs +2 -1
  365. package/dist/components/NcHeaderMenu/NcHeaderMenu.vue.d.ts +245 -0
  366. package/dist/components/NcHeaderMenu/index.mjs +2 -1
  367. package/dist/components/NcHighlight/index.mjs +2 -1
  368. package/dist/components/NcIconSvgWrapper/index.mjs +2 -1
  369. package/dist/components/NcInputField/NcInputField.vue.d.ts +16 -15
  370. package/dist/components/NcInputField/index.mjs +2 -1
  371. package/dist/components/NcListItem/NcListItem.vue.d.ts +34 -33
  372. package/dist/components/NcListItem/index.mjs +2 -1
  373. package/dist/components/NcListItemIcon/index.mjs +2 -1
  374. package/dist/components/NcLoadingIcon/index.mjs +2 -1
  375. package/dist/components/NcModal/index.mjs +42 -39
  376. package/dist/components/NcModal/index.mjs.map +1 -1
  377. package/dist/components/NcNoteCard/index.mjs +2 -1
  378. package/dist/components/NcPasswordField/index.mjs +2 -1
  379. package/dist/components/NcPopover/NcPopover.vue.d.ts +2 -0
  380. package/dist/components/NcPopover/index.mjs +2 -1
  381. package/dist/components/NcProgressBar/index.mjs +2 -1
  382. package/dist/components/NcRelatedResourcesPanel/NcRelatedResourcesPanel.vue.d.ts +32 -30
  383. package/dist/components/NcRelatedResourcesPanel/NcResource.vue.d.ts +16 -15
  384. package/dist/components/NcRelatedResourcesPanel/NcTeamResources.vue.d.ts +16 -15
  385. package/dist/components/NcRelatedResourcesPanel/index.mjs +2 -1
  386. package/dist/components/NcRichContenteditable/index.mjs +3 -2
  387. package/dist/components/NcRichText/NcReferenceList.vue.d.ts +17 -16
  388. package/dist/components/NcRichText/NcReferencePicker/NcRawLinkInput.vue.d.ts +33 -31
  389. package/dist/components/NcRichText/NcReferencePicker/utils.d.ts +1 -1
  390. package/dist/components/NcRichText/NcReferenceWidget.vue.d.ts +17 -16
  391. package/dist/components/NcRichText/NcRichText.vue.d.ts +19 -61
  392. package/dist/components/NcRichText/index.mjs +5 -4
  393. package/dist/components/NcRichText/remarkUnescape.d.ts +1 -0
  394. package/dist/components/NcSavingIndicatorIcon/index.mjs +2 -1
  395. package/dist/components/NcSelect/index.mjs +2 -1
  396. package/dist/components/NcSelectTags/index.mjs +2 -1
  397. package/dist/components/NcSettingsInputText/index.mjs +2 -1
  398. package/dist/components/NcSettingsSection/index.mjs +2 -1
  399. package/dist/components/NcSettingsSelectGroup/index.mjs +2 -1
  400. package/dist/components/NcTextArea/index.mjs +2 -1
  401. package/dist/components/NcTextField/NcTextField.vue.d.ts +16 -15
  402. package/dist/components/NcTextField/index.mjs +2 -1
  403. package/dist/components/NcTimezonePicker/index.mjs +2 -1
  404. package/dist/components/NcUserBubble/index.mjs +2 -1
  405. package/dist/components/NcUserStatusIcon/index.mjs +2 -1
  406. package/dist/components/NcVNodes/index.mjs +1 -0
  407. package/dist/components/NcVNodes/index.mjs.map +1 -1
  408. package/dist/components/index.d.ts +1 -0
  409. package/dist/composables/index.d.ts +7 -3
  410. package/dist/composables/useHotKey/index.d.ts +32 -4
  411. package/dist/composables/useHotKey/index.mjs +23 -20
  412. package/dist/composables/useHotKey/index.mjs.map +1 -1
  413. package/dist/composables/useIsDarkTheme/index.mjs +1 -0
  414. package/dist/composables/useIsDarkTheme/index.mjs.map +1 -1
  415. package/dist/composables/useIsFullscreen/index.d.ts +3 -4
  416. package/dist/composables/useIsFullscreen/index.mjs +4 -1
  417. package/dist/composables/useIsFullscreen/index.mjs.map +1 -1
  418. package/dist/composables/useIsMobile/index.d.ts +9 -14
  419. package/dist/composables/useIsMobile/index.mjs +1 -2
  420. package/dist/composables/useIsMobile/index.mjs.map +1 -1
  421. package/dist/composables/useTrapStackControl.d.ts +12 -0
  422. package/dist/directives/Focus/index.mjs +1 -0
  423. package/dist/directives/Focus/index.mjs.map +1 -1
  424. package/dist/directives/Linkify/index.d.ts +2 -1
  425. package/dist/directives/Linkify/index.mjs +44 -6
  426. package/dist/directives/Linkify/index.mjs.map +1 -1
  427. package/dist/directives/Tooltip/index.mjs +2 -1
  428. package/dist/directives/Tooltip/index.mjs.map +1 -1
  429. package/dist/directives/index.d.ts +1 -1
  430. package/dist/functions/a11y/index.mjs +1 -0
  431. package/dist/functions/a11y/index.mjs.map +1 -1
  432. package/dist/functions/dialog/index.mjs +1 -0
  433. package/dist/functions/dialog/index.mjs.map +1 -1
  434. package/dist/functions/emoji/index.mjs +1 -0
  435. package/dist/functions/index.d.ts +2 -1
  436. package/dist/functions/isDarkTheme/index.mjs +1 -0
  437. package/dist/functions/isDarkTheme/index.mjs.map +1 -1
  438. package/dist/functions/preloadImage/index.d.ts +9 -0
  439. package/dist/functions/preloadImage/index.mjs +17 -0
  440. package/dist/functions/preloadImage/index.mjs.map +1 -0
  441. package/dist/functions/reference/index.mjs +3 -2
  442. package/dist/functions/reference/widgets.d.ts +1 -1
  443. package/dist/functions/registerReference/index.mjs +3 -2
  444. package/dist/functions/usernameToColor/index.d.ts +5 -1
  445. package/dist/functions/usernameToColor/index.mjs +2 -1
  446. package/dist/functions/usernameToColor/usernameToColor.d.ts +4 -9
  447. package/dist/index.mjs +104 -101
  448. package/dist/index.mjs.map +1 -1
  449. package/dist/mixins/actionText.d.ts +6 -0
  450. package/dist/mixins/index.d.ts +0 -1
  451. package/dist/mixins/richEditor/index.mjs +2 -2
  452. package/dist/mixins/richEditor/index.mjs.map +1 -1
  453. package/dist/utils/appName.d.ts +5 -0
  454. package/dist/utils/colors.d.ts +34 -0
  455. package/dist/utils/createElementId.d.ts +7 -0
  456. package/dist/utils/findRanges.d.ts +16 -0
  457. package/dist/utils/focusTrap.d.ts +26 -1
  458. package/dist/utils/isSlotPopulated.d.ts +1 -2
  459. package/dist/utils/linkify.d.ts +8 -0
  460. package/dist/utils/logger.d.ts +4 -0
  461. package/dist/utils/rtl.d.ts +5 -0
  462. package/dist/vendor.LICENSE.txt +128 -0
  463. package/package.json +70 -57
  464. package/dist/assets/NcAppNavigationSettings-CZNoJ2IO.css +0 -77
  465. package/dist/assets/NcDateTimePicker-D67l0SAR.css +0 -865
  466. package/dist/assets/NcDateTimePickerNative-DLch-JRA.css +0 -47
  467. package/dist/assets/NcRichText-C_CIawDX.css +0 -412
  468. package/dist/chunks/GenColors-Cw7N7vRg.mjs.map +0 -1
  469. package/dist/chunks/GenRandomId-CMooMQt0.mjs +0 -6
  470. package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +0 -1
  471. package/dist/chunks/Linkify-BtgR-dXX.mjs +0 -14
  472. package/dist/chunks/Linkify-BtgR-dXX.mjs.map +0 -1
  473. package/dist/chunks/NcActionButtonGroup-DtHcJpaH.mjs.map +0 -1
  474. package/dist/chunks/NcActionCaption-BeVuTBKE.mjs.map +0 -1
  475. package/dist/chunks/NcActionCheckbox-DdLcVat_.mjs.map +0 -1
  476. package/dist/chunks/NcActionInput-CxPmTwTo.mjs.map +0 -1
  477. package/dist/chunks/NcActionLink-9TfevQgn.mjs.map +0 -1
  478. package/dist/chunks/NcActionRadio-CV0AtyQD.mjs.map +0 -1
  479. package/dist/chunks/NcActionRouter-RKft3XO3.mjs.map +0 -1
  480. package/dist/chunks/NcActionText-ChktUmp9.mjs.map +0 -1
  481. package/dist/chunks/NcActionTextEditable-D3Iix8Je.mjs.map +0 -1
  482. package/dist/chunks/NcActions-BJ703bdY.mjs.map +0 -1
  483. package/dist/chunks/NcAppContent-DcqJmTNj.mjs.map +0 -1
  484. package/dist/chunks/NcAppNavigationItem-Ba6kwsU9.mjs.map +0 -1
  485. package/dist/chunks/NcAppNavigationNew-D2aD0z-u.mjs.map +0 -1
  486. package/dist/chunks/NcAppNavigationSearch-pTeRzg7y.mjs.map +0 -1
  487. package/dist/chunks/NcAppNavigationSettings-Bc4ZZ9rU.mjs +0 -142
  488. package/dist/chunks/NcAppNavigationSettings-Bc4ZZ9rU.mjs.map +0 -1
  489. package/dist/chunks/NcAppNavigationToggle-CEun9mHr.mjs.map +0 -1
  490. package/dist/chunks/NcAppSidebar-C0VSug_j.mjs.map +0 -1
  491. package/dist/chunks/NcAvatar-CB2n3G0J.mjs.map +0 -1
  492. package/dist/chunks/NcBreadcrumb-ChOkGtT6.mjs.map +0 -1
  493. package/dist/chunks/NcBreadcrumbs-CcWv0nYL.mjs.map +0 -1
  494. package/dist/chunks/NcButton-C3eisBbK.mjs.map +0 -1
  495. package/dist/chunks/NcCheckboxRadioSwitch-Zndby-mL.mjs.map +0 -1
  496. package/dist/chunks/NcChip-DxejjHGT.mjs.map +0 -1
  497. package/dist/chunks/NcCollectionList-DckB8BUh.mjs.map +0 -1
  498. package/dist/chunks/NcColorPicker-Bh4f-X_s.mjs.map +0 -1
  499. package/dist/chunks/NcDateTime-BsCT_tyH.mjs.map +0 -1
  500. package/dist/chunks/NcDateTimePicker-BMkjvfOV.mjs +0 -377
  501. package/dist/chunks/NcDateTimePicker-BMkjvfOV.mjs.map +0 -1
  502. package/dist/chunks/NcDateTimePickerNative-I2YJ1mqx.mjs.map +0 -1
  503. package/dist/chunks/NcDialog-bRHxABY1.mjs.map +0 -1
  504. package/dist/chunks/NcDialogButton.vue_vue_type_script_setup_true_lang-CBKNl2vE.mjs.map +0 -1
  505. package/dist/chunks/NcEllipsisedOption-BaL7DZ1K.mjs.map +0 -1
  506. package/dist/chunks/NcEmojiPicker-DIv_bq9B.mjs.map +0 -1
  507. package/dist/chunks/NcEmptyContent-BoGB3vFC.mjs.map +0 -1
  508. package/dist/chunks/NcHeaderButton-DagheXHN.mjs.map +0 -1
  509. package/dist/chunks/NcHeaderMenu-DWrnJYhw.mjs +0 -260
  510. package/dist/chunks/NcHeaderMenu-DWrnJYhw.mjs.map +0 -1
  511. package/dist/chunks/NcHighlight-BHtRIzqk.mjs.map +0 -1
  512. package/dist/chunks/NcInputConfirmCancel-CHdSVEcQ.mjs.map +0 -1
  513. package/dist/chunks/NcInputField-BMtTTtl5.mjs.map +0 -1
  514. package/dist/chunks/NcListItem-D04-5zRU.mjs.map +0 -1
  515. package/dist/chunks/NcPasswordField-OK30bZq8.mjs.map +0 -1
  516. package/dist/chunks/NcPopover-Cmspgso4.mjs.map +0 -1
  517. package/dist/chunks/NcRelatedResourcesPanel-DvA5dHwS.mjs.map +0 -1
  518. package/dist/chunks/NcRichContenteditable-s2Cz698X.mjs.map +0 -1
  519. package/dist/chunks/NcRichText-DeQGaF-c.mjs +0 -445
  520. package/dist/chunks/NcRichText-DeQGaF-c.mjs.map +0 -1
  521. package/dist/chunks/NcSelect-J_CQazCj.mjs.map +0 -1
  522. package/dist/chunks/NcSettingsInputText-Bjw2RqKu.mjs.map +0 -1
  523. package/dist/chunks/NcSettingsSelectGroup-iglfU6Rr.mjs.map +0 -1
  524. package/dist/chunks/NcTextArea-D_kk5GuX.mjs.map +0 -1
  525. package/dist/chunks/NcTimezonePicker-CMpvPeCI.mjs.map +0 -1
  526. package/dist/chunks/_l10n-D7WwrqS-.mjs +0 -126
  527. package/dist/chunks/_l10n-D7WwrqS-.mjs.map +0 -1
  528. package/dist/chunks/actionText-aI0owku1.mjs.map +0 -1
  529. package/dist/chunks/focusTrap-Cecv_gjR.mjs +0 -7
  530. package/dist/chunks/focusTrap-Cecv_gjR.mjs.map +0 -1
  531. package/dist/chunks/getAvatarUrl-DxvUjKMi.mjs.map +0 -1
  532. package/dist/chunks/index-CtB0UiwH.mjs.map +0 -1
  533. package/dist/chunks/referencePickerModal-DPmXigHR.mjs.map +0 -1
  534. package/dist/chunks/usernameToColor-CgZYBI2J.mjs +0 -26
  535. package/dist/chunks/usernameToColor-CgZYBI2J.mjs.map +0 -1
  536. package/dist/mixins/clickOutsideOptions/index.d.ts +0 -15
  537. package/dist/mixins/clickOutsideOptions/index.mjs +0 -21
  538. package/dist/mixins/clickOutsideOptions/index.mjs.map +0 -1
  539. package/dist/utils/FindRanges.d.ts +0 -13
  540. package/dist/utils/GenColors.d.ts +0 -28
  541. package/dist/utils/GenRandomId.d.ts +0 -6
  542. package/dist/utils/GetChildren.d.ts +0 -13
  543. package/dist/utils/GetParent.d.ts +0 -13
  544. package/dist/utils/Linkify.d.ts +0 -8
  545. /package/dist/assets/{NcActionButtonGroup-CQxLn2fv.css → NcActionButtonGroup-BND4GQdv.css} +0 -0
  546. /package/dist/assets/{NcActionSeparator-CEbb5P6P.css → NcActionSeparator-Ct2RnclR.css} +0 -0
  547. /package/dist/assets/{NcAppNavigationIconBullet-By_0o2dG.css → NcAppNavigationIconBullet-CeBYVy6t.css} +0 -0
  548. /package/dist/assets/{NcAppNavigationList-BHK_PY3c.css → NcAppNavigationList-CLLHyHIn.css} +0 -0
  549. /package/dist/assets/{NcAppNavigationSpacer-DiE3sVy0.css → NcAppNavigationSpacer-BJj8CIpA.css} +0 -0
  550. /package/dist/assets/{NcAppSettingsSection-Y3DmEyQ2.css → NcAppSettingsSection-DnDcGk1v.css} +0 -0
  551. /package/dist/assets/{NcAppSidebarTab-Cp0hG2NU.css → NcAppSidebarTab-BFy7uyWe.css} +0 -0
  552. /package/dist/assets/{NcCounterBubble-BfI32Juo.css → NcCounterBubble-DWgyYB0d.css} +0 -0
  553. /package/dist/assets/{NcDashboardWidgetItem-CCjoWolF.css → NcDashboardWidgetItem-B8_6-_k8.css} +0 -0
  554. /package/dist/assets/{NcGuestContent-Dh5z5Dgm.css → NcGuestContent-C9lbC3vg.css} +0 -0
  555. /package/dist/assets/{NcIconSvgWrapper-CtTf2c7f.css → NcIconSvgWrapper-DQFhmjCC.css} +0 -0
  556. /package/dist/assets/{NcLoadingIcon-BSONDy7x.css → NcLoadingIcon-x1d284UU.css} +0 -0
  557. /package/dist/assets/{NcNoteCard-CImn6F9p.css → NcNoteCard-C6xb7vi0.css} +0 -0
  558. /package/dist/assets/{NcProgressBar-BsqdCn-x.css → NcProgressBar--z-WqmX4.css} +0 -0
  559. /package/dist/assets/{NcSettingsSection-DXQyhMdq.css → NcSettingsSection-Dyrgo_fF.css} +0 -0
  560. /package/dist/assets/{NcUserStatusIcon-FLA1tQpD.css → NcUserStatusIcon-Du-BEPk_.css} +0 -0
  561. /package/dist/assets/{index-4CSl8xev.css → index-DQ4Plm4r.css} +0 -0
@@ -1,445 +0,0 @@
1
- import '../assets/NcRichText-C_CIawDX.css';
2
- import { N as NcReferenceWidget } from "./referencePickerModal-DPmXigHR.mjs";
3
- import { U as URL_PATTERN, p as parseUrl, r as remarkAutolink, g as getRoute } from "./autolink-CKPk5rzg.mjs";
4
- import axios from "@nextcloud/axios";
5
- import { getSharingToken } from "@nextcloud/sharing/public";
6
- import { getCurrentUser } from "@nextcloud/auth";
7
- import { generateOcsUrl } from "@nextcloud/router";
8
- import { resolveComponent, openBlock, createElementBlock, normalizeClass, Fragment, renderList, createBlock, createCommentVNode, ref, h } from "vue";
9
- import { _ as _export_sfc } from "./_plugin-vue_export-helper-1tPrXgE0.mjs";
10
- import { N as NcCheckboxRadioSwitch } from "./NcCheckboxRadioSwitch-Zndby-mL.mjs";
11
- import { N as NcLoadingIcon } from "./NcLoadingIcon-DREmHXr2.mjs";
12
- import { u } from "unist-builder";
13
- import { visit } from "unist-util-visit";
14
- import { G as GenRandomId } from "./GenRandomId-CMooMQt0.mjs";
15
- import { unified } from "unified";
16
- import remarkParse from "remark-parse";
17
- import breaks from "remark-breaks";
18
- import remark2rehype from "remark-rehype";
19
- import rehype2react from "rehype-react";
20
- import rehypeExternalLinks from "rehype-external-links";
21
- import { RouterLink } from "vue-router";
22
- const _sfc_main$1 = {
23
- name: "NcReferenceList",
24
- components: {
25
- NcReferenceWidget
26
- },
27
- props: {
28
- text: {
29
- type: String,
30
- default: ""
31
- },
32
- referenceData: {
33
- type: Object,
34
- default: null
35
- },
36
- limit: {
37
- type: Number,
38
- default: 1
39
- },
40
- displayFallback: {
41
- type: Boolean,
42
- default: false
43
- },
44
- interactive: {
45
- type: Boolean,
46
- default: true
47
- },
48
- interactiveOptIn: {
49
- type: Boolean,
50
- default: false
51
- }
52
- },
53
- emits: ["loaded"],
54
- data() {
55
- return {
56
- references: null,
57
- loading: true
58
- };
59
- },
60
- computed: {
61
- isVisible() {
62
- return this.loading || this.displayedReferences.length !== 0;
63
- },
64
- values() {
65
- if (this.referenceData) {
66
- return this.referenceData;
67
- }
68
- if (this.displayFallback && !this.loading && !this.references) {
69
- return [this.fallbackReference];
70
- }
71
- return this.references ? Object.values(this.references) : [];
72
- },
73
- firstReference() {
74
- return this.values[0] ?? null;
75
- },
76
- displayedReferences() {
77
- return this.values.slice(0, this.limit);
78
- },
79
- fallbackReference() {
80
- return {
81
- accessible: true,
82
- openGraphObject: {
83
- id: this.text,
84
- link: this.text,
85
- name: this.text
86
- },
87
- richObjectType: "open-graph"
88
- };
89
- }
90
- },
91
- watch: {
92
- text: "fetch"
93
- },
94
- mounted() {
95
- this.fetch();
96
- },
97
- methods: {
98
- fetch() {
99
- this.loading = true;
100
- if (this.referenceData) {
101
- this.references = null;
102
- this.loading = false;
103
- return;
104
- }
105
- if (!new RegExp(URL_PATTERN).exec(this.text)) {
106
- this.references = null;
107
- this.loading = false;
108
- return;
109
- }
110
- this.resolve().then((response) => {
111
- this.references = response.data.ocs.data.references;
112
- this.loading = false;
113
- this.$emit("loaded");
114
- }).catch((error) => {
115
- console.error("Failed to extract references", error);
116
- this.loading = false;
117
- this.$emit("loaded");
118
- });
119
- },
120
- resolve() {
121
- const match = new RegExp(URL_PATTERN).exec(this.text.trim());
122
- const isPublic = getCurrentUser() === null;
123
- if (this.limit === 1 && match) {
124
- return isPublic ? axios.get(generateOcsUrl("references/resolvePublic") + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`) : axios.get(generateOcsUrl("references/resolve") + `?reference=${encodeURIComponent(match[0])}`);
125
- }
126
- return isPublic ? axios.post(generateOcsUrl("references/extractPublic"), {
127
- text: this.text,
128
- resolve: true,
129
- limit: this.limit,
130
- sharingToken: getSharingToken()
131
- }) : axios.post(generateOcsUrl("references/extract"), {
132
- text: this.text,
133
- resolve: true,
134
- limit: this.limit
135
- });
136
- }
137
- }
138
- };
139
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
140
- const _component_NcReferenceWidget = resolveComponent("NcReferenceWidget");
141
- return $options.isVisible ? (openBlock(), createElementBlock("div", {
142
- key: 0,
143
- class: normalizeClass(["widgets--list", { "icon-loading": $data.loading }])
144
- }, [
145
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.displayedReferences, (reference) => {
146
- return openBlock(), createBlock(_component_NcReferenceWidget, {
147
- key: reference?.openGraphObject?.id,
148
- reference,
149
- interactive: $props.interactive,
150
- "interactive-opt-in": $props.interactiveOptIn
151
- }, null, 8, ["reference", "interactive", "interactive-opt-in"]);
152
- }), 128))
153
- ], 2)) : createCommentVNode("", true);
154
- }
155
- const NcReferenceList = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render], ["__scopeId", "data-v-8d575d2d"]]);
156
- const remarkPlaceholder = function() {
157
- return function(ast) {
158
- visit(ast, (node) => node.type === "text", visitor);
159
- function visitor(node, index, parent) {
160
- const placeholders = node.value.split(/(\{[a-z\-_.0-9]+\})/ig).map((entry, index2, list) => {
161
- const matches = entry.match(/^\{([a-z\-_.0-9]+)\}$/i);
162
- if (!matches) {
163
- return u("text", entry);
164
- }
165
- const [, component] = matches;
166
- return u("element", {
167
- tagName: `#${component}`,
168
- children: []
169
- });
170
- });
171
- parent.children.splice(index, 1, ...placeholders);
172
- }
173
- };
174
- };
175
- const prepareTextNode = ({ h: h2, context }, text) => {
176
- if (context.autolink) {
177
- text = parseUrl(text);
178
- }
179
- if (Array.isArray(text)) {
180
- return text.map((entry) => {
181
- if (typeof entry === "string") {
182
- return entry;
183
- }
184
- const { component, props } = entry;
185
- const componentClass = component.name === "NcLink" ? void 0 : "rich-text--component";
186
- return h2(component, {
187
- ...props,
188
- class: componentClass
189
- });
190
- });
191
- }
192
- return text;
193
- };
194
- const remarkGfm = ref(null);
195
- async function importRemarkGfmLibrary() {
196
- const module = await import("remark-gfm");
197
- remarkGfm.value = module.default;
198
- }
199
- const rehypeHighlight = ref(null);
200
- async function importRehypeHighlightLibrary() {
201
- const module = await import("rehype-highlight");
202
- rehypeHighlight.value = module.default;
203
- }
204
- const _sfc_main = {
205
- name: "NcRichText",
206
- components: {
207
- NcReferenceList
208
- },
209
- props: {
210
- text: {
211
- type: String,
212
- default: ""
213
- },
214
- arguments: {
215
- type: Object,
216
- default: () => {
217
- return {};
218
- }
219
- },
220
- referenceLimit: {
221
- type: Number,
222
- default: 0
223
- },
224
- referenceInteractive: {
225
- type: Boolean,
226
- default: true
227
- },
228
- referenceInteractiveOptIn: {
229
- type: Boolean,
230
- default: false
231
- },
232
- /** Provide data upfront to avoid extra http request */
233
- references: {
234
- type: Object,
235
- default: null
236
- },
237
- markdownCssClasses: {
238
- type: Object,
239
- default: () => {
240
- return {
241
- a: "rich-text--external-link",
242
- ol: "rich-text--ordered-list",
243
- ul: "rich-text--un-ordered-list",
244
- li: "rich-text--list-item",
245
- strong: "rich-text--strong",
246
- em: "rich-text--italic",
247
- h1: "rich-text--heading rich-text--heading-1",
248
- h2: "rich-text--heading rich-text--heading-2",
249
- h3: "rich-text--heading rich-text--heading-3",
250
- h4: "rich-text--heading rich-text--heading-4",
251
- h5: "rich-text--heading rich-text--heading-5",
252
- h6: "rich-text--heading rich-text--heading-6",
253
- hr: "rich-text--hr",
254
- table: "rich-text--table",
255
- pre: "rich-text--pre",
256
- code: "rich-text--code",
257
- blockquote: "rich-text--blockquote"
258
- };
259
- }
260
- },
261
- useMarkdown: {
262
- type: Boolean,
263
- default: false
264
- },
265
- /** Provide GitHub Flavored Markdown syntax */
266
- useExtendedMarkdown: {
267
- type: Boolean,
268
- default: false
269
- },
270
- /** Provide event from rendered markdown inputs */
271
- interactive: {
272
- type: Boolean,
273
- default: false
274
- },
275
- autolink: {
276
- type: Boolean,
277
- default: true
278
- }
279
- },
280
- emits: ["interact:todo"],
281
- data() {
282
- return {
283
- parentId: GenRandomId(5)
284
- };
285
- },
286
- watch: {
287
- useExtendedMarkdown: {
288
- handler(value) {
289
- if (value && !remarkGfm.value) {
290
- importRemarkGfmLibrary();
291
- }
292
- },
293
- immediate: true
294
- }
295
- },
296
- methods: {
297
- renderPlaintext() {
298
- const placeholders = this.text.split(/(\{[a-z\-_.0-9]+\})/ig).map((entry) => {
299
- const matches = entry.match(/^\{([a-z\-_.0-9]+)\}$/i);
300
- if (!matches) {
301
- return prepareTextNode({ h, context: this }, entry);
302
- }
303
- const argumentId = matches[1];
304
- const argument = this.arguments[argumentId];
305
- if (typeof argument === "object") {
306
- const { component, props } = argument;
307
- return h(typeof component === "string" ? resolveComponent(component) : component, {
308
- ...props,
309
- class: "rich-text--component"
310
- });
311
- }
312
- if (argument) {
313
- return h("span", { class: "rich-text--fallback" }, argument);
314
- }
315
- return entry;
316
- });
317
- return h("div", { class: "rich-text--wrapper" }, [
318
- h("div", {}, placeholders.flat()),
319
- this.referenceLimit > 0 ? h("div", { class: "rich-text--reference-widget" }, [
320
- h(NcReferenceList, {
321
- text: this.text,
322
- referenceData: this.references,
323
- interactive: this.referenceInteractive,
324
- interactiveOptIn: this.referenceInteractiveOptIn
325
- })
326
- ]) : null
327
- ]);
328
- },
329
- renderMarkdown() {
330
- const renderedMarkdown = unified().use(remarkParse).use(remarkAutolink, {
331
- autolink: this.autolink,
332
- useMarkdown: this.useMarkdown,
333
- useExtendedMarkdown: this.useExtendedMarkdown
334
- }).use(this.useExtendedMarkdown ? remarkGfm.value : void 0).use(breaks).use(remark2rehype, {
335
- handlers: {
336
- component(toHast, node) {
337
- return toHast(node, node.component, { value: node.value });
338
- }
339
- }
340
- }).use(this.useExtendedMarkdown ? rehypeHighlight.value : void 0).use(remarkPlaceholder).use(rehypeExternalLinks, {
341
- target: "_blank",
342
- rel: ["noopener noreferrer"]
343
- }).use(rehype2react, {
344
- Fragment,
345
- jsx: this.createElement,
346
- jsxs: this.createElement,
347
- elementAttributeNameCase: "html",
348
- prefix: false
349
- }).processSync(
350
- this.text.replace(/</gmi, "&lt;").replace(/&gt;/gmi, ">")
351
- ).result;
352
- return h("div", { class: "rich-text--wrapper rich-text--wrapper-markdown" }, [
353
- renderedMarkdown,
354
- this.referenceLimit > 0 ? h("div", { class: "rich-text--reference-widget" }, [
355
- h(NcReferenceList, {
356
- text: this.text,
357
- referenceData: this.references,
358
- interactive: this.referenceInteractive,
359
- interactiveOptIn: this.referenceInteractiveOptIn
360
- })
361
- ]) : null
362
- ]);
363
- },
364
- createElement(type, props, key) {
365
- if (key) {
366
- props.key = key;
367
- }
368
- let children = props.children ?? [];
369
- delete props.children;
370
- if (typeof children === "string") {
371
- children = children.replace(/&lt;/gmi, "<");
372
- }
373
- if (!String(type).startsWith("#")) {
374
- let nestedNode = null;
375
- if (this.useExtendedMarkdown && remarkGfm.value) {
376
- if (String(type) === "code" && !rehypeHighlight.value && props?.class?.includes("language")) {
377
- importRehypeHighlightLibrary();
378
- }
379
- if (String(type) === "li" && Array.isArray(children) && children[0].type === "input" && children[0].props.type === "checkbox") {
380
- const [inputNode, , ...labelParts] = children;
381
- const nestedNodeIndex = labelParts.findIndex((child) => ["ul", "ol", "li", "blockquote", "pre"].includes(child.tag));
382
- if (nestedNodeIndex !== -1) {
383
- nestedNode = labelParts[nestedNodeIndex];
384
- labelParts.splice(nestedNodeIndex);
385
- }
386
- const id = this.parentId + "-markdown-input-" + GenRandomId(5);
387
- const propsToForward = { ...inputNode.props };
388
- delete propsToForward.checked;
389
- const inputComponent = h(NcCheckboxRadioSwitch, {
390
- ...propsToForward,
391
- modelValue: inputNode.props.checked,
392
- id,
393
- disabled: !this.interactive,
394
- "onUpdate:modelValue": () => {
395
- this.$emit("interact:todo", id);
396
- }
397
- }, { default: () => labelParts });
398
- return h(type, props, [inputComponent, nestedNode]);
399
- }
400
- }
401
- if (String(type) === "a") {
402
- const route = getRoute(this.$router, props.href);
403
- if (route) {
404
- delete props.href;
405
- delete props.target;
406
- return h(RouterLink, {
407
- ...props,
408
- to: route
409
- }, { default: () => children });
410
- }
411
- }
412
- return h(type, props, children);
413
- }
414
- const placeholder = this.arguments[type.slice(1)];
415
- if (!placeholder) {
416
- return h("span", { ...props, class: "rich-text--fallback" }, [`{${type.slice(1)}}`]);
417
- }
418
- if (!placeholder.component) {
419
- return h("span", { ...props }, [placeholder]);
420
- }
421
- if (this.useExtendedMarkdown && !remarkGfm.value) {
422
- return h("div", { class: "rich-text--wrapper" }, [
423
- h(NcLoadingIcon)
424
- ]);
425
- }
426
- return h(
427
- typeof placeholder.component === "string" ? resolveComponent(placeholder.component) : placeholder.component,
428
- {
429
- ...props,
430
- ...placeholder.props,
431
- class: "rich-text--component"
432
- },
433
- { default: () => children }
434
- );
435
- }
436
- },
437
- render() {
438
- return this.useMarkdown || this.useExtendedMarkdown ? this.renderMarkdown() : this.renderPlaintext();
439
- }
440
- };
441
- const NcRichText = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-724f3ec5"]]);
442
- export {
443
- NcRichText as N,
444
- NcReferenceList as a
445
- };
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcRichText-DeQGaF-c.mjs","sources":["../../src/components/NcRichText/NcReferenceList.vue","../../src/components/NcRichText/placeholder.js","../../src/components/NcRichText/NcRichText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<template>\n\t<div v-if=\"isVisible\" class=\"widgets--list\" :class=\"{'icon-loading': loading }\">\n\t\t<NcReferenceWidget v-for=\"reference in displayedReferences\"\n\t\t\t:key=\"reference?.openGraphObject?.id\"\n\t\t\t:reference=\"reference\"\n\t\t\t:interactive=\"interactive\"\n\t\t\t:interactive-opt-in=\"interactiveOptIn\" />\n\t</div>\n</template>\n<script>\nimport NcReferenceWidget from './NcReferenceWidget.vue'\nimport { URL_PATTERN } from './helpers.js'\n\nimport axios from '@nextcloud/axios'\nimport { getSharingToken } from '@nextcloud/sharing/public'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { generateOcsUrl } from '@nextcloud/router'\n\nexport default {\n\tname: 'NcReferenceList',\n\tcomponents: {\n\t\tNcReferenceWidget,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\treferenceData: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 1,\n\t\t},\n\t\tdisplayFallback: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tinteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tinteractiveOptIn: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\temits: ['loaded'],\n\tdata() {\n\t\treturn {\n\t\t\treferences: null,\n\t\t\tloading: true,\n\t\t}\n\t},\n\tcomputed: {\n\t\tisVisible() {\n\t\t\treturn this.loading || this.displayedReferences.length !== 0\n\t\t},\n\t\tvalues() {\n\t\t\tif (this.referenceData) {\n\t\t\t\treturn this.referenceData\n\t\t\t}\n\n\t\t\tif (this.displayFallback && !this.loading && !this.references) {\n\t\t\t\treturn [this.fallbackReference]\n\t\t\t}\n\n\t\t\treturn this.references ? Object.values(this.references) : []\n\t\t},\n\t\tfirstReference() {\n\t\t\treturn this.values[0] ?? null\n\t\t},\n\t\tdisplayedReferences() {\n\t\t\treturn this.values.slice(0, this.limit)\n\t\t},\n\t\tfallbackReference() {\n\t\t\treturn {\n\t\t\t\taccessible: true,\n\t\t\t\topenGraphObject: {\n\t\t\t\t\tid: this.text,\n\t\t\t\t\tlink: this.text,\n\t\t\t\t\tname: this.text,\n\t\t\t\t},\n\t\t\t\trichObjectType: 'open-graph',\n\t\t\t}\n\t\t},\n\t},\n\twatch: {\n\t\ttext: 'fetch',\n\t},\n\tmounted() {\n\t\tthis.fetch()\n\t},\n\tmethods: {\n\t\tfetch() {\n\t\t\tthis.loading = true\n\t\t\tif (this.referenceData) {\n\t\t\t\tthis.references = null\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif (!(new RegExp(URL_PATTERN).exec(this.text))) {\n\t\t\t\tthis.references = null\n\t\t\t\tthis.loading = false\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.resolve().then((response) => {\n\t\t\t\tthis.references = response.data.ocs.data.references\n\t\t\t\tthis.loading = false\n\t\t\t\tthis.$emit('loaded')\n\t\t\t}).catch((error) => {\n\t\t\t\tconsole.error('Failed to extract references', error)\n\t\t\t\tthis.loading = false\n\t\t\t\tthis.$emit('loaded')\n\t\t\t})\n\t\t},\n\t\tresolve() {\n\t\t\tconst match = (new RegExp(URL_PATTERN).exec(this.text.trim()))\n\t\t\tconst isPublic = getCurrentUser() === null\n\t\t\tif (this.limit === 1 && match) {\n\t\t\t\treturn isPublic\n\t\t\t\t\t? axios.get(generateOcsUrl('references/resolvePublic') + `?reference=${encodeURIComponent(match[0])}&sharingToken=${getSharingToken()}`)\n\t\t\t\t\t: axios.get(generateOcsUrl('references/resolve') + `?reference=${encodeURIComponent(match[0])}`)\n\t\t\t}\n\n\t\t\treturn isPublic\n\t\t\t\t? axios.post(generateOcsUrl('references/extractPublic'), {\n\t\t\t\t\ttext: this.text,\n\t\t\t\t\tresolve: true,\n\t\t\t\t\tlimit: this.limit,\n\t\t\t\t\tsharingToken: getSharingToken(),\n\t\t\t\t})\n\t\t\t\t: axios.post(generateOcsUrl('references/extract'), {\n\t\t\t\t\ttext: this.text,\n\t\t\t\t\tresolve: true,\n\t\t\t\t\tlimit: this.limit,\n\t\t\t\t})\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.widgets--list {\n\twidth: 100%;\n\tmin-height: var(--default-clickable-area);\n}\n</style>\n","/**\n * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\nimport { u } from 'unist-builder'\nimport { visit } from 'unist-util-visit'\nimport { parseUrl } from './autolink.ts'\n\nexport const remarkPlaceholder = function() {\n\treturn function(ast) {\n\t\tvisit(ast, (node) => node.type === 'text', visitor)\n\n\t\t/**\n\t\t *\n\t\t * @param {object} node The node\n\t\t * @param {number} index The index of the node\n\t\t * @param {object} parent The parent node\n\t\t */\n\t\tfunction visitor(node, index, parent) {\n\t\t\tconst placeholders = node.value.split(/(\\{[a-z\\-_.0-9]+\\})/ig)\n\t\t\t\t.map((entry, index, list) => {\n\t\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\treturn u('text', entry)\n\t\t\t\t\t}\n\t\t\t\t\tconst [, component] = matches\n\t\t\t\t\treturn u('element', {\n\t\t\t\t\t\ttagName: `#${component}`,\n\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t})\n\t\t\t\t})\n\n\t\t\tparent.children.splice(index, 1, ...placeholders)\n\t\t}\n\t}\n}\n\nexport const prepareTextNode = ({ h, context }, text) => {\n\tif (context.autolink) {\n\t\ttext = parseUrl(text)\n\t}\n\tif (Array.isArray(text)) {\n\t\treturn text.map((entry) => {\n\t\t\tif (typeof entry === 'string') {\n\t\t\t\treturn entry\n\t\t\t}\n\t\t\tconst { component, props } = entry\n\t\t\t// do not override class of NcLink\n\t\t\tconst componentClass = component.name === 'NcLink' ? undefined : 'rich-text--component'\n\t\t\treturn h(component, {\n\t\t\t\t...props,\n\t\t\t\tclass: componentClass,\n\t\t\t})\n\t\t})\n\t}\n\treturn text\n}\n","<!--\n - SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### General description\n\nThis component displays rich text with optional autolink or [Markdown support](https://www.markdownguide.org/basic-syntax/).\n\n```vue\n<template>\n\t<div>\n\t\t<textarea v-model=\"text\" />\n\t\t<NcCheckboxRadioSwitch v-model=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText\n\t\t\t:class=\"{'plain-text': !useMarkdown }\"\n\t\t\t:text=\"text\" :autolink=\"autolink\" :arguments=\"args\"\n\t\t\t:use-markdown=\"useMarkdown\" />\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\ttext: `## Hello everyone 🎉\nThe file {file} was added by {username}. Visit https://nextcloud.com to check it!\n\nSome examples for markdown syntax:\n1. **bold text**\n2. _italic text_\n3. example of \\`inline code\\`\n\n> blockquote example\n`,\n\t\t\tautolink: true,\n\t\t\tuseMarkdown: true,\n\t\t\targs: {\n\t\t\t\tfile: 'MyDocument.odt',\n\t\t\t\tusername: {\n\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tdisplayName: 'Jane Doe'\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t},\n}\n</script>\n<style lang=\"scss\">\ntextarea {\n\twidth: 100%;\n\theight: 200px;\n}\n\n.plain-text {\n\twhite-space: pre-line;\n}\n</style>\n```\n\n### Flavored Markdown\n\nThis component can support [Github Flavored Markdown](https://github.github.com/gfm/).\nIt adds such elements, as tables, task lists, strikethrough, and supports code syntax highlighting and autolinks by default\n\nIt is also possible to make a rendered content interactive and listen for events\n\n```vue\n<template>\n\t<div>\n\t\t<textarea v-model=\"text\" />\n\n\t\t<NcRichText :text=\"text\"\n\t\t\t:use-extended-markdown=\"true\"\n\t\t\t:interactive=\"true\"\n\t\t\t@interact:todo=\"handleInteraction\"/>\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\ttext: `## Try flavored markdown right now!\n\n~~strikethrough~~\n\n- [ ] task to be done\n- [x] task completed\n\nTable header | Column A | Column B\n-- | -- | --\nTable row | value A | value B\n\n---\n\n\\`\\`\\`js\nconst GenRandomId = (length) => {\n\\treturn Math.random()\n\\t\\t.toString(36)\n\\t\\t.replace(/[^a-z]+/g, '')\n\\t\\t.slice(0, length || 5)\n}\n\\`\\`\\`\n`,\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\thandleInteraction(id) {\n\t\t\t\tconst parentId = id.split('-markdown-input-')[0]\n\t\t\t\tconst index = Array.from(document.querySelectorAll(`span[id^=\"${parentId}-markdown-input-\"]`)).findIndex((el) => el.id.includes(id))\n\t\t\t\tif (index === -1 ) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\tlet checkBoxIndex = 0\n\t\t\t\tlet lines = this.text.split('\\n')\n\t\t\t\tfor (let i = 0; i < lines.length; i++) {\n\t\t\t\t\tif (lines[i].includes('[ ]') || lines[i].includes('[x]')) {\n\t\t\t\t\t\tif (checkBoxIndex === index) {\n\t\t\t\t\t\t\tconst isChecked = lines[i].includes('[x]')\n\t\t\t\t\t\t\tif (isChecked) {\n\t\t\t\t\t\t\t\tlines[i] = lines[i].replace('[x]', '[ ]')\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlines[i] = lines[i].replace('[ ]', '[x]')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcheckBoxIndex++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.text = lines.join('\\n')\n\t\t\t},\n\t\t},\n\t}\n</script>\n<style lang=\"scss\">\ntextarea {\n\twidth: 100%;\n\theight: 200px;\n}\n</style>\n```\n\n### Usage with NcRichContenteditable\n\nSee [NcRichContenteditable](#/Components/NcRichContenteditable) documentation for more information\n\n```vue\n<template>\n\t<div>\n\t\t<NcRichContenteditable v-model=\"message\"\n\t\t\t:auto-complete=\"autoComplete\"\n\t\t\t:maxlength=\"100\"\n\t\t\t:user-data=\"userData\"\n\t\t\tplaceholder=\"Try mentioning user @Test01 or inserting emoji :smile\"\n\t\t\t@submit=\"onSubmit\" />\n\n\t\t<NcCheckboxRadioSwitch v-model=\"autolink\" type=\"checkbox\">Autolink</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"useMarkdown\" type=\"checkbox\">Use Markdown</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch v-model=\"useExtendedMarkdown\" type=\"checkbox\">Use extended Markdown</NcCheckboxRadioSwitch>\n\n\t\t<NcRichText :text=\"text\"\n\t\t\t:autolink=\"autolink\"\n\t\t\t:arguments=\"userMentions\"\n\t\t\t:use-markdown=\"useMarkdown\"\n\t\t\t:use-extended-markdown=\"useExtendedMarkdown\" />\n\t</div>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tmessage: '',\n\t\t\t\tautolink: true,\n\t\t\t\tuseMarkdown: true,\n\t\t\t\tuseExtendedMarkdown: true,\n\t\t\t\tuserData: {\n\t\t\t\t\tTest01: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test01',\n\t\t\t\t\t\tlabel: 'Test01',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t},\n\t\t\t\t\tTest02: {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test02',\n\t\t\t\t\t\tlabel: 'Test02',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Visiting London',\n\t\t\t\t\t\t\tstatus: 'away',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test@User': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test@User',\n\t\t\t\t\t\tlabel: 'Test 03',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: '🎡',\n\t\t\t\t\t\t\tmessage: 'Having space in my name',\n\t\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Visiting London',\n\t\t\t\t\t},\n\t\t\t\t\t'Test Offline': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test Offline',\n\t\t\t\t\t\tlabel: 'Test Offline',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: null,\n\t\t\t\t\t\t\tstatus: 'offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: null,\n\t\t\t\t\t},\n\t\t\t\t\t'Test DND': {\n\t\t\t\t\t\ticon: 'icon-user',\n\t\t\t\t\t\tid: 'Test DND',\n\t\t\t\t\t\tlabel: 'Test DND',\n\t\t\t\t\t\tsource: 'users',\n\t\t\t\t\t\tstatus: {\n\t\t\t\t\t\t\tclearAt: null,\n\t\t\t\t\t\t\ticon: null,\n\t\t\t\t\t\t\tmessage: 'Out sick',\n\t\t\t\t\t\t\tstatus: 'dnd',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsubline: 'Out sick',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tuserMentions: {\n\t\t\t\t\t'user-1': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test01',\n\t\t\t\t\t\t\tuser: 'Test01',\n\t\t\t\t\t\t\tprimary: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-2': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test02',\n\t\t\t\t\t\t\tuser: 'Test02',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-3': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test 03',\n\t\t\t\t\t\t\tuser: 'Test@User',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-4': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test Offline',\n\t\t\t\t\t\t\tuser: 'Test Offline',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t'user-5': {\n\t\t\t\t\t\tcomponent: 'NcUserBubble',\n\t\t\t\t\t\tprops: {\n\t\t\t\t\t\t\tdisplayName: 'Test DND',\n\t\t\t\t\t\t\tuser: 'Test DND',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t}\n\t\t},\n\t\tcomputed: {\n\t\t\ttext() {\n\t\t\t\treturn this.message\n\t\t\t\t\t\t.replace('@Test01', '{user-1}')\n\t\t\t\t\t\t.replace('@Test02', '{user-2}')\n\t\t\t\t\t\t.replace('@Test@User', '{user-3}')\n\t\t\t\t\t\t.replace('@\"Test Offline\"', '{user-4}')\n\t\t\t\t\t\t.replace('@\"Test DND\"', '{user-5}')\n\t\t\t},\n\t\t},\n\t\tmethods: {\n\t\t\tautoComplete(search, callback) {\n\t\t\t\tcallback(Object.values(this.userData))\n\t\t\t},\n\t\t\tonSubmit() {\n\t\t\t\talert(this.message)\n\t\t\t}\n\t\t}\n\t}\n</script>\n```\n</docs>\n\n<script>\nimport NcReferenceList from './NcReferenceList.vue'\nimport NcCheckboxRadioSwitch from '../NcCheckboxRadioSwitch/NcCheckboxRadioSwitch.vue'\nimport NcLoadingIcon from '../NcLoadingIcon/NcLoadingIcon.vue'\nimport { getRoute, remarkAutolink } from './autolink.ts'\nimport { remarkPlaceholder, prepareTextNode } from './placeholder.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nimport { unified } from 'unified'\nimport remarkParse from 'remark-parse'\nimport breaks from 'remark-breaks'\nimport remark2rehype from 'remark-rehype'\nimport rehype2react from 'rehype-react'\nimport rehypeExternalLinks from 'rehype-external-links'\nimport { Fragment, h, ref, resolveComponent } from 'vue'\nimport { RouterLink } from 'vue-router'\n\n/**\n * Heavy libraries should be loaded on demand to reduce component size\n */\nconst remarkGfm = ref(null)\n/**\n * Load 'remark-gfm' library when prop `useExtendedMarkdown` is truthy\n */\nasync function importRemarkGfmLibrary() {\n\tconst module = await import('remark-gfm')\n\tremarkGfm.value = module.default\n}\n\nconst rehypeHighlight = ref(null)\n/**\n * Load 'rehype-highlight' library when code block is rendered with `useExtendedMarkdown`\n */\nasync function importRehypeHighlightLibrary() {\n\tconst module = await import('rehype-highlight')\n\trehypeHighlight.value = module.default\n}\n\nexport default {\n\tname: 'NcRichText',\n\tcomponents: {\n\t\tNcReferenceList,\n\t},\n\tprops: {\n\t\ttext: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\targuments: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {\n\t\t\t\treturn {}\n\t\t\t},\n\t\t},\n\t\treferenceLimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\t\treferenceInteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\treferenceInteractiveOptIn: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide data upfront to avoid extra http request */\n\t\treferences: {\n\t\t\ttype: Object,\n\t\t\tdefault: null,\n\t\t},\n\t\tmarkdownCssClasses: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => {\n\t\t\t\treturn {\n\t\t\t\t\ta: 'rich-text--external-link',\n\t\t\t\t\tol: 'rich-text--ordered-list',\n\t\t\t\t\tul: 'rich-text--un-ordered-list',\n\t\t\t\t\tli: 'rich-text--list-item',\n\t\t\t\t\tstrong: 'rich-text--strong',\n\t\t\t\t\tem: 'rich-text--italic',\n\t\t\t\t\th1: 'rich-text--heading rich-text--heading-1',\n\t\t\t\t\th2: 'rich-text--heading rich-text--heading-2',\n\t\t\t\t\th3: 'rich-text--heading rich-text--heading-3',\n\t\t\t\t\th4: 'rich-text--heading rich-text--heading-4',\n\t\t\t\t\th5: 'rich-text--heading rich-text--heading-5',\n\t\t\t\t\th6: 'rich-text--heading rich-text--heading-6',\n\t\t\t\t\thr: 'rich-text--hr',\n\t\t\t\t\ttable: 'rich-text--table',\n\t\t\t\t\tpre: 'rich-text--pre',\n\t\t\t\t\tcode: 'rich-text--code',\n\t\t\t\t\tblockquote: 'rich-text--blockquote',\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tuseMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide GitHub Flavored Markdown syntax */\n\t\tuseExtendedMarkdown: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/** Provide event from rendered markdown inputs */\n\t\tinteractive: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tautolink: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t},\n\temits: ['interact:todo'],\n\n\tdata() {\n\t\treturn {\n\t\t\tparentId: GenRandomId(5),\n\t\t}\n\t},\n\n\twatch: {\n\t\tuseExtendedMarkdown: {\n\t\t\thandler(value) {\n\t\t\t\tif (value && !remarkGfm.value) {\n\t\t\t\t\timportRemarkGfmLibrary()\n\t\t\t\t}\n\t\t\t},\n\t\t\timmediate: true,\n\t\t},\n\t},\n\n\tmethods: {\n\t\trenderPlaintext() {\n\t\t\tconst placeholders = this.text.split(/(\\{[a-z\\-_.0-9]+\\})/ig).map((entry) => {\n\t\t\t\tconst matches = entry.match(/^\\{([a-z\\-_.0-9]+)\\}$/i)\n\t\t\t\t// just return plain string nodes as text\n\t\t\t\tif (!matches) {\n\t\t\t\t\treturn prepareTextNode({ h, context: this }, entry)\n\t\t\t\t}\n\t\t\t\t// return component instance if argument is an object\n\t\t\t\tconst argumentId = matches[1]\n\t\t\t\tconst argument = this.arguments[argumentId]\n\t\t\t\tif (typeof argument === 'object') {\n\t\t\t\t\tconst { component, props } = argument\n\t\t\t\t\treturn h((typeof component === 'string') ? resolveComponent(component) : component, {\n\t\t\t\t\t\t...props,\n\t\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\tif (argument) {\n\t\t\t\t\treturn h('span', { class: 'rich-text--fallback' }, argument)\n\t\t\t\t}\n\t\t\t\treturn entry\n\t\t\t})\n\t\t\treturn h('div', { class: 'rich-text--wrapper' }, [\n\t\t\t\th('div', {}, placeholders.flat()),\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, {\n\t\t\t\t\t\t\ttext: this.text,\n\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\tinteractiveOptIn: this.referenceInteractiveOptIn,\n\t\t\t\t\t\t}),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t\trenderMarkdown() {\n\t\t\tconst renderedMarkdown = unified()\n\t\t\t\t.use(remarkParse)\n\t\t\t\t.use(remarkAutolink, {\n\t\t\t\t\tautolink: this.autolink,\n\t\t\t\t\tuseMarkdown: this.useMarkdown,\n\t\t\t\t\tuseExtendedMarkdown: this.useExtendedMarkdown,\n\t\t\t\t})\n\t\t\t\t.use(this.useExtendedMarkdown ? remarkGfm.value : undefined)\n\t\t\t\t.use(breaks)\n\t\t\t\t.use(remark2rehype, {\n\t\t\t\t\thandlers: {\n\t\t\t\t\t\tcomponent(toHast, node) {\n\t\t\t\t\t\t\treturn toHast(node, node.component, { value: node.value })\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.use(this.useExtendedMarkdown ? rehypeHighlight.value : undefined)\n\t\t\t\t// .use(rehypeAddClasses, this.markdownCssClasses)\n\t\t\t\t.use(remarkPlaceholder)\n\t\t\t\t.use(rehypeExternalLinks, {\n\t\t\t\t\ttarget: '_blank',\n\t\t\t\t\trel: ['noopener noreferrer'],\n\t\t\t\t})\n\t\t\t\t.use(rehype2react, {\n\t\t\t\t\tFragment,\n\t\t\t\t\tjsx: this.createElement,\n\t\t\t\t\tjsxs: this.createElement,\n\t\t\t\t\telementAttributeNameCase: 'html',\n\t\t\t\t\tprefix: false,\n\t\t\t\t})\n\t\t\t\t.processSync(this.text\n\t\t\t\t\t// escape special symbol \"<\" to not treat text as HTML\n\t\t\t\t\t.replace(/</gmi, '&lt;')\n\t\t\t\t\t// unescape special symbol \">\" to parse blockquotes\n\t\t\t\t\t.replace(/&gt;/gmi, '>'),\n\t\t\t\t)\n\t\t\t\t.result\n\n\t\t\treturn h('div', { class: 'rich-text--wrapper rich-text--wrapper-markdown' }, [\n\t\t\t\trenderedMarkdown,\n\t\t\t\tthis.referenceLimit > 0\n\t\t\t\t\t? h('div', { class: 'rich-text--reference-widget' }, [\n\t\t\t\t\t\th(NcReferenceList, {\n\t\t\t\t\t\t\ttext: this.text,\n\t\t\t\t\t\t\treferenceData: this.references,\n\t\t\t\t\t\t\tinteractive: this.referenceInteractive,\n\t\t\t\t\t\t\tinteractiveOptIn: this.referenceInteractiveOptIn,\n\t\t\t\t\t\t}),\n\t\t\t\t\t])\n\t\t\t\t\t: null,\n\t\t\t])\n\t\t},\n\t\tcreateElement(type, props, key) {\n\t\t\t// Modified code from vue/jsx-runtime\n\t\t\tif (key) {\n\t\t\t\tprops.key = key\n\t\t\t}\n\t\t\t// Children should be always an array\n\t\t\tlet children = props.children ?? []\n\t\t\tdelete props.children\n\n\t\t\t// unescape special symbol \"<\" for simple text nodes\n\t\t\tif (typeof children === 'string') {\n\t\t\t\tchildren = children.replace(/&lt;/gmi, '<')\n\t\t\t}\n\n\t\t\tif (!String(type).startsWith('#')) {\n\t\t\t\tlet nestedNode = null\n\t\t\t\tif (this.useExtendedMarkdown && remarkGfm.value) {\n\t\t\t\t\tif (String(type) === 'code' && !rehypeHighlight.value\n\t\t\t\t\t\t&& props?.class?.includes('language')) {\n\t\t\t\t\t\timportRehypeHighlightLibrary()\n\t\t\t\t\t}\n\t\t\t\t\tif (String(type) === 'li' && Array.isArray(children)\n\t\t\t\t\t\t&& children[0].type === 'input'\n\t\t\t\t\t\t&& children[0].props.type === 'checkbox') {\n\t\t\t\t\t\tconst [inputNode, , ...labelParts] = children\n\n\t\t\t\t\t\tconst nestedNodeIndex = labelParts.findIndex((child) => ['ul', 'ol', 'li', 'blockquote', 'pre'].includes(child.tag))\n\t\t\t\t\t\tif (nestedNodeIndex !== -1) {\n\t\t\t\t\t\t\tnestedNode = labelParts[nestedNodeIndex]\n\t\t\t\t\t\t\tlabelParts.splice(nestedNodeIndex)\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst id = this.parentId + '-markdown-input-' + GenRandomId(5)\n\t\t\t\t\t\tconst propsToForward = { ...inputNode.props }\n\t\t\t\t\t\t// The checked prop is name modelValue for NcCheckboxRadioSwitch\n\t\t\t\t\t\tdelete propsToForward.checked\n\t\t\t\t\t\tconst inputComponent = h(NcCheckboxRadioSwitch, {\n\t\t\t\t\t\t\t...propsToForward,\n\t\t\t\t\t\t\tmodelValue: inputNode.props.checked,\n\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\tdisabled: !this.interactive,\n\t\t\t\t\t\t\t'onUpdate:modelValue': () => {\n\t\t\t\t\t\t\t\tthis.$emit('interact:todo', id)\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}, { default: () => labelParts })\n\n\t\t\t\t\t\treturn h(type, props, [inputComponent, nestedNode])\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (String(type) === 'a') {\n\t\t\t\t\tconst route = getRoute(this.$router, props.href)\n\t\t\t\t\tif (route) {\n\t\t\t\t\t\tdelete props.href\n\t\t\t\t\t\tdelete props.target\n\n\t\t\t\t\t\treturn h(RouterLink, {\n\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\tto: route,\n\t\t\t\t\t\t}, { default: () => children })\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn h(type, props, children)\n\t\t\t}\n\n\t\t\tconst placeholder = this.arguments[type.slice(1)]\n\t\t\tif (!placeholder) {\n\t\t\t\treturn h('span', { ...props, class: 'rich-text--fallback' }, [`{${type.slice(1)}}`])\n\t\t\t}\n\n\t\t\tif (!placeholder.component) {\n\t\t\t\treturn h('span', { ...props }, [placeholder])\n\t\t\t}\n\n\t\t\tif (this.useExtendedMarkdown && !remarkGfm.value) {\n\t\t\t\treturn h('div', { class: 'rich-text--wrapper' }, [\n\t\t\t\t\th(NcLoadingIcon),\n\t\t\t\t])\n\t\t\t}\n\n\t\t\treturn h(\n\t\t\t\t(typeof placeholder.component === 'string') ? resolveComponent(placeholder.component) : placeholder.component,\n\t\t\t\t{\n\t\t\t\t\t...props,\n\t\t\t\t\t...placeholder.props,\n\t\t\t\t\tclass: 'rich-text--component',\n\t\t\t\t},\n\t\t\t\t{ default: () => children },\n\t\t\t)\n\t\t},\n\t},\n\trender() {\n\t\treturn this.useMarkdown || this.useExtendedMarkdown\n\t\t\t? this.renderMarkdown()\n\t\t\t: this.renderPlaintext()\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n/* stylelint-disable-next-line scss/at-import-partial-extension */\n@import './richtext.scss';\n\na:not(.rich-text--component) {\n\ttext-decoration: underline;\n}\n\n</style>\n"],"names":["_sfc_main","_createElementBlock","_normalizeClass","_openBlock","_Fragment","_renderList","_createBlock","_createCommentVNode","index","h"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcSelect-J_CQazCj.mjs","sources":["../../src/components/NcSelect/NcSelect.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n### Description\n\nGeneral purpose multiselect component.\n\n### Basic examples\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div v-for=\"{ props } in selectArray\"\n\t\t\tclass=\"container\">\n\t\t\t<NcSelect v-bind=\"props\"\n\t\t\t\tv-model=\"props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nconst selectArray = [\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Simple',\n\t\t\toptions: [\n\t\t\t\t'foo',\n\t\t\t\t'bar',\n\t\t\t\t'baz',\n\t\t\t\t'qux',\n\t\t\t\t'quux',\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Simple (top placement)',\n\t\t\tplacement: 'top',\n\t\t\toptions: [\n\t\t\t\t'foo',\n\t\t\t\t'bar',\n\t\t\t\t'baz',\n\t\t\t\t'qux',\n\t\t\t\t'quux',\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple (with placeholder)',\n\t\t\tmultiple: true,\n\t\t\tplaceholder: 'Select multiple options',\n\t\t\toptions: [\n\t\t\t\t'foo',\n\t\t\t\t'bar',\n\t\t\t\t'baz',\n\t\t\t\t'qux',\n\t\t\t\t'quux',\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple (objects, pre-selected, stay open on select)',\n\t\t\tmultiple: true,\n\t\t\tcloseOnSelect: false,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: 'foo',\n\t\t\t\t\tlabel: 'Foo',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'bar',\n\t\t\t\t\tlabel: 'Bar',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'baz',\n\t\t\t\t\tlabel: 'Baz',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'qux',\n\t\t\t\t\tlabel: 'Qux',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'quux',\n\t\t\t\t\tlabel: 'Quux',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'corge',\n\t\t\t\t\tlabel: 'Corge',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'grault',\n\t\t\t\t\tlabel: 'Grault',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'garply',\n\t\t\t\t\tlabel: 'Garply',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'waldo',\n\t\t\t\t\tlabel: 'Waldo',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'fred',\n\t\t\t\t\tlabel: 'Fred',\n\t\t\t\t},\n\t\t\t],\n\t\t\tvalue: [\n\t\t\t\t{\n\t\t\t\t\tid: 'foo',\n\t\t\t\t\tlabel: 'Foo',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'bar',\n\t\t\t\t\tlabel: 'Bar',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tselectArray,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(2, 1fr);\n\tgap: 10px;\n}\n\n.container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n\n### Native form validation example\n\n```vue\n<template>\n\t<div class=\"container\">\n\t\t<form class=\"container__form\" @submit.prevent>\n\t\t\t<NcSelect class=\"container__select\"\n\t\t\t\tinput-label=\"Require a selection\"\n\t\t\t\t:options=\"options\"\n\t\t\t\tv-model=\"singleValue\"\n\t\t\t\trequired />\n\t\t\t<NcButton native-type=\"submit\">Submit</NcButton>\n\t\t</form>\n\n\t\t<form class=\"container__form\" @submit.prevent>\n\t\t\t<NcSelect class=\"container__select\"\n\t\t\t\tinput-label=\"Require at least one selection\"\n\t\t\t\t:options=\"options\"\n\t\t\t\tv-model=\"multiValue\"\n\t\t\t\tmultiple\n\t\t\t\trequired />\n\t\t\t<NcButton native-type=\"submit\">Submit</NcButton>\n\t\t</form>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\toptions: ['foo', 'bar', 'baz', 'qux', 'quux'],\n\t\t\tsingleValue: null,\n\t\t\tmultiValue: [],\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.container {\n\tdisplay: flex;\n\tgap: 0 12px;\n}\n\n.container__form {\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-end;\n\twidth: 100%;\n\tgap: 8px 0;\n}\n\n.container__select {\n\twidth: 100%;\n}\n</style>\n```\n\n### No wrap example\n\nThe `noWrap` prop is set to `true` and the `max-width` of the multiselect\nparent container is limited to `350px`\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div class=\"container\">\n\t\t\t<NcSelect :no-wrap=\"false\"\n\t\t\t\tv-bind=\"data1.props\"\n\t\t\t\tv-model=\"data1.props.value\" />\n\t\t</div>\n\t\t<div class=\"container\">\n\t\t\t<NcSelect :no-wrap=\"true\"\n\t\t\t\tv-bind=\"data2.props\"\n\t\t\t\tv-model=\"data2.props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nconst data1 = {\n\tprops: {\n\t\tinputLabel: 'Wrapped (Default)',\n\t\tmultiple: true,\n\t\tcloseOnSelect: false,\n\t\toptions: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t\tvalue: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t},\n}\n\nconst data2 = {\n\tprops: {\n\t\tinputLabel: 'Not wrapped',\n\t\tmultiple: true,\n\t\tcloseOnSelect: false,\n\t\toptions: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t\tvalue: [\n\t\t\t'foo',\n\t\t\t'bar',\n\t\t\t'baz',\n\t\t\t'qux',\n\t\t\t'quux',\n\t\t\t'corge',\n\t\t\t'grault',\n\t\t\t'garply',\n\t\t\t'waldo',\n\t\t\t'fred',\n\t\t],\n\t},\n}\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tdata1,\n\t\t\tdata2,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(1, 1fr);\n\tgap: 10px;\n}\n\n.container {\n\tmax-width: 350px;\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n\n### User select examples\n\n```vue\n<template>\n\t<div class=\"grid\">\n\t\t<div v-for=\"{ props } in selectArray\"\n\t\t\tclass=\"container\">\n\t\t\t<NcSelect v-bind=\"props\"\n\t\t\t\tv-model=\"props.value\" />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport AccountGroup from '@mdi/svg/svg/account-group.svg?raw'\nimport Email from '@mdi/svg/svg/email.svg?raw'\n\nconst selectArray = [\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'User select',\n\t\t\tuserSelect: true,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t\t// Example of how to show the user status within the option\n\t\t\t\t\tuser: '0-john',\n\t\t\t\t\tpreloadedUserStatus: {\n\t\t\t\t\t\ticon: '',\n\t\t\t\t\t\tstatus: 'online',\n\t\t\t\t\t\tmessage: 'I am online',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: null,\n\t\t\t\t\ticonSvg: AccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: Email,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n\n\t{\n\t\tprops: {\n\t\t\tinputLabel: 'Multiple user select (stay open on select)',\n\t\t\tuserSelect: true,\n\t\t\tmultiple: true,\n\t\t\tcloseOnSelect: false,\n\t\t\toptions: [\n\t\t\t\t{\n\t\t\t\t\tid: '0-john',\n\t\t\t\t\tdisplayName: 'John',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'john@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-emma',\n\t\t\t\t\tdisplayName: 'Emma',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'emma@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-olivia',\n\t\t\t\t\tdisplayName: 'Olivia',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'olivia@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-noah',\n\t\t\t\t\tdisplayName: 'Noah',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'noah@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '0-oliver',\n\t\t\t\t\tdisplayName: 'Oliver',\n\t\t\t\t\tisNoUser: false,\n\t\t\t\t\tsubname: 'oliver@example.org',\n\t\t\t\t\ticon: '',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '1-admin',\n\t\t\t\t\tdisplayName: 'Admin',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: null,\n\t\t\t\t\ticonSvg: AccountGroup,\n\t\t\t\t\ticonName: 'Group icon',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: '2-org@example.org',\n\t\t\t\t\tdisplayName: 'Organization',\n\t\t\t\t\tisNoUser: true,\n\t\t\t\t\tsubname: 'org@example.org',\n\t\t\t\t\ticonSvg: Email,\n\t\t\t\t\ticonName: 'Email icon',\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n]\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tselectArray,\n\t\t}\n\t},\n}\n</script>\n\n<style>\n.grid {\n\tdisplay: grid;\n\tgrid-template-columns: repeat(1, 500px);\n\tgap: 10px;\n}\n\n.container {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px 0;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<VueSelect class=\"select\"\n\t\t:class=\"{\n\t\t\t'select--no-wrap': noWrap,\n\t\t\t'user-select': userSelect,\n\t\t}\"\n\t\tv-bind=\"propsToForward\"\n\t\t@search=\"search = $event\"\n\t\t@update:model-value=\"$emit('update:modelValue', $event)\">\n\t\t<template v-if=\"!labelOutside && inputLabel\" #header>\n\t\t\t<label :for=\"inputId\"\n\t\t\t\tclass=\"select__label\">\n\t\t\t\t{{ inputLabel }}\n\t\t\t</label>\n\t\t</template>\n\t\t<template #search=\"{ attributes, events }\">\n\t\t\t<input :class=\"['vs__search', inputClass]\"\n\t\t\t\tv-bind=\"attributes\"\n\t\t\t\t:required=\"inputRequired\"\n\t\t\t\tdir=\"auto\"\n\t\t\t\tv-on=\"events\">\n\t\t</template>\n\t\t<template #open-indicator=\"{ attributes }\">\n\t\t\t<ChevronDown v-bind=\"attributes\"\n\t\t\t\tfill-color=\"var(--vs-controls-color)\"\n\t\t\t\t:style=\"{\n\t\t\t\t\tcursor: !disabled ? 'pointer' : null,\n\t\t\t\t}\"\n\t\t\t\t:size=\"26\" />\n\t\t\t\t<!-- Set size to 26 to make up for the increased padding of this icon -->\n\t\t</template>\n\t\t<template #option=\"option\">\n\t\t\t<NcListItemIcon v-if=\"userSelect\"\n\t\t\t\tv-bind=\"option\"\n\t\t\t\t:avatar-size=\"24\"\n\t\t\t\t:name=\"option[localLabel]\"\n\t\t\t\t:search=\"search\" />\n\t\t\t<NcEllipsisedOption v-else\n\t\t\t\t:name=\"String(option[localLabel])\"\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t\t<template #selected-option=\"selectedOption\">\n\t\t\t<NcListItemIcon v-if=\"userSelect\"\n\t\t\t\tv-bind=\"selectedOption\"\n\t\t\t\t:avatar-size=\"avatarSize\"\n\t\t\t\t:name=\"selectedOption[localLabel]\"\n\t\t\t\tno-margin\n\t\t\t\t:search=\"search\" />\n\t\t\t<NcEllipsisedOption v-else\n\t\t\t\t:name=\"String(selectedOption[localLabel])\"\n\t\t\t\t:search=\"search\" />\n\t\t</template>\n\t\t<template #spinner=\"spinner\">\n\t\t\t<NcLoadingIcon v-if=\"spinner.loading\" />\n\t\t</template>\n\t\t<template #no-options>\n\t\t\t{{ t('No results') }}\n\t\t</template>\n\t\t<template v-for=\"(_, name) in $slots\" #[name]=\"data\">\n\t\t\t<!-- @slot Any combination of slots from https://vue-select.org/api/slots.html -->\n\t\t\t<slot :name=\"name\" v-bind=\"data\" />\n\t\t</template>\n\t</VueSelect>\n</template>\n\n<script>\n// TODO: Use @nextcloud/vue-select once a vue 3 version is available.\n// Until then, all @nextcloud/vue-select specific improvements won't be available.\n// E.g. the `limit` prop has no effect, currently.\nimport 'vue-select/dist/vue-select.css'\n\nimport VueSelect from 'vue-select'\nimport {\n\tautoUpdate,\n\tcomputePosition,\n\tflip,\n\tlimitShift,\n\toffset,\n\tshift,\n} from '@floating-ui/dom'\nimport { h, warn } from 'vue'\nimport { t } from '../../l10n.js'\n\nimport ChevronDown from 'vue-material-design-icons/ChevronDown.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\n\nimport NcEllipsisedOption from '../NcEllipsisedOption/index.js'\nimport NcListItemIcon from '../NcListItemIcon/index.js'\nimport NcLoadingIcon from '../NcLoadingIcon/index.js'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nexport default {\n\tname: 'NcSelect',\n\n\tcomponents: {\n\t\tChevronDown,\n\t\tNcEllipsisedOption,\n\t\tNcListItemIcon,\n\t\tNcLoadingIcon,\n\t\tVueSelect,\n\t},\n\n\tprops: {\n\t\t// Add VueSelect props to $props\n\t\t...VueSelect.props,\n\t\t...VueSelect.mixins.reduce((allProps, mixin) => ({ ...allProps, ...mixin.props }), {}),\n\n\t\t/**\n\t\t * `aria-label` for the clear input button\n\t\t */\n\t\tariaLabelClearSelected: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Clear selected'),\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` for the search input\n\t\t *\n\t\t * A descriptive `inputLabel` is preferred as this is not visible.\n\t\t */\n\t\tariaLabelCombobox: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * `aria-label` for the listbox element\n\t\t */\n\t\tariaLabelListbox: {\n\t\t\ttype: String,\n\t\t\tdefault: t('Options'),\n\t\t},\n\n\t\t/**\n\t\t * Allows to customize the `aria-label` for the deselect-option button\n\t\t * The default is \"Deselect \" + optionLabel\n\t\t * @type {(optionLabel: string) => string}\n\t\t */\n\t\tariaLabelDeselectOption: {\n\t\t\ttype: Function,\n\t\t\tdefault: (optionLabel) => t('Deselect {option}', { option: optionLabel }),\n\t\t},\n\n\t\t/**\n\t\t * Append the dropdown element to the end of the body\n\t\t * and size/position it dynamically.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#appendtobody\n\t\t */\n\t\tappendToBody: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * When `appendToBody` is true, this function is responsible for\n\t\t * positioning the drop down list.\n\t\t *\n\t\t * If a function is returned from `calculatePosition`, it will\n\t\t * be called when the drop down list is removed from the DOM.\n\t\t * This allows for any garbage collection you may need to do.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#calculateposition\n\t\t */\n\t\tcalculatePosition: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Close the dropdown when selecting an option\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#closeonselect\n\t\t */\n\t\tcloseOnSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Replace default vue-select components\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#components\n\t\t */\n\t\tcomponents: {\n\t\t\ttype: Object,\n\t\t\tdefault: () => ({\n\t\t\t\tDeselect: {\n\t\t\t\t\trender: () => h(Close, {\n\t\t\t\t\t\tsize: 20,\n\t\t\t\t\t\tfillColor: 'var(--vs-controls-color)',\n\t\t\t\t\t\tstyle: [\n\t\t\t\t\t\t\t{ cursor: 'pointer' },\n\t\t\t\t\t\t],\n\t\t\t\t\t}),\n\t\t\t\t},\n\t\t\t}),\n\t\t},\n\n\t\t/**\n\t\t * Sets the maximum number of options to display in the dropdown list\n\t\t */\n\t\tlimit: {\n\t\t\ttype: Number,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Disable the component\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#disabled\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Determines whether the dropdown should be open.\n\t\t * Receives the component instance as the only argument.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#dropdownshouldopen\n\t\t */\n\t\tdropdownShouldOpen: {\n\t\t\ttype: Function,\n\t\t\tdefault: ({ noDrop, open }) => {\n\t\t\t\treturn noDrop ? false : open\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Callback to determine if the provided option should\n\t\t * match the current search text. Used to determine\n\t\t * if the option should be displayed.\n\t\t *\n\t\t * Defaults to the internal vue-select function documented at the link\n\t\t * below\n\t\t *\n\t\t * Enabling `userSelect` will automatically set this to filter by the\n\t\t * `displayName` and `subname` properties of the user option object\n\t\t * unless this prop is set explicitly\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#filterby\n\t\t */\n\t\tfilterBy: {\n\t\t\ttype: Function,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Class for the `input`\n\t\t *\n\t\t * Necessary for use in NcActionInput\n\t\t */\n\t\tinputClass: {\n\t\t\ttype: [String, Object],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Input element id\n\t\t */\n\t\tinputId: {\n\t\t\ttype: String,\n\t\t\tdefault: () => `select-input-${GenRandomId()}`,\n\t\t},\n\n\t\t/**\n\t\t * Visible label for the input element\n\t\t *\n\t\t * @todo Set default for @nextcloud/vue 9\n\t\t */\n\t\tinputLabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Pass true if you are using an external label\n\t\t */\n\t\tlabelOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Display a visible border around dropdown options\n\t\t * which have keyboard focus\n\t\t */\n\t\tkeyboardFocusBorder: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Key of the displayed label for object options\n\t\t *\n\t\t * Defaults to the internal vue-select string documented at the link\n\t\t * below\n\t\t *\n\t\t * Enabling `userSelect` will automatically set this to `'displayName'`\n\t\t * unless this prop is set explicitly\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#label\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Show the loading icon\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#loading\n\t\t */\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Allow selection of multiple options\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#multiple\n\t\t */\n\t\tmultiple: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Disable automatic wrapping when selected options overflow the width\n\t\t */\n\t\tnoWrap: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Array of options\n\t\t *\n\t\t * @type {Array<string | number | Record<string | number, any>>}\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#options\n\t\t */\n\t\toptions: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\n\t\t/**\n\t\t * Placeholder text\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#placeholder\n\t\t */\n\t\tplaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Customized component's response to keydown events while the search input has focus\n\t\t *\n\t\t * @see https://vue-select.org/guide/keydown.html#mapkeydown\n\t\t */\n\t\tmapKeydown: {\n\t\t\ttype: Function,\n\t\t\t/**\n\t\t\t * Patched Vue-Select keydown events handlers map to stop Escape propagation in open select\n\t\t\t *\n\t\t\t * @param {Record<number, Function>} map - Mapped keyCode to handlers { <keyCode>:<callback> }\n\t\t\t * @param {import('@nextcloud/vue-select').VueSelect} vm - VueSelect instance\n\t\t\t * @return {Record<number, Function>} patched keydown event handlers\n\t\t\t */\n\t\t\tdefault(map, vm) {\n\t\t\t\treturn {\n\t\t\t\t\t...map,\n\t\t\t\t\t/**\n\t\t\t\t\t * Patched Escape handler to stop propagation from open select\n\t\t\t\t\t *\n\t\t\t\t\t * @param {KeyboardEvent} event - default keydown event handler\n\t\t\t\t\t */\n\t\t\t\t\t27: (event) => {\n\t\t\t\t\t\tif (vm.open) {\n\t\t\t\t\t\t\tevent.stopPropagation()\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Default VueSelect's handler\n\t\t\t\t\t\tmap[27](event)\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * A unique identifier used to generate IDs and DOM attributes. Must be unique for every instance of the component.\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#uid\n\t\t */\n\t\tuid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => GenRandomId(),\n\t\t},\n\n\t\t/**\n\t\t * When `appendToBody` is true, this sets the placement of the dropdown\n\t\t *\n\t\t * @type {'bottom' | 'top'}\n\t\t */\n\t\tplacement: {\n\t\t\ttype: String,\n\t\t\tdefault: 'bottom',\n\t\t},\n\n\t\t/**\n\t\t * If false, the focused dropdown option will not be reset when filtered\n\t\t * options change\n\t\t */\n\t\tresetFocusOnOptionsChange: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Enable the user selector with avatars\n\t\t *\n\t\t * Objects must contain the data expected by the\n\t\t * [NcListItemIcon](#/Components/NcListItemIcon) and\n\t\t * [NcAvatar](#/Components/NcAvatar) components\n\t\t */\n\t\tuserSelect: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Currently selected value\n\t\t *\n\t\t * The `v-model` directive may be used for two-way data binding\n\t\t *\n\t\t * @type {string | number | Record<string | number, any> | Array<any>}\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html#value\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: [String, Number, Object, Array],\n\t\t\tdefault: null,\n\t\t},\n\n\t\t/**\n\t\t * Enable if a value is required for native form validation\n\t\t */\n\t\trequired: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Any available prop\n\t\t *\n\t\t * @see https://vue-select.org/api/props.html\n\t\t */\n\t\t// Not an actual prop but needed to show in vue-styleguidist docs\n\t\t// eslint-disable-next-line\n\t\t' ': {},\n\t},\n\n\temits: [\n\t\t/**\n\t\t * All events from https://vue-select.org/api/events.html\n\t\t */\n\t\t// Not an actual event but needed to show in vue-styleguidist docs\n\t\t' ',\n\t\t'update:modelValue',\n\t],\n\n\tsetup() {\n\t\tconst clickableArea = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-clickable-area'))\n\t\tconst gridBaseLine = Number.parseInt(window.getComputedStyle(document.body).getPropertyValue('--default-grid-baseline'))\n\t\tconst avatarSize = clickableArea - 2 * gridBaseLine\n\n\t\treturn {\n\t\t\tavatarSize,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tsearch: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tinputRequired() {\n\t\t\tif (!this.required) {\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t// The <input> itself does not have any value so we set the `required` attribute conditionally\n\t\t\treturn this.value === null || (Array.isArray(this.value) && this.value.length === 0)\n\t\t},\n\n\t\tlocalCalculatePosition() {\n\t\t\tif (this.calculatePosition !== null) {\n\t\t\t\treturn this.calculatePosition\n\t\t\t}\n\n\t\t\treturn (dropdownMenu, component, { width }) => {\n\t\t\t\tdropdownMenu.style.width = width\n\n\t\t\t\tconst addClass = {\n\t\t\t\t\tname: 'addClass',\n\t\t\t\t\tfn(/* middlewareArgs */) {\n\t\t\t\t\t\tdropdownMenu.classList.add('vs__dropdown-menu--floating')\n\t\t\t\t\t\treturn {}\n\t\t\t\t\t},\n\t\t\t\t}\n\n\t\t\t\tconst togglePlacementClass = {\n\t\t\t\t\tname: 'togglePlacementClass',\n\t\t\t\t\tfn({ placement }) {\n\t\t\t\t\t\tcomponent.$el.classList.toggle(\n\t\t\t\t\t\t\t'select--drop-up',\n\t\t\t\t\t\t\tplacement === 'top',\n\t\t\t\t\t\t)\n\t\t\t\t\t\tdropdownMenu.classList.toggle(\n\t\t\t\t\t\t\t'vs__dropdown-menu--floating-placement-top',\n\t\t\t\t\t\t\tplacement === 'top',\n\t\t\t\t\t\t)\n\t\t\t\t\t\treturn {}\n\t\t\t\t\t},\n\t\t\t\t}\n\n\t\t\t\tconst updatePosition = () => {\n\t\t\t\t\tcomputePosition(component.$refs.toggle, dropdownMenu, {\n\t\t\t\t\t\tplacement: this.placement,\n\t\t\t\t\t\tmiddleware: [\n\t\t\t\t\t\t\toffset(-1),\n\t\t\t\t\t\t\taddClass,\n\t\t\t\t\t\t\ttogglePlacementClass,\n\t\t\t\t\t\t\t// Match popperjs default collision prevention behavior by appending the following middleware in order\n\t\t\t\t\t\t\tflip(),\n\t\t\t\t\t\t\tshift({ limiter: limitShift() }),\n\t\t\t\t\t\t],\n\t\t\t\t\t}).then(({ x, y }) => {\n\t\t\t\t\t\tObject.assign(dropdownMenu.style, {\n\t\t\t\t\t\t\tleft: `${x}px`,\n\t\t\t\t\t\t\ttop: `${y}px`,\n\t\t\t\t\t\t\twidth: `${component.$refs.toggle.getBoundingClientRect().width}px`,\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tconst cleanup = autoUpdate(\n\t\t\t\t\tcomponent.$refs.toggle,\n\t\t\t\t\tdropdownMenu,\n\t\t\t\t\tupdatePosition,\n\t\t\t\t)\n\n\t\t\t\treturn cleanup\n\t\t\t}\n\t\t},\n\n\t\tlocalFilterBy() {\n\t\t\t// Match the email notation like \"Jane <j.doe@example.com>\" with the email address as matching group\n\t\t\tconst EMAIL_NOTATION = /[^<]*<([^>]+)/\n\n\t\t\tif (this.filterBy !== null) {\n\t\t\t\treturn this.filterBy\n\t\t\t}\n\t\t\tif (this.userSelect) {\n\t\t\t\treturn (option, label, search) => {\n\t\t\t\t\tconst match = search.match(EMAIL_NOTATION)\n\t\t\t\t\treturn (match && option.subname?.toLocaleLowerCase?.()?.indexOf(match[1].toLocaleLowerCase()) > -1)\n\t\t\t\t\t\t|| (`${label} ${option.subname}`\n\t\t\t\t\t\t\t.toLocaleLowerCase()\n\t\t\t\t\t\t\t.indexOf(search.toLocaleLowerCase()) > -1)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn VueSelect.props.filterBy.default\n\t\t},\n\n\t\tlocalLabel() {\n\t\t\tif (this.label !== null) {\n\t\t\t\treturn this.label\n\t\t\t}\n\t\t\tif (this.userSelect) {\n\t\t\t\treturn 'displayName'\n\t\t\t}\n\t\t\treturn VueSelect.props.label.default\n\t\t},\n\n\t\tpropsToForward() {\n\t\t\tconst vueSelectKeys = [\n\t\t\t\t...Object.keys(VueSelect.props),\n\t\t\t\t...VueSelect.mixins.flatMap(mixin => Object.keys(mixin.props ?? {})),\n\t\t\t]\n\t\t\tconst initialPropsToForward = Object.fromEntries(\n\t\t\t\tObject.entries(this.$props)\n\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t\t\t\t.filter(([key, _value]) => vueSelectKeys.includes(key)),\n\t\t\t)\n\t\t\tconst propsToForward = {\n\t\t\t\t...initialPropsToForward,\n\t\t\t\t// Custom overrides of vue-select props\n\t\t\t\tcalculatePosition: this.localCalculatePosition,\n\t\t\t\tfilterBy: this.localFilterBy,\n\t\t\t\tlabel: this.localLabel,\n\t\t\t}\n\t\t\treturn propsToForward\n\t\t},\n\t},\n\n\tmounted() {\n\t\tif (!this.labelOutside && !this.inputLabel && !this.ariaLabelCombobox) {\n\t\t\twarn('[NcSelect] An `inputLabel` or `ariaLabelCombobox` should be set. If an external label is used, `labelOutside` should be set to `true`.')\n\t\t}\n\t\tif (this.inputLabel && this.ariaLabelCombobox) {\n\t\t\twarn('[NcSelect] Only one of `inputLabel` or `ariaLabelCombobox` should to be set.')\n\t\t}\n\t},\n\n\tmethods: {\n\t\tt,\n\t},\n}\n</script>\n\n<style lang=\"scss\">\nbody {\n\t/**\n\t * Set custom vue-select CSS variables.\n\t * Needs to be on the body (not :root) for theming to apply (see nextcloud/server#36462)\n\t */\n\n\t/* Search Input */\n\t--vs-search-input-color: var(--color-main-text);\n\t--vs-search-input-bg: var(--color-main-background);\n\t--vs-search-input-placeholder-color: var(--color-text-maxcontrast);\n\n\t/* Font */\n\t--vs-font-size: var(--default-font-size);\n\t--vs-line-height: var(--default-line-height);\n\n\t/* Disabled State */\n\t--vs-state-disabled-bg: var(--color-background-hover);\n\t--vs-state-disabled-color: var(--color-text-maxcontrast);\n\t--vs-state-disabled-controls-color: var(--color-text-maxcontrast);\n\t--vs-state-disabled-cursor: not-allowed;\n\t--vs-disabled-bg: var(--color-background-hover);\n\t--vs-disabled-color: var(--color-text-maxcontrast);\n\t--vs-disabled-cursor: not-allowed;\n\n\t/* Borders */\n\t--vs-border-color: var(--color-border-maxcontrast);\n\t--vs-border-width: var(--border-width-input, 2px) !important;\n\t--vs-border-style: solid;\n\t--vs-border-radius: var(--border-radius-large);\n\n\t/* Component Controls: Clear, Open Indicator */\n\t--vs-controls-color: var(--color-main-text);\n\n\t/* Selected */\n\t--vs-selected-bg: var(--color-background-hover);\n\t--vs-selected-color: var(--color-main-text);\n\t--vs-selected-border-color: var(--vs-border-color);\n\t--vs-selected-border-style: var(--vs-border-style);\n\t--vs-selected-border-width: var(--vs-border-width);\n\n\t/* Dropdown */\n\t--vs-dropdown-bg: var(--color-main-background);\n\t--vs-dropdown-color: var(--color-main-text);\n\t--vs-dropdown-z-index: 9999;\n\t--vs-dropdown-box-shadow: 0px 2px 2px 0px var(--color-box-shadow);\n\n\t/* Options */\n\t--vs-dropdown-option-padding: 8px 20px;\n\n\t/* Active State */\n\t--vs-dropdown-option--active-bg: var(--color-background-hover);\n\t--vs-dropdown-option--active-color: var(--color-main-text);\n\n\t/* Keyboard Focus State */\n\t--vs-dropdown-option--kb-focus-box-shadow: inset 0px 0px 0px 2px var(--vs-border-color);\n\n\t/* Deselect State */\n\t--vs-dropdown-option--deselect-bg: var(--color-error);\n\t--vs-dropdown-option--deselect-color: #fff;\n\n\t/* Transitions */\n\t--vs-transition-duration: 0ms;\n\n\t/* Actions */\n\t--vs-actions-padding: 0 8px 0 4px;\n}\n\n.v-select.select {\n\t/* Override default vue-select styles */\n\tmin-height: var(--default-clickable-area);\n\tmin-width: 260px;\n\tmargin: 0 0 var(--default-grid-baseline);\n\n\t&.vs--open {\n\t\t--vs-border-width: var(--border-width-input-focused, 2px);\n\t}\n\n\t.select__label {\n\t\tdisplay: block;\n\t\tmargin-bottom: 2px;\n\t}\n\n\t.vs__selected {\n\t\theight: calc(var(--default-clickable-area) - 2 * var(--vs-border-width) - var(--default-grid-baseline));\n\t\tmargin: calc(var(--default-grid-baseline) / 2);\n\t\tpadding-block: 0;\n\t\tpadding-inline: 12px 8px;\n\t\tborder-radius: 16px !important;\n\t\tbackground: var(--color-primary-element-light);\n\t\tborder: none;\n\t}\n\n\t&.vs--open .vs__selected:first-of-type {\n\t\tmargin-inline-start: calc(var(--default-grid-baseline) / 2 - (var(--border-width-input-focused, 2px) - var(--border-width-input, 2px))) !important; // prevent jumping\n\t}\n\n\t.vs__search {\n\t\ttext-overflow: ellipsis;\n\t\tcolor: var(--color-main-text);\n\t\tmin-height: unset !important;\n\t\theight: calc(var(--default-clickable-area) - 2 * var(--vs-border-width)) !important;\n\n\t\t&::placeholder {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\t}\n\n\t.vs__search, .vs__search:focus {\n\t\tmargin: 0;\n\t}\n\n\t.vs__dropdown-toggle {\n\t\tposition: relative;\n\t\tmax-height: 100px;\n\t\tpadding: 0;\n\t\toverflow-y: auto;\n\t}\n\n\t.vs__actions {\n\t\tposition: sticky;\n\t\ttop: 0;\n\t}\n\n\t.vs__clear {\n\t\tmargin-right: 2px;\n\t}\n\n\t&.vs--open .vs__dropdown-toggle {\n\t\tborder-width: var(--border-width-input-focused);\n\t\toutline: 2px solid var(--color-main-background);\n\t\tborder-color: var(--color-main-text);\n\t\tborder-bottom-color: transparent;\n\t}\n\n\t&:not(.vs--disabled, .vs--open) .vs__dropdown-toggle:hover {\n\t\toutline: 2px solid var(--color-main-background);\n\t\tborder-color: var(--color-main-text);\n\t}\n\n\t&.vs--disabled {\n\t\t.vs__search,\n\t\t.vs__selected {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t}\n\n\t\t.vs__clear,\n\t\t.vs__deselect {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t&--no-wrap {\n\t\t.vs__selected-options {\n\t\t\tflex-wrap: nowrap;\n\t\t\toverflow: auto;\n\t\t\tmin-width: unset;\n\t\t\t.vs__selected {\n\t\t\t\tmin-width: unset;\n\t\t\t}\n\t\t}\n\t}\n\n\t&--drop-up {\n\t\t&.vs--open {\n\t\t\t.vs__dropdown-toggle {\n\t\t\t\tborder-radius: 0 0 var(--vs-border-radius) var(--vs-border-radius);\n\t\t\t\tborder-top-color: transparent;\n\t\t\t\tborder-bottom-color: var(--color-main-text);\n\t\t\t}\n\t\t}\n\t}\n\n\t.vs__selected-options {\n\t\t// If search is hidden, ensure that the height of the search is the same\n\t\tmin-height: calc(var(--default-clickable-area) - 2 * var(--vs-border-width));\n\n\t\t// Hide search from dom if unused to prevent unneeded flex wrap\n\t\t.vs__selected ~ .vs__search[readonly] {\n\t\t\tposition: absolute;\n\t\t}\n\t\tpadding: 0 5px;\n\t}\n\n\t&.vs--single {\n\t\t&.vs--loading,\n\t\t&.vs--open {\n\t\t\t.vs__selected {\n\t\t\t\t// Fix `max-width` for `position: absolute`\n\t\t\t\tmax-width: 100%;\n\t\t\t\t// Fix color to be accessible\n\t\t\t\topacity: 1;\n\t\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\t}\n\t\t}\n\t\t.vs__selected-options {\n\t\t\tflex-wrap: nowrap;\n\t\t}\n\t\t.vs__selected {\n\t\t\tbackground: unset !important;\n\t\t}\n\t}\n}\n\n.vs__dropdown-menu {\n\tborder-width: var(--border-width-input-focused) !important;\n\tborder-color: var(--color-main-text) !important;\n\toutline: none !important;\n\tbox-shadow:\n\t\t-2px 0 0 var(--color-main-background), // Right\n\t\t0 2px 0 var(--color-main-background), // Bottom\n\t\t2px 0 0 var(--color-main-background), // Left\n\t\t!important;\n\tpadding: 4px !important;\n\n\t&--floating {\n\t\t/* Fallback styles overidden by programmatically set inline styles */\n\t\twidth: max-content;\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\n\t\t&-placement-top {\n\t\t\tborder-radius: var(--vs-border-radius) var(--vs-border-radius) 0 0 !important;\n\t\t\tborder-top-style: var(--vs-border-style) !important;\n\t\t\tborder-bottom-style: none !important;\n\t\t\tbox-shadow:\n\t\t\t\t0 -2px 0 var(--color-main-background), // Top\n\t\t\t\t-2px 0 0 var(--color-main-background), // Right\n\t\t\t\t2px 0 0 var(--color-main-background), // Left\n\t\t\t\t!important\n\t\t}\n\t}\n\n\t.vs__dropdown-option {\n\t\tborder-radius: 6px !important;\n\t}\n\n\t.vs__no-options {\n\t\tcolor: var(--color-text-lighter) !important;\n\t}\n}\n\n// Selected users require slightly different padding\n.user-select .vs__selected {\n\tpadding-inline: 0 5px !important;\n}\n</style>\n"],"names":["_openBlock","_createBlock","_mergeProps","_createSlots","_withCtx","_createElementVNode","_toHandlers","_createVNode","_createCommentVNode","_createTextVNode","_toDisplayString","_renderList","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NcSettingsInputText-Bjw2RqKu.mjs","sources":["../../src/components/NcSettingsInputText/NcSettingsInputText.vue"],"sourcesContent":["<!--\n - SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\n\n```vue\n<NcSettingsInputText label=\"Label\" hint=\"Hint\" />\n<NcSettingsInputText label=\"Label\" model-value=\"Value\" hint=\"Hint\" disabled />\n```\n\n</docs>\n\n<template>\n\t<form ref=\"form\"\n\t\t:disabled=\"disabled\"\n\t\t@submit.prevent.stop=\"onSubmit\">\n\t\t<div class=\"input-wrapper\">\n\t\t\t<label :for=\"id\" class=\"action-input__label\">{{ label }}</label>\n\t\t\t<input :id=\"id\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:value=\"modelValue\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t@input=\"onInput\"\n\t\t\t\t@change=\"onChange\">\n\t\t\t<input :id=\"idSubmit\"\n\t\t\t\t:value=\"submitTranslated\"\n\t\t\t\ttype=\"submit\"\n\t\t\t\tclass=\"action-input__submit\">\n\t\t\t<p v-if=\"hint\" class=\"hint\">\n\t\t\t\t{{ hint }}\n\t\t\t</p>\n\t\t</div>\n\t</form>\n</template>\n\n<script>\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nexport default {\n\tname: 'NcSettingsInputText',\n\tprops: {\n\t\t/**\n\t\t * label of the select group element\n\t\t */\n\t\tlabel: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * hint of the select group input\n\t\t */\n\t\thint: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * value of the select group input\n\t\t */\n\t\tmodelValue: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * disabled state of the settings select group input\n\t\t */\n\t\tdisabled: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * id attribute of the select group element\n\t\t */\n\t\tid: {\n\t\t\ttype: String,\n\t\t\tdefault: () => 'settings-input-text-' + GenRandomId(),\n\t\t\tvalidator: id => id.trim() !== '',\n\t\t},\n\t},\n\n\temits: [\n\t\t'change',\n\t\t'input',\n\t\t'submit',\n\t\t'update:modelValue',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tsubmitTranslated: t('Submit'),\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * @return {string}\n\t\t */\n\t\tidSubmit() {\n\t\t\treturn this.id + '-submit'\n\t\t},\n\t},\n\tmethods: {\n\t\tonInput(event) {\n\t\t\tthis.$emit('input', event)\n\t\t\t/**\n\t\t\t * Emitted when the inputs value changes\n\t\t\t *\n\t\t\t * @type {string}\n\t\t\t */\n\t\t\tthis.$emit('update:modelValue', event.target.value)\n\t\t},\n\t\tonSubmit(event) {\n\t\t\tif (!this.disabled) {\n\t\t\t\t/**\n\t\t\t\t * Emitted on submit of the input field\n\t\t\t\t *\n\t\t\t\t * @type {Event}\n\t\t\t\t */\n\t\t\t\tthis.$emit('submit', event)\n\t\t\t}\n\t\t},\n\t\tonChange(event) {\n\t\t\t/**\n\t\t\t * Emitted on change of the input field\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('change', event)\n\t\t},\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n\t.input-wrapper {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tflex-wrap: wrap;\n\t\twidth: 100%;\n\t\tmax-width: 400px;\n\n\t\t& .action-input__label {\n\t\t\tmargin-right: 12px;\n\t\t}\n\n\t\t// if disabled, change cursor\n\t\t&:disabled {\n\t\t\tcursor: default;\n\t\t}\n\n\t\t.hint {\n\t\t\tcolor: var(--color-text-maxcontrast);\n\t\t\tmargin-left: 8px;\n\t\t}\n\t}\n\n</style>\n"],"names":["_createElementBlock","_withModifiers","_createElementVNode","_toDisplayString","_createCommentVNode"],"mappings":";;;;;AAyCA,MAAK,YAAU;AAAA,EACd,MAAM;AAAA,EACN,OAAO;AAAA;AAAA;AAAA;AAAA,IAIN,OAAO;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD,MAAM;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKD,YAAY;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKD,UAAU;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACT;AAAA;AAAA;AAAA;AAAA,IAKD,IAAI;AAAA,MACH,MAAM;AAAA,MACN,SAAS,MAAM,yBAAyB,YAAa;AAAA,MACrD,WAAW,QAAM,GAAG,KAAK,MAAM;AAAA,IAC/B;AAAA,EACD;AAAA,EAED,OAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAED,OAAO;AACN,WAAO;AAAA,MACN,kBAAkB,EAAE,QAAQ;AAAA,IAC7B;AAAA,EACA;AAAA,EAED,UAAU;AAAA;AAAA;AAAA;AAAA,IAIT,WAAW;AACV,aAAO,KAAK,KAAK;AAAA,IACjB;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACR,QAAQ,OAAO;AACd,WAAK,MAAM,SAAS,KAAK;AAMzB,WAAK,MAAM,qBAAqB,MAAM,OAAO,KAAK;AAAA,IAClD;AAAA,IACD,SAAS,OAAO;AACf,UAAI,CAAC,KAAK,UAAU;AAMnB,aAAK,MAAM,UAAU,KAAK;AAAA,MAC3B;AAAA,IACA;AAAA,IACD,SAAS,OAAO;AAMf,WAAK,MAAM,UAAU,KAAK;AAAA,IAC1B;AAAA,EACD;AACF;AAxIA,MAAA,aAAA,CAAA,UAAA;AAkBO,MAAA,aAAA,EAAA,OAAM,gBAAe;AAlB5B,MAAA,aAAA,CAAA,KAAA;AAAA,MAAA,aAAA,CAAA,MAAA,SAAA,UAAA;AAAA,MAAA,aAAA,CAAA,MAAA,OAAA;;EAAA,KAAA;AAAA,EA8BkB,OAAM;;;sBAfvBA,mBAmBO,QAAA;AAAA,IAnBD,KAAI;AAAA,IACR,UAAU,OAAQ;AAAA,IAClB,UAAM,OAAA,CAAA,MAAA,OAAA,CAAA,IAjBTC,2BAiBwB,SAAQ,YAAA,SAAA,SAAA,GAAA,IAAA,GAAA,CAAA,WAAA,MAAA,CAAA;AAAA;IAC9BC,mBAeM,OAfN,YAeM;AAAA,MAdLA,mBAAgE,SAAA;AAAA,QAAxD,KAAK,OAAE;AAAA,QAAE,OAAM;AAAA,MAAyB,GAAAC,gBAAA,OAAA,KAAK,GAnBxD,GAAA,UAAA;AAAA,MAoBGD,mBAKoB,SAAA;AAAA,QALZ,IAAI,OAAE;AAAA,QACb,MAAK;AAAA,QACJ,OAAO,OAAU;AAAA,QACjB,UAAU,OAAQ;AAAA,QAClB,gDAAO,SAAO,WAAA,SAAA,QAAA,GAAA,IAAA;AAAA,QACd,iDAAQ,SAAQ,YAAA,SAAA,SAAA,GAAA,IAAA;AAAA,MAzBrB,GAAA,MAAA,IAAA,UAAA;AAAA,MA0BGA,mBAG8B,SAAA;AAAA,QAHtB,IAAI,SAAQ;AAAA,QAClB,OAAO,MAAgB;AAAA,QACxB,MAAK;AAAA,QACL,OAAM;AAAA,MA7BV,GAAA,MAAA,GAAA,UAAA;AAAA,MA8BY,OAAI,qBAAbF,mBAEI,KAFJ,YAEIG,gBADA,OAAI,IAAA,GAAA,CAAA,KA/BXC,mBAAA,IAAA,IAAA;AAAA;EAAA,GAAA,IAAA,UAAA;;;"}