@onereach/ui-components 23.2.4-beta.5592.0 → 23.2.4-beta.5595.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/dist/esm/{OrAutocomplete-ds-VkL_e.mjs → OrAutocomplete-B5PEcSLw.mjs} +3 -3
  2. package/dist/esm/{OrAutocomplete-ds-VkL_e.mjs.map → OrAutocomplete-B5PEcSLw.mjs.map} +1 -1
  3. package/dist/esm/OrAvatar-XcP_rrT3.mjs.map +1 -1
  4. package/dist/esm/OrBottomSheet-CJxmY84p.mjs.map +1 -1
  5. package/dist/esm/OrButton-C_hXddAf.mjs.map +1 -1
  6. package/dist/esm/OrButtonGroup-Cd6tpyP3.mjs.map +1 -1
  7. package/dist/esm/OrCard-7awJu_df.mjs.map +1 -1
  8. package/dist/esm/OrCardCollection-CoE9Umh7.mjs.map +1 -1
  9. package/dist/esm/{OrCheckbox-CI-mxgEp.mjs → OrCheckbox-Ztan-O2t.mjs} +31 -31
  10. package/dist/esm/OrCheckbox-Ztan-O2t.mjs.map +1 -0
  11. package/dist/esm/{OrCheckboxGroup-BgAvcSVe.mjs → OrCheckboxGroup-CXjyqAjp.mjs} +2 -2
  12. package/dist/esm/{OrCheckboxGroup-BgAvcSVe.mjs.map → OrCheckboxGroup-CXjyqAjp.mjs.map} +1 -1
  13. package/dist/esm/{OrCheckboxTree-DvIftMpp.mjs → OrCheckboxTree-BKNPrNAq.mjs} +16 -16
  14. package/dist/esm/OrCheckboxTree-BKNPrNAq.mjs.map +1 -0
  15. package/dist/esm/{OrCode-CI1Corli.mjs → OrCode-Bo17z-R3.mjs} +2 -3
  16. package/dist/esm/{OrCode-CI1Corli.mjs.map → OrCode-Bo17z-R3.mjs.map} +1 -1
  17. package/dist/esm/OrCombinedInput-CLIIindo.mjs.map +1 -1
  18. package/dist/esm/OrConfirm-BKXhawH9.mjs.map +1 -1
  19. package/dist/esm/OrContextMenu-CrpiM2Jq.mjs.map +1 -1
  20. package/dist/esm/{OrDataGrid-BML2-j9s.mjs → OrDataGrid-CFIZ_U4b.mjs} +4 -4
  21. package/dist/esm/{OrDataGrid-BML2-j9s.mjs.map → OrDataGrid-CFIZ_U4b.mjs.map} +1 -1
  22. package/dist/esm/OrDateFormat-CnNnn2qx.mjs.map +1 -1
  23. package/dist/esm/OrDatePicker-B8f7IXss.mjs.map +1 -1
  24. package/dist/esm/OrDateRangePicker-Cs59h-1i.mjs.map +1 -1
  25. package/dist/esm/OrDateTimeFormat-B5lV7PfA.mjs.map +1 -1
  26. package/dist/esm/OrDateTimePicker-BjUIRfEc.mjs.map +1 -1
  27. package/dist/esm/OrDateTimePicker.vue_vue_type_script_lang-BPE3fOtA.mjs.map +1 -1
  28. package/dist/esm/OrDrawer-BR0r7GeI.mjs.map +1 -1
  29. package/dist/esm/{OrDropArea-DA9aXi-a.mjs → OrDropArea-CtaQeTMw.mjs} +12 -12
  30. package/dist/esm/OrDropArea-CtaQeTMw.mjs.map +1 -0
  31. package/dist/esm/OrEditorTabs-psJUG0D3.mjs.map +1 -1
  32. package/dist/esm/OrEmptyState-C6viT2WQ.mjs.map +1 -1
  33. package/dist/esm/OrError-B5ihH6-3.mjs.map +1 -1
  34. package/dist/esm/OrErrorTag-Bo_gxhzB.mjs.map +1 -1
  35. package/dist/esm/OrExpansionPanel-BNGPdEnp.mjs.map +1 -1
  36. package/dist/esm/OrFab-Cbg9unNc.mjs.map +1 -1
  37. package/dist/esm/OrFilter-C8d3OmGK.mjs.map +1 -1
  38. package/dist/esm/OrFilterPopover-C8lXb-hJ.mjs.map +1 -1
  39. package/dist/esm/OrFilterTrigger-zfcgyC7C.mjs.map +1 -1
  40. package/dist/esm/OrFormGroup-BFAjTfM9.mjs.map +1 -1
  41. package/dist/esm/OrHint-NvbZyURY.mjs.map +1 -1
  42. package/dist/esm/OrIcon-k8cyvh-D.mjs.map +1 -1
  43. package/dist/esm/OrIconButton-BlHCLpeW.mjs.map +1 -1
  44. package/dist/esm/OrIndicator-CCrOseW7.mjs.map +1 -1
  45. package/dist/esm/OrInlineInput-1WPe9sXl.mjs.map +1 -1
  46. package/dist/esm/OrInlineInputBox-M_zTO43m.mjs.map +1 -1
  47. package/dist/esm/OrInlineTextarea-COQceBb0.mjs.map +1 -1
  48. package/dist/esm/OrInput-DBcNZlkx.mjs.map +1 -1
  49. package/dist/esm/OrInputBox-6ciokFdU.mjs.map +1 -1
  50. package/dist/esm/OrInputBox.vue_vue_type_script_lang-q2L7rmth.mjs.map +1 -1
  51. package/dist/esm/OrLabel-DssheqEn.mjs.map +1 -1
  52. package/dist/esm/OrLink-Vl_H8MMg.mjs.map +1 -1
  53. package/dist/esm/{OrList-CLHvgZc7.mjs → OrList-CoDesOam.mjs} +49 -49
  54. package/dist/esm/OrList-CoDesOam.mjs.map +1 -0
  55. package/dist/esm/OrLoader-2SaTMxmZ.mjs.map +1 -1
  56. package/dist/esm/OrMenu-CJT4Snay.mjs.map +1 -1
  57. package/dist/esm/OrMenuItem-BHRMA0L1.mjs.map +1 -1
  58. package/dist/esm/OrModal-CQhwUYFk.mjs.map +1 -1
  59. package/dist/esm/OrNotification-Dz3Tr1wI.mjs.map +1 -1
  60. package/dist/esm/OrOverlay-BjrghiC-.mjs.map +1 -1
  61. package/dist/esm/OrPagination-DIacMkVe.mjs.map +1 -1
  62. package/dist/esm/OrPopover-DbygLPtT.mjs.map +1 -1
  63. package/dist/esm/OrProgress-cgGfaP0m.mjs.map +1 -1
  64. package/dist/esm/OrRadio-CJLJrxIS.mjs.map +1 -1
  65. package/dist/esm/OrRadioGroup-_n_7vdJU.mjs.map +1 -1
  66. package/dist/esm/OrRangeSlider-Dim4sU4v.mjs.map +1 -1
  67. package/dist/esm/OrRating-BhuvRBRy.mjs.map +1 -1
  68. package/dist/esm/OrResizeablePanel-DuGgwmhB.mjs.map +1 -1
  69. package/dist/esm/{OrRichTextEditor-YYtRuKat.mjs → OrRichTextEditor-DvkFn8He.mjs} +5 -9
  70. package/dist/esm/{OrRichTextEditor-YYtRuKat.mjs.map → OrRichTextEditor-DvkFn8He.mjs.map} +1 -1
  71. package/dist/esm/OrRichTooltip-D8vv5Btb.mjs.map +1 -1
  72. package/dist/esm/OrSearch-1OFONLHk.mjs.map +1 -1
  73. package/dist/esm/OrSegmentedControl-D5QoWe-N.mjs.map +1 -1
  74. package/dist/esm/{OrSelect-Cnklh9us.mjs → OrSelect-DmNRdiTd.mjs} +4 -5
  75. package/dist/esm/{OrSelect-Cnklh9us.mjs.map → OrSelect-DmNRdiTd.mjs.map} +1 -1
  76. package/dist/esm/OrSkeletonRect-D9sTxEc-.mjs.map +1 -1
  77. package/dist/esm/OrSkeletonText-WYaAaljl.mjs.map +1 -1
  78. package/dist/esm/OrSlider-Cec0WpUQ.mjs.map +1 -1
  79. package/dist/esm/OrSorting-DCAarSF1.mjs.map +1 -1
  80. package/dist/esm/OrStatus-D4QIuE7R.mjs.map +1 -1
  81. package/dist/esm/OrSwitch-Cmi57-QB.mjs.map +1 -1
  82. package/dist/esm/OrTab-BdtxL_PY.mjs.map +1 -1
  83. package/dist/esm/OrTabs-BUXLSz8o.mjs.map +1 -1
  84. package/dist/esm/OrTag-Bixe0EQq.mjs.map +1 -1
  85. package/dist/esm/{OrTagInput-CjYmyfIU.mjs → OrTagInput-BkFDvGIk.mjs} +2 -2
  86. package/dist/esm/{OrTagInput-CjYmyfIU.mjs.map → OrTagInput-BkFDvGIk.mjs.map} +1 -1
  87. package/dist/esm/{OrTags-CS0bcLtx.mjs → OrTags-gPpVnqZT.mjs} +10 -10
  88. package/dist/esm/{OrTags-CS0bcLtx.mjs.map → OrTags-gPpVnqZT.mjs.map} +1 -1
  89. package/dist/esm/OrTeleport.vue3-C9kW_8PS.mjs.map +1 -1
  90. package/dist/esm/OrText-3zAJU5xf.mjs.map +1 -1
  91. package/dist/esm/OrTextarea-VEuq5855.mjs.map +1 -1
  92. package/dist/esm/OrTimeFormat-mxL8_Rx9.mjs.map +1 -1
  93. package/dist/esm/OrTimePicker-CQJesQKa.mjs.map +1 -1
  94. package/dist/esm/OrTimeRangePicker-DGvdvq4c.mjs.map +1 -1
  95. package/dist/esm/OrTooltip-DqwjoE82.mjs.map +1 -1
  96. package/dist/esm/{OrTree-By3MLZUL.mjs → OrTree-Di2v-U70.mjs} +75 -75
  97. package/dist/esm/{OrTree-By3MLZUL.mjs.map → OrTree-Di2v-U70.mjs.map} +1 -1
  98. package/dist/esm/components/index.mjs +14 -14
  99. package/dist/esm/components/or-autocomplete-v3/index.mjs +1 -1
  100. package/dist/esm/components/or-checkbox-group-v3/index.mjs +1 -1
  101. package/dist/esm/components/or-checkbox-tree-v3/index.mjs +1 -1
  102. package/dist/esm/components/or-checkbox-v3/index.mjs +1 -1
  103. package/dist/esm/components/or-code-v3/index.mjs +1 -1
  104. package/dist/esm/components/or-data-grid-v3/index.mjs +1 -1
  105. package/dist/esm/components/or-drop-area-v3/index.mjs +1 -1
  106. package/dist/esm/components/or-list-v3/index.mjs +1 -1
  107. package/dist/esm/components/or-rich-text-editor-v3/index.mjs +1 -1
  108. package/dist/esm/components/or-select-v3/index.mjs +1 -1
  109. package/dist/esm/components/or-tag-input-v3/index.mjs +1 -1
  110. package/dist/esm/components/or-tags-v3/index.mjs +1 -1
  111. package/dist/esm/components/or-toast-v3/index.mjs +1 -1
  112. package/dist/esm/components/or-tree-v3/index.mjs +1 -1
  113. package/dist/esm/index.mjs +14 -14
  114. package/dist/esm/props-BxqD8LGb.mjs.map +1 -1
  115. package/dist/esm/{types-BwxhurSS.mjs → types-CBo5_aI5.mjs} +2 -2
  116. package/dist/esm/{types-BwxhurSS.mjs.map → types-CBo5_aI5.mjs.map} +1 -1
  117. package/dist/types/components/or-autocomplete-v3/OrAutocomplete.vue.d.ts +8147 -11048
  118. package/dist/types/components/or-avatar-v3/OrAvatar.vue.d.ts +1 -1
  119. package/dist/types/components/or-bottom-sheet-v3/OrBottomSheet.vue.d.ts +2 -2
  120. package/dist/types/components/or-button-group-v3/OrButtonGroup.vue.d.ts +1 -1
  121. package/dist/types/components/or-button-v3/OrButton.vue.d.ts +1 -1
  122. package/dist/types/components/or-card-collection-v3/OrCardCollection.vue.d.ts +1 -1
  123. package/dist/types/components/or-card-collection-v3/partials/OrCardCollectionView.vue3.vue.d.ts +1 -1
  124. package/dist/types/components/or-card-v3/OrCard.vue.d.ts +1 -1
  125. package/dist/types/components/or-checkbox-group-v3/OrCheckboxGroup.vue.d.ts +2 -2
  126. package/dist/types/components/or-checkbox-tree-v3/OrCheckboxTree.vue.d.ts +4 -4
  127. package/dist/types/components/or-checkbox-v3/OrCheckbox.vue.d.ts +7 -7
  128. package/dist/types/components/or-code-v3/OrCode.vue.d.ts +254 -404
  129. package/dist/types/components/or-code-v3/partials/OrCodeControl.vue.d.ts +1 -1
  130. package/dist/types/components/or-combined-input-v3/OrCombinedInput.vue.d.ts +1 -1
  131. package/dist/types/components/or-confirm-v3/OrConfirm.vue.d.ts +322 -378
  132. package/dist/types/components/or-context-menu-v3/OrContextMenu.vue.d.ts +2 -2
  133. package/dist/types/components/or-data-grid-v3/OrDataGrid.vue.d.ts +67 -148
  134. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-footer/OrDataGridFooter.vue.d.ts +1 -1
  135. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-header/OrDataGridHeader.vue.d.ts +1 -1
  136. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-notification/OrDataGridNotification.vue.d.ts +45 -99
  137. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table/OrDataGridTable.vue.d.ts +1 -1
  138. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table-content/OrDataGridTableContent.vue.d.ts +1 -1
  139. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table-content-cell/OrDataGridTableContentCell.vue.d.ts +1 -1
  140. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table-content-row/OrDataGridTableContentRow.vue.d.ts +1 -1
  141. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table-extra-row/OrDataGridTableExtraRow.vue.d.ts +1 -1
  142. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table-footer/OrDataGridTableFooter.vue.d.ts +1 -1
  143. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table-footer-cell/OrDataGridTableFooterCell.vue.d.ts +1 -1
  144. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table-footer-row/OrDataGridTableFooterRow.vue.d.ts +1 -1
  145. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table-header/OrDataGridTableHeader.vue.d.ts +1 -1
  146. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table-header-cell/OrDataGridTableHeaderCell.vue.d.ts +1 -1
  147. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table-header-row/OrDataGridTableHeaderRow.vue.d.ts +1 -1
  148. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-table-placeholder/OrDataGridTablePlaceholder.vue.d.ts +1 -1
  149. package/dist/types/components/or-data-grid-v3/partials/or-data-grid-toolbar/OrDataGridToolbar.vue.d.ts +1 -1
  150. package/dist/types/components/or-date-format-v3/OrDateFormat.vue.d.ts +3 -3
  151. package/dist/types/components/or-date-picker-v3/OrDatePicker.vue.d.ts +512 -885
  152. package/dist/types/components/or-date-range-picker-v3/OrDateRangePicker.vue.d.ts +518 -1201
  153. package/dist/types/components/or-date-time-format-v3/OrDateTimeFormat.vue.d.ts +4 -4
  154. package/dist/types/components/or-date-time-picker-v3/OrDateTimePicker.vue.d.ts +1006 -1580
  155. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-date-control/OrDateTimePickerDateControl.vue.d.ts +3 -3
  156. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue.d.ts +2 -2
  157. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-mobile-control/OrDateTimePickerMobileControl.vue.d.ts +1 -1
  158. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue.d.ts +842 -1247
  159. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-footer/OrDateTimePickerPopoverFooter.vue.d.ts +1 -1
  160. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-popover-header/OrDateTimePickerPopoverHeader.vue.d.ts +1 -1
  161. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-time-control/OrDateTimePickerTimeControl.vue.d.ts +3 -3
  162. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-time-select/OrDateTimePickerTimeSelect.vue.d.ts +205 -293
  163. package/dist/types/components/or-drawer-v3/OrDrawer.vue.d.ts +2 -2
  164. package/dist/types/components/or-drop-area-v3/OrDropArea.vue.d.ts +4 -4
  165. package/dist/types/components/or-editor-tabs-v3/OrEditorTabs.vue.d.ts +55 -115
  166. package/dist/types/components/or-editor-tabs-v3/partials/or-editor-tabs-item/OrEditorTabsItem.vue.d.ts +1 -1
  167. package/dist/types/components/or-empty-state-v3/OrEmptyState.vue.d.ts +1 -1
  168. package/dist/types/components/or-error-tag-v3/OrErrorTag.vue.d.ts +1 -1
  169. package/dist/types/components/or-error-v3/OrError.vue.d.ts +1 -1
  170. package/dist/types/components/or-expansion-panel-v3/OrExpansionPanel.vue.d.ts +2 -2
  171. package/dist/types/components/or-fab-v3/OrFab.vue.d.ts +47 -99
  172. package/dist/types/components/or-filter-popover-v3/OrFilterPopover.vue.d.ts +4 -4
  173. package/dist/types/components/or-filter-trigger-v3/OrFilterTrigger.vue.d.ts +1 -1
  174. package/dist/types/components/or-filter-v3/OrFilter.vue.d.ts +480 -583
  175. package/dist/types/components/or-form-group-v3/OrFormGroup.vue.d.ts +1 -1
  176. package/dist/types/components/or-hint-v3/OrHint.vue.d.ts +1 -1
  177. package/dist/types/components/or-icon-button-v3/OrIconButton.vue.d.ts +353 -437
  178. package/dist/types/components/or-icon-v3/OrIcon.vue.d.ts +1 -1
  179. package/dist/types/components/or-indicator-v3/OrIndicator.vue.d.ts +70 -148
  180. package/dist/types/components/or-inline-input-box-v3/OrInlineInputBox.vue.d.ts +1 -1
  181. package/dist/types/components/or-inline-input-v3/OrInlineInput.vue.d.ts +16 -16
  182. package/dist/types/components/or-inline-textarea-v3/OrInlineTextarea.vue.d.ts +16 -16
  183. package/dist/types/components/or-input-box-v3/OrInputBox.vue.d.ts +1 -1
  184. package/dist/types/components/or-input-box-v3/partials/or-input-box-addon/OrInputBoxAddon.vue.d.ts +1 -1
  185. package/dist/types/components/or-input-v3/OrInput.vue.d.ts +16 -16
  186. package/dist/types/components/or-label-v3/OrLabel.vue.d.ts +1 -1
  187. package/dist/types/components/or-link-v3/OrLink.vue.d.ts +1 -1
  188. package/dist/types/components/or-list-v3/OrList.vue.d.ts +4 -4
  189. package/dist/types/components/or-list-v3/partials/or-list-item/OrListItem.vue.d.ts +1 -1
  190. package/dist/types/components/or-loader-v3/OrLoader.vue.d.ts +1 -1
  191. package/dist/types/components/or-menu-item-v3/OrMenuItem.vue.d.ts +180 -298
  192. package/dist/types/components/or-menu-v3/OrMenu.vue.d.ts +2 -2
  193. package/dist/types/components/or-modal-v3/OrModal.vue.d.ts +2 -2
  194. package/dist/types/components/or-modal-v3/partials/or-modal-content/OrModalContent.vue.d.ts +1 -1
  195. package/dist/types/components/or-modal-v3/partials/or-modal-footer/OrModalFooter.vue.d.ts +1 -1
  196. package/dist/types/components/or-modal-v3/partials/or-modal-header/OrModalHeader.vue.d.ts +2 -2
  197. package/dist/types/components/or-notification-v3/OrNotification.vue.d.ts +1 -1
  198. package/dist/types/components/or-overlay-v3/OrOverlay.vue.d.ts +1 -1
  199. package/dist/types/components/or-pagination-v3/OrPagination.vue.d.ts +370 -562
  200. package/dist/types/components/or-popover-v3/OrPopover.vue.d.ts +144 -273
  201. package/dist/types/components/or-progress-v3/OrProgress.vue.d.ts +1 -1
  202. package/dist/types/components/or-radio-group-v3/OrRadioGroup.vue.d.ts +2 -2
  203. package/dist/types/components/or-radio-v3/OrRadio.vue.d.ts +5 -5
  204. package/dist/types/components/or-range-slider-v3/OrRangeSlider.vue.d.ts +170 -164
  205. package/dist/types/components/or-rating-v3/OrRating.vue.d.ts +5 -5
  206. package/dist/types/components/or-resizeable-panel-v3/OrResizeablePanel.vue.d.ts +2 -2
  207. package/dist/types/components/or-rich-text-editor-v3/OrRichTextEditor.vue.d.ts +2148 -2667
  208. package/dist/types/components/or-rich-tooltip-v3/OrRichTooltip.vue.d.ts +433 -634
  209. package/dist/types/components/or-search-v3/OrSearch.vue.d.ts +232 -244
  210. package/dist/types/components/or-segmented-control-v3/OrSegmentedControl.vue.d.ts +2 -2
  211. package/dist/types/components/or-segmented-control-v3/partials/or-segmented-control-item/OrSegmentedControlItem.vue.d.ts +1 -1
  212. package/dist/types/components/or-select-v3/OrSelect.vue.d.ts +4560 -6401
  213. package/dist/types/components/or-select-v3/partials/or-select-control-input/OrSelectControlInput.vue.d.ts +2 -2
  214. package/dist/types/components/or-select-v3/partials/or-select-multiple-control/OrSelectMultipleControl.vue.d.ts +1519 -2179
  215. package/dist/types/components/or-select-v3/partials/or-select-placeholder/OrSelectPlaceholder.vue.d.ts +1 -1
  216. package/dist/types/components/or-select-v3/partials/or-select-single-control/OrSelectSingleControl.vue.d.ts +183 -279
  217. package/dist/types/components/or-sidebar-v3/OrSidebar.vue.d.ts +2 -2
  218. package/dist/types/components/or-skeleton-v3/or-skeleton-circle-v3/OrSkeletonCircle.vue.d.ts +1 -1
  219. package/dist/types/components/or-skeleton-v3/or-skeleton-rect-v3/OrSkeletonRect.vue.d.ts +1 -1
  220. package/dist/types/components/or-skeleton-v3/or-skeleton-text-v3/OrSkeletonText.vue.d.ts +1 -1
  221. package/dist/types/components/or-slider-v3/OrSlider.vue.d.ts +170 -164
  222. package/dist/types/components/or-sorting-v3/OrSorting.vue.d.ts +4 -4
  223. package/dist/types/components/or-status-v3/OrStatus.vue.d.ts +1 -1
  224. package/dist/types/components/or-switch-v3/OrSwitch.vue.d.ts +6 -6
  225. package/dist/types/components/or-tab-v3/OrTab.vue.d.ts +1 -1
  226. package/dist/types/components/or-tabs-v3/OrTabs.vue.d.ts +132 -244
  227. package/dist/types/components/or-tag-input-v3/OrTagInput.vue.d.ts +1497 -2148
  228. package/dist/types/components/or-tag-v3/OrTag.vue.d.ts +1 -1
  229. package/dist/types/components/or-tags-v3/OrTags.vue.d.ts +610 -921
  230. package/dist/types/components/or-teleport-v3/OrTeleport.vue3.vue.d.ts +1 -1
  231. package/dist/types/components/or-text-v3/OrText.vue.d.ts +1 -1
  232. package/dist/types/components/or-textarea-v3/OrTextarea.vue.d.ts +15 -15
  233. package/dist/types/components/or-time-format-v3/OrTimeFormat.vue.d.ts +3 -3
  234. package/dist/types/components/or-time-picker-v3/OrTimePicker.vue.d.ts +512 -885
  235. package/dist/types/components/or-time-range-picker-v3/OrTimeRangePicker.vue.d.ts +517 -1138
  236. package/dist/types/components/or-toast-v3/OrToast.vue.d.ts +1 -1
  237. package/dist/types/components/or-toast-v3/or-toast-container-v3/OrToastContainer.vue.d.ts +1 -1
  238. package/dist/types/components/or-tooltip-v3/OrTooltip.vue.d.ts +2 -2
  239. package/dist/types/components/or-tree-v3/OrTree.vue.d.ts +1 -1
  240. package/dist/types/components/or-tree-v3/partials/or-tree-node/OrTreeNode.vue.d.ts +1 -1
  241. package/package.json +8 -8
  242. package/dist/esm/OrCheckbox-CI-mxgEp.mjs.map +0 -1
  243. package/dist/esm/OrCheckboxTree-DvIftMpp.mjs.map +0 -1
  244. package/dist/esm/OrDropArea-DA9aXi-a.mjs.map +0 -1
  245. package/dist/esm/OrList-CLHvgZc7.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OrSwitch-Cmi57-QB.mjs","sources":["../../../components/or-switch-v3/src/styles.ts","../../../components/or-switch-v3/src/OrSwitch.vue"],"sourcesContent":["export const Switch: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'gap-sm',\n];\n\nexport const SwitchControl: string[] = [\n // Layout\n 'layout-inline-row justify-start checked:justify-end',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[43px] md:w-[37px]',\n 'h-[24px] md:h-[21px]',\n\n // Spacing\n 'px-[2px]',\n 'active:px-[1px]',\n\n // Spacing (checked)\n 'checked:px-[3px]',\n 'active:checked:px-[2px]',\n\n // Theme\n 'theme-preset-3-primary',\n 'dark:theme-preset-3-primary-dark',\n\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-border-outline border-1',\n 'dark:theme-border-outline-dark',\n\n // Theme (focus)\n 'focus-visible:theme-outline-primary focus-visible:outline-2',\n 'dark:focus-visible:theme-outline-primary-dark',\n\n // Theme (checked)\n 'checked:theme-preset-1-primary',\n 'dark:checked:theme-preset-1-primary-dark',\n];\n\nexport const SwitchControlHandle: string[] = [\n // Box\n 'after:w-[18px] after:md:w-[16px]',\n 'after:h-[18px] after:md:h-[16px]',\n\n // Shape\n 'after:rounded-full',\n\n // Theme\n 'after:active:w-[20px] after:active:md:w-[18px]',\n 'after:active:h-[20px] after:active:md:h-[18px]',\n\n 'after:bg-outline',\n 'after:dark:bg-outline-dark',\n\n 'after:hover:bg-on-surface-variant',\n 'after:hover:dark:bg-on-surface-variant-dark',\n\n 'after:focus-visible:bg-on-surface-variant',\n 'after:focus-visible:dark:bg-on-surface-variant-dark',\n\n 'after:active:bg-outline',\n 'after:active:dark:bg-outline-dark',\n\n 'after:disabled:bg-on-disabled',\n 'after:disabled:dark:bg-on-disabled-dark',\n\n 'after:checked:bg-on-primary',\n 'after:checked:dark:bg-on-primary-dark',\n\n 'after:checked:shadow',\n\n 'after:checked:hover:bg-primary-container',\n 'after:checked:hover:dark:bg-primary-container-dark',\n\n 'after:checked:focus-visible:bg-primary-container',\n 'after:checked:focus-visible:dark:bg-primary-container-dark',\n\n 'after:checked:active:bg-on-primary',\n 'after:checked:active:dark:bg-on-primary-dark',\n\n 'after:checked:disabled:bg-on-disabled',\n 'after:checked:disabled:dark:bg-on-disabled-dark',\n];\n\nexport const SwitchLoader: string[] = [\n // Layout\n 'layout-row justify-center',\n\n // Box\n 'w-[24px] md:w-[20px]',\n 'h-[24px] md:h-[20px]',\n\n // Shape\n 'rounded-full',\n\n // Theme\n 'theme-border-outline border-1',\n 'dark:theme-border-outline-dark',\n];\n\nexport const SwitchLoaderHandle: string[] = [\n // Layout\n 'after:absolute',\n\n // Box\n 'after:w-[18px] after:md:w-[14px]',\n 'after:h-[18px] after:md:h-[14px]',\n\n // Shape\n 'after:rounded-full',\n\n // Theme\n 'after:bg-outline',\n 'dark:after:bg-outline-dark',\n\n 'after:disabled:bg-on-disabled',\n 'dark:after:disabled:bg-on-disabled-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"!loading\">\n <input\n :ref=\"'control'\"\n v-bind=\"attributes\"\n :class=\"controlStyles\"\n :type=\"'checkbox'\"\n :checked=\"checked\"\n :required=\"required\"\n :disabled=\"disabled\"\n @change=\"$emit('change', $event); onChange()\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n </template>\n\n <template v-else>\n <div\n :class=\"loaderStyles\"\n :disabled=\"disabled\"\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"'primary'\"\n :size=\"'m'\"\n />\n </div>\n </template>\n\n <template v-if=\"$slots.default || label\">\n <OrLabel\n :control-id=\"attributes.id\"\n :variant=\"labelVariant\"\n :selected=\"checked\"\n :required=\"required\"\n :disabled=\"disabled\"\n >\n <slot>{{ label }}</slot>\n\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n </OrLabel>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, reactive, ref, toRef } from 'vue';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { exclude, include, isArray, isUndefined } from '@onereach/ui-components-common/utils';\nimport { LabelVariant, OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { Switch, SwitchControl, SwitchControlHandle, SwitchLoader, SwitchLoaderHandle } from './styles';\nimport { SwitchModelValue, SwitchValue } from './types';\n\nexport default defineComponent({\n name: 'OrSwitch',\n\n components: {\n OrLabel,\n OrLoader,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<SwitchModelValue>,\n default: undefined,\n },\n\n value: {\n type: undefined as unknown as PropType<SwitchValue>,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n labelVariant: {\n type: String as PropType<`${LabelVariant}`>,\n default: () => LabelVariant.Toggle,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'change',\n 'click',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'blur',\n ],\n\n setup(props, context) {\n const attributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n });\n\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-switch-v3',\n ...Switch,\n ]);\n\n const control = ref<HTMLElement>();\n\n const controlStyles = computed(() => [\n ...SwitchControl,\n ...SwitchControlHandle,\n ]);\n\n const loaderStyles = computed(() => [\n ...SwitchLoader,\n ...SwitchLoaderHandle,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const checked = computed(() => {\n if (isArray(model.value)) {\n if (isUndefined(props.value)) {\n throw new Error('[OrSwitch]: `value` must be specified.');\n }\n\n return model.value.includes(props.value);\n }\n\n return Boolean(model.value);\n });\n\n // Handlers\n function onChange(): void {\n if (isArray(model.value)) {\n if (isUndefined(props.value)) {\n throw new Error('[OrSwitch]: `value` must be specified.');\n }\n\n if (!checked.value) {\n model.value = include(props.value, model.value);\n } else {\n model.value = exclude(props.value, model.value);\n }\n } else {\n model.value = !model.value;\n }\n }\n\n // Methods\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n }\n\n return {\n attributes,\n\n root,\n rootStyles,\n\n control,\n controlStyles,\n\n loaderStyles,\n\n checked,\n\n onChange,\n\n focus,\n blur,\n };\n },\n});\n</script>\n\n<style scoped>\ninput {\n line-height: 0;\n appearance: none;\n}\n</style>\n"],"names":["Switch","SwitchControl","SwitchControlHandle","SwitchLoader","SwitchLoaderHandle","_sfc_main","defineComponent","OrLabel","OrLoader","LabelVariant","props","context","attributes","reactive","useIdAttribute","useControlAttributes","root","ref","rootStyles","computed","control","controlStyles","loaderStyles","model","useProxyModelValue","toRef","checked","isArray","isUndefined","onChange","exclude","include","focus","_a","blur","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_component_OrLoader","_hoisted_2","_mergeProps","_cache","$event","_hoisted_1","_createBlock","_component_OrLabel","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"OrSwitch-Cmi57-QB.mjs","sources":["../../../components/or-switch-v3/src/styles.ts","../../../components/or-switch-v3/src/OrSwitch.vue"],"sourcesContent":["export const Switch: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'gap-sm',\n];\n\nexport const SwitchControl: string[] = [\n // Layout\n 'layout-inline-row justify-start checked:justify-end',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[43px] md:w-[37px]',\n 'h-[24px] md:h-[21px]',\n\n // Spacing\n 'px-[2px]',\n 'active:px-[1px]',\n\n // Spacing (checked)\n 'checked:px-[3px]',\n 'active:checked:px-[2px]',\n\n // Theme\n 'theme-preset-3-primary',\n 'dark:theme-preset-3-primary-dark',\n\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-border-outline border-1',\n 'dark:theme-border-outline-dark',\n\n // Theme (focus)\n 'focus-visible:theme-outline-primary focus-visible:outline-2',\n 'dark:focus-visible:theme-outline-primary-dark',\n\n // Theme (checked)\n 'checked:theme-preset-1-primary',\n 'dark:checked:theme-preset-1-primary-dark',\n];\n\nexport const SwitchControlHandle: string[] = [\n // Box\n 'after:w-[18px] after:md:w-[16px]',\n 'after:h-[18px] after:md:h-[16px]',\n\n // Shape\n 'after:rounded-full',\n\n // Theme\n 'after:active:w-[20px] after:active:md:w-[18px]',\n 'after:active:h-[20px] after:active:md:h-[18px]',\n\n 'after:bg-outline',\n 'after:dark:bg-outline-dark',\n\n 'after:hover:bg-on-surface-variant',\n 'after:hover:dark:bg-on-surface-variant-dark',\n\n 'after:focus-visible:bg-on-surface-variant',\n 'after:focus-visible:dark:bg-on-surface-variant-dark',\n\n 'after:active:bg-outline',\n 'after:active:dark:bg-outline-dark',\n\n 'after:disabled:bg-on-disabled',\n 'after:disabled:dark:bg-on-disabled-dark',\n\n 'after:checked:bg-on-primary',\n 'after:checked:dark:bg-on-primary-dark',\n\n 'after:checked:shadow',\n\n 'after:checked:hover:bg-primary-container',\n 'after:checked:hover:dark:bg-primary-container-dark',\n\n 'after:checked:focus-visible:bg-primary-container',\n 'after:checked:focus-visible:dark:bg-primary-container-dark',\n\n 'after:checked:active:bg-on-primary',\n 'after:checked:active:dark:bg-on-primary-dark',\n\n 'after:checked:disabled:bg-on-disabled',\n 'after:checked:disabled:dark:bg-on-disabled-dark',\n];\n\nexport const SwitchLoader: string[] = [\n // Layout\n 'layout-row justify-center',\n\n // Box\n 'w-[24px] md:w-[20px]',\n 'h-[24px] md:h-[20px]',\n\n // Shape\n 'rounded-full',\n\n // Theme\n 'theme-border-outline border-1',\n 'dark:theme-border-outline-dark',\n];\n\nexport const SwitchLoaderHandle: string[] = [\n // Layout\n 'after:absolute',\n\n // Box\n 'after:w-[18px] after:md:w-[14px]',\n 'after:h-[18px] after:md:h-[14px]',\n\n // Shape\n 'after:rounded-full',\n\n // Theme\n 'after:bg-outline',\n 'dark:after:bg-outline-dark',\n\n 'after:disabled:bg-on-disabled',\n 'dark:after:disabled:bg-on-disabled-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"!loading\">\n <input\n :ref=\"'control'\"\n v-bind=\"attributes\"\n :class=\"controlStyles\"\n :type=\"'checkbox'\"\n :checked=\"checked\"\n :required=\"required\"\n :disabled=\"disabled\"\n @change=\"$emit('change', $event); onChange()\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n </template>\n\n <template v-else>\n <div\n :class=\"loaderStyles\"\n :disabled=\"disabled\"\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"'primary'\"\n :size=\"'m'\"\n />\n </div>\n </template>\n\n <template v-if=\"$slots.default || label\">\n <OrLabel\n :control-id=\"attributes.id\"\n :variant=\"labelVariant\"\n :selected=\"checked\"\n :required=\"required\"\n :disabled=\"disabled\"\n >\n <slot>{{ label }}</slot>\n\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n </OrLabel>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, reactive, ref, toRef } from 'vue';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { exclude, include, isArray, isUndefined } from '@onereach/ui-components-common/utils';\nimport { LabelVariant, OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { Switch, SwitchControl, SwitchControlHandle, SwitchLoader, SwitchLoaderHandle } from './styles';\nimport { SwitchModelValue, SwitchValue } from './types';\n\nexport default defineComponent({\n name: 'OrSwitch',\n\n components: {\n OrLabel,\n OrLoader,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<SwitchModelValue>,\n default: undefined,\n },\n\n value: {\n type: undefined as unknown as PropType<SwitchValue>,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n labelVariant: {\n type: String as PropType<`${LabelVariant}`>,\n default: () => LabelVariant.Toggle,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'change',\n 'click',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n\n 'focus',\n 'blur',\n ],\n\n setup(props, context) {\n const attributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n });\n\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-switch-v3',\n ...Switch,\n ]);\n\n const control = ref<HTMLElement>();\n\n const controlStyles = computed(() => [\n ...SwitchControl,\n ...SwitchControlHandle,\n ]);\n\n const loaderStyles = computed(() => [\n ...SwitchLoader,\n ...SwitchLoaderHandle,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const checked = computed(() => {\n if (isArray(model.value)) {\n if (isUndefined(props.value)) {\n throw new Error('[OrSwitch]: `value` must be specified.');\n }\n\n return model.value.includes(props.value);\n }\n\n return Boolean(model.value);\n });\n\n // Handlers\n function onChange(): void {\n if (isArray(model.value)) {\n if (isUndefined(props.value)) {\n throw new Error('[OrSwitch]: `value` must be specified.');\n }\n\n if (!checked.value) {\n model.value = include(props.value, model.value);\n } else {\n model.value = exclude(props.value, model.value);\n }\n } else {\n model.value = !model.value;\n }\n }\n\n // Methods\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n }\n\n return {\n attributes,\n\n root,\n rootStyles,\n\n control,\n controlStyles,\n\n loaderStyles,\n\n checked,\n\n onChange,\n\n focus,\n blur,\n };\n },\n});\n</script>\n\n<style scoped>\ninput {\n line-height: 0;\n appearance: none;\n}\n</style>\n"],"names":["Switch","SwitchControl","SwitchControlHandle","SwitchLoader","SwitchLoaderHandle","_sfc_main","defineComponent","OrLabel","OrLoader","LabelVariant","props","context","attributes","reactive","useIdAttribute","useControlAttributes","root","ref","rootStyles","computed","control","controlStyles","loaderStyles","model","useProxyModelValue","toRef","checked","isArray","isUndefined","onChange","exclude","include","focus","_a","blur","_resolveComponent","_openBlock","_createElementBlock","loading","_ctx","_normalizeClass","_component_OrLoader","$slots","_hoisted_2","_mergeProps","disabled","_cache","$emit","$event","_createBlock","required","_renderSlot","_withCtx","_createCommentVNode"],"mappings":";;;;;;AAAO,MAAMA,IAAmB;AAAA;AAAA,EAE9B;AAAA;AAAA,EAGA;AACF,GAEaC,IAA0B;AAAA;AAAA,EAErC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,IAAgC;AAAA;AAAA,EAE3C;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,IAAyB;AAAA;AAAA,EAEpC;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,IAA+B;AAAA;AAAA,EAE1C;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GClEAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,SAAAC;AAAA,IACA,UAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,MAAMC,EAAa;AAAA,IAC9B;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AACpB,UAAMC,IAAaC,EAAS;AAAA,MAC1B,IAAIC,EAAe;AAAA,MACnB,GAAGC,EAAqB;AAAA,IAAA,CACzB,GAGKC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGnB;AAAA,IAAA,CACJ,GAEKoB,IAAUH,KAEVI,IAAgBF,EAAS,MAAM;AAAA,MACnC,GAAGlB;AAAA,MACH,GAAGC;AAAA,IAAA,CACJ,GAEKoB,IAAeH,EAAS,MAAM;AAAA,MAClC,GAAGhB;AAAA,MACH,GAAGC;AAAA,IAAA,CACJ,GAGKmB,IAAQC,EAAmBC,EAAMf,GAAO,YAAY,GAAGC,EAAQ,IAAI,GAEnEe,IAAUP,EAAS,MAAM;AACzB,UAAAQ,EAAQJ,EAAM,KAAK,GAAG;AACpB,YAAAK,EAAYlB,EAAM,KAAK;AACnB,gBAAA,IAAI,MAAM,wCAAwC;AAG1D,eAAOa,EAAM,MAAM,SAASb,EAAM,KAAK;AAAA,MACzC;AAEO,aAAA,EAAQa,EAAM;AAAA,IAAK,CAC3B;AAGD,aAASM,IAAiB;AACpB,UAAAF,EAAQJ,EAAM,KAAK,GAAG;AACpB,YAAAK,EAAYlB,EAAM,KAAK;AACnB,gBAAA,IAAI,MAAM,wCAAwC;AAGtD,QAACgB,EAAQ,QAGXH,EAAM,QAAQO,EAAQpB,EAAM,OAAOa,EAAM,KAAK,IAF9CA,EAAM,QAAQQ,EAAQrB,EAAM,OAAOa,EAAM,KAAK;AAAA,MAGhD;AAEM,QAAAA,EAAA,QAAQ,CAACA,EAAM;AAAA,IAEzB;AAGA,aAASS,IAAc;;AACrB,OAAAC,IAAAb,EAAQ,UAAR,QAAAa,EAAe;AAAA,IACjB;AAEA,aAASC,IAAa;;AACpB,OAAAD,IAAAb,EAAQ,UAAR,QAAAa,EAAe;AAAA,IACjB;AAEO,WAAA;AAAA,MACL,YAAArB;AAAA,MAEA,MAAAI;AAAA,MACA,YAAAE;AAAA,MAEA,SAAAE;AAAA,MACA,eAAAC;AAAA,MAEA,cAAAC;AAAA,MAEA,SAAAI;AAAA,MAEA,UAAAG;AAAA,MAEA,OAAAG;AAAA,MACA,MAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;+BApNCC,EAgDM,SAAA;AA9CE,SAAAC,EAAA,GAAYC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,WAEDC,EAAOC,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA,IAL5BA,EAAA,kBAuBgBjB,OAAY;AAAA,MACnB,KAAA;AAAA,MAAA,OAAAkB,EAAAD,EAAA,YAAA;AAAA,MAED,UAIEA,EAAA;AAAA,IAAA,GAAA;AAAA,QAFQE,GAAS;AAAA,QAChB,SAAS;AAAA,QAAA,OAAA;AAAA,QA7BpB,MAAA;AAAA,MAAA,CAkCoBC;AAAAA,IAAAA,GACd,IAAAC,CAAA,MAnCNP,EAOuB,GAAAC,EAAA,SAAAO,EAAA;AAAA,MACPhC,KAAAA;AAAAA,MACP,KAAK;AAAA,IAAA,GACL2B,EAAM,YAAU;AAAA,MAChB,OAAOA,EAAEb;AAAAA,MACT,MAAA;AAAA,MACA,SAAQa,EAAEM;AAAAA,MACV,UAAMN,EAAA;AAAA,MACN,UAAKA,EAAA;AAAA,MACL,UAAKO,EAAEC,CAAAA,MAAAA,EAAAA,CAAAA,IAAAA,CAAAA,MAAAA;AAAAA,QAAAA,EAAAA,MAAK,UAAUC,CAAM,GAAAT,EAAA,SAAA;AAAA,MAAA;AAAA,MAC5B,SAAIO,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAE,MAAED,EAAK,MAAA,SAASC,CAAM;AAAA,MAjBnC,SAAAF,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAE,MAAAT,EAAA,MAAA,SAAAS,CAAA;AAAA,MAAA,QAAAF,EAsBM,CASM,MAAAA,EAAA,CAAA,IAAA,CAAAE,MAAAT,EAAA,MAAA,QAAAS,CAAA;AAAA,IAAA,CAAA,GA/BZ;IAAAT,EAAA,OAAA,WAAAA,EAAA,SAAAH,EAoCmB,GAAAa,EAAErC,GAAa;AAAA,MACzB,KAAA;AAAA,MACA,cAAUc,EAAO,WAAA;AAAA,MACjB,SAAQa,EAAEW;AAAAA,MACV,UAAUL,EAAAA;AAAAA,MAAAA,UAAAA,EAAAA;AAAAA,MAIM,UAAKN,EAAA;AAAA,IAAA,GAAA;AAAA;QA5C9BY,EA0CgCZ,EAAA,QAAA,SAAA,CAAA,GAAA,QAAA,EAAA;AAAA,MAAA,CAAA;AAAA,MA1ChC,SAAAa,EAAA,MAAA;AAAA,QAAAD,EAAAZ,EAAA,QAAA,WAAA,CAAA,GAAA,MAAA;AAAA;QAAA,GAAA,EAAA;AAAA,MAAA,CAAA;AAAA,MAAA,GAAA;AAAA,IAAA,GAAA,GAAA,CAAA,cAAA,WAAA,YAAA,YAAA,UAAA,CAAA,KAAAc,EAAA,IAAA,EAAA;AAAA;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrTab-BdtxL_PY.mjs","sources":["../../../components/or-tab-v3/src/styles.ts","../../../components/or-tab-v3/src/OrTab.vue"],"sourcesContent":["export const Tab: string[] = [\n // Layout\n 'layout-inline-row justify-center',\n\n // Spacing\n '-mb-[1px]',\n\n 'px-0',\n 'py-[6px]',\n\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-body-2-bold',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n\n 'theme-border-transparent border-b-2',\n 'dark:theme-border-transparent-dark',\n\n // Theme (hover)\n 'hover:md:theme-foreground-default',\n 'dark:hover:md:theme-foreground-default-dark',\n\n // Theme (active)\n 'active:theme-foreground-default',\n 'dark:active:theme-foreground-default-dark',\n\n 'active:theme-border-current active:border-b-2',\n 'dark:active:theme-border-current-dark',\n\n // Theme (selected)\n 'selected:theme-foreground-default',\n 'dark:selected:theme-foreground-default-dark',\n\n 'selected:theme-border-current selected:border-b-2',\n 'dark:selected:theme-border-current-dark',\n\n // Theme (invalid)\n 'invalid:theme-foreground-error',\n 'dark:invalid:theme-foreground-error-dark',\n\n // Theme (invalid + hover)\n 'hover:invalid:md:theme-foreground-error-hover',\n 'dark:hover:invalid:md:theme-foreground-error-hover-dark',\n\n // Theme (invalid + active)\n 'active:invalid:theme-foreground-error',\n 'dark:active:invalid:theme-foreground-error-dark',\n\n 'active:invalid:theme-border-current active:invalid:border-b-2',\n 'dark:active:invalid:theme-border-current-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n :invalid=\"invalid\"\n :disabled=\"disabled\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { Tab } from './styles';\n\nexport default defineComponent({\n name: 'OrTab',\n\n props: {\n selected: {\n type: Boolean,\n default: false,\n },\n\n invalid: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tab-v3',\n ...Tab,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n"],"names":["Tab","_sfc_main","defineComponent","root","ref","rootStyles","computed","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","$event"],"mappings":";;AAAO,MAAMA,IAAgB;AAAA;AAAA,EAE3B;AAAA;AAAA,EAGA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GCpCAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAGPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGN;AAAA,IAAA,CACJ;AAEM,WAAA;AAAA,MACL,MAAAG;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA9DSE,EAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IACA,OAAOC,EAASR,EAAA,UAAA;AAAA,IAChB,UAAUA,EAAA;AAAA,IACV,SAAKA,EAAA;AAAA,IACL,UAAKA,EAAA;AAAA,IACL,SAAIC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAET,EAAK,MAAA,SAASS,CAAM;AAAA,IAAA,SAAAR,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,MAAA,SAAAS,CAAA;AAAA,IAE3B,QAAQR,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAQ,MAAAT,EAAA,MAAA,QAAAS,CAAA;AAAA,EAAA,GAAA;AAAA;;;;"}
1
+ {"version":3,"file":"OrTab-BdtxL_PY.mjs","sources":["../../../components/or-tab-v3/src/styles.ts","../../../components/or-tab-v3/src/OrTab.vue"],"sourcesContent":["export const Tab: string[] = [\n // Layout\n 'layout-inline-row justify-center',\n\n // Spacing\n '-mb-[1px]',\n\n 'px-0',\n 'py-[6px]',\n\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-body-2-bold',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n\n 'theme-border-transparent border-b-2',\n 'dark:theme-border-transparent-dark',\n\n // Theme (hover)\n 'hover:md:theme-foreground-default',\n 'dark:hover:md:theme-foreground-default-dark',\n\n // Theme (active)\n 'active:theme-foreground-default',\n 'dark:active:theme-foreground-default-dark',\n\n 'active:theme-border-current active:border-b-2',\n 'dark:active:theme-border-current-dark',\n\n // Theme (selected)\n 'selected:theme-foreground-default',\n 'dark:selected:theme-foreground-default-dark',\n\n 'selected:theme-border-current selected:border-b-2',\n 'dark:selected:theme-border-current-dark',\n\n // Theme (invalid)\n 'invalid:theme-foreground-error',\n 'dark:invalid:theme-foreground-error-dark',\n\n // Theme (invalid + hover)\n 'hover:invalid:md:theme-foreground-error-hover',\n 'dark:hover:invalid:md:theme-foreground-error-hover-dark',\n\n // Theme (invalid + active)\n 'active:invalid:theme-foreground-error',\n 'dark:active:invalid:theme-foreground-error-dark',\n\n 'active:invalid:theme-border-current active:invalid:border-b-2',\n 'dark:active:invalid:theme-border-current-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n :invalid=\"invalid\"\n :disabled=\"disabled\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { Tab } from './styles';\n\nexport default defineComponent({\n name: 'OrTab',\n\n props: {\n selected: {\n type: Boolean,\n default: false,\n },\n\n invalid: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tab-v3',\n ...Tab,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n"],"names":["Tab","_sfc_main","defineComponent","root","ref","rootStyles","computed","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","disabled","$event","$emit"],"mappings":";;AAAO,MAAMA,IAAgB;AAAA;AAAA,EAE3B;AAAA;AAAA,EAGA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GCpCAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAGPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGN;AAAA,IAAA,CACJ;AAEM,WAAA;AAAA,MACL,MAAAG;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA9DSE,EAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;AACN,SAAAC,EAAA,GAAYC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IACA,OAAOC,EAASR,EAAA,UAAA;AAAA,IAChB,UAAUS,EAAAA;AAAAA,IACV,SAAKT,EAAA;AAAA,IACL,UAAKA,EAAA;AAAA,IACL,SAAIC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAS,MAAEC,EAAK,MAAA,SAASD,CAAM;AAAA,IAAA,SAAAT,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAS,MAAAV,EAAA,MAAA,SAAAU,CAAA;AAAA,IAE3B,QAAQT,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAS,MAAAV,EAAA,MAAA,QAAAU,CAAA;AAAA,EAAA,GAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrTabs-BUXLSz8o.mjs","sources":["../../../components/or-tabs-v3/src/props.ts","../../../components/or-tabs-v3/src/styles.ts","../../../components/or-tabs-v3/src/OrTabs.vue"],"sourcesContent":["export enum TabsVariant {\n Default = 'default',\n Fitted = 'fitted',\n}\n\nexport enum TabsSpacing {\n MD = 'md',\n LG = 'lg',\n XL = 'xl',\n}\n","import { TabsVariant, TabsSpacing } from './props';\n\nexport const TabsContainer: string[] = [\n // Layout\n 'layout-column',\n 'grow',\n\n // Box\n 'h-full',\n];\n\nexport const TabsContainerSpacings: Record<TabsSpacing, string[]> = {\n [TabsSpacing.MD]: [\n // Spacing\n 'gap-md',\n ],\n [TabsSpacing.LG]: [\n // Spacing\n 'gap-lg',\n ],\n [TabsSpacing.XL]: [\n // Spacing\n 'gap-xl',\n ],\n};\n\nexport const Tabs: string[] = [\n // Layout\n 'grid grid-flow-col items-center shrink-0',\n\n // Theme\n 'theme-border-outline border-b-1',\n 'dark:theme-border-outline',\n];\n\nexport const TabsVariants: Record<TabsVariant, string[]> = {\n 'default': [\n // Layout\n 'auto-cols-max',\n\n // Spacing\n 'gap-lg',\n ],\n\n 'fitted': [\n // Layout\n 'auto-cols-auto',\n\n // Spacing (children)\n 'children:px-lg',\n ],\n};\n\nexport const TabsContent: string[] = [\n // Layout\n 'layout-column',\n 'grow',\n\n // Box\n 'h-full',\n\n // Overflow\n 'overflow-auto',\n];\n","<template>\n <div :class=\"containerStyles\">\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrTab\n v-for=\"tab in tabs.normal\"\n :key=\"tab.value\"\n :selected=\"tab.value === proxyModelValue\"\n :invalid=\"tab.invalid\"\n :disabled=\"tab.disabled\"\n @click.stop=\"selectTab(tab)\"\n >\n <slot\n name=\"tab\"\n :tab=\"tab\"\n :active-tab=\"activeTab\"\n >\n {{ tab.label }}\n </slot>\n </OrTab>\n\n <template v-if=\"tabs.hidden.length > 0\">\n <OrTab\n :ref=\"'overflowTab'\"\n @click.stop=\"overflowMenu && overflowMenu.toggle()\"\n >\n <OrIcon\n :icon=\"'more_horiz'\"\n :variant=\"'filled-bold'\"\n />\n </OrTab>\n\n <OrMenu\n :ref=\"'overflowMenu'\"\n :trigger=\"overflowTabRoot\"\n >\n <OrMenuItem\n v-for=\"tab in tabs.hidden\"\n :key=\"tab.value\"\n :disabled=\"tab.disabled\"\n @click.stop=\"selectTab(tab); overflowMenu && overflowMenu.close()\"\n >\n {{ tab.label }}\n </OrMenuItem>\n </OrMenu>\n </template>\n </div>\n\n <div :class=\"contentStyles\">\n <template v-for=\"tab in items\">\n <div\n v-if=\"isTabRendered(tab.value)\"\n v-show=\"String(proxyModelValue) === String(tab.value)\"\n :key=\"tab.value\"\n class=\"contents\"\n >\n <slot :name=\"String(tab.value)\" />\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useResizeObserver } from '@vueuse/core';\nimport { PropType, computed, defineComponent, nextTick, onMounted, reactive, ref, toRef, watch } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrMenuV3 as OrMenu } from '@onereach/ui-components.or-menu-v3';\nimport { OrTabV3 as OrTab } from '@onereach/ui-components.or-tab-v3';\nimport { TabsVariant, TabsSpacing } from './props';\nimport * as Styles from './styles';\nimport { EditorTabsItem } from './types';\n\nexport default defineComponent({\n name: 'OrTabs',\n\n components: {\n OrIcon,\n OrMenu,\n OrMenuItem,\n OrTab,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined,\n },\n\n items: {\n type: Array as PropType<EditorTabsItem[]>,\n required: true,\n },\n\n spacing: {\n type: String as PropType<`${TabsSpacing}`>,\n default: TabsSpacing.LG,\n },\n\n variant: {\n type: String as PropType<`${TabsVariant}`>,\n default: () => TabsVariant.Default,\n },\n\n keepAlive: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n const overflowTab = ref<InstanceType<typeof OrTab>>();\n const overflowTabRoot = computed(() => overflowTab.value?.root);\n\n const overflowMenu = ref<InstanceType<typeof OrMenu>>();\n const overflowMenuRoot = computed(() => overflowMenu.value?.root);\n\n // Styles\n const containerStyles = computed(() => [\n ...Styles.TabsContainer,\n ...Styles.TabsContainerSpacings[props.spacing],\n ]);\n\n const rootStyles = computed(() => [\n 'or-tabs-v3',\n ...Styles.Tabs,\n ...Styles.TabsVariants[props.variant],\n ]);\n\n const contentStyles = computed(() => [\n ...Styles.TabsContent,\n ]);\n\n // State\n const tabs = reactive({\n normal: [] as EditorTabsItem[],\n hidden: [] as EditorTabsItem[],\n });\n\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const activeTab = computed(() => props.items.find(({ value }) => value === proxyModelValue.value)!);\n\n // Methods\n function selectTab(tab: EditorTabsItem): void {\n if (!tab.disabled) {\n proxyModelValue.value = tab.value;\n }\n }\n\n function rearrangeTabs(items: EditorTabsItem[], activeTab: EditorTabsItem, rootElement: Element): typeof tabs {\n const { children } = rootElement;\n\n const nextNormalTabs: EditorTabsItem[] = [...items];\n const nextHiddenTabs: EditorTabsItem[] = [];\n\n let currentWidth = rootElement.scrollWidth;\n\n [...children].reverse().forEach((element) => {\n if (currentWidth > rootElement.clientWidth) {\n nextHiddenTabs.unshift(nextNormalTabs.pop()!);\n currentWidth -= element.clientWidth + (props.variant === TabsVariant.Default ? 16 : 0);\n }\n });\n\n if (nextHiddenTabs.includes(activeTab)) {\n nextHiddenTabs.unshift(nextNormalTabs.pop()!);\n nextNormalTabs.push(...nextHiddenTabs.splice(nextHiddenTabs.indexOf(activeTab), 1));\n }\n\n return {\n normal: nextNormalTabs,\n hidden: nextHiddenTabs,\n };\n }\n\n function isTabRendered(value: string|number): boolean {\n return props.keepAlive || proxyModelValue.value === value;\n }\n\n // Effects\n watch([\n () => props.items,\n activeTab,\n root,\n ], ([\n items,\n activeTab,\n rootElement,\n ]) => {\n tabs.normal = items;\n\n nextTick(() => {\n Object.assign(tabs, rearrangeTabs(items, activeTab, rootElement!));\n });\n });\n\n // #region Resize\n useResizeObserver(root, () => {\n tabs.normal = props.items;\n\n nextTick(() => {\n Object.assign(tabs, rearrangeTabs(props.items, activeTab.value, root.value!));\n });\n });\n // #endregion\n\n onMounted(() => {\n if (!proxyModelValue.value) {\n proxyModelValue.value = props.items[0]?.value;\n }\n });\n\n return {\n root,\n overflowTab,\n overflowTabRoot,\n overflowMenu,\n overflowMenuRoot,\n containerStyles,\n rootStyles,\n contentStyles,\n tabs,\n proxyModelValue,\n activeTab,\n selectTab,\n isTabRendered,\n };\n },\n});\n</script>\n"],"names":["TabsVariant","TabsSpacing","TabsContainer","TabsContainerSpacings","Tabs","TabsVariants","TabsContent","_sfc_main","defineComponent","OrIcon","OrMenu","OrMenuItem","OrTab","props","context","root","ref","overflowTab","overflowTabRoot","computed","_a","overflowMenu","overflowMenuRoot","containerStyles","Styles.TabsContainer","Styles.TabsContainerSpacings","rootStyles","Styles.Tabs","Styles.TabsVariants","contentStyles","Styles.TabsContent","tabs","reactive","proxyModelValue","useProxyModelValue","toRef","activeTab","value","selectTab","tab","rearrangeTabs","items","rootElement","children","nextNormalTabs","nextHiddenTabs","currentWidth","element","isTabRendered","watch","nextTick","useResizeObserver","onMounted","_resolveComponent","_normalizeClass","_ctx","_openBlock","_createElementBlock","_Fragment","_renderList","_createBlock","_component_OrTab","_withModifiers","$event","_withCtx","_renderSlot","_createVNode","_cache","_component_OrIcon","_component_OrMenu","_component_OrMenuItem","_createCommentVNode","_createElementVNode"],"mappings":"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"}
1
+ {"version":3,"file":"OrTabs-BUXLSz8o.mjs","sources":["../../../components/or-tabs-v3/src/props.ts","../../../components/or-tabs-v3/src/styles.ts","../../../components/or-tabs-v3/src/OrTabs.vue"],"sourcesContent":["export enum TabsVariant {\n Default = 'default',\n Fitted = 'fitted',\n}\n\nexport enum TabsSpacing {\n MD = 'md',\n LG = 'lg',\n XL = 'xl',\n}\n","import { TabsVariant, TabsSpacing } from './props';\n\nexport const TabsContainer: string[] = [\n // Layout\n 'layout-column',\n 'grow',\n\n // Box\n 'h-full',\n];\n\nexport const TabsContainerSpacings: Record<TabsSpacing, string[]> = {\n [TabsSpacing.MD]: [\n // Spacing\n 'gap-md',\n ],\n [TabsSpacing.LG]: [\n // Spacing\n 'gap-lg',\n ],\n [TabsSpacing.XL]: [\n // Spacing\n 'gap-xl',\n ],\n};\n\nexport const Tabs: string[] = [\n // Layout\n 'grid grid-flow-col items-center shrink-0',\n\n // Theme\n 'theme-border-outline border-b-1',\n 'dark:theme-border-outline',\n];\n\nexport const TabsVariants: Record<TabsVariant, string[]> = {\n 'default': [\n // Layout\n 'auto-cols-max',\n\n // Spacing\n 'gap-lg',\n ],\n\n 'fitted': [\n // Layout\n 'auto-cols-auto',\n\n // Spacing (children)\n 'children:px-lg',\n ],\n};\n\nexport const TabsContent: string[] = [\n // Layout\n 'layout-column',\n 'grow',\n\n // Box\n 'h-full',\n\n // Overflow\n 'overflow-auto',\n];\n","<template>\n <div :class=\"containerStyles\">\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrTab\n v-for=\"tab in tabs.normal\"\n :key=\"tab.value\"\n :selected=\"tab.value === proxyModelValue\"\n :invalid=\"tab.invalid\"\n :disabled=\"tab.disabled\"\n @click.stop=\"selectTab(tab)\"\n >\n <slot\n name=\"tab\"\n :tab=\"tab\"\n :active-tab=\"activeTab\"\n >\n {{ tab.label }}\n </slot>\n </OrTab>\n\n <template v-if=\"tabs.hidden.length > 0\">\n <OrTab\n :ref=\"'overflowTab'\"\n @click.stop=\"overflowMenu && overflowMenu.toggle()\"\n >\n <OrIcon\n :icon=\"'more_horiz'\"\n :variant=\"'filled-bold'\"\n />\n </OrTab>\n\n <OrMenu\n :ref=\"'overflowMenu'\"\n :trigger=\"overflowTabRoot\"\n >\n <OrMenuItem\n v-for=\"tab in tabs.hidden\"\n :key=\"tab.value\"\n :disabled=\"tab.disabled\"\n @click.stop=\"selectTab(tab); overflowMenu && overflowMenu.close()\"\n >\n {{ tab.label }}\n </OrMenuItem>\n </OrMenu>\n </template>\n </div>\n\n <div :class=\"contentStyles\">\n <template v-for=\"tab in items\">\n <div\n v-if=\"isTabRendered(tab.value)\"\n v-show=\"String(proxyModelValue) === String(tab.value)\"\n :key=\"tab.value\"\n class=\"contents\"\n >\n <slot :name=\"String(tab.value)\" />\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useResizeObserver } from '@vueuse/core';\nimport { PropType, computed, defineComponent, nextTick, onMounted, reactive, ref, toRef, watch } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrMenuV3 as OrMenu } from '@onereach/ui-components.or-menu-v3';\nimport { OrTabV3 as OrTab } from '@onereach/ui-components.or-tab-v3';\nimport { TabsVariant, TabsSpacing } from './props';\nimport * as Styles from './styles';\nimport { EditorTabsItem } from './types';\n\nexport default defineComponent({\n name: 'OrTabs',\n\n components: {\n OrIcon,\n OrMenu,\n OrMenuItem,\n OrTab,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: [String, Number],\n default: undefined,\n },\n\n items: {\n type: Array as PropType<EditorTabsItem[]>,\n required: true,\n },\n\n spacing: {\n type: String as PropType<`${TabsSpacing}`>,\n default: TabsSpacing.LG,\n },\n\n variant: {\n type: String as PropType<`${TabsVariant}`>,\n default: () => TabsVariant.Default,\n },\n\n keepAlive: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n const overflowTab = ref<InstanceType<typeof OrTab>>();\n const overflowTabRoot = computed(() => overflowTab.value?.root);\n\n const overflowMenu = ref<InstanceType<typeof OrMenu>>();\n const overflowMenuRoot = computed(() => overflowMenu.value?.root);\n\n // Styles\n const containerStyles = computed(() => [\n ...Styles.TabsContainer,\n ...Styles.TabsContainerSpacings[props.spacing],\n ]);\n\n const rootStyles = computed(() => [\n 'or-tabs-v3',\n ...Styles.Tabs,\n ...Styles.TabsVariants[props.variant],\n ]);\n\n const contentStyles = computed(() => [\n ...Styles.TabsContent,\n ]);\n\n // State\n const tabs = reactive({\n normal: [] as EditorTabsItem[],\n hidden: [] as EditorTabsItem[],\n });\n\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const activeTab = computed(() => props.items.find(({ value }) => value === proxyModelValue.value)!);\n\n // Methods\n function selectTab(tab: EditorTabsItem): void {\n if (!tab.disabled) {\n proxyModelValue.value = tab.value;\n }\n }\n\n function rearrangeTabs(items: EditorTabsItem[], activeTab: EditorTabsItem, rootElement: Element): typeof tabs {\n const { children } = rootElement;\n\n const nextNormalTabs: EditorTabsItem[] = [...items];\n const nextHiddenTabs: EditorTabsItem[] = [];\n\n let currentWidth = rootElement.scrollWidth;\n\n [...children].reverse().forEach((element) => {\n if (currentWidth > rootElement.clientWidth) {\n nextHiddenTabs.unshift(nextNormalTabs.pop()!);\n currentWidth -= element.clientWidth + (props.variant === TabsVariant.Default ? 16 : 0);\n }\n });\n\n if (nextHiddenTabs.includes(activeTab)) {\n nextHiddenTabs.unshift(nextNormalTabs.pop()!);\n nextNormalTabs.push(...nextHiddenTabs.splice(nextHiddenTabs.indexOf(activeTab), 1));\n }\n\n return {\n normal: nextNormalTabs,\n hidden: nextHiddenTabs,\n };\n }\n\n function isTabRendered(value: string|number): boolean {\n return props.keepAlive || proxyModelValue.value === value;\n }\n\n // Effects\n watch([\n () => props.items,\n activeTab,\n root,\n ], ([\n items,\n activeTab,\n rootElement,\n ]) => {\n tabs.normal = items;\n\n nextTick(() => {\n Object.assign(tabs, rearrangeTabs(items, activeTab, rootElement!));\n });\n });\n\n // #region Resize\n useResizeObserver(root, () => {\n tabs.normal = props.items;\n\n nextTick(() => {\n Object.assign(tabs, rearrangeTabs(props.items, activeTab.value, root.value!));\n });\n });\n // #endregion\n\n onMounted(() => {\n if (!proxyModelValue.value) {\n proxyModelValue.value = props.items[0]?.value;\n }\n });\n\n return {\n root,\n overflowTab,\n overflowTabRoot,\n overflowMenu,\n overflowMenuRoot,\n containerStyles,\n rootStyles,\n contentStyles,\n tabs,\n proxyModelValue,\n activeTab,\n selectTab,\n isTabRendered,\n };\n },\n});\n</script>\n"],"names":["TabsVariant","TabsSpacing","TabsContainer","TabsContainerSpacings","Tabs","TabsVariants","TabsContent","_sfc_main","defineComponent","OrIcon","OrMenu","OrMenuItem","OrTab","props","context","root","ref","overflowTab","overflowTabRoot","computed","_a","overflowMenu","overflowMenuRoot","containerStyles","Styles.TabsContainer","Styles.TabsContainerSpacings","rootStyles","Styles.Tabs","Styles.TabsVariants","contentStyles","Styles.TabsContent","tabs","reactive","proxyModelValue","useProxyModelValue","toRef","activeTab","value","selectTab","tab","rearrangeTabs","items","rootElement","children","nextNormalTabs","nextHiddenTabs","currentWidth","element","isTabRendered","watch","nextTick","useResizeObserver","onMounted","_resolveComponent","_normalizeClass","_ctx","_openBlock","_createElementBlock","_Fragment","_renderList","_createBlock","_withModifiers","$event","_withCtx","_renderSlot","_createVNode","_component_OrTab","_cache","_component_OrIcon","_component_OrMenuItem","_createTextVNode","_toDisplayString","_createCommentVNode","_createElementVNode","_vShow"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrTag-Bixe0EQq.mjs","sources":["../../../components/or-tag-v3/src/props.ts","../../../components/or-tag-v3/src/styles.ts","../../../components/or-tag-v3/src/OrTag.vue"],"sourcesContent":["export enum TagVariant {\n Tag = 'tag',\n Button = 'button',\n Reset = 'reset',\n}\n\nexport enum TagColor {\n Default = 'default',\n Danger = 'danger',\n}\n","import { TagColor, TagVariant } from './props';\n\nexport const Tag: string[] = [\n // Layout\n 'layout-inline-row',\n\n // Spacing\n 'px-sm+ md:px-sm',\n 'py-sm md:py-xs',\n\n 'gap-sm+ md:gap-sm',\n\n // Shape\n 'rounded-full',\n\n // Typography\n 'typography-caption-regular whitespace-nowrap',\n];\n\nexport const TagVariants: Record<TagVariant, string[]> = {\n [TagVariant.Tag]: [\n // Interactivity\n 'interactivity-select',\n ],\n\n [TagVariant.Button]: [\n // Interactivity\n 'interactivity-click',\n ],\n\n [TagVariant.Reset]: [\n // Interactivity\n 'interactivity-default',\n ],\n};\n\nexport const TagColors: Record<TagColor, string[]> = {\n [TagColor.Default]: [\n // Theme\n 'theme-preset-2-primary',\n 'dark:theme-preset-2-primary-dark',\n\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n ],\n\n [TagColor.Danger]: [\n // Theme\n 'theme-preset-2-error',\n 'dark:theme-preset-2-error-dark',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :tabindex=\"!disabled && variant === 'button' ? 0 : null\"\n :disabled=\"disabled\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n <div class=\"truncate\">\n <slot />\n </div>\n\n <template v-if=\"variant === 'reset'\">\n <div :class=\"['layout-inline-row', '-m-[4px] md:-m-[2px]']\">\n <OrIconButton\n :icon=\"'close'\"\n :color=\"custom ? 'inherit' : color\"\n :disabled=\"disabled\"\n @click.stop=\"$emit('reset')\"\n />\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref, unref, watchPostEffect } from 'vue';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { TagColor, TagVariant } from './props';\nimport { Tag, TagColors, TagVariants } from './styles';\n\nexport default defineComponent({\n name: 'OrTag',\n\n components: {\n OrIconButton,\n },\n\n props: {\n variant: {\n type: String as PropType<`${TagVariant}`>,\n default: () => TagVariant.Tag,\n },\n\n color: {\n type: String as PropType<`${TagColor}` | string>,\n default: () => TagColor.Default,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n\n 'reset',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tag-v3',\n ...Tag,\n ...TagVariants[props.variant],\n ...!custom.value ? TagColors[props.color as TagColor] : [],\n ]);\n\n // State\n const custom = computed(() => {\n return !(['default', 'danger'] as TagColor[]).includes(props.color as TagColor);\n });\n\n // Effects\n watchPostEffect(() => {\n const rootElement = unref(root);\n\n if (rootElement) {\n Object.assign(rootElement.style, {\n backgroundColor: custom.value ? `${props.color}1f` : '',\n color: custom.value ? props.color : '',\n });\n }\n });\n\n return {\n root,\n rootStyles,\n custom,\n };\n },\n});\n</script>\n"],"names":["TagVariant","TagColor","Tag","TagVariants","TagColors","_sfc_main","defineComponent","OrIconButton","props","root","ref","rootStyles","computed","custom","watchPostEffect","rootElement","unref","_hoisted_3","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_cache","$event","_renderSlot","_createVNode","_component_OrIconButton"],"mappings":"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"}
1
+ {"version":3,"file":"OrTag-Bixe0EQq.mjs","sources":["../../../components/or-tag-v3/src/props.ts","../../../components/or-tag-v3/src/styles.ts","../../../components/or-tag-v3/src/OrTag.vue"],"sourcesContent":["export enum TagVariant {\n Tag = 'tag',\n Button = 'button',\n Reset = 'reset',\n}\n\nexport enum TagColor {\n Default = 'default',\n Danger = 'danger',\n}\n","import { TagColor, TagVariant } from './props';\n\nexport const Tag: string[] = [\n // Layout\n 'layout-inline-row',\n\n // Spacing\n 'px-sm+ md:px-sm',\n 'py-sm md:py-xs',\n\n 'gap-sm+ md:gap-sm',\n\n // Shape\n 'rounded-full',\n\n // Typography\n 'typography-caption-regular whitespace-nowrap',\n];\n\nexport const TagVariants: Record<TagVariant, string[]> = {\n [TagVariant.Tag]: [\n // Interactivity\n 'interactivity-select',\n ],\n\n [TagVariant.Button]: [\n // Interactivity\n 'interactivity-click',\n ],\n\n [TagVariant.Reset]: [\n // Interactivity\n 'interactivity-default',\n ],\n};\n\nexport const TagColors: Record<TagColor, string[]> = {\n [TagColor.Default]: [\n // Theme\n 'theme-preset-2-primary',\n 'dark:theme-preset-2-primary-dark',\n\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n ],\n\n [TagColor.Danger]: [\n // Theme\n 'theme-preset-2-error',\n 'dark:theme-preset-2-error-dark',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :tabindex=\"!disabled && variant === 'button' ? 0 : null\"\n :disabled=\"disabled\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n <div class=\"truncate\">\n <slot />\n </div>\n\n <template v-if=\"variant === 'reset'\">\n <div :class=\"['layout-inline-row', '-m-[4px] md:-m-[2px]']\">\n <OrIconButton\n :icon=\"'close'\"\n :color=\"custom ? 'inherit' : color\"\n :disabled=\"disabled\"\n @click.stop=\"$emit('reset')\"\n />\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref, unref, watchPostEffect } from 'vue';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { TagColor, TagVariant } from './props';\nimport { Tag, TagColors, TagVariants } from './styles';\n\nexport default defineComponent({\n name: 'OrTag',\n\n components: {\n OrIconButton,\n },\n\n props: {\n variant: {\n type: String as PropType<`${TagVariant}`>,\n default: () => TagVariant.Tag,\n },\n\n color: {\n type: String as PropType<`${TagColor}` | string>,\n default: () => TagColor.Default,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n\n 'reset',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tag-v3',\n ...Tag,\n ...TagVariants[props.variant],\n ...!custom.value ? TagColors[props.color as TagColor] : [],\n ]);\n\n // State\n const custom = computed(() => {\n return !(['default', 'danger'] as TagColor[]).includes(props.color as TagColor);\n });\n\n // Effects\n watchPostEffect(() => {\n const rootElement = unref(root);\n\n if (rootElement) {\n Object.assign(rootElement.style, {\n backgroundColor: custom.value ? `${props.color}1f` : '',\n color: custom.value ? props.color : '',\n });\n }\n });\n\n return {\n root,\n rootStyles,\n custom,\n };\n },\n});\n</script>\n"],"names":["TagVariant","TagColor","Tag","TagVariants","TagColors","_sfc_main","defineComponent","OrIconButton","props","root","ref","rootStyles","computed","custom","watchPostEffect","rootElement","unref","_hoisted_2","_hoisted_3","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_cache","$event","$emit","variant","_createVNode","color","_createCommentVNode"],"mappings":"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"}
@@ -11,7 +11,7 @@ import { a as Ve } from "./OrInputBox.vue_vue_type_script_lang-q2L7rmth.mjs";
11
11
  import { O as ke } from "./OrLabel-DssheqEn.mjs";
12
12
  import { O as Se } from "./OrLoader-2SaTMxmZ.mjs";
13
13
  import { a as j } from "./OrTag-Bixe0EQq.mjs";
14
- import { O as $e, T as G } from "./OrTags-CS0bcLtx.mjs";
14
+ import { O as $e, T as G } from "./OrTags-gPpVnqZT.mjs";
15
15
  import { _ as Le } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
16
16
  const Me = [
17
17
  // Layout
@@ -388,4 +388,4 @@ const Ye = /* @__PURE__ */ Le(Ae, [["render", De], ["__scopeId", "data-v-e2132f3
388
388
  export {
389
389
  Ye as O
390
390
  };
391
- //# sourceMappingURL=OrTagInput-CjYmyfIU.mjs.map
391
+ //# sourceMappingURL=OrTagInput-BkFDvGIk.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrTagInput-CjYmyfIU.mjs","sources":["../../../components/or-tag-input-v3/src/styles.ts","../../../components/or-tag-input-v3/src/OrTagInput.vue"],"sourcesContent":["export const TagInput: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const TagInputControl: string[] = [\n // Layout\n // 'flex-auto',\n\n // Typography\n 'typography-inherit',\n\n // Theme (placeholder)\n 'placeholder:theme-foreground-outline',\n 'dark:placeholder:theme-foreground-outline-dark',\n];\n\nexport const TagInputItem: string[] = [\n // Box\n '!min-h-0',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots.label || $slots.addon || label\">\n <OrLabel\n :control-id=\"controlAttributes.id\"\n :variant=\"'input'\"\n :required=\"required\"\n :disabled=\"disabled\"\n >\n <slot name=\"label\">\n {{ label }}\n </slot>\n\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n </OrLabel>\n </template>\n\n <OrInputBox\n :ref=\"'inputBox'\"\n :class=\"inputBoxStyles\"\n :variant=\"variant\"\n :invalid=\"!!error\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :tabindex=\"0\"\n :force-state=\"activated ? 'focus-within': undefined\"\n @focus=\"activate\"\n >\n <template\n v-if=\"$slots.prependInner\"\n v-slot:prepend\n >\n <slot name=\"prependInner\" />\n </template>\n <OrTags\n :ref=\"'tags'\"\n :class=\"['grow']\"\n :items=\"tagsItems\"\n :disabled=\"disabled\"\n :tag-props=\"tagsProps\"\n :overflow=\"overflow\"\n @reset=\"remove($event)\"\n >\n <template v-slot:tag=\"{ item }\">\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </template>\n\n <template\n v-if=\"showControl\"\n v-slot:tail\n >\n <div class=\"inline-flex w-fit max-w-full\">\n <input\n :ref=\"'control'\"\n v-bind=\"controlAttributes\"\n v-model.trim=\"draftModelValue\"\n :class=\"controlStyles\"\n :style=\"controlInlineStyles\"\n :type=\"'text'\"\n :placeholder=\"!proxyModelValue || (proxyModelValue && proxyModelValue.length === 0) ? placeholder : undefined\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :autocomplete=\"'off'\"\n :minlength=\"undefined\"\n :maxlength=\"undefined\"\n @input=\"$emit('input', $event)\"\n @keydown=\"$emit('keydown', $event)\"\n @keydown.enter=\"add()\"\n @keyup=\"$emit('keyup', $event)\"\n @focus=\"activate\"\n >\n </div>\n </template>\n </OrTags>\n <template\n v-if=\"$slots.appendInner\"\n v-slot:addon\n >\n <slot name=\"appendInner\" />\n </template>\n <template\n v-else-if=\"loading\"\n v-slot:addon\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"error ? 'danger' : 'primary'\"\n :size=\"isMobile ? 'm' : 's'\"\n />\n </template>\n\n <template\n v-else-if=\"enableClear && !readonly && !disabled\"\n v-slot:addon\n >\n <template v-if=\"proxyModelValue && proxyModelValue.length > 0 || draftModelValue\">\n <OrIconButton\n :icon=\"'close'\"\n :color=\"'inherit'\"\n @click=\"reset()\"\n />\n </template>\n </template>\n </OrInputBox>\n\n <template v-if=\"$slots.hint || hint || maxLength\">\n <OrHint\n v-show=\"!error\"\n :disabled=\"disabled\"\n >\n <slot name=\"hint\">\n {{ hint }}\n </slot>\n\n <template\n v-if=\"maxLength\"\n v-slot:addon\n >\n {{ currentLength }} / {{ maxLength }}\n </template>\n </OrHint>\n </template>\n\n <OrError\n v-show=\"typeof error === 'string' && error.length > 0\"\n :disabled=\"disabled\"\n >\n {{ error }}\n\n <template\n v-if=\"maxLength\"\n v-slot:addon\n >\n {{ currentLength }} / {{ maxLength }}\n </template>\n </OrError>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { MaybeElementRef, onClickOutside } from '@vueuse/core';\nimport { PropType, computed, defineComponent, nextTick, reactive, ref, toRefs, watch } from 'vue';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue, useResponsive, useValidationAttributes } from '@onereach/ui-components-common/hooks';\nimport { exclude, include, toArray } from '@onereach/ui-components-common/utils';\nimport { OrErrorV3 as OrError } from '@onereach/ui-components.or-error-v3';\nimport { OrHintV3 as OrHint } from '@onereach/ui-components.or-hint-v3';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { InputBoxVariant, OrInputBoxV3 as OrInputBox } from '@onereach/ui-components.or-input-box-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { TagColor } from '@onereach/ui-components.or-tag-v3';\nimport { OrTagsV3 as OrTags, TagObject, TagsOverflow } from '@onereach/ui-components.or-tags-v3';\nimport { TagInput, TagInputControl, TagInputItem } from './styles';\nimport { TagInputModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrTagInput',\n\n components: {\n OrError,\n OrHint,\n OrIconButton,\n OrInputBox,\n OrLabel,\n OrLoader,\n OrTags,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<TagInputModelValue>,\n default: () => [],\n },\n\n variant: {\n type: String as PropType<`${InputBoxVariant}`>,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n placeholder: {\n type: String,\n default: undefined,\n },\n\n hint: {\n type: String,\n default: undefined,\n },\n\n error: {\n type: [String, Boolean],\n default: undefined,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n // todo: review default state, disabling will breaking\n enableClear: {\n type: Boolean,\n default: true,\n },\n\n additionalInputBoxStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n saveOnBlur: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'input',\n 'keydown',\n 'keyup',\n 'focus',\n 'blur',\n\n 'reset',\n ],\n\n expose: [\n 'root',\n\n 'reset',\n 'clear',\n\n 'focus',\n 'blur',\n\n 'activate',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const control = ref<HTMLInputElement>();\n const inputBox = ref<InstanceType<typeof OrInputBox>>();\n const tags = ref<InstanceType<typeof OrTags>>();\n\n // Props\n const { modelValue, overflow, placeholder, disabled, readonly, saveOnBlur } = toRefs(props);\n const { isMobile } = useResponsive();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tag-input-v3',\n ...TagInput,\n ...props.variant === InputBoxVariant.Embedded ? ['grow'] : [],\n ]);\n\n const controlStyles = computed(() => [\n ...TagInputControl,\n ]);\n\n const itemStyles = computed(() => [\n ...TagInputItem,\n ]);\n\n const inputBoxStyles = computed(() => [\n 'interactivity-select',\n ...props.additionalInputBoxStyles,\n ]);\n\n // State\n const controlAttributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n ...useValidationAttributes(),\n });\n\n const activated = ref(false);\n const proxyModelValue = useProxyModelValue(modelValue, context.emit);\n const draftModelValue = ref<string>();\n\n const tagsItems = computed(() => {\n return toArray(proxyModelValue.value).map((item) => ({\n label: item,\n value: item,\n\n tagProps: {\n color: item === draftModelValue.value ? TagColor.Danger : TagColor.Default,\n },\n } as TagObject));\n });\n\n const currentLength = computed(() => proxyModelValue.value?.length ?? 0);\n const maxLength = computed(() => controlAttributes.maxlength);\n\n const controlInlineStyles = computed(() => {\n const chars = draftModelValue.value\n ? draftModelValue.value.length\n : currentLength.value === 0\n ? placeholder.value?.length ?? 0\n : 0;\n return {\n width: `${Math.max(chars + 1 || 0, 3)}ch`,\n };\n });\n\n const showControl = computed(() => {\n return draftModelValue.value\n || currentLength.value === 0\n || activated.value;\n });\n\n const tagsProps = computed(() => ({\n variant: readonly.value || disabled.value || !activated.value ? 'tag' : 'reset',\n disabled: disabled.value,\n }));\n\n // Methods\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n }\n\n function deactivate() {\n activated.value = false;\n nextTick(() => blur());\n context.emit('blur');\n }\n\n function activate() {\n if (disabled.value || readonly.value) return;\n\n if (!activated.value) {\n activated.value = true;\n context.emit('focus');\n }\n\n nextTick(() => focus());\n }\n\n function add(): void {\n const newItem = draftModelValue.value;\n\n if (!newItem) return;\n if (proxyModelValue.value?.includes(newItem)) return;\n if (maxLength.value && currentLength.value >= maxLength.value) return;\n\n proxyModelValue.value = include(newItem, proxyModelValue.value ?? []);\n draftModelValue.value = '';\n\n nextTick(() => focus());\n }\n\n function remove(value: string): void {\n proxyModelValue.value = exclude(value, proxyModelValue.value ?? []);\n }\n\n function reset(): void {\n proxyModelValue.value = [];\n draftModelValue.value = '';\n context.emit('reset');\n }\n\n function clear(): void {\n draftModelValue.value = '';\n }\n\n // Effects\n onClickOutside((inputBox as MaybeElementRef), () => {\n if (activated.value === false || (tags.value?.overflowPopover as any)?.state === 'open') return;\n if (saveOnBlur.value) add();\n deactivate();\n });\n\n watch(proxyModelValue, (items, prevItems) => {\n if (overflow.value !== TagsOverflow.Scroll) return;\n if (items?.length !== prevItems?.length) {\n (tags.value?.scrollToEnd as any)();\n }\n });\n\n return {\n root,\n control,\n inputBox,\n tags,\n rootStyles,\n controlStyles,\n itemStyles,\n inputBoxStyles,\n controlInlineStyles,\n controlAttributes,\n proxyModelValue,\n draftModelValue,\n tagsItems,\n tagsProps,\n currentLength,\n maxLength,\n activated,\n showControl,\n isMobile,\n focus,\n blur,\n add,\n activate,\n deactivate,\n remove,\n reset,\n clear,\n };\n },\n});\n</script>\n\n<style scoped>\ninput {\n min-width: 0;\n background: none;\n outline: none;\n}\n</style>\n"],"names":["TagInput","TagInputControl","TagInputItem","_sfc_main","defineComponent","OrError","OrHint","OrIconButton","OrInputBox","OrLabel","OrLoader","OrTags","TagsOverflow","props","context","root","ref","control","inputBox","tags","modelValue","overflow","placeholder","disabled","readonly","saveOnBlur","toRefs","isMobile","useResponsive","rootStyles","computed","InputBoxVariant","controlStyles","itemStyles","inputBoxStyles","controlAttributes","reactive","useIdAttribute","useControlAttributes","useValidationAttributes","activated","proxyModelValue","useProxyModelValue","draftModelValue","tagsItems","toArray","item","TagColor","currentLength","_a","maxLength","controlInlineStyles","chars","showControl","tagsProps","focus","blur","deactivate","nextTick","activate","add","newItem","include","remove","value","exclude","reset","clear","onClickOutside","_b","watch","items","prevItems","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createBlock","_component_OrLabel","_renderSlot","_createCommentVNode","_createVNode","_component_OrInputBox","_createSlots","_withCtx","_component_OrTags","_cache","$event","_createElementVNode","_mergeProps","_withKeys","_component_OrLoader","_component_OrIconButton","_withDirectives","_component_OrHint","_component_OrError"],"mappings":"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"}
1
+ {"version":3,"file":"OrTagInput-BkFDvGIk.mjs","sources":["../../../components/or-tag-input-v3/src/styles.ts","../../../components/or-tag-input-v3/src/OrTagInput.vue"],"sourcesContent":["export const TagInput: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const TagInputControl: string[] = [\n // Layout\n // 'flex-auto',\n\n // Typography\n 'typography-inherit',\n\n // Theme (placeholder)\n 'placeholder:theme-foreground-outline',\n 'dark:placeholder:theme-foreground-outline-dark',\n];\n\nexport const TagInputItem: string[] = [\n // Box\n '!min-h-0',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots.label || $slots.addon || label\">\n <OrLabel\n :control-id=\"controlAttributes.id\"\n :variant=\"'input'\"\n :required=\"required\"\n :disabled=\"disabled\"\n >\n <slot name=\"label\">\n {{ label }}\n </slot>\n\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n </OrLabel>\n </template>\n\n <OrInputBox\n :ref=\"'inputBox'\"\n :class=\"inputBoxStyles\"\n :variant=\"variant\"\n :invalid=\"!!error\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :tabindex=\"0\"\n :force-state=\"activated ? 'focus-within': undefined\"\n @focus=\"activate\"\n >\n <template\n v-if=\"$slots.prependInner\"\n v-slot:prepend\n >\n <slot name=\"prependInner\" />\n </template>\n <OrTags\n :ref=\"'tags'\"\n :class=\"['grow']\"\n :items=\"tagsItems\"\n :disabled=\"disabled\"\n :tag-props=\"tagsProps\"\n :overflow=\"overflow\"\n @reset=\"remove($event)\"\n >\n <template v-slot:tag=\"{ item }\">\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </template>\n\n <template\n v-if=\"showControl\"\n v-slot:tail\n >\n <div class=\"inline-flex w-fit max-w-full\">\n <input\n :ref=\"'control'\"\n v-bind=\"controlAttributes\"\n v-model.trim=\"draftModelValue\"\n :class=\"controlStyles\"\n :style=\"controlInlineStyles\"\n :type=\"'text'\"\n :placeholder=\"!proxyModelValue || (proxyModelValue && proxyModelValue.length === 0) ? placeholder : undefined\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :autocomplete=\"'off'\"\n :minlength=\"undefined\"\n :maxlength=\"undefined\"\n @input=\"$emit('input', $event)\"\n @keydown=\"$emit('keydown', $event)\"\n @keydown.enter=\"add()\"\n @keyup=\"$emit('keyup', $event)\"\n @focus=\"activate\"\n >\n </div>\n </template>\n </OrTags>\n <template\n v-if=\"$slots.appendInner\"\n v-slot:addon\n >\n <slot name=\"appendInner\" />\n </template>\n <template\n v-else-if=\"loading\"\n v-slot:addon\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"error ? 'danger' : 'primary'\"\n :size=\"isMobile ? 'm' : 's'\"\n />\n </template>\n\n <template\n v-else-if=\"enableClear && !readonly && !disabled\"\n v-slot:addon\n >\n <template v-if=\"proxyModelValue && proxyModelValue.length > 0 || draftModelValue\">\n <OrIconButton\n :icon=\"'close'\"\n :color=\"'inherit'\"\n @click=\"reset()\"\n />\n </template>\n </template>\n </OrInputBox>\n\n <template v-if=\"$slots.hint || hint || maxLength\">\n <OrHint\n v-show=\"!error\"\n :disabled=\"disabled\"\n >\n <slot name=\"hint\">\n {{ hint }}\n </slot>\n\n <template\n v-if=\"maxLength\"\n v-slot:addon\n >\n {{ currentLength }} / {{ maxLength }}\n </template>\n </OrHint>\n </template>\n\n <OrError\n v-show=\"typeof error === 'string' && error.length > 0\"\n :disabled=\"disabled\"\n >\n {{ error }}\n\n <template\n v-if=\"maxLength\"\n v-slot:addon\n >\n {{ currentLength }} / {{ maxLength }}\n </template>\n </OrError>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { MaybeElementRef, onClickOutside } from '@vueuse/core';\nimport { PropType, computed, defineComponent, nextTick, reactive, ref, toRefs, watch } from 'vue';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue, useResponsive, useValidationAttributes } from '@onereach/ui-components-common/hooks';\nimport { exclude, include, toArray } from '@onereach/ui-components-common/utils';\nimport { OrErrorV3 as OrError } from '@onereach/ui-components.or-error-v3';\nimport { OrHintV3 as OrHint } from '@onereach/ui-components.or-hint-v3';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { InputBoxVariant, OrInputBoxV3 as OrInputBox } from '@onereach/ui-components.or-input-box-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { TagColor } from '@onereach/ui-components.or-tag-v3';\nimport { OrTagsV3 as OrTags, TagObject, TagsOverflow } from '@onereach/ui-components.or-tags-v3';\nimport { TagInput, TagInputControl, TagInputItem } from './styles';\nimport { TagInputModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrTagInput',\n\n components: {\n OrError,\n OrHint,\n OrIconButton,\n OrInputBox,\n OrLabel,\n OrLoader,\n OrTags,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<TagInputModelValue>,\n default: () => [],\n },\n\n variant: {\n type: String as PropType<`${InputBoxVariant}`>,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n placeholder: {\n type: String,\n default: undefined,\n },\n\n hint: {\n type: String,\n default: undefined,\n },\n\n error: {\n type: [String, Boolean],\n default: undefined,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n // todo: review default state, disabling will breaking\n enableClear: {\n type: Boolean,\n default: true,\n },\n\n additionalInputBoxStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n saveOnBlur: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'input',\n 'keydown',\n 'keyup',\n 'focus',\n 'blur',\n\n 'reset',\n ],\n\n expose: [\n 'root',\n\n 'reset',\n 'clear',\n\n 'focus',\n 'blur',\n\n 'activate',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const control = ref<HTMLInputElement>();\n const inputBox = ref<InstanceType<typeof OrInputBox>>();\n const tags = ref<InstanceType<typeof OrTags>>();\n\n // Props\n const { modelValue, overflow, placeholder, disabled, readonly, saveOnBlur } = toRefs(props);\n const { isMobile } = useResponsive();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tag-input-v3',\n ...TagInput,\n ...props.variant === InputBoxVariant.Embedded ? ['grow'] : [],\n ]);\n\n const controlStyles = computed(() => [\n ...TagInputControl,\n ]);\n\n const itemStyles = computed(() => [\n ...TagInputItem,\n ]);\n\n const inputBoxStyles = computed(() => [\n 'interactivity-select',\n ...props.additionalInputBoxStyles,\n ]);\n\n // State\n const controlAttributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n ...useValidationAttributes(),\n });\n\n const activated = ref(false);\n const proxyModelValue = useProxyModelValue(modelValue, context.emit);\n const draftModelValue = ref<string>();\n\n const tagsItems = computed(() => {\n return toArray(proxyModelValue.value).map((item) => ({\n label: item,\n value: item,\n\n tagProps: {\n color: item === draftModelValue.value ? TagColor.Danger : TagColor.Default,\n },\n } as TagObject));\n });\n\n const currentLength = computed(() => proxyModelValue.value?.length ?? 0);\n const maxLength = computed(() => controlAttributes.maxlength);\n\n const controlInlineStyles = computed(() => {\n const chars = draftModelValue.value\n ? draftModelValue.value.length\n : currentLength.value === 0\n ? placeholder.value?.length ?? 0\n : 0;\n return {\n width: `${Math.max(chars + 1 || 0, 3)}ch`,\n };\n });\n\n const showControl = computed(() => {\n return draftModelValue.value\n || currentLength.value === 0\n || activated.value;\n });\n\n const tagsProps = computed(() => ({\n variant: readonly.value || disabled.value || !activated.value ? 'tag' : 'reset',\n disabled: disabled.value,\n }));\n\n // Methods\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n }\n\n function deactivate() {\n activated.value = false;\n nextTick(() => blur());\n context.emit('blur');\n }\n\n function activate() {\n if (disabled.value || readonly.value) return;\n\n if (!activated.value) {\n activated.value = true;\n context.emit('focus');\n }\n\n nextTick(() => focus());\n }\n\n function add(): void {\n const newItem = draftModelValue.value;\n\n if (!newItem) return;\n if (proxyModelValue.value?.includes(newItem)) return;\n if (maxLength.value && currentLength.value >= maxLength.value) return;\n\n proxyModelValue.value = include(newItem, proxyModelValue.value ?? []);\n draftModelValue.value = '';\n\n nextTick(() => focus());\n }\n\n function remove(value: string): void {\n proxyModelValue.value = exclude(value, proxyModelValue.value ?? []);\n }\n\n function reset(): void {\n proxyModelValue.value = [];\n draftModelValue.value = '';\n context.emit('reset');\n }\n\n function clear(): void {\n draftModelValue.value = '';\n }\n\n // Effects\n onClickOutside((inputBox as MaybeElementRef), () => {\n if (activated.value === false || (tags.value?.overflowPopover as any)?.state === 'open') return;\n if (saveOnBlur.value) add();\n deactivate();\n });\n\n watch(proxyModelValue, (items, prevItems) => {\n if (overflow.value !== TagsOverflow.Scroll) return;\n if (items?.length !== prevItems?.length) {\n (tags.value?.scrollToEnd as any)();\n }\n });\n\n return {\n root,\n control,\n inputBox,\n tags,\n rootStyles,\n controlStyles,\n itemStyles,\n inputBoxStyles,\n controlInlineStyles,\n controlAttributes,\n proxyModelValue,\n draftModelValue,\n tagsItems,\n tagsProps,\n currentLength,\n maxLength,\n activated,\n showControl,\n isMobile,\n focus,\n blur,\n add,\n activate,\n deactivate,\n remove,\n reset,\n clear,\n };\n },\n});\n</script>\n\n<style scoped>\ninput {\n min-width: 0;\n background: none;\n outline: none;\n}\n</style>\n"],"names":["TagInput","TagInputControl","TagInputItem","_sfc_main","defineComponent","OrError","OrHint","OrIconButton","OrInputBox","OrLabel","OrLoader","OrTags","TagsOverflow","props","context","root","ref","control","inputBox","tags","modelValue","overflow","placeholder","disabled","readonly","saveOnBlur","toRefs","isMobile","useResponsive","rootStyles","computed","InputBoxVariant","controlStyles","itemStyles","inputBoxStyles","controlAttributes","reactive","useIdAttribute","useControlAttributes","useValidationAttributes","activated","proxyModelValue","useProxyModelValue","draftModelValue","tagsItems","toArray","item","TagColor","currentLength","_a","maxLength","controlInlineStyles","chars","showControl","tagsProps","focus","blur","deactivate","nextTick","activate","add","newItem","include","remove","value","exclude","reset","clear","onClickOutside","_b","watch","items","prevItems","_resolveComponent","_openBlock","_createElementBlock","$slots","_ctx","_createBlock","required","_renderSlot","_withCtx","_createCommentVNode","_createVNode","_component_OrInputBox","_normalizeClass","_createSlots","_component_OrTags","_cache","$event","_createElementVNode","_hoisted_1","_withDirectives","_mergeProps","$emit","_withKeys","args","loading","error","enableClear","_component_OrIconButton","_component_OrHint","_createTextVNode","_toDisplayString","_vShow"],"mappings":"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"}
@@ -98,9 +98,9 @@ const Z = j({
98
98
  const S = v(), s = v(), m = v(), T = r(() => {
99
99
  var t;
100
100
  return (t = m.value) == null ? void 0 : t.root;
101
- }), u = v(), f = r(() => {
101
+ }), f = v(), u = r(() => {
102
102
  var t;
103
- return (t = u.value) == null ? void 0 : t.root;
103
+ return (t = f.value) == null ? void 0 : t.root;
104
104
  }), w = r(() => [
105
105
  "or-tags-v3",
106
106
  ...J
@@ -118,7 +118,7 @@ const Z = j({
118
118
  threshold: 8
119
119
  }), b = r(() => o.items.map(Y)), V = r(() => b.value.slice(N.value.length));
120
120
  function H() {
121
- u.value.toggle();
121
+ f.value.toggle();
122
122
  }
123
123
  function W() {
124
124
  z(() => {
@@ -135,8 +135,8 @@ const Z = j({
135
135
  localItems: b,
136
136
  overflowButton: m,
137
137
  overflowButtonRoot: T,
138
- overflowPopover: u,
139
- overflowPopoverRoot: f,
138
+ overflowPopover: f,
139
+ overflowPopoverRoot: u,
140
140
  rootStyles: w,
141
141
  popoverStyles: g,
142
142
  containerStyles: e,
@@ -148,8 +148,8 @@ const Z = j({
148
148
  };
149
149
  }
150
150
  });
151
- function _(o, S, s, m, T, u) {
152
- const f = h("OrTag"), w = h("OrButton"), g = h("OrPopover");
151
+ function _(o, S, s, m, T, f) {
152
+ const u = h("OrTag"), w = h("OrButton"), g = h("OrPopover");
153
153
  return l(), n("div", {
154
154
  ref: "root",
155
155
  class: a(o.rootStyles)
@@ -159,7 +159,7 @@ function _(o, S, s, m, T, u) {
159
159
  ref: "container",
160
160
  class: a(o.containerStyles)
161
161
  }, [
162
- (l(!0), n(O, null, $(o.localItems, (e) => (l(), C(f, I({ ...o.tagProps, ...e.tagProps }, {
162
+ (l(!0), n(O, null, $(o.localItems, (e) => (l(), C(u, I({ ref_for: !0 }, { ...o.tagProps, ...e.tagProps }, {
163
163
  key: e.value,
164
164
  class: ["max-w-full"],
165
165
  onReset: (y) => o.$emit("reset", e.value)
@@ -198,7 +198,7 @@ function _(o, S, s, m, T, u) {
198
198
  D("div", {
199
199
  class: a(o.overflowPopoverStyles)
200
200
  }, [
201
- (l(!0), n(O, null, $(o.overflowItems, (e) => (l(), C(f, I({ ...o.tagProps, ...e.tagProps }, {
201
+ (l(!0), n(O, null, $(o.overflowItems, (e) => (l(), C(u, I({ ref_for: !0 }, { ...o.tagProps, ...e.tagProps }, {
202
202
  key: e.value,
203
203
  onReset: (y) => o.$emit("reset", e.value)
204
204
  }), {
@@ -222,4 +222,4 @@ export {
222
222
  no as O,
223
223
  p as T
224
224
  };
225
- //# sourceMappingURL=OrTags-CS0bcLtx.mjs.map
225
+ //# sourceMappingURL=OrTags-gPpVnqZT.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrTags-CS0bcLtx.mjs","sources":["../../../components/or-tags-v3/src/props.ts","../../../components/or-tags-v3/src/styles.ts","../../../components/or-tags-v3/src/utils/castToTag.ts","../../../components/or-tags-v3/src/OrTags.vue"],"sourcesContent":["export enum TagsOverflow {\n Wrap = 'wrap',\n Scroll = 'scroll',\n Hidden = 'hidden',\n}\n","import { TagsOverflow } from './props';\n\nexport const Tags: string[] = [\n // Layout\n 'layout-row',\n\n // Overflow\n 'overflow-hidden',\n\n // Spacing\n 'gap-sm',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const TagsContainer: string[] = [\n // Layout\n 'layout-row',\n 'max-w-full',\n\n // Spacing\n 'gap-sm',\n 'py-xs',\n];\n\nexport const TagsContainerOverflows: Record<TagsOverflow, string[]> = {\n [TagsOverflow.Wrap]: [\n // Layout\n '!flex-wrap',\n ],\n\n [TagsOverflow.Scroll]: [\n // Layout\n 'overflow-y-auto',\n // todo: extract to plugin?\n '[&::-webkit-scrollbar]:hidden [-ms-overflow-style:\\'none\\'] [scrollbar-width:\\'none\\']',\n ],\n\n [TagsOverflow.Hidden]: [\n // Overflow\n 'overflow-hidden',\n ],\n};\n\nexport const TagsOverflowButton: string[] = [\n // Typography\n 'typography-caption-regular',\n];\n\nexport const TagsOverflowPopover: string[] = [\n // Layout\n 'layout-row !flex-wrap !content-start overflow-y-auto',\n\n // Box\n 'max-w-[192px] max-h-[340px]',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-sm',\n];\n","import { Tag, TagObject } from '../types';\nexport function castToTagObject(tag: Tag): TagObject {\n if (typeof tag === 'string') {\n return {\n label: tag,\n value: tag,\n };\n } else {\n return tag;\n }\n}\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div\n v-if=\"localItems.length > 0\"\n :ref=\"'container'\"\n :class=\"containerStyles\"\n >\n <OrTag\n v-for=\"item in localItems\"\n v-bind=\"{ ...tagProps, ...item.tagProps }\"\n :key=\"item.value\"\n :class=\"['max-w-full']\"\n @reset=\"$emit('reset', item.value)\"\n >\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrTag>\n\n <slot\n v-if=\"overflow === 'wrap'\"\n name=\"tail\"\n />\n </div>\n\n <template v-if=\"overflow === 'hidden' && overflowItems.length > 0\">\n <OrButton\n :ref=\"'overflowButton'\"\n :class=\"overflowButtonStyles\"\n :type=\"'button'\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"disabled\"\n @click.stop=\"togglePopover\"\n >\n +{{ overflowItems.length }}\n </OrButton>\n\n <OrPopover\n :ref=\"'overflowPopover'\"\n :class=\"popoverStyles\"\n :custom-styles=\"popoverStyles\"\n :trigger=\"overflowButtonRoot\"\n >\n <div :class=\"overflowPopoverStyles\">\n <OrTag\n v-for=\"item in overflowItems\"\n v-bind=\"{ ...tagProps, ...item.tagProps }\"\n :key=\"item.value\"\n @reset=\"$emit('reset', item.value)\"\n >\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrTag>\n </div>\n </OrPopover>\n </template>\n\n <slot\n v-if=\"overflow !== 'wrap' || items.length === 0\"\n name=\"tail\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, nextTick, ref } from 'vue';\nimport { useOverflow } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrPopoverV3 as OrPopover } from '@onereach/ui-components.or-popover-v3';\nimport { OrTagV3 as OrTag } from '@onereach/ui-components.or-tag-v3';\nimport { TagsOverflow } from './props';\nimport { Tags, TagsContainer, TagsContainerOverflows, TagsOverflowButton, TagsOverflowPopover } from './styles';\nimport { Tag } from './types';\nimport { castToTagObject } from './utils/castToTag';\n\nexport default defineComponent({\n name: 'OrTags',\n\n components: {\n OrButton,\n OrPopover,\n OrTag,\n },\n\n props: {\n items: {\n type: Array as PropType<Tag[]>,\n default: () => [],\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n tagProps: {\n type: Object as PropType<InstanceType<typeof OrTag>['$props']>,\n default: undefined,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n\n 'reset',\n ],\n\n expose: [\n 'root',\n 'container',\n 'overflowPopover',\n 'scrollToEnd',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n const container = ref<HTMLElement>();\n\n // Props\n const overflowButton = ref<InstanceType<typeof OrButton>>();\n const overflowButtonRoot = computed(() => overflowButton.value?.root);\n\n const overflowPopover = ref<InstanceType<typeof OrPopover>>();\n const overflowPopoverRoot = computed(() => overflowPopover.value?.root);\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tags-v3',\n ...Tags,\n ]);\n\n const popoverStyles = computed(() => [\n 'or-tags-popover-v3',\n ]);\n\n const containerStyles = computed(() => [\n ...TagsContainer,\n ...TagsContainerOverflows[props.overflow],\n ]);\n\n const overflowButtonStyles = computed(() => [\n ...TagsOverflowButton,\n ]);\n\n const overflowPopoverStyles = computed(() => [\n ...TagsOverflowPopover,\n ]);\n\n // State\n const { innerItems } = useOverflow(container, {\n hide: false,\n threshold: 8,\n });\n\n const localItems = computed(() => {\n return props.items.map(castToTagObject);\n });\n\n const overflowItems = computed(() => {\n return localItems.value.slice(innerItems.value.length);\n });\n\n // Methods\n function togglePopover() {\n (overflowPopover.value!.toggle as () => void)();\n }\n\n function scrollToEnd() {\n nextTick(() => {\n container.value?.scrollTo({\n left: container.value?.scrollWidth,\n behavior: 'smooth',\n });\n });\n }\n\n return {\n root,\n container,\n localItems,\n overflowButton,\n overflowButtonRoot,\n overflowPopover,\n overflowPopoverRoot,\n rootStyles,\n popoverStyles,\n containerStyles,\n overflowButtonStyles,\n overflowPopoverStyles,\n overflowItems,\n togglePopover,\n scrollToEnd,\n };\n },\n});\n</script>\n"],"names":["TagsOverflow","Tags","TagsContainer","TagsContainerOverflows","TagsOverflowButton","TagsOverflowPopover","castToTagObject","tag","_sfc_main","defineComponent","OrButton","OrPopover","OrTag","props","root","ref","container","overflowButton","overflowButtonRoot","computed","_a","overflowPopover","overflowPopoverRoot","rootStyles","popoverStyles","containerStyles","overflowButtonStyles","overflowPopoverStyles","innerItems","useOverflow","localItems","overflowItems","togglePopover","scrollToEnd","nextTick","_b","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_Fragment","_renderList","item","_createBlock","_component_OrTag","_mergeProps","$event","_withCtx","_renderSlot","_createCommentVNode","_createVNode","_component_OrButton","_withModifiers","_component_OrPopover","_createElementVNode"],"mappings":"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"}
1
+ {"version":3,"file":"OrTags-gPpVnqZT.mjs","sources":["../../../components/or-tags-v3/src/props.ts","../../../components/or-tags-v3/src/styles.ts","../../../components/or-tags-v3/src/utils/castToTag.ts","../../../components/or-tags-v3/src/OrTags.vue"],"sourcesContent":["export enum TagsOverflow {\n Wrap = 'wrap',\n Scroll = 'scroll',\n Hidden = 'hidden',\n}\n","import { TagsOverflow } from './props';\n\nexport const Tags: string[] = [\n // Layout\n 'layout-row',\n\n // Overflow\n 'overflow-hidden',\n\n // Spacing\n 'gap-sm',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const TagsContainer: string[] = [\n // Layout\n 'layout-row',\n 'max-w-full',\n\n // Spacing\n 'gap-sm',\n 'py-xs',\n];\n\nexport const TagsContainerOverflows: Record<TagsOverflow, string[]> = {\n [TagsOverflow.Wrap]: [\n // Layout\n '!flex-wrap',\n ],\n\n [TagsOverflow.Scroll]: [\n // Layout\n 'overflow-y-auto',\n // todo: extract to plugin?\n '[&::-webkit-scrollbar]:hidden [-ms-overflow-style:\\'none\\'] [scrollbar-width:\\'none\\']',\n ],\n\n [TagsOverflow.Hidden]: [\n // Overflow\n 'overflow-hidden',\n ],\n};\n\nexport const TagsOverflowButton: string[] = [\n // Typography\n 'typography-caption-regular',\n];\n\nexport const TagsOverflowPopover: string[] = [\n // Layout\n 'layout-row !flex-wrap !content-start overflow-y-auto',\n\n // Box\n 'max-w-[192px] max-h-[340px]',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-sm',\n];\n","import { Tag, TagObject } from '../types';\nexport function castToTagObject(tag: Tag): TagObject {\n if (typeof tag === 'string') {\n return {\n label: tag,\n value: tag,\n };\n } else {\n return tag;\n }\n}\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div\n v-if=\"localItems.length > 0\"\n :ref=\"'container'\"\n :class=\"containerStyles\"\n >\n <OrTag\n v-for=\"item in localItems\"\n v-bind=\"{ ...tagProps, ...item.tagProps }\"\n :key=\"item.value\"\n :class=\"['max-w-full']\"\n @reset=\"$emit('reset', item.value)\"\n >\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrTag>\n\n <slot\n v-if=\"overflow === 'wrap'\"\n name=\"tail\"\n />\n </div>\n\n <template v-if=\"overflow === 'hidden' && overflowItems.length > 0\">\n <OrButton\n :ref=\"'overflowButton'\"\n :class=\"overflowButtonStyles\"\n :type=\"'button'\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"disabled\"\n @click.stop=\"togglePopover\"\n >\n +{{ overflowItems.length }}\n </OrButton>\n\n <OrPopover\n :ref=\"'overflowPopover'\"\n :class=\"popoverStyles\"\n :custom-styles=\"popoverStyles\"\n :trigger=\"overflowButtonRoot\"\n >\n <div :class=\"overflowPopoverStyles\">\n <OrTag\n v-for=\"item in overflowItems\"\n v-bind=\"{ ...tagProps, ...item.tagProps }\"\n :key=\"item.value\"\n @reset=\"$emit('reset', item.value)\"\n >\n <slot\n name=\"tag\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrTag>\n </div>\n </OrPopover>\n </template>\n\n <slot\n v-if=\"overflow !== 'wrap' || items.length === 0\"\n name=\"tail\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, nextTick, ref } from 'vue';\nimport { useOverflow } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrPopoverV3 as OrPopover } from '@onereach/ui-components.or-popover-v3';\nimport { OrTagV3 as OrTag } from '@onereach/ui-components.or-tag-v3';\nimport { TagsOverflow } from './props';\nimport { Tags, TagsContainer, TagsContainerOverflows, TagsOverflowButton, TagsOverflowPopover } from './styles';\nimport { Tag } from './types';\nimport { castToTagObject } from './utils/castToTag';\n\nexport default defineComponent({\n name: 'OrTags',\n\n components: {\n OrButton,\n OrPopover,\n OrTag,\n },\n\n props: {\n items: {\n type: Array as PropType<Tag[]>,\n default: () => [],\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n tagProps: {\n type: Object as PropType<InstanceType<typeof OrTag>['$props']>,\n default: undefined,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n\n 'reset',\n ],\n\n expose: [\n 'root',\n 'container',\n 'overflowPopover',\n 'scrollToEnd',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n const container = ref<HTMLElement>();\n\n // Props\n const overflowButton = ref<InstanceType<typeof OrButton>>();\n const overflowButtonRoot = computed(() => overflowButton.value?.root);\n\n const overflowPopover = ref<InstanceType<typeof OrPopover>>();\n const overflowPopoverRoot = computed(() => overflowPopover.value?.root);\n\n // Styles\n const rootStyles = computed(() => [\n 'or-tags-v3',\n ...Tags,\n ]);\n\n const popoverStyles = computed(() => [\n 'or-tags-popover-v3',\n ]);\n\n const containerStyles = computed(() => [\n ...TagsContainer,\n ...TagsContainerOverflows[props.overflow],\n ]);\n\n const overflowButtonStyles = computed(() => [\n ...TagsOverflowButton,\n ]);\n\n const overflowPopoverStyles = computed(() => [\n ...TagsOverflowPopover,\n ]);\n\n // State\n const { innerItems } = useOverflow(container, {\n hide: false,\n threshold: 8,\n });\n\n const localItems = computed(() => {\n return props.items.map(castToTagObject);\n });\n\n const overflowItems = computed(() => {\n return localItems.value.slice(innerItems.value.length);\n });\n\n // Methods\n function togglePopover() {\n (overflowPopover.value!.toggle as () => void)();\n }\n\n function scrollToEnd() {\n nextTick(() => {\n container.value?.scrollTo({\n left: container.value?.scrollWidth,\n behavior: 'smooth',\n });\n });\n }\n\n return {\n root,\n container,\n localItems,\n overflowButton,\n overflowButtonRoot,\n overflowPopover,\n overflowPopoverRoot,\n rootStyles,\n popoverStyles,\n containerStyles,\n overflowButtonStyles,\n overflowPopoverStyles,\n overflowItems,\n togglePopover,\n scrollToEnd,\n };\n },\n});\n</script>\n"],"names":["TagsOverflow","Tags","TagsContainer","TagsContainerOverflows","TagsOverflowButton","TagsOverflowPopover","castToTagObject","tag","_sfc_main","defineComponent","OrButton","OrPopover","OrTag","props","root","ref","container","overflowButton","overflowButtonRoot","computed","_a","overflowPopover","overflowPopoverRoot","rootStyles","popoverStyles","containerStyles","overflowButtonStyles","overflowPopoverStyles","innerItems","useOverflow","localItems","overflowItems","togglePopover","scrollToEnd","nextTick","_b","_resolveComponent","_openBlock","_createElementBlock","_ctx","_Fragment","_renderList","item","_createBlock","_component_OrTag","_mergeProps","$event","_withCtx","_renderSlot","_createCommentVNode","_createVNode","_component_OrButton","_normalizeClass","_withModifiers","_createTextVNode","_toDisplayString","_component_OrPopover","_createElementVNode","$emit"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrTeleport.vue3-C9kW_8PS.mjs","sources":["../../../components/or-teleport-v3/src/OrTeleport.vue3.vue"],"sourcesContent":["<template>\n <Teleport\n :to=\"to\"\n :disabled=\"disabled\"\n >\n <slot />\n </Teleport>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n name: 'OrTeleport',\n\n props: {\n to: {\n type: String,\n default: 'body',\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n});\n</script>\n"],"names":["_sfc_main","defineComponent","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createBlock","_Teleport"],"mappings":";;AAYA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,IAAI;AAAA,MACF,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AACF,CAAC;SAxBQC,EAAEC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;AACN,SAAAC,EAAA,GAAkBC,EAAAC,GAAA;AAAA,IAAA,IAAAR,EAAA;AAAA,IAEnB,UAAQA,EAAA;AAAA,EAAA,GAAA;AAAA;;;;"}
1
+ {"version":3,"file":"OrTeleport.vue3-C9kW_8PS.mjs","sources":["../../../components/or-teleport-v3/src/OrTeleport.vue3.vue"],"sourcesContent":["<template>\n <Teleport\n :to=\"to\"\n :disabled=\"disabled\"\n >\n <slot />\n </Teleport>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue';\n\nexport default defineComponent({\n name: 'OrTeleport',\n\n props: {\n to: {\n type: String,\n default: 'body',\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n});\n</script>\n"],"names":["_sfc_main","defineComponent","to","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createBlock","_Teleport"],"mappings":";;AAYA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,IAAI;AAAA,MACF,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AACF,CAAC;SAxBQC,EAAEC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;AACN,SAAAC,EAAA,GAAkBC,EAAAC,GAAA;AAAA,IAAA,IAAAR,EAAA;AAAA,IAEnB,UAAQA,EAAA;AAAA,EAAA,GAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrText-3zAJU5xf.mjs","sources":["../../../components/or-text-v3/src/styles.ts","../../../components/or-text-v3/src/OrText.vue"],"sourcesContent":["export const TextRoot: string[] = [\n // Layout\n 'inline-flex',\n\n // Box\n 'max-w-full',\n\n // Typography\n 'whitespace-nowrap',\n];\n\nexport const MainText: string[] = [\n // Layout\n 'overflow-hidden',\n\n // Typography\n 'text-ellipsis',\n];\n\nexport const RestText: string[] = [\n // Layout\n 'shrink',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n @focus=\"onFocus\"\n @click=\"onClick\"\n >\n <div :class=\"mainTextStyles\">\n {{ mainText }}\n </div>\n\n <div :class=\"restTextStyles\">\n {{ restText }}\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { MainText, RestText, TextRoot } from './styles';\n\n/**\n * Use `OrText` component to crop un-wrapped single-line text with ellipsis inside narrow containers.\n * Ellipsis can be placed in the end or in the middle of the text. Convenient for displaying long labels,\n * that have same beginning and differ in the ending part.\n */\nexport default defineComponent({\n name: 'OrText',\n\n props: {\n /**\n * Text to crop.\n */\n text: {\n type: String,\n required: true,\n },\n\n /**\n * The index counted from the end of the string where ellipsis will be placed.\n * Defines how many ending characters will remain visible.\n * By default, ellipsis is placed in the end of the line.\n *\n * Note: Negative values behave same as corresponding positives still counting from the end of the line.\n */\n sliceIndex: {\n type: Number,\n default: 0,\n },\n },\n\n emits: [\n 'focus',\n 'click',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, { emit }) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-text-v3',\n ...TextRoot,\n ]);\n\n const mainTextStyles = computed(() => [\n ...MainText,\n ]);\n\n const restTextStyles = computed(() => [\n ...RestText,\n ]);\n\n /**\n * Preserves whitespace at the first position as <code>&nbsp;</code>\n * @param str A string to escape\n */\n const escapeFirst = (str: string): string => str && ('\\xa0' + str.slice(1));\n\n /**\n * Preserves whitespace at the last position as <code>&nbsp;</code>\n * @param str A string to escape\n */\n const escapeLast = (str: string): string => str && (str.slice(0, -1) + '\\xa0');\n\n // State\n const mainText = computed(() => {\n if (props.sliceIndex && props.sliceIndex < props.text.length) {\n let mainPart = props.text.slice(0, Math.abs(props.sliceIndex) * -1);\n\n if (mainPart[mainPart.length - 1] === ' ') {\n mainPart = escapeLast(mainPart);\n }\n\n return mainPart;\n }\n\n return props.text;\n });\n\n const restText = computed(() => {\n let restPart = props.text.slice(mainText.value.length);\n\n if (restPart[0] === ' ') {\n restPart = escapeFirst(restPart);\n }\n\n return restPart;\n });\n\n // Methods\n function onFocus(event: MouseEvent): void {\n emit('focus', event);\n }\n\n function onClick(event: MouseEvent): void {\n emit('click', event);\n }\n\n\n return {\n root,\n rootStyles,\n mainTextStyles,\n restTextStyles,\n mainText,\n restText,\n onFocus,\n onClick,\n };\n },\n});\n</script>\n"],"names":["TextRoot","MainText","RestText","_sfc_main","defineComponent","props","emit","root","ref","rootStyles","computed","mainTextStyles","restTextStyles","escapeFirst","str","escapeLast","mainText","mainPart","restText","restPart","onFocus","event","onClick","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","args","_createElementVNode","_toDisplayString"],"mappings":";;AAAO,MAAMA,IAAqB;AAAA;AAAA,EAEhC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GAEaC,IAAqB;AAAA;AAAA,EAEhC;AAAA;AAAA,EAGA;AACF,GAEaC,IAAqB;AAAA;AAAA,EAEhC;AACF,GCIAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMC,GAAO,EAAE,MAAAC,KAAQ;AAErB,UAAMC,IAAOC,KAGPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGV;AAAA,IAAA,CACJ,GAEKW,IAAiBD,EAAS,MAAM;AAAA,MACpC,GAAGT;AAAA,IAAA,CACJ,GAEKW,IAAiBF,EAAS,MAAM;AAAA,MACpC,GAAGR;AAAA,IAAA,CACJ,GAMKW,IAAc,CAACC,MAAwBA,KAAQ,MAASA,EAAI,MAAM,CAAC,GAMnEC,IAAa,CAACD,MAAwBA,KAAQA,EAAI,MAAM,GAAG,EAAE,IAAI,KAGjEE,IAAWN,EAAS,MAAM;AAC9B,UAAIL,EAAM,cAAcA,EAAM,aAAaA,EAAM,KAAK,QAAQ;AACxD,YAAAY,IAAWZ,EAAM,KAAK,MAAM,GAAG,KAAK,IAAIA,EAAM,UAAU,IAAI,EAAE;AAElE,eAAIY,EAASA,EAAS,SAAS,CAAC,MAAM,QACpCA,IAAWF,EAAWE,CAAQ,IAGzBA;AAAA,MACT;AAEA,aAAOZ,EAAM;AAAA,IAAA,CACd,GAEKa,IAAWR,EAAS,MAAM;AAC9B,UAAIS,IAAWd,EAAM,KAAK,MAAMW,EAAS,MAAM,MAAM;AAEjD,aAAAG,EAAS,CAAC,MAAM,QAClBA,IAAWN,EAAYM,CAAQ,IAG1BA;AAAA,IAAA,CACR;AAGD,aAASC,EAAQC,GAAyB;AACxC,MAAAf,EAAK,SAASe,CAAK;AAAA,IACrB;AAEA,aAASC,EAAQD,GAAyB;AACxC,MAAAf,EAAK,SAASe,CAAK;AAAA,IACrB;AAGO,WAAA;AAAA,MACL,MAAAd;AAAA,MACA,YAAAE;AAAA,MACA,gBAAAE;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAI;AAAA,MACA,UAAAE;AAAA,MACA,SAAAE;AAAA,MACA,SAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAtISC,EAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IACA,OAAKC,EAAAR,EAAA,UAAA;AAAA,IAAA,SAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,IAAAQ,MAAAT,EAAA,WAAAA,EAAA,QAAA,GAAAS,CAAA;AAAA,IAEN,SAEMR,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,IAAAQ,MAAAT,EAAA,WAAAA,EAAA,QAAA,GAAAS,CAAA;AAAA,EAAA,GAAA;AAAA,IADDC,EAAA,OAAA;AAAA,MAGL,OAEMF,EAAAR,EAAA,cAAA;AAAA,IAAA,GAFAW,EAAKX,EAAE,QAAA,GAAA,CAAA;AAAA,IACRU,EAAA,OAAA;AAAA,MAAA,OAAAF,EAAAR,EAAA,cAAA;AAAA;;;;"}
1
+ {"version":3,"file":"OrText-3zAJU5xf.mjs","sources":["../../../components/or-text-v3/src/styles.ts","../../../components/or-text-v3/src/OrText.vue"],"sourcesContent":["export const TextRoot: string[] = [\n // Layout\n 'inline-flex',\n\n // Box\n 'max-w-full',\n\n // Typography\n 'whitespace-nowrap',\n];\n\nexport const MainText: string[] = [\n // Layout\n 'overflow-hidden',\n\n // Typography\n 'text-ellipsis',\n];\n\nexport const RestText: string[] = [\n // Layout\n 'shrink',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n @focus=\"onFocus\"\n @click=\"onClick\"\n >\n <div :class=\"mainTextStyles\">\n {{ mainText }}\n </div>\n\n <div :class=\"restTextStyles\">\n {{ restText }}\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { MainText, RestText, TextRoot } from './styles';\n\n/**\n * Use `OrText` component to crop un-wrapped single-line text with ellipsis inside narrow containers.\n * Ellipsis can be placed in the end or in the middle of the text. Convenient for displaying long labels,\n * that have same beginning and differ in the ending part.\n */\nexport default defineComponent({\n name: 'OrText',\n\n props: {\n /**\n * Text to crop.\n */\n text: {\n type: String,\n required: true,\n },\n\n /**\n * The index counted from the end of the string where ellipsis will be placed.\n * Defines how many ending characters will remain visible.\n * By default, ellipsis is placed in the end of the line.\n *\n * Note: Negative values behave same as corresponding positives still counting from the end of the line.\n */\n sliceIndex: {\n type: Number,\n default: 0,\n },\n },\n\n emits: [\n 'focus',\n 'click',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, { emit }) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-text-v3',\n ...TextRoot,\n ]);\n\n const mainTextStyles = computed(() => [\n ...MainText,\n ]);\n\n const restTextStyles = computed(() => [\n ...RestText,\n ]);\n\n /**\n * Preserves whitespace at the first position as <code>&nbsp;</code>\n * @param str A string to escape\n */\n const escapeFirst = (str: string): string => str && ('\\xa0' + str.slice(1));\n\n /**\n * Preserves whitespace at the last position as <code>&nbsp;</code>\n * @param str A string to escape\n */\n const escapeLast = (str: string): string => str && (str.slice(0, -1) + '\\xa0');\n\n // State\n const mainText = computed(() => {\n if (props.sliceIndex && props.sliceIndex < props.text.length) {\n let mainPart = props.text.slice(0, Math.abs(props.sliceIndex) * -1);\n\n if (mainPart[mainPart.length - 1] === ' ') {\n mainPart = escapeLast(mainPart);\n }\n\n return mainPart;\n }\n\n return props.text;\n });\n\n const restText = computed(() => {\n let restPart = props.text.slice(mainText.value.length);\n\n if (restPart[0] === ' ') {\n restPart = escapeFirst(restPart);\n }\n\n return restPart;\n });\n\n // Methods\n function onFocus(event: MouseEvent): void {\n emit('focus', event);\n }\n\n function onClick(event: MouseEvent): void {\n emit('click', event);\n }\n\n\n return {\n root,\n rootStyles,\n mainTextStyles,\n restTextStyles,\n mainText,\n restText,\n onFocus,\n onClick,\n };\n },\n});\n</script>\n"],"names":["TextRoot","MainText","RestText","_sfc_main","defineComponent","props","emit","root","ref","rootStyles","computed","mainTextStyles","restTextStyles","escapeFirst","str","escapeLast","mainText","mainPart","restText","restPart","onFocus","event","onClick","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","args","_toDisplayString"],"mappings":";;AAAO,MAAMA,IAAqB;AAAA;AAAA,EAEhC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GAEaC,IAAqB;AAAA;AAAA,EAEhC;AAAA;AAAA,EAGA;AACF,GAEaC,IAAqB;AAAA;AAAA,EAEhC;AACF,GCIAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA;AAAA;AAAA;AAAA,IAIL,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMC,GAAO,EAAE,MAAAC,KAAQ;AAErB,UAAMC,IAAOC,KAGPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGV;AAAA,IAAA,CACJ,GAEKW,IAAiBD,EAAS,MAAM;AAAA,MACpC,GAAGT;AAAA,IAAA,CACJ,GAEKW,IAAiBF,EAAS,MAAM;AAAA,MACpC,GAAGR;AAAA,IAAA,CACJ,GAMKW,IAAc,CAACC,MAAwBA,KAAQ,MAASA,EAAI,MAAM,CAAC,GAMnEC,IAAa,CAACD,MAAwBA,KAAQA,EAAI,MAAM,GAAG,EAAE,IAAI,KAGjEE,IAAWN,EAAS,MAAM;AAC9B,UAAIL,EAAM,cAAcA,EAAM,aAAaA,EAAM,KAAK,QAAQ;AACxD,YAAAY,IAAWZ,EAAM,KAAK,MAAM,GAAG,KAAK,IAAIA,EAAM,UAAU,IAAI,EAAE;AAElE,eAAIY,EAASA,EAAS,SAAS,CAAC,MAAM,QACpCA,IAAWF,EAAWE,CAAQ,IAGzBA;AAAA,MACT;AAEA,aAAOZ,EAAM;AAAA,IAAA,CACd,GAEKa,IAAWR,EAAS,MAAM;AAC9B,UAAIS,IAAWd,EAAM,KAAK,MAAMW,EAAS,MAAM,MAAM;AAEjD,aAAAG,EAAS,CAAC,MAAM,QAClBA,IAAWN,EAAYM,CAAQ,IAG1BA;AAAA,IAAA,CACR;AAGD,aAASC,EAAQC,GAAyB;AACxC,MAAAf,EAAK,SAASe,CAAK;AAAA,IACrB;AAEA,aAASC,EAAQD,GAAyB;AACxC,MAAAf,EAAK,SAASe,CAAK;AAAA,IACrB;AAGO,WAAA;AAAA,MACL,MAAAd;AAAA,MACA,YAAAE;AAAA,MACA,gBAAAE;AAAA,MACA,gBAAAC;AAAA,MACA,UAAAI;AAAA,MACA,UAAAE;AAAA,MACA,SAAAE;AAAA,MACA,SAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAtISC,EAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;AACN,SAAAC,EAAA,GAAYC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IACA,OAAKC,EAAAR,EAAA,UAAA;AAAA,IAAA,SAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,IAAAQ,MAAAT,EAAA,WAAAA,EAAA,QAAA,GAAAS,CAAA;AAAA,IAEN,SAEMR,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,IAAAQ,MAAAT,EAAA,WAAAA,EAAA,QAAA,GAAAS,CAAA;AAAA,EAAA,GAAA;AAAA,IADDjB,EAAAA,OAAAA;AAAAA,MAGL,OAEMgB,EAAAR,EAAA,cAAA;AAAA,IAAA,GAFAU,EAXVV,EAWiBZ,QAAAA,GAAAA,CAAAA;AAAAA,IACRM,EAAAA,OAAAA;AAAAA,MAAAA,OAAAA,EAAAA,EAAAA,cAAAA;AAAAA;;;;"}