@onereach/ui-components 27.0.2-beta.6095.0 → 27.0.2-beta.6097.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 (164) hide show
  1. package/dist/esm/{OrAutocomplete-BMyFCKjB.mjs → OrAutocomplete-BN3Xpwjd.mjs} +7 -7
  2. package/dist/esm/{OrAutocomplete-BMyFCKjB.mjs.map → OrAutocomplete-BN3Xpwjd.mjs.map} +1 -1
  3. package/dist/esm/{OrBottomSheet-DQ83BBtJ.mjs → OrBottomSheet-CALU9i4F.mjs} +2 -2
  4. package/dist/esm/OrBottomSheet-CALU9i4F.mjs.map +1 -0
  5. package/dist/esm/{OrCardCollection-DuyDtPAS.mjs → OrCardCollection-CjekjM1k.mjs} +4 -4
  6. package/dist/esm/{OrCardCollection-DuyDtPAS.mjs.map → OrCardCollection-CjekjM1k.mjs.map} +1 -1
  7. package/dist/esm/{OrCheckbox-B_121oYu.mjs → OrCheckbox-BOjpvXxF.mjs} +3 -3
  8. package/dist/esm/{OrCheckbox-B_121oYu.mjs.map → OrCheckbox-BOjpvXxF.mjs.map} +1 -1
  9. package/dist/esm/{OrCheckboxGroup-Db0mdVfM.mjs → OrCheckboxGroup-DsfhAyGT.mjs} +2 -2
  10. package/dist/esm/{OrCheckboxGroup-Db0mdVfM.mjs.map → OrCheckboxGroup-DsfhAyGT.mjs.map} +1 -1
  11. package/dist/esm/{OrCheckboxTree-Com4vL18.mjs → OrCheckboxTree-BMYhaqZA.mjs} +2 -2
  12. package/dist/esm/{OrCheckboxTree-Com4vL18.mjs.map → OrCheckboxTree-BMYhaqZA.mjs.map} +1 -1
  13. package/dist/esm/{OrCode-CVTfoJyM.mjs → OrCode-ztGltLid.mjs} +3 -3
  14. package/dist/esm/{OrCode-CVTfoJyM.mjs.map → OrCode-ztGltLid.mjs.map} +1 -1
  15. package/dist/esm/{OrConfirm-CeUSyKEp.mjs → OrConfirm-BPhIA7mR.mjs} +2 -2
  16. package/dist/esm/{OrConfirm-CeUSyKEp.mjs.map → OrConfirm-BPhIA7mR.mjs.map} +1 -1
  17. package/dist/esm/{OrContextMenu-DcT0nnkQ.mjs → OrContextMenu-DPkHnqgT.mjs} +3 -3
  18. package/dist/esm/{OrContextMenu-DcT0nnkQ.mjs.map → OrContextMenu-DPkHnqgT.mjs.map} +1 -1
  19. package/dist/esm/{OrDataGrid-BJiaRanm.mjs → OrDataGrid-B328rIKA.mjs} +14 -14
  20. package/dist/esm/{OrDataGrid-BJiaRanm.mjs.map → OrDataGrid-B328rIKA.mjs.map} +1 -1
  21. package/dist/esm/{OrDateFormat-DAWQiFzM.mjs → OrDateFormat-BjiFSSuj.mjs} +2 -2
  22. package/dist/esm/{OrDateFormat-DAWQiFzM.mjs.map → OrDateFormat-BjiFSSuj.mjs.map} +1 -1
  23. package/dist/esm/{OrDatePicker-Ifk1LBLg.mjs → OrDatePicker-1F67cACL.mjs} +4 -4
  24. package/dist/esm/{OrDatePicker-Ifk1LBLg.mjs.map → OrDatePicker-1F67cACL.mjs.map} +1 -1
  25. package/dist/esm/{OrDateRangePicker-Bof0o04S.mjs → OrDateRangePicker-DNVZygmL.mjs} +4 -4
  26. package/dist/esm/{OrDateRangePicker-Bof0o04S.mjs.map → OrDateRangePicker-DNVZygmL.mjs.map} +1 -1
  27. package/dist/esm/{OrDateTimeFormat-DM_xsd5r.mjs → OrDateTimeFormat-DlpIdVns.mjs} +2 -2
  28. package/dist/esm/{OrDateTimeFormat-DM_xsd5r.mjs.map → OrDateTimeFormat-DlpIdVns.mjs.map} +1 -1
  29. package/dist/esm/{OrDateTimePicker-D9QS_dRK.mjs → OrDateTimePicker-C4MLM7_6.mjs} +2 -2
  30. package/dist/esm/{OrDateTimePicker-D9QS_dRK.mjs.map → OrDateTimePicker-C4MLM7_6.mjs.map} +1 -1
  31. package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-8aFx3wpJ.mjs → OrDateTimePicker.vue_vue_type_script_lang-BPdT_UVf.mjs} +5 -5
  32. package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-8aFx3wpJ.mjs.map → OrDateTimePicker.vue_vue_type_script_lang-BPdT_UVf.mjs.map} +1 -1
  33. package/dist/esm/{OrEditorTabs-Bh2K-4Ri.mjs → OrEditorTabs-BELjrrI7.mjs} +4 -4
  34. package/dist/esm/{OrEditorTabs-Bh2K-4Ri.mjs.map → OrEditorTabs-BELjrrI7.mjs.map} +1 -1
  35. package/dist/esm/{OrFilter-Bcw2JmIE.mjs → OrFilter-OdRbXJoe.mjs} +3 -3
  36. package/dist/esm/{OrFilter-Bcw2JmIE.mjs.map → OrFilter-OdRbXJoe.mjs.map} +1 -1
  37. package/dist/esm/{OrFilterPopover-BBEzdSDi.mjs → OrFilterPopover-DpZsF63k.mjs} +3 -3
  38. package/dist/esm/{OrFilterPopover-BBEzdSDi.mjs.map → OrFilterPopover-DpZsF63k.mjs.map} +1 -1
  39. package/dist/esm/{OrFilterTrigger-SjWE1kLx.mjs → OrFilterTrigger-CZ-7CIOH.mjs} +2 -2
  40. package/dist/esm/{OrFilterTrigger-SjWE1kLx.mjs.map → OrFilterTrigger-CZ-7CIOH.mjs.map} +1 -1
  41. package/dist/esm/{OrIconButton-D1pxfMA_.mjs → OrIconButton-BuRmTHpT.mjs} +2 -2
  42. package/dist/esm/{OrIconButton-D1pxfMA_.mjs.map → OrIconButton-BuRmTHpT.mjs.map} +1 -1
  43. package/dist/esm/{OrInlineInput-BPt6D5QF.mjs → OrInlineInput-Bfq5_wSj.mjs} +2 -2
  44. package/dist/esm/{OrInlineInput-BPt6D5QF.mjs.map → OrInlineInput-Bfq5_wSj.mjs.map} +1 -1
  45. package/dist/esm/{OrInlineTextarea-CadTst3o.mjs → OrInlineTextarea-sBAI13VJ.mjs} +2 -2
  46. package/dist/esm/{OrInlineTextarea-CadTst3o.mjs.map → OrInlineTextarea-sBAI13VJ.mjs.map} +1 -1
  47. package/dist/esm/{OrInput-CzRxZM3i.mjs → OrInput-KTr5t05G.mjs} +2 -2
  48. package/dist/esm/{OrInput-CzRxZM3i.mjs.map → OrInput-KTr5t05G.mjs.map} +1 -1
  49. package/dist/esm/{OrList-Dsr37TgO.mjs → OrList-B1m0OvOM.mjs} +2 -2
  50. package/dist/esm/{OrList-Dsr37TgO.mjs.map → OrList-B1m0OvOM.mjs.map} +1 -1
  51. package/dist/esm/{OrMenu-Cc6IzYWK.mjs → OrMenu-DdcBdA4v.mjs} +2 -2
  52. package/dist/esm/{OrMenu-Cc6IzYWK.mjs.map → OrMenu-DdcBdA4v.mjs.map} +1 -1
  53. package/dist/esm/{OrMenuItem-KgHok8gW.mjs → OrMenuItem-CFz6OW23.mjs} +3 -3
  54. package/dist/esm/{OrMenuItem-KgHok8gW.mjs.map → OrMenuItem-CFz6OW23.mjs.map} +1 -1
  55. package/dist/esm/{OrModal-D1gCHnN1.mjs → OrModal-btf3bd3k.mjs} +2 -2
  56. package/dist/esm/{OrModal-D1gCHnN1.mjs.map → OrModal-btf3bd3k.mjs.map} +1 -1
  57. package/dist/esm/{OrNotification-DObxgRie.mjs → OrNotification-BfguyG3y.mjs} +2 -2
  58. package/dist/esm/{OrNotification-DObxgRie.mjs.map → OrNotification-BfguyG3y.mjs.map} +1 -1
  59. package/dist/esm/{OrPagination-DRBRRL2g.mjs → OrPagination-ePWsnwsu.mjs} +3 -3
  60. package/dist/esm/{OrPagination-DRBRRL2g.mjs.map → OrPagination-ePWsnwsu.mjs.map} +1 -1
  61. package/dist/esm/{OrPopover-DDoG-KKY.mjs → OrPopover-DsFw4mp2.mjs} +2 -2
  62. package/dist/esm/{OrPopover-DDoG-KKY.mjs.map → OrPopover-DsFw4mp2.mjs.map} +1 -1
  63. package/dist/esm/{OrRadio-BZN3fBLW.mjs → OrRadio-DmqGtOvf.mjs} +7 -7
  64. package/dist/esm/{OrRadio-BZN3fBLW.mjs.map → OrRadio-DmqGtOvf.mjs.map} +1 -1
  65. package/dist/esm/{OrRadioGroup-PJcCPCFn.mjs → OrRadioGroup-BAcRSss9.mjs} +2 -2
  66. package/dist/esm/{OrRadioGroup-PJcCPCFn.mjs.map → OrRadioGroup-BAcRSss9.mjs.map} +1 -1
  67. package/dist/esm/{OrRangeSlider-PAzeqzie.mjs → OrRangeSlider-CCy-Y7EH.mjs} +3 -3
  68. package/dist/esm/{OrRangeSlider-PAzeqzie.mjs.map → OrRangeSlider-CCy-Y7EH.mjs.map} +1 -1
  69. package/dist/esm/{OrResizeablePanel-DxPqTbtV.mjs → OrResizeablePanel-BBoIfFxF.mjs} +7 -7
  70. package/dist/esm/{OrResizeablePanel-DxPqTbtV.mjs.map → OrResizeablePanel-BBoIfFxF.mjs.map} +1 -1
  71. package/dist/esm/{OrRichTextEditor-hSmFPW-b.mjs → OrRichTextEditor-DBHpnkJU.mjs} +7 -7
  72. package/dist/esm/{OrRichTextEditor-hSmFPW-b.mjs.map → OrRichTextEditor-DBHpnkJU.mjs.map} +1 -1
  73. package/dist/esm/{OrRichTooltip-CDQEAeML.mjs → OrRichTooltip-tlx0W9ck.mjs} +2 -2
  74. package/dist/esm/{OrRichTooltip-CDQEAeML.mjs.map → OrRichTooltip-tlx0W9ck.mjs.map} +1 -1
  75. package/dist/esm/{OrSearch-Csld1hBq.mjs → OrSearch-CrYPoIJM.mjs} +2 -2
  76. package/dist/esm/{OrSearch-Csld1hBq.mjs.map → OrSearch-CrYPoIJM.mjs.map} +1 -1
  77. package/dist/esm/{OrSelect-DBhNKmRX.mjs → OrSelect-DkMsZ1Pl.mjs} +8 -8
  78. package/dist/esm/{OrSelect-DBhNKmRX.mjs.map → OrSelect-DkMsZ1Pl.mjs.map} +1 -1
  79. package/dist/esm/{OrSlider-DHIaTguY.mjs → OrSlider-zUTsz1DB.mjs} +2 -2
  80. package/dist/esm/{OrSlider-DHIaTguY.mjs.map → OrSlider-zUTsz1DB.mjs.map} +1 -1
  81. package/dist/esm/{OrSlider.vue_vue_type_script_lang--k0M0Q7N.mjs → OrSlider.vue_vue_type_script_lang-ggTiRZpX.mjs} +2 -2
  82. package/dist/esm/{OrSlider.vue_vue_type_script_lang--k0M0Q7N.mjs.map → OrSlider.vue_vue_type_script_lang-ggTiRZpX.mjs.map} +1 -1
  83. package/dist/esm/{OrSorting-ihkkh12O.mjs → OrSorting-BGeIMkZ5.mjs} +3 -3
  84. package/dist/esm/{OrSorting-ihkkh12O.mjs.map → OrSorting-BGeIMkZ5.mjs.map} +1 -1
  85. package/dist/esm/{OrSubMenuItem-BBg7SvWQ.mjs → OrSubMenuItem-BIOJeBwe.mjs} +4 -4
  86. package/dist/esm/{OrSubMenuItem-BBg7SvWQ.mjs.map → OrSubMenuItem-BIOJeBwe.mjs.map} +1 -1
  87. package/dist/esm/{OrSwitch-BtoXDsZx.mjs → OrSwitch-IqjDSZBa.mjs} +25 -25
  88. package/dist/esm/{OrSwitch-BtoXDsZx.mjs.map → OrSwitch-IqjDSZBa.mjs.map} +1 -1
  89. package/dist/esm/{OrTabs-eXFvC3c6.mjs → OrTabs-DUihTKOm.mjs} +3 -3
  90. package/dist/esm/{OrTabs-eXFvC3c6.mjs.map → OrTabs-DUihTKOm.mjs.map} +1 -1
  91. package/dist/esm/{OrTag-DWp6cMUp.mjs → OrTag-D-GAZ0Hm.mjs} +2 -2
  92. package/dist/esm/{OrTag-DWp6cMUp.mjs.map → OrTag-D-GAZ0Hm.mjs.map} +1 -1
  93. package/dist/esm/{OrTagInput-DIMSvMNK.mjs → OrTagInput-B2cjYeWN.mjs} +4 -4
  94. package/dist/esm/{OrTagInput-DIMSvMNK.mjs.map → OrTagInput-B2cjYeWN.mjs.map} +1 -1
  95. package/dist/esm/{OrTags-DKwmNfkN.mjs → OrTags-CMPGvbL2.mjs} +3 -3
  96. package/dist/esm/{OrTags-DKwmNfkN.mjs.map → OrTags-CMPGvbL2.mjs.map} +1 -1
  97. package/dist/esm/{OrTimeFormat-Bs_Jfd9U.mjs → OrTimeFormat-DWJ-VXll.mjs} +2 -2
  98. package/dist/esm/{OrTimeFormat-Bs_Jfd9U.mjs.map → OrTimeFormat-DWJ-VXll.mjs.map} +1 -1
  99. package/dist/esm/{OrTimePicker-C_pYA5Yn.mjs → OrTimePicker-fI5D3Eo9.mjs} +4 -4
  100. package/dist/esm/{OrTimePicker-C_pYA5Yn.mjs.map → OrTimePicker-fI5D3Eo9.mjs.map} +1 -1
  101. package/dist/esm/{OrTimeRangePicker-b2Ec1RQg.mjs → OrTimeRangePicker-Bnhl5CLg.mjs} +4 -4
  102. package/dist/esm/{OrTimeRangePicker-b2Ec1RQg.mjs.map → OrTimeRangePicker-Bnhl5CLg.mjs.map} +1 -1
  103. package/dist/esm/{OrTooltip-cverJ1se.mjs → OrTooltip-CAvo-mxv.mjs} +2 -2
  104. package/dist/esm/{OrTooltip-cverJ1se.mjs.map → OrTooltip-CAvo-mxv.mjs.map} +1 -1
  105. package/dist/esm/components/index.mjs +54 -54
  106. package/dist/esm/components/or-autocomplete-v3/index.mjs +1 -1
  107. package/dist/esm/components/or-bottom-sheet-v3/index.mjs +1 -1
  108. package/dist/esm/components/or-card-collection-v3/index.mjs +1 -1
  109. package/dist/esm/components/or-checkbox-group-v3/index.mjs +1 -1
  110. package/dist/esm/components/or-checkbox-tree-v3/index.mjs +1 -1
  111. package/dist/esm/components/or-checkbox-v3/index.mjs +1 -1
  112. package/dist/esm/components/or-code-v3/index.mjs +1 -1
  113. package/dist/esm/components/or-confirm-v3/index.mjs +1 -1
  114. package/dist/esm/components/or-context-menu-v3/index.mjs +1 -1
  115. package/dist/esm/components/or-data-grid-v3/index.mjs +1 -1
  116. package/dist/esm/components/or-date-format-v3/index.mjs +1 -1
  117. package/dist/esm/components/or-date-picker-v3/index.mjs +1 -1
  118. package/dist/esm/components/or-date-range-picker-v3/index.mjs +1 -1
  119. package/dist/esm/components/or-date-time-format-v3/index.mjs +1 -1
  120. package/dist/esm/components/or-date-time-picker-v3/index.mjs +2 -2
  121. package/dist/esm/components/or-editor-tabs-v3/index.mjs +1 -1
  122. package/dist/esm/components/or-filter-popover-v3/index.mjs +1 -1
  123. package/dist/esm/components/or-filter-trigger-v3/index.mjs +1 -1
  124. package/dist/esm/components/or-filter-v3/index.mjs +1 -1
  125. package/dist/esm/components/or-icon-button-v3/index.mjs +1 -1
  126. package/dist/esm/components/or-inline-input-v3/index.mjs +1 -1
  127. package/dist/esm/components/or-inline-textarea-v3/index.mjs +1 -1
  128. package/dist/esm/components/or-input-v3/index.mjs +1 -1
  129. package/dist/esm/components/or-list-v3/index.mjs +1 -1
  130. package/dist/esm/components/or-menu-item-v3/index.mjs +1 -1
  131. package/dist/esm/components/or-menu-v3/index.mjs +1 -1
  132. package/dist/esm/components/or-modal-v3/index.mjs +1 -1
  133. package/dist/esm/components/or-notification-v3/index.mjs +1 -1
  134. package/dist/esm/components/or-pagination-v3/index.mjs +1 -1
  135. package/dist/esm/components/or-popover-v3/index.mjs +1 -1
  136. package/dist/esm/components/or-radio-group-v3/index.mjs +1 -1
  137. package/dist/esm/components/or-radio-v3/index.mjs +1 -1
  138. package/dist/esm/components/or-range-slider-v3/index.mjs +1 -1
  139. package/dist/esm/components/or-resizeable-panel-v3/index.mjs +1 -1
  140. package/dist/esm/components/or-rich-text-editor-v3/index.mjs +1 -1
  141. package/dist/esm/components/or-rich-tooltip-v3/index.mjs +1 -1
  142. package/dist/esm/components/or-search-v3/index.mjs +1 -1
  143. package/dist/esm/components/or-select-v3/index.mjs +1 -1
  144. package/dist/esm/components/or-sidebar-v3/index.mjs +1 -1
  145. package/dist/esm/components/or-slider-v3/index.mjs +2 -2
  146. package/dist/esm/components/or-sorting-v3/index.mjs +1 -1
  147. package/dist/esm/components/or-sub-menu-item-v3/index.mjs +1 -1
  148. package/dist/esm/components/or-switch-v3/index.mjs +1 -1
  149. package/dist/esm/components/or-tabs-v3/index.mjs +1 -1
  150. package/dist/esm/components/or-tag-input-v3/index.mjs +1 -1
  151. package/dist/esm/components/or-tag-v3/index.mjs +1 -1
  152. package/dist/esm/components/or-tags-v3/index.mjs +1 -1
  153. package/dist/esm/components/or-time-format-v3/index.mjs +1 -1
  154. package/dist/esm/components/or-time-picker-v3/index.mjs +1 -1
  155. package/dist/esm/components/or-time-range-picker-v3/index.mjs +1 -1
  156. package/dist/esm/components/or-toast-v3/index.mjs +1 -1
  157. package/dist/esm/components/or-tooltip-v3/index.mjs +1 -1
  158. package/dist/esm/index.mjs +54 -54
  159. package/dist/esm/{props-BoHyDesf.mjs → props-Cm5FStaL.mjs} +2 -2
  160. package/dist/esm/{props-BoHyDesf.mjs.map → props-Cm5FStaL.mjs.map} +1 -1
  161. package/dist/esm/{types-5RPO11-2.mjs → types-DrXNmeDl.mjs} +2 -2
  162. package/dist/esm/{types-5RPO11-2.mjs.map → types-DrXNmeDl.mjs.map} +1 -1
  163. package/package.json +3 -3
  164. package/dist/esm/OrBottomSheet-DQ83BBtJ.mjs.map +0 -1
@@ -3,17 +3,17 @@ import { useIdAttribute as pe, useControlAttributes as me, useValidationAttribut
3
3
  import { include as be, isNil as j, toArray as G, exclude as ce } from "@onereach/ui-components-common/utils";
4
4
  import { O as ge } from "./OrError-B5ihH6-3.mjs";
5
5
  import { O as Oe } from "./OrHint-NvbZyURY.mjs";
6
- import { O as ke } from "./OrIconButton-D1pxfMA_.mjs";
6
+ import { O as ke } from "./OrIconButton-BuRmTHpT.mjs";
7
7
  import { O as Ie } from "./OrInputBox-6ciokFdU.mjs";
8
8
  import { a as he } from "./OrInputBox.vue_vue_type_script_lang-q2L7rmth.mjs";
9
- import { O as we } from "./OrInput-CzRxZM3i.mjs";
9
+ import { O as we } from "./OrInput-KTr5t05G.mjs";
10
10
  import { O as Se } from "./OrLabel-K7_HgvcK.mjs";
11
11
  import { O as Be } from "./OrLoader-2SaTMxmZ.mjs";
12
- import { O as Ce } from "./OrMenuItem-KgHok8gW.mjs";
13
- import { O as Ae } from "./OrPopover-DDoG-KKY.mjs";
12
+ import { O as Ce } from "./OrMenuItem-CFz6OW23.mjs";
13
+ import { O as Ae } from "./OrPopover-DsFw4mp2.mjs";
14
14
  import "@floating-ui/dom";
15
- import { O as Ve } from "./OrTagInput-DIMSvMNK.mjs";
16
- import { T as $e } from "./OrTags-DKwmNfkN.mjs";
15
+ import { O as Ve } from "./OrTagInput-B2cjYeWN.mjs";
16
+ import { T as $e } from "./OrTags-CMPGvbL2.mjs";
17
17
  import { defineComponent as Me, reactive as Te, ref as m, computed as n, toRef as J, nextTick as Fe, resolveComponent as p, resolveDirective as Pe, openBlock as t, createElementBlock as S, normalizeClass as b, createBlock as f, withCtx as a, renderSlot as c, createTextVNode as O, toDisplayString as k, createCommentVNode as F, withDirectives as P, createSlots as qe, createElementVNode as Q, mergeProps as De, createVNode as B, Fragment as Le, renderList as Re, vShow as W } from "vue";
18
18
  import { computedAsync as Ee, watchTriggerable as ze } from "@vueuse/core";
19
19
  import { _ as Ne } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
@@ -541,4 +541,4 @@ const Io = /* @__PURE__ */ Ne(Ze, [["render", eo]]);
541
541
  export {
542
542
  Io as O
543
543
  };
544
- //# sourceMappingURL=OrAutocomplete-BMyFCKjB.mjs.map
544
+ //# sourceMappingURL=OrAutocomplete-BN3Xpwjd.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrAutocomplete-BMyFCKjB.mjs","sources":["../../../components/or-autocomplete-v3/src/styles.ts","../../../components/or-autocomplete-v3/src/OrAutocomplete.vue"],"sourcesContent":["export const Autocomplete: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const AutocompleteControl: string[] = [\n // Box\n 'w-full',\n\n // Typography\n 'typography-inherit',\n\n // Theme\n 'theme-background-transparent',\n 'dark:theme-background-transparent-dark',\n\n 'outline-none',\n\n // Theme (placeholder)\n 'placeholder:theme-foreground-outline',\n 'dark:placeholder:theme-foreground-outline-dark',\n];\n\nexport const AutocompleteDropdown: string[] = [\n // Overflow\n 'overflow-y-auto',\n\n // Box\n 'max-h-[172px]', // equals 5 items\n\n\n // Theme\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\nexport const AutocompleteDropdownDefault: string[] = [\n // Shape\n 'rounded-b-md',\n\n // Theme\n '!border-t-0',\n];\n\nexport const AutocompleteDropdownFlipped: string[] = [\n // Shape\n 'rounded-t-md',\n\n // Theme\n '!border-b-0',\n];\n\nexport const AutocompleteDropdownItem: string[] = [\n // Typography\n '!typography-body-2-regular',\n\n // Padding Override todo: check design\n 'py-md px-lg md:!pt-[6px] md:pb-[7px]',\n\n // Typography (selected)\n 'selected:!typography-body-2-semibold',\n\n // Theme\n '!theme-foreground-default dark:!theme-foreground-default-dark',\n];\n\nexport const AutocompleteLoader: string[] = [\n // Layout\n 'w-fit',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'text-outline dark:text-outline-dark',\n];\n\nexport const AutocompleteLoaderContainer: string[] = [\n // Spacing\n 'py-md px-lg md:px-sm+ md:py-xs',\n];\n\nexport const AutocompleteInputBoxOpen: string[] = [\n 'rounded-b-0',\n];\n\nexport const AutocompleteInputBoxOpenFlipped: string[] = [\n 'rounded-t-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=\"attributes.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 <template v-if=\"multiple\">\n <OrTagInput\n :ref=\"'tagInput'\"\n v-model=\"model\"\n v-dropdown-open=\"openMobilePopover\"\n :overflow=\"overflow\"\n :variant=\"variant\"\n :additional-input-box-styles=\"boxOpenStyles\"\n :placeholder=\"placeholder\"\n :error=\"!!error\"\n :required=\"required\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :enable-clear=\"enableClear\"\n @input=\"onInput($event)\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($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 </OrTagInput>\n </template>\n\n <template v-else>\n <OrInputBox\n :ref=\"'inputBox'\"\n :class=\"boxOpenStyles\"\n :variant=\"variant\"\n :size=\"size\"\n :invalid=\"!!error\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n >\n <input\n :ref=\"'control'\"\n v-bind=\"attributes\"\n v-dropdown-open=\"openMobilePopover\"\n :class=\"controlStyles\"\n :type=\"'text'\"\n :value=\"searchText || model\"\n :autocomplete=\"'off'\"\n :placeholder=\"placeholder\"\n :required=\"required\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n @input=\"$emit('input', $event); onInput($event); model = searchText\"\n @keydown=\"$emit('keydown', $event)\"\n @keyup=\"$emit('keyup', $event)\"\n @focus=\"onFocus($event);\"\n @blur=\"onBlur($event);\"\n >\n\n <template\n v-if=\"enableClear && !readonly && !disabled\"\n v-slot:addon\n >\n <template v-if=\"model && model.length > 0\">\n <OrIconButton\n :icon=\"'close'\"\n :color=\"'inherit'\"\n @click=\"reset()\"\n />\n </template>\n </template>\n </OrInputBox>\n </template>\n\n <OrPopover\n :ref=\"'popover'\"\n :trigger=\"tagInputRoot || inputBoxRoot\"\n :placement=\"'bottom'\"\n :offset=\"0\"\n :full-width=\"true\"\n :disable-default-styles=\"true\"\n :bottom-sheet-props=\"{ isFullscreen: true }\"\n >\n <div :class=\"dropdownStyles\">\n <template v-if=\"isMobile\">\n <div class=\"py-sm px-lg\">\n <OrTagInput\n v-if=\"multiple\"\n :ref=\"'mobileMultipleControl'\"\n v-model=\"model\"\n :overflow=\"'scroll'\"\n :placeholder=\"placeholder\"\n :error=\"!!error\"\n :enable-clear=\"false\"\n @input=\"onInput($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 <template v-slot:appendInner>\n <OrIconButton\n :icon=\"'check'\"\n :color=\"'inherit'\"\n @click=\"closeMobilePopover\"\n />\n </template>\n </OrTagInput>\n <OrInput\n v-else\n ref=\"mobileSingleControl\"\n :model-value=\"searchText || (model && model.toString())\"\n :placeholder=\"placeholder\"\n @input=\"$emit('input', $event); onInput($event); model = searchText\"\n >\n <template v-slot:appendInner>\n <OrIconButton\n :icon=\"'check'\"\n :color=\"'inherit'\"\n @click=\"closeMobilePopover\"\n />\n </template>\n </OrInput>\n </div>\n </template>\n <template\n v-if=\"loading\"\n >\n <div :class=\"loaderContainerStyles\">\n <slot name=\"loading\">\n <OrLoader\n :class=\"loaderStyles\"\n variant=\"text\"\n :text=\"loadingText\"\n />\n </slot>\n </div>\n </template>\n <div\n v-else\n :class=\"isMobile ? 'overflow-auto': 'contains'\"\n >\n <OrMenuItem\n v-for=\"(item, i) in filteredItems\"\n :key=\"i\"\n :class=\"dropdownItemStyles\"\n @click=\"add(item)\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >\n {{ item }}\n </slot>\n </OrMenuItem>\n </div>\n </div>\n </OrPopover>\n <template v-if=\"$slots.hint || hint\">\n <OrHint\n v-show=\"!error\"\n :disabled=\"disabled\"\n >\n <slot name=\"hint\">\n {{ hint }}\n </slot>\n </OrHint>\n </template>\n\n <OrError\n v-show=\"typeof error === 'string' && error.length > 0\"\n :disabled=\"disabled\"\n >\n {{ error }}\n </OrError>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { DropdownClose, DropdownOpen } from '@onereach/ui-components-common/directives';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue, useResponsive, useValidationAttributes } from '@onereach/ui-components-common/hooks';\nimport { SearchFunction } from '@onereach/ui-components-common/types';\nimport { exclude, include, isNil, 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 { InputBoxSize, InputBoxVariant, OrInputBoxV3 as OrInputBox } from '@onereach/ui-components.or-input-box-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrPopoverV3 as OrPopover } from '@onereach/ui-components.or-popover-v3';\nimport { OrTagInputV3 as OrTagInput } from '@onereach/ui-components.or-tag-input-v3';\nimport { TagsOverflow } from '@onereach/ui-components.or-tags-v3';\nimport { computedAsync, watchTriggerable } from '@vueuse/core';\nimport { PropType, computed, defineComponent, reactive, ref, toRef, nextTick } from 'vue';\n\nimport * as Styles from './styles';\nimport { AutocompleteModelValue, AutocompleteValue } from './types';\n\nexport default defineComponent({\n name: 'OrAutocomplete',\n\n components: {\n OrError,\n OrHint,\n OrIconButton,\n OrInputBox,\n OrInput,\n OrLabel,\n OrLoader,\n OrMenuItem,\n OrPopover,\n OrTagInput,\n },\n\n directives: {\n DropdownClose,\n DropdownOpen,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<AutocompleteModelValue>,\n default: undefined,\n },\n\n items: {\n type: Array as PropType<AutocompleteValue[]>,\n default: () => [],\n },\n\n multiple: {\n type: Boolean,\n default: false,\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n variant: {\n type: String as PropType<`${InputBoxVariant}`>,\n default: undefined,\n },\n\n size: {\n type: String as PropType<`${InputBoxSize}`>,\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 loadingText: {\n type: String,\n default: 'Loading',\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 enableClear: {\n type: Boolean,\n default: false,\n },\n\n searchFunction: {\n type: Function as PropType<SearchFunction<AutocompleteValue>>,\n\n default: (async (value, items) => {\n return value.length > 0 ? items.filter((item) => new RegExp(value, 'i').test(item)) : [];\n }) as SearchFunction<AutocompleteValue>,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'input',\n 'keydown',\n 'keyup',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n\n 'popover',\n 'popoverState',\n\n 'reset',\n 'clear',\n\n 'focus',\n 'blur',\n ],\n\n setup(props, context) {\n const attributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n ...useValidationAttributes(),\n });\n\n // Refs\n const root = ref<HTMLElement>();\n\n const tagInput = ref<InstanceType<typeof OrTagInput>>();\n const tagInputRoot = computed(() => tagInput.value?.root);\n\n const inputBox = ref<InstanceType<typeof OrInputBox>>();\n const inputBoxRoot = computed(() => inputBox.value?.root);\n\n const control = ref<HTMLElement>();\n const mobileSingleControl = ref<InstanceType<typeof OrInput>>();\n const mobileMultipleControl = ref<InstanceType<typeof OrTagInput>>();\n\n const popover = ref<InstanceType<typeof OrPopover>>();\n const popoverRoot = computed(() => popover.value?.root);\n const popoverState = computed(() => popover.value?.state);\n const popoverFlipped = computed(() => popover.value?.isFlipped);\n\n const activated = ref(false);\n\n // Helpers\n const { isMobile } = useResponsive();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-autocomplete-v3',\n ...Styles.Autocomplete,\n ...props.variant === InputBoxVariant.Embedded ? ['grow'] : [],\n ]);\n\n const controlStyles = computed(() => [\n ...Styles.AutocompleteControl,\n ]);\n\n const dropdownStyles = computed(() => [\n 'or-autocomplete-popover-v3',\n ...Styles.AutocompleteDropdown,\n ...popover.value?.isFlipped ? Styles.AutocompleteDropdownFlipped : Styles.AutocompleteDropdownDefault,\n ]);\n\n const dropdownItemStyles = computed(() => [\n ...Styles.AutocompleteDropdownItem,\n ]);\n\n const loaderStyles = computed(() => [\n ...Styles.AutocompleteLoader,\n ]);\n\n const loaderContainerStyles = computed(() => [\n ...Styles.AutocompleteLoaderContainer,\n ]);\n\n const boxOpenStyles = computed(() => [\n ...(popoverState.value === 'open' && !isMobile.value ? (popoverFlipped.value ? Styles.AutocompleteInputBoxOpenFlipped : Styles.AutocompleteInputBoxOpen) : []),\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n const searchText = ref<string>();\n\n const filteredItems = computedAsync(async () => {\n return searchText.value\n ? (await props.searchFunction(searchText.value, props.items))\n .filter((item) => !model.value?.includes(item))\n : [];\n }, []);\n\n // Handlers\n function onInput(event: InputEvent): void {\n searchText.value = (event.target as HTMLInputElement).value;\n }\n\n // Methods\n function add(value: AutocompleteValue): void {\n if (props.multiple) {\n model.value = include(value, isNil(model.value) ? [] : toArray(model.value));\n } else {\n model.value = value;\n if (isMobile.value) {\n closeMobilePopover();\n }\n }\n\n clear();\n }\n\n function remove(value: AutocompleteValue): void {\n model.value = exclude(value, isNil(model.value) ? [] : toArray(model.value));\n }\n\n function reset(): void {\n model.value = undefined;\n\n clear();\n }\n\n function clear(): void {\n searchText.value = undefined;\n if (isMobile.value) {\n (mobileMultipleControl.value?.clear as unknown as () => void)?.();\n } else {\n (tagInput.value?.clear as unknown as () => void)?.();\n }\n }\n\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n }\n\n function focusMobileControl(): void {\n if (props.multiple) {\n mobileMultipleControl.value?.activate();\n } else {\n mobileSingleControl.value?.focus();\n }\n }\n\n function onFocus(event: FocusEvent): void {\n activated.value = true;\n context.emit('focus', event);\n if (isMobile.value) return;\n triggerPopover();\n }\n\n function onBlur(event: FocusEvent): void {\n activated.value = false;\n context.emit('blur', event);\n }\n\n function openMobilePopover(): void {\n if (!isMobile.value) return;\n if (!props.readonly && !props.disabled) {\n popover.value?.open();\n nextTick(() => {\n setTimeout(() => focusMobileControl());\n });\n }\n }\n\n function closeMobilePopover(): void {\n if (!isMobile.value) return;\n popover.value?.close();\n }\n\n const { trigger: triggerPopover } = watchTriggerable([\n filteredItems,\n toRef(props, 'loading'),\n ], ([items, loading]) => {\n if (isMobile.value) return;\n if ((items.length > 0 || loading) && activated.value) {\n popover.value?.open();\n } else {\n popover.value?.close();\n }\n });\n\n return {\n attributes,\n\n root,\n rootStyles,\n\n tagInput,\n tagInputRoot,\n\n inputBox,\n inputBoxRoot,\n\n boxOpenStyles,\n\n control,\n mobileSingleControl,\n mobileMultipleControl,\n controlStyles,\n\n popover,\n popoverRoot,\n popoverState,\n\n loaderStyles,\n loaderContainerStyles,\n\n dropdownStyles,\n dropdownItemStyles,\n\n model,\n searchText,\n filteredItems,\n activated,\n\n onFocus,\n onBlur,\n onInput,\n\n add,\n remove,\n reset,\n clear,\n triggerPopover,\n openMobilePopover,\n closeMobilePopover,\n focus,\n blur,\n\n isMobile,\n };\n },\n});\n</script>\n"],"names":["Autocomplete","AutocompleteControl","AutocompleteDropdown","AutocompleteDropdownDefault","AutocompleteDropdownFlipped","AutocompleteDropdownItem","AutocompleteLoader","AutocompleteLoaderContainer","AutocompleteInputBoxOpen","AutocompleteInputBoxOpenFlipped","_sfc_main","defineComponent","OrError","OrHint","OrIconButton","OrInputBox","OrInput","OrLabel","OrLoader","OrMenuItem","OrPopover","OrTagInput","DropdownClose","DropdownOpen","TagsOverflow","value","items","item","props","context","attributes","reactive","useIdAttribute","useControlAttributes","useValidationAttributes","root","ref","tagInput","tagInputRoot","computed","_a","inputBox","inputBoxRoot","control","mobileSingleControl","mobileMultipleControl","popover","popoverRoot","popoverState","popoverFlipped","activated","isMobile","useResponsive","rootStyles","Styles.Autocomplete","InputBoxVariant","controlStyles","Styles.AutocompleteControl","dropdownStyles","Styles.AutocompleteDropdown","Styles.AutocompleteDropdownFlipped","Styles.AutocompleteDropdownDefault","dropdownItemStyles","Styles.AutocompleteDropdownItem","loaderStyles","Styles.AutocompleteLoader","loaderContainerStyles","Styles.AutocompleteLoaderContainer","boxOpenStyles","Styles.AutocompleteInputBoxOpenFlipped","Styles.AutocompleteInputBoxOpen","model","useProxyModelValue","toRef","searchText","filteredItems","computedAsync","onInput","event","add","include","isNil","toArray","closeMobilePopover","clear","remove","exclude","reset","_b","_d","_c","focus","blur","focusMobileControl","onFocus","triggerPopover","onBlur","openMobilePopover","nextTick","watchTriggerable","loading","_hoisted_2","_resolveDirective","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createBlock","_component_OrLabel","_renderSlot","_createCommentVNode","_withDirectives","_component_OrTagInput","_cache","$event","_directive_dropdown_open","_component_OrInputBox","_withCtx","_createElementVNode","_mergeProps","_hoisted_1","_component_OrIconButton","_createVNode","_component_OrPopover","_component_OrInput","_component_OrLoader","_Fragment","_renderList","i","_component_OrMenuItem","_component_OrHint","_component_OrError"],"mappings":"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"}
1
+ {"version":3,"file":"OrAutocomplete-BN3Xpwjd.mjs","sources":["../../../components/or-autocomplete-v3/src/styles.ts","../../../components/or-autocomplete-v3/src/OrAutocomplete.vue"],"sourcesContent":["export const Autocomplete: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const AutocompleteControl: string[] = [\n // Box\n 'w-full',\n\n // Typography\n 'typography-inherit',\n\n // Theme\n 'theme-background-transparent',\n 'dark:theme-background-transparent-dark',\n\n 'outline-none',\n\n // Theme (placeholder)\n 'placeholder:theme-foreground-outline',\n 'dark:placeholder:theme-foreground-outline-dark',\n];\n\nexport const AutocompleteDropdown: string[] = [\n // Overflow\n 'overflow-y-auto',\n\n // Box\n 'max-h-[172px]', // equals 5 items\n\n\n // Theme\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\nexport const AutocompleteDropdownDefault: string[] = [\n // Shape\n 'rounded-b-md',\n\n // Theme\n '!border-t-0',\n];\n\nexport const AutocompleteDropdownFlipped: string[] = [\n // Shape\n 'rounded-t-md',\n\n // Theme\n '!border-b-0',\n];\n\nexport const AutocompleteDropdownItem: string[] = [\n // Typography\n '!typography-body-2-regular',\n\n // Padding Override todo: check design\n 'py-md px-lg md:!pt-[6px] md:pb-[7px]',\n\n // Typography (selected)\n 'selected:!typography-body-2-semibold',\n\n // Theme\n '!theme-foreground-default dark:!theme-foreground-default-dark',\n];\n\nexport const AutocompleteLoader: string[] = [\n // Layout\n 'w-fit',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'text-outline dark:text-outline-dark',\n];\n\nexport const AutocompleteLoaderContainer: string[] = [\n // Spacing\n 'py-md px-lg md:px-sm+ md:py-xs',\n];\n\nexport const AutocompleteInputBoxOpen: string[] = [\n 'rounded-b-0',\n];\n\nexport const AutocompleteInputBoxOpenFlipped: string[] = [\n 'rounded-t-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=\"attributes.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 <template v-if=\"multiple\">\n <OrTagInput\n :ref=\"'tagInput'\"\n v-model=\"model\"\n v-dropdown-open=\"openMobilePopover\"\n :overflow=\"overflow\"\n :variant=\"variant\"\n :additional-input-box-styles=\"boxOpenStyles\"\n :placeholder=\"placeholder\"\n :error=\"!!error\"\n :required=\"required\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n :enable-clear=\"enableClear\"\n @input=\"onInput($event)\"\n @focus=\"onFocus($event)\"\n @blur=\"onBlur($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 </OrTagInput>\n </template>\n\n <template v-else>\n <OrInputBox\n :ref=\"'inputBox'\"\n :class=\"boxOpenStyles\"\n :variant=\"variant\"\n :size=\"size\"\n :invalid=\"!!error\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n >\n <input\n :ref=\"'control'\"\n v-bind=\"attributes\"\n v-dropdown-open=\"openMobilePopover\"\n :class=\"controlStyles\"\n :type=\"'text'\"\n :value=\"searchText || model\"\n :autocomplete=\"'off'\"\n :placeholder=\"placeholder\"\n :required=\"required\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n @input=\"$emit('input', $event); onInput($event); model = searchText\"\n @keydown=\"$emit('keydown', $event)\"\n @keyup=\"$emit('keyup', $event)\"\n @focus=\"onFocus($event);\"\n @blur=\"onBlur($event);\"\n >\n\n <template\n v-if=\"enableClear && !readonly && !disabled\"\n v-slot:addon\n >\n <template v-if=\"model && model.length > 0\">\n <OrIconButton\n :icon=\"'close'\"\n :color=\"'inherit'\"\n @click=\"reset()\"\n />\n </template>\n </template>\n </OrInputBox>\n </template>\n\n <OrPopover\n :ref=\"'popover'\"\n :trigger=\"tagInputRoot || inputBoxRoot\"\n :placement=\"'bottom'\"\n :offset=\"0\"\n :full-width=\"true\"\n :disable-default-styles=\"true\"\n :bottom-sheet-props=\"{ isFullscreen: true }\"\n >\n <div :class=\"dropdownStyles\">\n <template v-if=\"isMobile\">\n <div class=\"py-sm px-lg\">\n <OrTagInput\n v-if=\"multiple\"\n :ref=\"'mobileMultipleControl'\"\n v-model=\"model\"\n :overflow=\"'scroll'\"\n :placeholder=\"placeholder\"\n :error=\"!!error\"\n :enable-clear=\"false\"\n @input=\"onInput($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 <template v-slot:appendInner>\n <OrIconButton\n :icon=\"'check'\"\n :color=\"'inherit'\"\n @click=\"closeMobilePopover\"\n />\n </template>\n </OrTagInput>\n <OrInput\n v-else\n ref=\"mobileSingleControl\"\n :model-value=\"searchText || (model && model.toString())\"\n :placeholder=\"placeholder\"\n @input=\"$emit('input', $event); onInput($event); model = searchText\"\n >\n <template v-slot:appendInner>\n <OrIconButton\n :icon=\"'check'\"\n :color=\"'inherit'\"\n @click=\"closeMobilePopover\"\n />\n </template>\n </OrInput>\n </div>\n </template>\n <template\n v-if=\"loading\"\n >\n <div :class=\"loaderContainerStyles\">\n <slot name=\"loading\">\n <OrLoader\n :class=\"loaderStyles\"\n variant=\"text\"\n :text=\"loadingText\"\n />\n </slot>\n </div>\n </template>\n <div\n v-else\n :class=\"isMobile ? 'overflow-auto': 'contains'\"\n >\n <OrMenuItem\n v-for=\"(item, i) in filteredItems\"\n :key=\"i\"\n :class=\"dropdownItemStyles\"\n @click=\"add(item)\"\n >\n <slot\n name=\"item\"\n :item=\"item\"\n >\n {{ item }}\n </slot>\n </OrMenuItem>\n </div>\n </div>\n </OrPopover>\n <template v-if=\"$slots.hint || hint\">\n <OrHint\n v-show=\"!error\"\n :disabled=\"disabled\"\n >\n <slot name=\"hint\">\n {{ hint }}\n </slot>\n </OrHint>\n </template>\n\n <OrError\n v-show=\"typeof error === 'string' && error.length > 0\"\n :disabled=\"disabled\"\n >\n {{ error }}\n </OrError>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { DropdownClose, DropdownOpen } from '@onereach/ui-components-common/directives';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue, useResponsive, useValidationAttributes } from '@onereach/ui-components-common/hooks';\nimport { SearchFunction } from '@onereach/ui-components-common/types';\nimport { exclude, include, isNil, 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 { InputBoxSize, InputBoxVariant, OrInputBoxV3 as OrInputBox } from '@onereach/ui-components.or-input-box-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrPopoverV3 as OrPopover } from '@onereach/ui-components.or-popover-v3';\nimport { OrTagInputV3 as OrTagInput } from '@onereach/ui-components.or-tag-input-v3';\nimport { TagsOverflow } from '@onereach/ui-components.or-tags-v3';\nimport { computedAsync, watchTriggerable } from '@vueuse/core';\nimport { PropType, computed, defineComponent, reactive, ref, toRef, nextTick } from 'vue';\n\nimport * as Styles from './styles';\nimport { AutocompleteModelValue, AutocompleteValue } from './types';\n\nexport default defineComponent({\n name: 'OrAutocomplete',\n\n components: {\n OrError,\n OrHint,\n OrIconButton,\n OrInputBox,\n OrInput,\n OrLabel,\n OrLoader,\n OrMenuItem,\n OrPopover,\n OrTagInput,\n },\n\n directives: {\n DropdownClose,\n DropdownOpen,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<AutocompleteModelValue>,\n default: undefined,\n },\n\n items: {\n type: Array as PropType<AutocompleteValue[]>,\n default: () => [],\n },\n\n multiple: {\n type: Boolean,\n default: false,\n },\n\n overflow: {\n type: String as PropType<`${TagsOverflow}`>,\n default: () => TagsOverflow.Hidden,\n },\n\n variant: {\n type: String as PropType<`${InputBoxVariant}`>,\n default: undefined,\n },\n\n size: {\n type: String as PropType<`${InputBoxSize}`>,\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 loadingText: {\n type: String,\n default: 'Loading',\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 enableClear: {\n type: Boolean,\n default: false,\n },\n\n searchFunction: {\n type: Function as PropType<SearchFunction<AutocompleteValue>>,\n\n default: (async (value, items) => {\n return value.length > 0 ? items.filter((item) => new RegExp(value, 'i').test(item)) : [];\n }) as SearchFunction<AutocompleteValue>,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'input',\n 'keydown',\n 'keyup',\n 'focus',\n 'blur',\n ],\n\n expose: [\n 'root',\n\n 'popover',\n 'popoverState',\n\n 'reset',\n 'clear',\n\n 'focus',\n 'blur',\n ],\n\n setup(props, context) {\n const attributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n ...useValidationAttributes(),\n });\n\n // Refs\n const root = ref<HTMLElement>();\n\n const tagInput = ref<InstanceType<typeof OrTagInput>>();\n const tagInputRoot = computed(() => tagInput.value?.root);\n\n const inputBox = ref<InstanceType<typeof OrInputBox>>();\n const inputBoxRoot = computed(() => inputBox.value?.root);\n\n const control = ref<HTMLElement>();\n const mobileSingleControl = ref<InstanceType<typeof OrInput>>();\n const mobileMultipleControl = ref<InstanceType<typeof OrTagInput>>();\n\n const popover = ref<InstanceType<typeof OrPopover>>();\n const popoverRoot = computed(() => popover.value?.root);\n const popoverState = computed(() => popover.value?.state);\n const popoverFlipped = computed(() => popover.value?.isFlipped);\n\n const activated = ref(false);\n\n // Helpers\n const { isMobile } = useResponsive();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-autocomplete-v3',\n ...Styles.Autocomplete,\n ...props.variant === InputBoxVariant.Embedded ? ['grow'] : [],\n ]);\n\n const controlStyles = computed(() => [\n ...Styles.AutocompleteControl,\n ]);\n\n const dropdownStyles = computed(() => [\n 'or-autocomplete-popover-v3',\n ...Styles.AutocompleteDropdown,\n ...popover.value?.isFlipped ? Styles.AutocompleteDropdownFlipped : Styles.AutocompleteDropdownDefault,\n ]);\n\n const dropdownItemStyles = computed(() => [\n ...Styles.AutocompleteDropdownItem,\n ]);\n\n const loaderStyles = computed(() => [\n ...Styles.AutocompleteLoader,\n ]);\n\n const loaderContainerStyles = computed(() => [\n ...Styles.AutocompleteLoaderContainer,\n ]);\n\n const boxOpenStyles = computed(() => [\n ...(popoverState.value === 'open' && !isMobile.value ? (popoverFlipped.value ? Styles.AutocompleteInputBoxOpenFlipped : Styles.AutocompleteInputBoxOpen) : []),\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n const searchText = ref<string>();\n\n const filteredItems = computedAsync(async () => {\n return searchText.value\n ? (await props.searchFunction(searchText.value, props.items))\n .filter((item) => !model.value?.includes(item))\n : [];\n }, []);\n\n // Handlers\n function onInput(event: InputEvent): void {\n searchText.value = (event.target as HTMLInputElement).value;\n }\n\n // Methods\n function add(value: AutocompleteValue): void {\n if (props.multiple) {\n model.value = include(value, isNil(model.value) ? [] : toArray(model.value));\n } else {\n model.value = value;\n if (isMobile.value) {\n closeMobilePopover();\n }\n }\n\n clear();\n }\n\n function remove(value: AutocompleteValue): void {\n model.value = exclude(value, isNil(model.value) ? [] : toArray(model.value));\n }\n\n function reset(): void {\n model.value = undefined;\n\n clear();\n }\n\n function clear(): void {\n searchText.value = undefined;\n if (isMobile.value) {\n (mobileMultipleControl.value?.clear as unknown as () => void)?.();\n } else {\n (tagInput.value?.clear as unknown as () => void)?.();\n }\n }\n\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n }\n\n function focusMobileControl(): void {\n if (props.multiple) {\n mobileMultipleControl.value?.activate();\n } else {\n mobileSingleControl.value?.focus();\n }\n }\n\n function onFocus(event: FocusEvent): void {\n activated.value = true;\n context.emit('focus', event);\n if (isMobile.value) return;\n triggerPopover();\n }\n\n function onBlur(event: FocusEvent): void {\n activated.value = false;\n context.emit('blur', event);\n }\n\n function openMobilePopover(): void {\n if (!isMobile.value) return;\n if (!props.readonly && !props.disabled) {\n popover.value?.open();\n nextTick(() => {\n setTimeout(() => focusMobileControl());\n });\n }\n }\n\n function closeMobilePopover(): void {\n if (!isMobile.value) return;\n popover.value?.close();\n }\n\n const { trigger: triggerPopover } = watchTriggerable([\n filteredItems,\n toRef(props, 'loading'),\n ], ([items, loading]) => {\n if (isMobile.value) return;\n if ((items.length > 0 || loading) && activated.value) {\n popover.value?.open();\n } else {\n popover.value?.close();\n }\n });\n\n return {\n attributes,\n\n root,\n rootStyles,\n\n tagInput,\n tagInputRoot,\n\n inputBox,\n inputBoxRoot,\n\n boxOpenStyles,\n\n control,\n mobileSingleControl,\n mobileMultipleControl,\n controlStyles,\n\n popover,\n popoverRoot,\n popoverState,\n\n loaderStyles,\n loaderContainerStyles,\n\n dropdownStyles,\n dropdownItemStyles,\n\n model,\n searchText,\n filteredItems,\n activated,\n\n onFocus,\n onBlur,\n onInput,\n\n add,\n remove,\n reset,\n clear,\n triggerPopover,\n openMobilePopover,\n closeMobilePopover,\n focus,\n blur,\n\n isMobile,\n };\n },\n});\n</script>\n"],"names":["Autocomplete","AutocompleteControl","AutocompleteDropdown","AutocompleteDropdownDefault","AutocompleteDropdownFlipped","AutocompleteDropdownItem","AutocompleteLoader","AutocompleteLoaderContainer","AutocompleteInputBoxOpen","AutocompleteInputBoxOpenFlipped","_sfc_main","defineComponent","OrError","OrHint","OrIconButton","OrInputBox","OrInput","OrLabel","OrLoader","OrMenuItem","OrPopover","OrTagInput","DropdownClose","DropdownOpen","TagsOverflow","value","items","item","props","context","attributes","reactive","useIdAttribute","useControlAttributes","useValidationAttributes","root","ref","tagInput","tagInputRoot","computed","_a","inputBox","inputBoxRoot","control","mobileSingleControl","mobileMultipleControl","popover","popoverRoot","popoverState","popoverFlipped","activated","isMobile","useResponsive","rootStyles","Styles.Autocomplete","InputBoxVariant","controlStyles","Styles.AutocompleteControl","dropdownStyles","Styles.AutocompleteDropdown","Styles.AutocompleteDropdownFlipped","Styles.AutocompleteDropdownDefault","dropdownItemStyles","Styles.AutocompleteDropdownItem","loaderStyles","Styles.AutocompleteLoader","loaderContainerStyles","Styles.AutocompleteLoaderContainer","boxOpenStyles","Styles.AutocompleteInputBoxOpenFlipped","Styles.AutocompleteInputBoxOpen","model","useProxyModelValue","toRef","searchText","filteredItems","computedAsync","onInput","event","add","include","isNil","toArray","closeMobilePopover","clear","remove","exclude","reset","_b","_d","_c","focus","blur","focusMobileControl","onFocus","triggerPopover","onBlur","openMobilePopover","nextTick","watchTriggerable","loading","_hoisted_2","_resolveDirective","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createBlock","_component_OrLabel","_renderSlot","_createCommentVNode","_withDirectives","_component_OrTagInput","_cache","$event","_directive_dropdown_open","_component_OrInputBox","_withCtx","_createElementVNode","_mergeProps","_hoisted_1","_component_OrIconButton","_createVNode","_component_OrPopover","_component_OrInput","_component_OrLoader","_Fragment","_renderList","i","_component_OrMenuItem","_component_OrHint","_component_OrError"],"mappings":"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"}
@@ -91,7 +91,7 @@ const U = [
91
91
  "after:rounded-full",
92
92
  // Theme
93
93
  "after:bg-outline",
94
- "after:dark:bg-outline"
94
+ "dark:after:bg-outline-dark"
95
95
  ], q = [
96
96
  // Layout (empty)
97
97
  "empty:hidden",
@@ -207,4 +207,4 @@ export {
207
207
  a as B,
208
208
  te as O
209
209
  };
210
- //# sourceMappingURL=OrBottomSheet-DQ83BBtJ.mjs.map
210
+ //# sourceMappingURL=OrBottomSheet-CALU9i4F.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrBottomSheet-CALU9i4F.mjs","sources":["../../../components/or-bottom-sheet-v3/src/props.ts","../../../components/or-bottom-sheet-v3/src/hooks/useBottomSheetSwipeState.ts","../../../components/or-bottom-sheet-v3/src/styles.ts","../../../components/or-bottom-sheet-v3/src/OrBottomSheet.vue"],"sourcesContent":["export enum BottomSheetVariant {\n Basic = 'basic',\n Advanced = 'advanced',\n}\n","import { useTheme } from '@onereach/ui-components-common/hooks';\nimport { usePointerSwipe } from '@vueuse/core';\nimport { ref, computed, Ref, unref, ComputedRef } from 'vue';\n\nimport { BottomSheetVariant } from '../props';\n\nfunction useBottomSheetSwipeState(\n root: Ref<HTMLElement | undefined>,\n content: Ref<HTMLElement | undefined>,\n fullscreen: Ref<boolean>,\n variant: Ref<`${BottomSheetVariant}`>,\n close: () => void\n): { rootInlineStyles: ComputedRef<Partial<CSSStyleDeclaration>>; } {\n const inlineSwipingStyles = ref<Partial<CSSStyleDeclaration>>({});\n const skipSwipe = ref<boolean>(false);\n const theme = useTheme();\n\n const isEventSkipped = (event: Event): boolean => {\n return variant.value === BottomSheetVariant.Basic || event.composedPath().includes(content.value!) && fullscreen.value;\n };\n\n const { isSwiping } = usePointerSwipe(root, {\n threshold: 12,\n onSwipe(event: PointerEvent): void {\n skipSwipe.value = isEventSkipped(event);\n if (variant.value === BottomSheetVariant.Advanced) {\n const rootElement = unref(root)!;\n inlineSwipingStyles.value = {\n transitionProperty: 'none',\n minHeight: `${rootElement.clientHeight - event.offsetY}px`,\n maxHeight: `${rootElement.clientHeight - event.offsetY}px`,\n };\n }\n },\n\n onSwipeEnd(event: PointerEvent, direction: string): void {\n if (isEventSkipped(event)) {\n return;\n }\n\n if (variant.value === BottomSheetVariant.Advanced) {\n switch (direction) {\n case 'up':\n case 'UP':\n fullscreen.value = true;\n\n break;\n\n case 'down':\n case 'DOWN':\n if (fullscreen.value) {\n fullscreen.value = false;\n } else {\n close();\n }\n\n break;\n }\n }\n },\n });\n\n const rootInlineStyles = computed(() => {\n if (variant.value === BottomSheetVariant.Basic) {\n return {\n transitionProperty: 'min-height, max-height',\n minHeight: '0',\n maxHeight: `calc(100% - ${theme.spacing.xl})`,\n };\n }\n return isSwiping.value && !skipSwipe.value\n ? inlineSwipingStyles.value\n : fullscreen.value\n ? {\n transitionProperty: 'min-height, max-height',\n minHeight: `calc(100% - ${theme.spacing.xl})`,\n maxHeight: `calc(100% - ${theme.spacing.xl})`,\n }\n : {\n transitionProperty: 'min-height, max-height',\n minHeight: '0',\n maxHeight: '50%',\n };\n }) as ComputedRef<Partial<CSSStyleDeclaration>>;\n\n return {\n rootInlineStyles,\n };\n}\n\nexport default useBottomSheetSwipeState;\n","import { BottomSheetVariant } from './props';\n\nexport const BottomSheet: string[] = [\n // Position\n 'fixed',\n\n 'left-0',\n 'right-0',\n 'bottom-0',\n\n // Layout\n 'layout-column',\n\n // Shape\n 'rounded-t-lg',\n\n // Elevation\n 'shadow-contextual',\n 'dark:shadow-contextual-dark',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const BottomSheetVariants: Record<BottomSheetVariant, string[]> = {\n [BottomSheetVariant.Basic]: [],\n\n [BottomSheetVariant.Advanced]: [\n // Box\n 'max-h-[50%]',\n\n // Transition\n 'transition-[min-height]',\n 'transition-[max-height]',\n ],\n};\n\nexport const BottomSheetHandle: string[] = [\n // Layout\n 'layout-row justify-center',\n\n // Interactivity\n 'interactivity-drag',\n\n // Box\n 'after:w-2xl',\n 'after:h-xs',\n\n // Spacing\n 'px-sm',\n 'py-sm',\n\n // Shape\n 'after:rounded-full',\n\n // Theme\n 'after:bg-outline',\n 'dark:after:bg-outline-dark',\n];\n\nexport const BottomSheetHeader: string[] = [\n // Layout (empty)\n 'empty:hidden',\n\n // Spacing\n 'px-lg',\n 'py-md',\n\n // Typography\n 'typography-headline-3',\n];\n\nexport const BottomSheetContent: string[] = [\n // Layout\n 'layout-column',\n 'grow',\n];\n","<template>\n <OrOverlay\n v-if=\"state === 'open'\"\n :fullscreen=\"fullscreen\"\n >\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n >\n <template v-if=\"variant === 'advanced'\">\n <div :class=\"handleStyles\" />\n </template>\n\n <div :class=\"headerStyles\">\n <slot name=\"header\" />\n </div>\n\n <div\n :ref=\"'content'\"\n :class=\"contentStyles\"\n >\n <slot />\n </div>\n </div>\n </OrOverlay>\n</template>\n\n<script lang=\"ts\">\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { OrOverlayV3 as OrOverlay } from '@onereach/ui-components.or-overlay-v3';\nimport { onClickOutside } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRefs, watch } from 'vue';\n\nimport useBottomSheetSwipeState from './hooks/useBottomSheetSwipeState';\nimport { BottomSheetVariant } from './props';\nimport { BottomSheet, BottomSheetContent, BottomSheetHandle, BottomSheetHeader, BottomSheetVariants } from './styles';\n\nexport default defineComponent({\n name: 'OrBottomSheet',\n\n components: {\n OrOverlay,\n },\n\n inheritAttrs: false,\n\n props: {\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n variant: {\n type: String as PropType<`${BottomSheetVariant}`>,\n default: () => BottomSheetVariant.Advanced,\n },\n\n isFullscreen: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'fullscreen',\n\n 'open',\n 'close',\n 'toggle',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const content = ref<HTMLElement>();\n\n // Props\n const { variant, isOpen } = toRefs(props);\n\n // State\n const { state, open, close, toggle } = usePopoverState(isOpen, context.emit);\n const fullscreen = ref<boolean>(props.isFullscreen);\n\n // Styles\n const rootStyles = computed(() => [\n 'or-bottom-sheet-v3',\n ...BottomSheet,\n ...BottomSheetVariants[props.variant],\n ]);\n\n const handleStyles = computed(() => [\n ...BottomSheetHandle,\n ]);\n\n const headerStyles = computed(() => [\n ...BottomSheetHeader,\n ]);\n\n const contentStyles = computed(() => [\n ...BottomSheetContent,\n fullscreen.value || variant.value === 'basic' ? 'overflow-y-auto' : 'overflow-hidden',\n ]);\n\n\n // Effects\n // #region Swipe\n const { rootInlineStyles } = useBottomSheetSwipeState(root, content, fullscreen, variant, close);\n // #endregion\n\n watch(state, (value) => {\n if (value === 'closed') {\n fullscreen.value = props.isFullscreen;\n }\n });\n\n\n // #region Click Outside\n onClickOutside(root, (event) => {\n const path = event.composedPath() as Element[];\n if (!path.some(({ classList }) => classList?.contains('or-popover-v3') || classList?.contains('or-bottom-sheet-v3'))) {\n close();\n }\n });\n // #endregion\n\n return {\n root,\n content,\n rootStyles,\n rootInlineStyles,\n handleStyles,\n headerStyles,\n contentStyles,\n state,\n fullscreen,\n open,\n close,\n toggle,\n };\n },\n});\n</script>\n"],"names":["BottomSheetVariant","useBottomSheetSwipeState","root","content","fullscreen","variant","close","inlineSwipingStyles","ref","skipSwipe","theme","useTheme","isEventSkipped","event","isSwiping","usePointerSwipe","rootElement","unref","direction","computed","BottomSheet","BottomSheetVariants","BottomSheetHandle","BottomSheetHeader","BottomSheetContent","_sfc_main","defineComponent","OrOverlay","props","context","isOpen","toRefs","state","open","toggle","usePopoverState","rootStyles","handleStyles","headerStyles","contentStyles","rootInlineStyles","watch","value","onClickOutside","classList","_component_OrOverlay","_resolveComponent","_ctx","_openBlock","_createBlock","_withCtx","_createElementVNode","_mergeProps","_createElementBlock","_createCommentVNode","_normalizeClass","_renderSlot"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { O as M } from "./OrIconButton-D1pxfMA_.mjs";
1
+ import { O as M } from "./OrIconButton-BuRmTHpT.mjs";
2
2
  import { O as z } from "./OrLoader-2SaTMxmZ.mjs";
3
- import { O as D } from "./OrSearch-Csld1hBq.mjs";
4
- import { O as T } from "./OrSorting-ihkkh12O.mjs";
3
+ import { O as D } from "./OrSearch-CrYPoIJM.mjs";
4
+ import { O as T } from "./OrSorting-BGeIMkZ5.mjs";
5
5
  import { defineComponent as B, computed as m, openBlock as s, createElementBlock as u, normalizeClass as d, Fragment as E, renderList as L, renderSlot as r, createTextVNode as N, toDisplayString as j, ref as w, watch as p, resolveComponent as c, createElementVNode as S, createBlock as V, createCommentVNode as n, createVNode as $, normalizeProps as O, guardReactiveProps as b, mergeProps as G, withCtx as P } from "vue";
6
6
  import { _ as A } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
7
7
  var k = /* @__PURE__ */ ((e) => (e.Grid = "grid", e.List = "list", e))(k || {});
@@ -279,4 +279,4 @@ export {
279
279
  I as g,
280
280
  R as l
281
281
  };
282
- //# sourceMappingURL=OrCardCollection-DuyDtPAS.mjs.map
282
+ //# sourceMappingURL=OrCardCollection-CjekjM1k.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrCardCollection-DuyDtPAS.mjs","sources":["../../../components/or-card-collection-v3/src/props.ts","../../../components/or-card-collection-v3/src/styles.ts","../../../components/or-card-collection-v3/src/partials/OrCardCollectionView.vue3.vue","../../../components/or-card-collection-v3/src/OrCardCollection.vue"],"sourcesContent":["import { ViewMode } from './types';\n\nexport enum CardCollectionView {\n Grid = 'grid',\n List = 'list',\n}\n\nexport const gridView: ViewMode = {\n view: CardCollectionView.Grid,\n icon: 'grid_view',\n};\nexport const listView: ViewMode = {\n view: CardCollectionView.List,\n icon: 'view_agenda',\n};\n\nexport const defaultViewModes = [gridView, listView];\n","import { CardCollectionView } from './props';\n\nexport const CardCollection: string[] = [\n // Layout\n 'layout-column',\n\n // Box\n 'h-full',\n\n // Spacing\n 'gap-md',\n];\n\nexport const CardCollectionToolbar: string[] = [\n // Layout\n 'layout-row justify-between',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const CardCollectionToolbarPanel: string[] = [\n // Layout\n 'layout-inline-row',\n\n // Spacing\n 'gap-lg+',\n];\n\nexport const CardCollectionContent: string[] = [\n // Layout\n 'grid',\n\n // Overflow\n 'overflow-auto',\n\n // Spacing\n 'px-[5px]', // shadow width\n 'py-[5px]',\n];\n\nexport const CardCollectionContentViews: Record<CardCollectionView, string[]> = {\n [CardCollectionView.Grid]: [\n // Layout\n 'grid-cols-1 md:grid-cols-5',\n\n // Spacing\n 'gap-sm md:gap-md',\n ],\n\n [CardCollectionView.List]: [\n // Layout\n 'grid-cols-1',\n\n // Spacing\n 'gap-sm',\n ],\n};\n\nexport const CardCollectionEmptyContentItem: string[] = [\n // Layout\n 'layout-column items-center justify-center h-full',\n];\n","<template>\n <div :class=\"rootStyles\">\n <slot\n v-for=\"(item, index) of items\"\n :key=\"item.key || index\"\n :name=\"'item'\"\n :index=\"index\"\n :item=\"item\"\n :mode=\"mode\"\n >\n {{ item.key }}\n </slot>\n\n <slot\n name=\"viewEnd\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent } from 'vue';\n\nimport { CardCollectionView } from '../props';\nimport { CardCollectionContent, CardCollectionContentViews } from '../styles';\nimport { CardCollectionItem } from '../types';\n\nexport default defineComponent({\n name: 'OrCardCollectionView',\n\n props: {\n items: {\n type: Array as PropType<CardCollectionItem[]>,\n default: () => [],\n },\n\n mode: {\n type: String as PropType<`${CardCollectionView}`>,\n required: true,\n },\n },\n\n setup(props) {\n // Styles\n const rootStyles = computed(() => [\n ...CardCollectionContent,\n ...CardCollectionContentViews[props.mode],\n ]);\n\n return {\n rootStyles,\n };\n },\n});\n</script>\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"toolbarStyles\">\n <div :class=\"toolbarPanelStyles\">\n <OrSorting\n v-if=\"sortOptions.length\"\n :model-value=\"sort\"\n :options=\"sortOptions\"\n @update:modelValue=\"$emit('sortChange', $event)\"\n />\n <slot name=\"toolbar\" />\n </div>\n <div\n :class=\"toolbarPanelStyles\"\n >\n <slot\n v-if=\"enableSearch\"\n name=\"search\"\n >\n <OrSearch\n :model-value=\"proxySearch\"\n class=\"md:w-[350px]\"\n :placeholder=\"searchPlaceholder\"\n :debounce=\"searchDebounce\"\n @search=\"handleSearch\"\n />\n </slot>\n\n <template v-if=\"viewModes.length > 1\">\n <div class=\"layout-row gap-sm\">\n <OrIconButton\n v-for=\"viewOption in viewModes\"\n :key=\"viewOption.view\"\n :icon=\"viewOption.icon\"\n :size=\"'l'\"\n :selected=\"viewOption.view === proxyView\"\n @click=\"switchView(viewOption.view)\"\n />\n </div>\n </template>\n <slot name=\"addon\" />\n </div>\n </div>\n\n <slot\n name=\"header\"\n v-bind=\"{\n items,\n mode: proxyView,\n }\"\n />\n\n <slot\n v-if=\"items.length && !loading\"\n :name=\"proxyView\"\n v-bind=\"{items}\"\n >\n <OrCardCollectionView\n :items=\"items\"\n :mode=\"proxyView\"\n >\n <template v-slot:item=\"props\">\n <slot\n name=\"item\"\n v-bind=\"props\"\n />\n </template>\n <template v-slot:viewEnd>\n <slot\n name=\"viewEnd\"\n />\n </template>\n </OrCardCollectionView>\n </slot>\n\n <div\n v-if=\"items.length === 0 || loading\"\n :class=\"emptyContainerStyles\"\n >\n <slot\n v-if=\"proxySearch.length > 0 && !loading\"\n name=\"noSearchResults\"\n :search=\"proxySearch\"\n >\n No results\n </slot>\n <slot\n v-if=\"loading\"\n name=\"loading\"\n >\n <OrLoader />\n </slot>\n <slot\n v-if=\"items.length === 0 && proxySearch.length === 0 && !loading\"\n name=\"empty\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { OrSearchV3 as OrSearch } from '@onereach/ui-components.or-search-v3';\nimport { OrSortingV3 as OrSorting, SortOption } from '@onereach/ui-components.or-sorting-v3';\nimport { computed, defineComponent, PropType, ref, watch } from 'vue';\n\nimport OrCardCollectionView from './partials/OrCardCollectionView.vue3.vue';\nimport { defaultViewModes, gridView } from './props';\nimport { CardCollection, CardCollectionToolbar, CardCollectionToolbarPanel, CardCollectionEmptyContentItem } from './styles';\nimport { CardCollectionItem, ViewMode } from './types';\n\nexport default defineComponent({\n name: 'OrCardCollection',\n\n components: {\n OrCardCollectionView,\n OrIconButton,\n OrSorting,\n OrSearch,\n OrLoader,\n },\n\n props: {\n items: {\n type: Array as PropType<CardCollectionItem[]>,\n default: () => [],\n },\n\n view: {\n type: String,\n default: () => gridView.view,\n },\n\n viewModes: {\n type: Array as PropType<ViewMode[]>,\n default: () => defaultViewModes,\n },\n\n sort: {\n type: String,\n default: undefined,\n },\n\n sortOptions: {\n type: Array as PropType<SortOption[]>,\n default: () => [],\n },\n\n search: {\n type: String,\n default: '',\n },\n\n searchPlaceholder: {\n type: String,\n default: undefined,\n },\n\n searchDebounce: {\n type: Number,\n default: undefined,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n enableSearch: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n 'viewChange',\n 'sortChange',\n 'searchChange',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-card-collection-v3',\n ...CardCollection,\n ]);\n\n const toolbarStyles = computed(() => [\n ...CardCollectionToolbar,\n ]);\n\n const toolbarPanelStyles = computed(() => [\n ...CardCollectionToolbarPanel,\n ]);\n\n const emptyContainerStyles = computed(() => [\n ...CardCollectionEmptyContentItem,\n ]);\n\n // State\n const proxyView = ref(props.view);\n const proxySearch = ref(props.search);\n\n // Methods\n function switchView(view: string): void {\n proxyView.value = view;\n }\n\n function handleSearch(search?: string) {\n proxySearch.value = search || '';\n }\n\n // Effects\n watch(() => props.view, (value) => {\n proxyView.value = value;\n });\n\n watch(proxyView, (value) => {\n context.emit('viewChange', value);\n });\n\n watch(() => props.search, (value) => {\n proxySearch.value = value;\n });\n\n watch(proxySearch, (value) => {\n context.emit('searchChange', value);\n });\n\n return {\n root,\n rootStyles,\n toolbarStyles,\n toolbarPanelStyles,\n emptyContainerStyles,\n proxyView,\n proxySearch,\n switchView,\n handleSearch,\n };\n },\n});\n</script>\n"],"names":["CardCollectionView","gridView","listView","defaultViewModes","CardCollection","CardCollectionToolbar","CardCollectionToolbarPanel","CardCollectionContent","CardCollectionContentViews","CardCollectionEmptyContentItem","_sfc_main$1","defineComponent","props","computed","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_normalizeClass","_openBlock","_createElementBlock","_Fragment","_renderList","item","index","_renderSlot","_sfc_main","OrCardCollectionView","OrIconButton","OrSorting","OrSearch","OrLoader","context","root","ref","rootStyles","toolbarStyles","toolbarPanelStyles","emptyContainerStyles","proxyView","proxySearch","switchView","view","handleSearch","search","watch","value","_hoisted_1","_resolveComponent","_createBlock","_component_OrSorting","_createCommentVNode","_createElementVNode","_createVNode","_component_OrSearch","viewOption","_component_OrIconButton","_normalizeProps","_guardReactiveProps","_mergeProps","_component_OrCardCollectionView"],"mappings":"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"}
1
+ {"version":3,"file":"OrCardCollection-CjekjM1k.mjs","sources":["../../../components/or-card-collection-v3/src/props.ts","../../../components/or-card-collection-v3/src/styles.ts","../../../components/or-card-collection-v3/src/partials/OrCardCollectionView.vue3.vue","../../../components/or-card-collection-v3/src/OrCardCollection.vue"],"sourcesContent":["import { ViewMode } from './types';\n\nexport enum CardCollectionView {\n Grid = 'grid',\n List = 'list',\n}\n\nexport const gridView: ViewMode = {\n view: CardCollectionView.Grid,\n icon: 'grid_view',\n};\nexport const listView: ViewMode = {\n view: CardCollectionView.List,\n icon: 'view_agenda',\n};\n\nexport const defaultViewModes = [gridView, listView];\n","import { CardCollectionView } from './props';\n\nexport const CardCollection: string[] = [\n // Layout\n 'layout-column',\n\n // Box\n 'h-full',\n\n // Spacing\n 'gap-md',\n];\n\nexport const CardCollectionToolbar: string[] = [\n // Layout\n 'layout-row justify-between',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const CardCollectionToolbarPanel: string[] = [\n // Layout\n 'layout-inline-row',\n\n // Spacing\n 'gap-lg+',\n];\n\nexport const CardCollectionContent: string[] = [\n // Layout\n 'grid',\n\n // Overflow\n 'overflow-auto',\n\n // Spacing\n 'px-[5px]', // shadow width\n 'py-[5px]',\n];\n\nexport const CardCollectionContentViews: Record<CardCollectionView, string[]> = {\n [CardCollectionView.Grid]: [\n // Layout\n 'grid-cols-1 md:grid-cols-5',\n\n // Spacing\n 'gap-sm md:gap-md',\n ],\n\n [CardCollectionView.List]: [\n // Layout\n 'grid-cols-1',\n\n // Spacing\n 'gap-sm',\n ],\n};\n\nexport const CardCollectionEmptyContentItem: string[] = [\n // Layout\n 'layout-column items-center justify-center h-full',\n];\n","<template>\n <div :class=\"rootStyles\">\n <slot\n v-for=\"(item, index) of items\"\n :key=\"item.key || index\"\n :name=\"'item'\"\n :index=\"index\"\n :item=\"item\"\n :mode=\"mode\"\n >\n {{ item.key }}\n </slot>\n\n <slot\n name=\"viewEnd\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent } from 'vue';\n\nimport { CardCollectionView } from '../props';\nimport { CardCollectionContent, CardCollectionContentViews } from '../styles';\nimport { CardCollectionItem } from '../types';\n\nexport default defineComponent({\n name: 'OrCardCollectionView',\n\n props: {\n items: {\n type: Array as PropType<CardCollectionItem[]>,\n default: () => [],\n },\n\n mode: {\n type: String as PropType<`${CardCollectionView}`>,\n required: true,\n },\n },\n\n setup(props) {\n // Styles\n const rootStyles = computed(() => [\n ...CardCollectionContent,\n ...CardCollectionContentViews[props.mode],\n ]);\n\n return {\n rootStyles,\n };\n },\n});\n</script>\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"toolbarStyles\">\n <div :class=\"toolbarPanelStyles\">\n <OrSorting\n v-if=\"sortOptions.length\"\n :model-value=\"sort\"\n :options=\"sortOptions\"\n @update:modelValue=\"$emit('sortChange', $event)\"\n />\n <slot name=\"toolbar\" />\n </div>\n <div\n :class=\"toolbarPanelStyles\"\n >\n <slot\n v-if=\"enableSearch\"\n name=\"search\"\n >\n <OrSearch\n :model-value=\"proxySearch\"\n class=\"md:w-[350px]\"\n :placeholder=\"searchPlaceholder\"\n :debounce=\"searchDebounce\"\n @search=\"handleSearch\"\n />\n </slot>\n\n <template v-if=\"viewModes.length > 1\">\n <div class=\"layout-row gap-sm\">\n <OrIconButton\n v-for=\"viewOption in viewModes\"\n :key=\"viewOption.view\"\n :icon=\"viewOption.icon\"\n :size=\"'l'\"\n :selected=\"viewOption.view === proxyView\"\n @click=\"switchView(viewOption.view)\"\n />\n </div>\n </template>\n <slot name=\"addon\" />\n </div>\n </div>\n\n <slot\n name=\"header\"\n v-bind=\"{\n items,\n mode: proxyView,\n }\"\n />\n\n <slot\n v-if=\"items.length && !loading\"\n :name=\"proxyView\"\n v-bind=\"{items}\"\n >\n <OrCardCollectionView\n :items=\"items\"\n :mode=\"proxyView\"\n >\n <template v-slot:item=\"props\">\n <slot\n name=\"item\"\n v-bind=\"props\"\n />\n </template>\n <template v-slot:viewEnd>\n <slot\n name=\"viewEnd\"\n />\n </template>\n </OrCardCollectionView>\n </slot>\n\n <div\n v-if=\"items.length === 0 || loading\"\n :class=\"emptyContainerStyles\"\n >\n <slot\n v-if=\"proxySearch.length > 0 && !loading\"\n name=\"noSearchResults\"\n :search=\"proxySearch\"\n >\n No results\n </slot>\n <slot\n v-if=\"loading\"\n name=\"loading\"\n >\n <OrLoader />\n </slot>\n <slot\n v-if=\"items.length === 0 && proxySearch.length === 0 && !loading\"\n name=\"empty\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrLoaderV3 as OrLoader } from '@onereach/ui-components.or-loader-v3';\nimport { OrSearchV3 as OrSearch } from '@onereach/ui-components.or-search-v3';\nimport { OrSortingV3 as OrSorting, SortOption } from '@onereach/ui-components.or-sorting-v3';\nimport { computed, defineComponent, PropType, ref, watch } from 'vue';\n\nimport OrCardCollectionView from './partials/OrCardCollectionView.vue3.vue';\nimport { defaultViewModes, gridView } from './props';\nimport { CardCollection, CardCollectionToolbar, CardCollectionToolbarPanel, CardCollectionEmptyContentItem } from './styles';\nimport { CardCollectionItem, ViewMode } from './types';\n\nexport default defineComponent({\n name: 'OrCardCollection',\n\n components: {\n OrCardCollectionView,\n OrIconButton,\n OrSorting,\n OrSearch,\n OrLoader,\n },\n\n props: {\n items: {\n type: Array as PropType<CardCollectionItem[]>,\n default: () => [],\n },\n\n view: {\n type: String,\n default: () => gridView.view,\n },\n\n viewModes: {\n type: Array as PropType<ViewMode[]>,\n default: () => defaultViewModes,\n },\n\n sort: {\n type: String,\n default: undefined,\n },\n\n sortOptions: {\n type: Array as PropType<SortOption[]>,\n default: () => [],\n },\n\n search: {\n type: String,\n default: '',\n },\n\n searchPlaceholder: {\n type: String,\n default: undefined,\n },\n\n searchDebounce: {\n type: Number,\n default: undefined,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n enableSearch: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n 'viewChange',\n 'sortChange',\n 'searchChange',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-card-collection-v3',\n ...CardCollection,\n ]);\n\n const toolbarStyles = computed(() => [\n ...CardCollectionToolbar,\n ]);\n\n const toolbarPanelStyles = computed(() => [\n ...CardCollectionToolbarPanel,\n ]);\n\n const emptyContainerStyles = computed(() => [\n ...CardCollectionEmptyContentItem,\n ]);\n\n // State\n const proxyView = ref(props.view);\n const proxySearch = ref(props.search);\n\n // Methods\n function switchView(view: string): void {\n proxyView.value = view;\n }\n\n function handleSearch(search?: string) {\n proxySearch.value = search || '';\n }\n\n // Effects\n watch(() => props.view, (value) => {\n proxyView.value = value;\n });\n\n watch(proxyView, (value) => {\n context.emit('viewChange', value);\n });\n\n watch(() => props.search, (value) => {\n proxySearch.value = value;\n });\n\n watch(proxySearch, (value) => {\n context.emit('searchChange', value);\n });\n\n return {\n root,\n rootStyles,\n toolbarStyles,\n toolbarPanelStyles,\n emptyContainerStyles,\n proxyView,\n proxySearch,\n switchView,\n handleSearch,\n };\n },\n});\n</script>\n"],"names":["CardCollectionView","gridView","listView","defaultViewModes","CardCollection","CardCollectionToolbar","CardCollectionToolbarPanel","CardCollectionContent","CardCollectionContentViews","CardCollectionEmptyContentItem","_sfc_main$1","defineComponent","props","computed","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_normalizeClass","_openBlock","_createElementBlock","_Fragment","_renderList","item","index","_renderSlot","_sfc_main","OrCardCollectionView","OrIconButton","OrSorting","OrSearch","OrLoader","context","root","ref","rootStyles","toolbarStyles","toolbarPanelStyles","emptyContainerStyles","proxyView","proxySearch","switchView","view","handleSearch","search","watch","value","_hoisted_1","_resolveComponent","_createBlock","_component_OrSorting","_createCommentVNode","_createElementVNode","_createVNode","_component_OrSearch","viewOption","_component_OrIconButton","_normalizeProps","_guardReactiveProps","_mergeProps","_component_OrCardCollectionView"],"mappings":"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"}
@@ -56,9 +56,9 @@ const R = [
56
56
  "read-only:interactivity-none"
57
57
  ], G = [
58
58
  // Content (checked / children)
59
- "after:checked:content-checkbox-checked",
59
+ "checked:after:content-checkbox-checked",
60
60
  // Content (indeterminate / children)
61
- "after:indeterminate:content-checkbox-indeterminate"
61
+ "indeterminate:after:content-checkbox-indeterminate"
62
62
  ], J = [
63
63
  // Layout
64
64
  "layout-inline-row justify-center",
@@ -237,4 +237,4 @@ const re = /* @__PURE__ */ M(K, [["render", W]]);
237
237
  export {
238
238
  re as O
239
239
  };
240
- //# sourceMappingURL=OrCheckbox-B_121oYu.mjs.map
240
+ //# sourceMappingURL=OrCheckbox-BOjpvXxF.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrCheckbox-B_121oYu.mjs","sources":["../../../components/or-checkbox-v3/src/styles.ts","../../../components/or-checkbox-v3/src/OrCheckbox.vue"],"sourcesContent":["export const Checkbox: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'md:gap-sm',\n];\n\nexport const CheckboxControl: string[] = [\n // Layout\n 'layout-inline-row justify-center',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-sm leading-[0]',\n\n // Box\n 'w-md+ md:w-md',\n 'h-md+ md:h-md',\n\n 'm-[10px] md:m-none',\n\n // Iconography\n 'iconography-outlined',\n\n // Theme\n 'appearance-none',\n\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 // Theme (indeterminate)\n 'indeterminate:theme-preset-1-primary',\n 'dark:indeterminate:theme-preset-1-primary-dark',\n\n // Theme (read-only)\n 'read-only:theme-border-outline',\n 'read-only:dark:theme-border-outline-dark',\n\n 'checked:read-only:theme-background-base',\n 'checked:read-only:dark:theme-background-base-dark',\n\n 'checked:read-only:theme-foreground-outline',\n 'checked:read-only:dark:theme-foreground-outline-dark',\n\n 'indeterminate:read-only:theme-background-base',\n 'indeterminate:read-only:dark:theme-background-base-dark',\n\n 'indeterminate:read-only:theme-foreground-outline',\n 'indeterminate:read-only:dark:theme-foreground-outline-dark',\n\n // Interactivity\n 'interactivity-click',\n\n // Interactivity (read-only)\n 'read-only:interactivity-none',\n];\n\nexport const CheckboxControlHandle: string[] = [\n // Content (checked / children)\n 'after:checked:content-checkbox-checked',\n\n // Content (indeterminate / children)\n 'after:indeterminate:content-checkbox-indeterminate',\n];\n\nexport const CheckboxLoader: string[] = [\n // Layout\n 'layout-inline-row justify-center',\n\n // Shape\n 'rounded-sm',\n\n // Box\n 'w-md+ md:w-md',\n 'h-md+ md:h-md',\n\n 'm-[10px] md:m-none',\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 :indeterminate.prop=\"indeterminate\"\n :required=\"required\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\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 :aria-busy=\"'true'\"\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"'primary'\"\n :size=\"'s'\"\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 :readonly=\"readonly\"\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 { 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 { PropType, computed, defineComponent, reactive, ref, toRef } from 'vue';\n\nimport * as Styles from './styles';\nimport { CheckboxModelValue, CheckboxValue } from './types';\n\nexport default defineComponent({\n name: 'OrCheckbox',\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<CheckboxModelValue>,\n default: undefined,\n },\n\n value: {\n type: undefined as unknown as PropType<CheckboxValue>,\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 indeterminate: {\n type: Boolean,\n default: false,\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 readonly: {\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-checkbox-v3',\n ...Styles.Checkbox,\n ]);\n\n const control = ref<HTMLElement>();\n\n const controlStyles = computed(() => [\n ...Styles.CheckboxControl,\n ...Styles.CheckboxControlHandle,\n ]);\n\n const loaderStyles = computed(() => [\n ...Styles.CheckboxLoader,\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('[OrCheckbox]: `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('[OrCheckbox]: `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 loaderStyles,\n\n checked,\n\n onChange,\n\n focus,\n blur,\n };\n },\n});\n</script>\n"],"names":["Checkbox","CheckboxControl","CheckboxControlHandle","CheckboxLoader","_sfc_main","defineComponent","OrLabel","OrLoader","LabelVariant","props","context","attributes","reactive","useIdAttribute","useControlAttributes","root","ref","rootStyles","computed","Styles.Checkbox","control","controlStyles","Styles.CheckboxControl","Styles.CheckboxControlHandle","loaderStyles","Styles.CheckboxLoader","model","useProxyModelValue","toRef","checked","isArray","isUndefined","onChange","exclude","include","focus","_a","blur","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_component_OrLoader","_mergeProps","_cache","$event","_hoisted_1","_createBlock","_component_OrLabel","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"OrCheckbox-BOjpvXxF.mjs","sources":["../../../components/or-checkbox-v3/src/styles.ts","../../../components/or-checkbox-v3/src/OrCheckbox.vue"],"sourcesContent":["export const Checkbox: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'md:gap-sm',\n];\n\nexport const CheckboxControl: string[] = [\n // Layout\n 'layout-inline-row justify-center',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-sm leading-[0]',\n\n // Box\n 'w-md+ md:w-md',\n 'h-md+ md:h-md',\n\n 'm-[10px] md:m-none',\n\n // Iconography\n 'iconography-outlined',\n\n // Theme\n 'appearance-none',\n\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 // Theme (indeterminate)\n 'indeterminate:theme-preset-1-primary',\n 'dark:indeterminate:theme-preset-1-primary-dark',\n\n // Theme (read-only)\n 'read-only:theme-border-outline',\n 'read-only:dark:theme-border-outline-dark',\n\n 'checked:read-only:theme-background-base',\n 'checked:read-only:dark:theme-background-base-dark',\n\n 'checked:read-only:theme-foreground-outline',\n 'checked:read-only:dark:theme-foreground-outline-dark',\n\n 'indeterminate:read-only:theme-background-base',\n 'indeterminate:read-only:dark:theme-background-base-dark',\n\n 'indeterminate:read-only:theme-foreground-outline',\n 'indeterminate:read-only:dark:theme-foreground-outline-dark',\n\n // Interactivity\n 'interactivity-click',\n\n // Interactivity (read-only)\n 'read-only:interactivity-none',\n];\n\nexport const CheckboxControlHandle: string[] = [\n // Content (checked / children)\n 'checked:after:content-checkbox-checked',\n\n // Content (indeterminate / children)\n 'indeterminate:after:content-checkbox-indeterminate',\n];\n\nexport const CheckboxLoader: string[] = [\n // Layout\n 'layout-inline-row justify-center',\n\n // Shape\n 'rounded-sm',\n\n // Box\n 'w-md+ md:w-md',\n 'h-md+ md:h-md',\n\n 'm-[10px] md:m-none',\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 :indeterminate.prop=\"indeterminate\"\n :required=\"required\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\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 :aria-busy=\"'true'\"\n >\n <OrLoader\n :variant=\"'circular'\"\n :color=\"'primary'\"\n :size=\"'s'\"\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 :readonly=\"readonly\"\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 { 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 { PropType, computed, defineComponent, reactive, ref, toRef } from 'vue';\n\nimport * as Styles from './styles';\nimport { CheckboxModelValue, CheckboxValue } from './types';\n\nexport default defineComponent({\n name: 'OrCheckbox',\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<CheckboxModelValue>,\n default: undefined,\n },\n\n value: {\n type: undefined as unknown as PropType<CheckboxValue>,\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 indeterminate: {\n type: Boolean,\n default: false,\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 readonly: {\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-checkbox-v3',\n ...Styles.Checkbox,\n ]);\n\n const control = ref<HTMLElement>();\n\n const controlStyles = computed(() => [\n ...Styles.CheckboxControl,\n ...Styles.CheckboxControlHandle,\n ]);\n\n const loaderStyles = computed(() => [\n ...Styles.CheckboxLoader,\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('[OrCheckbox]: `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('[OrCheckbox]: `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 loaderStyles,\n\n checked,\n\n onChange,\n\n focus,\n blur,\n };\n },\n});\n</script>\n"],"names":["Checkbox","CheckboxControl","CheckboxControlHandle","CheckboxLoader","_sfc_main","defineComponent","OrLabel","OrLoader","LabelVariant","props","context","attributes","reactive","useIdAttribute","useControlAttributes","root","ref","rootStyles","computed","Styles.Checkbox","control","controlStyles","Styles.CheckboxControl","Styles.CheckboxControlHandle","loaderStyles","Styles.CheckboxLoader","model","useProxyModelValue","toRef","checked","isArray","isUndefined","onChange","exclude","include","focus","_a","blur","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_component_OrLoader","_mergeProps","_cache","$event","_hoisted_1","_createBlock","_component_OrLabel","_renderSlot"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { useProxyModelValue as f, useResponsive as b } from "@onereach/ui-components-common/hooks";
2
- import { O as y } from "./OrCheckboxTree-Com4vL18.mjs";
2
+ import { O as y } from "./OrCheckboxTree-BMYhaqZA.mjs";
3
3
  import { O as g, F as O, a as t } from "./OrFormGroup-CUNdt7UL.mjs";
4
4
  import { defineComponent as V, toRef as S, computed as h, resolveComponent as p, openBlock as l, createBlock as i, withCtx as s, renderSlot as k, createElementBlock as C, Fragment as F, renderList as G } from "vue";
5
5
  import { _ as M } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
@@ -91,4 +91,4 @@ const R = /* @__PURE__ */ M(v, [["render", B]]);
91
91
  export {
92
92
  R as O
93
93
  };
94
- //# sourceMappingURL=OrCheckboxGroup-Db0mdVfM.mjs.map
94
+ //# sourceMappingURL=OrCheckboxGroup-DsfhAyGT.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrCheckboxGroup-Db0mdVfM.mjs","sources":["../../../components/or-checkbox-group-v3/src/OrCheckboxGroup.vue"],"sourcesContent":["<template>\n <OrFormGroup\n :label=\"label\"\n :error=\"error\"\n :hint=\"hint\"\n :disabled=\"disabled\"\n :direction=\"direction\"\n :spacing=\"localSpacing\"\n >\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n <OrCheckboxTree\n v-for=\"option in options\"\n :key=\"option.value\"\n v-model=\"proxyModelValue\"\n :item=\"option\"\n :disabled=\"disabled || option.disabled\"\n :readonly=\"readonly || option.readonly\"\n :collapsible=\"option.collapsible\"\n :expanded=\"option.expanded\"\n />\n </OrFormGroup>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { CheckboxTreeNode, OrCheckboxTreeV3 as OrCheckboxTree } from '@onereach/ui-components.or-checkbox-tree-v3';\nimport { FormGroupDirection, OrFormGroupV3 as OrFormGroup, FormGroupSpacing } from '@onereach/ui-components.or-form-group-v3';\nimport { defineComponent, PropType, toRef, computed } from 'vue';\n\n\nexport default defineComponent({\n name: 'OrCheckboxGroup',\n components: {\n OrCheckboxTree,\n OrFormGroup,\n },\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n props: {\n modelValue: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n label: {\n type: String,\n default: '',\n },\n\n error: {\n type: String,\n default: '',\n },\n\n hint: {\n type: String,\n default: '',\n },\n\n direction: {\n type: String as PropType<`${FormGroupDirection}`>,\n default: () => FormGroupDirection.Vertical,\n },\n\n options: {\n type: Array as PropType<CheckboxTreeNode[]>,\n default: () => [],\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n spacing: {\n type: String as PropType<`${FormGroupSpacing}`>,\n default: FormGroupSpacing.SM,\n },\n },\n\n setup(props, context) {\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n const { isMobile } = useResponsive();\n\n const localSpacing = computed(() => isMobile.value ? FormGroupSpacing.NONE : props.spacing);\n\n return {\n proxyModelValue,\n localSpacing,\n };\n },\n});\n\n</script>\n"],"names":["_sfc_main","defineComponent","OrCheckboxTree","OrFormGroup","FormGroupDirection","FormGroupSpacing","props","context","proxyModelValue","useProxyModelValue","toRef","isMobile","useResponsive","localSpacing","computed","_resolveComponent","_openBlock","_createBlock","_component_OrFormGroup","_ctx","_renderSlot","_createElementBlock","_Fragment","_renderList","option","_component_OrCheckboxTree","_cache","$event"],"mappings":";;;;;AAgCA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,gBAAAC;AAAA,IACA,aAAAC;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAMC,EAAmB;AAAA,IACpC;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAASC,EAAiB;AAAA,IAC5B;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AACpB,UAAMC,IAAkBC,EAAmBC,EAAMJ,GAAO,YAAY,GAAGC,EAAQ,IAAI,GAC7E,EAAE,UAAAI,MAAaC,KAEfC,IAAeC,EAAS,MAAMH,EAAS,QAAQN,EAAiB,OAAOC,EAAM,OAAO;AAEnF,WAAA;AAAA,MACL,iBAAAE;AAAA,MACA,cAAAK;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;qCAnGCE,EAqBc,aAAA;SAnBNC,EAAO,GAAAC,EAAAC,GAAA;AAAA,IACZ,OAAMC,EAAA;AAAA,IACN,OAAUA,EAAA;AAAA,IACV,MAAWA,EAAA;AAAA,IACX,UAASA,EAAA;AAAA,IAAA,WAAAA,EAAA;AAAA,IAEO,SAAKA,EAAA;AAAA,EAAA,GAAA;AAAA;MAIKC,EAAAD,EAAA,QAAA,OAAA;AAAA,IAAA,CAAA;AAAA;OACnBH,EAAA,EAAO,GAAKK,EAAAC,GAAA,MAAAC,EAAAJ,EAAA,SAAA,CAAAK,YACMP,EAAAQ,GAAA;AAAA,QAAA,KAAAD,EAAA;AAAA,QACvB,YAAYL,EAAA;AAAA,QACZ,uBAAkBO,EAAI,CAAA,MAAOA,EAAQ,CAAA,IAAA,CAAAC,MAAAR,EAAA,kBAAAQ;AAAA,QACrC,MAAAH;AAAA,QACA,UAAAL,EAAa,YAAOK,EAAW;AAAA,QAC/B,UAAUL,EAAe,YAAAK,EAAA;AAAA,QAAA,aAAAA,EAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"OrCheckboxGroup-DsfhAyGT.mjs","sources":["../../../components/or-checkbox-group-v3/src/OrCheckboxGroup.vue"],"sourcesContent":["<template>\n <OrFormGroup\n :label=\"label\"\n :error=\"error\"\n :hint=\"hint\"\n :disabled=\"disabled\"\n :direction=\"direction\"\n :spacing=\"localSpacing\"\n >\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n <OrCheckboxTree\n v-for=\"option in options\"\n :key=\"option.value\"\n v-model=\"proxyModelValue\"\n :item=\"option\"\n :disabled=\"disabled || option.disabled\"\n :readonly=\"readonly || option.readonly\"\n :collapsible=\"option.collapsible\"\n :expanded=\"option.expanded\"\n />\n </OrFormGroup>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { CheckboxTreeNode, OrCheckboxTreeV3 as OrCheckboxTree } from '@onereach/ui-components.or-checkbox-tree-v3';\nimport { FormGroupDirection, OrFormGroupV3 as OrFormGroup, FormGroupSpacing } from '@onereach/ui-components.or-form-group-v3';\nimport { defineComponent, PropType, toRef, computed } from 'vue';\n\n\nexport default defineComponent({\n name: 'OrCheckboxGroup',\n components: {\n OrCheckboxTree,\n OrFormGroup,\n },\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n props: {\n modelValue: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n label: {\n type: String,\n default: '',\n },\n\n error: {\n type: String,\n default: '',\n },\n\n hint: {\n type: String,\n default: '',\n },\n\n direction: {\n type: String as PropType<`${FormGroupDirection}`>,\n default: () => FormGroupDirection.Vertical,\n },\n\n options: {\n type: Array as PropType<CheckboxTreeNode[]>,\n default: () => [],\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n spacing: {\n type: String as PropType<`${FormGroupSpacing}`>,\n default: FormGroupSpacing.SM,\n },\n },\n\n setup(props, context) {\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n const { isMobile } = useResponsive();\n\n const localSpacing = computed(() => isMobile.value ? FormGroupSpacing.NONE : props.spacing);\n\n return {\n proxyModelValue,\n localSpacing,\n };\n },\n});\n\n</script>\n"],"names":["_sfc_main","defineComponent","OrCheckboxTree","OrFormGroup","FormGroupDirection","FormGroupSpacing","props","context","proxyModelValue","useProxyModelValue","toRef","isMobile","useResponsive","localSpacing","computed","_resolveComponent","_openBlock","_createBlock","_component_OrFormGroup","_ctx","_renderSlot","_createElementBlock","_Fragment","_renderList","option","_component_OrCheckboxTree","_cache","$event"],"mappings":";;;;;AAgCA,MAAAA,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,gBAAAC;AAAA,IACA,aAAAC;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAMC,EAAmB;AAAA,IACpC;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAASC,EAAiB;AAAA,IAC5B;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AACpB,UAAMC,IAAkBC,EAAmBC,EAAMJ,GAAO,YAAY,GAAGC,EAAQ,IAAI,GAC7E,EAAE,UAAAI,MAAaC,KAEfC,IAAeC,EAAS,MAAMH,EAAS,QAAQN,EAAiB,OAAOC,EAAM,OAAO;AAEnF,WAAA;AAAA,MACL,iBAAAE;AAAA,MACA,cAAAK;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;qCAnGCE,EAqBc,aAAA;SAnBNC,EAAO,GAAAC,EAAAC,GAAA;AAAA,IACZ,OAAMC,EAAA;AAAA,IACN,OAAUA,EAAA;AAAA,IACV,MAAWA,EAAA;AAAA,IACX,UAASA,EAAA;AAAA,IAAA,WAAAA,EAAA;AAAA,IAEO,SAAKA,EAAA;AAAA,EAAA,GAAA;AAAA;MAIKC,EAAAD,EAAA,QAAA,OAAA;AAAA,IAAA,CAAA;AAAA;OACnBH,EAAA,EAAO,GAAKK,EAAAC,GAAA,MAAAC,EAAAJ,EAAA,SAAA,CAAAK,YACMP,EAAAQ,GAAA;AAAA,QAAA,KAAAD,EAAA;AAAA,QACvB,YAAYL,EAAA;AAAA,QACZ,uBAAkBO,EAAI,CAAA,MAAOA,EAAQ,CAAA,IAAA,CAAAC,MAAAR,EAAA,kBAAAQ;AAAA,QACrC,MAAAH;AAAA,QACA,UAAAL,EAAa,YAAOK,EAAW;AAAA,QAC/B,UAAUL,EAAe,YAAAK,EAAA;AAAA,QAAA,aAAAA,EAAA;AAAA;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { useProxyModelValue as A } from "@onereach/ui-components-common/hooks";
2
2
  import { O as N } from "./OrButton-ZxDr22t7.mjs";
3
- import { O as R } from "./OrCheckbox-B_121oYu.mjs";
3
+ import { O as R } from "./OrCheckbox-BOjpvXxF.mjs";
4
4
  import { O as z } from "./OrIcon-k8cyvh-D.mjs";
5
5
  import { useToggle as D } from "@vueuse/core";
6
6
  import { defineComponent as E, toRefs as U, computed as r, watch as j, resolveComponent as p, openBlock as s, createElementBlock as b, normalizeClass as i, Fragment as S, createElementVNode as q, createBlock as C, withCtx as c, createVNode as L, createCommentVNode as T, renderSlot as g, createTextVNode as O, toDisplayString as V, renderList as F } from "vue";
@@ -196,4 +196,4 @@ const re = /* @__PURE__ */ H(W, [["render", X]]);
196
196
  export {
197
197
  re as O
198
198
  };
199
- //# sourceMappingURL=OrCheckboxTree-Com4vL18.mjs.map
199
+ //# sourceMappingURL=OrCheckboxTree-BMYhaqZA.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrCheckboxTree-Com4vL18.mjs","sources":["../../../components/or-checkbox-tree-v3/src/styles.ts","../../../components/or-checkbox-tree-v3/src/utils/extractChildrenValues.ts","../../../components/or-checkbox-tree-v3/src/OrCheckboxTree.vue"],"sourcesContent":["export const CheckboxTreeRoot: string[] = [\n // Layout\n 'flex',\n 'flex-col',\n\n // Spacing\n 'md:gap-sm',\n];\n\nexport const CheckboxTreeRootParent: string[] = [\n // Layout\n 'flex',\n 'flex-row',\n 'gap-xs',\n];\n","import { flattenDeep } from '@onereach/ui-components-common/utils';\n\nimport { CheckboxTreeNode, CheckboxTreeValue } from '../types';\n\nconst getChildValues = (children?: CheckboxTreeNode[]): CheckboxTreeValue[] | undefined => {\n return children?.map((child) => {\n if (child.disabled) {\n return undefined;\n }\n if (child.children) {\n return getChildValues(child.children);\n } else {\n return child.value;\n }\n });\n};\n\nexport function extractChildrenValues(children: CheckboxTreeNode[]): string[] {\n return flattenDeep(getChildValues(children)).filter(Boolean) as string[];\n}\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"hasChildren\">\n <div :class=\"parentStyles\">\n <template v-if=\"collapsible\">\n <OrButton\n :variant=\"'link'\"\n :disabled=\"disabled\"\n @click=\"setIsOpen(!isOpen)\"\n >\n <OrIcon\n :class=\"[isOpen ? 'rotate-[180deg]': 'rotate-0']\"\n :icon=\"'arrow_drop_down'\"\n :size=\"'l'\"\n />\n </OrButton>\n </template>\n\n <OrCheckbox\n :model-value=\"isAllChildrenSelected\"\n :value=\"true\"\n :indeterminate=\"isIntermediate\"\n :loading=\"localLoading\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n @click=\"handleParentClick\"\n >\n <slot\n name=\"checkboxLabel\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrCheckbox>\n </div>\n\n <div\n v-if=\"hasChildren && isOpen\"\n :class=\"[collapsible ? 'ml-2xl' : 'ml-lg']\"\n >\n <OrCheckboxTree\n v-for=\"child in item.children\"\n :key=\"child.value || child.label\"\n v-model=\"proxyModelValue\"\n :class=\"['mt-xs']\"\n :item=\"child\"\n :collapsible=\"child.collapsible\"\n :expanded=\"child.expanded\"\n :loading=\"localLoading\"\n :disabled=\"disabled || child.disabled\"\n :readonly=\"readonly || child.readonly\"\n >\n <template v-slot:checkboxLabel=\"{ item: checkboxItem }\">\n <slot\n name=\"checkboxLabel\"\n :item=\"checkboxItem\"\n >\n {{ checkboxItem.label }}\n </slot>\n </template>\n </OrCheckboxTree>\n </div>\n </template>\n\n <template v-else>\n <OrCheckbox\n v-model=\"proxyModelValue\"\n :value=\"item.value\"\n :loading=\"localLoading\"\n :disabled=\"disabled || item.disabled\"\n :readonly=\"readonly || item.readonly\"\n >\n <slot\n name=\"checkboxLabel\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrCheckbox>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { useToggle } from '@vueuse/core';\nimport { PropType, computed, defineComponent, toRefs, watch } from 'vue';\n\nimport { CheckboxTreeRoot, CheckboxTreeRootParent } from './styles';\nimport { CheckboxTreeNode } from './types';\nimport { extractChildrenValues } from './utils/extractChildrenValues';\n\nexport default defineComponent({\n name: 'OrCheckboxTree',\n\n components: {\n OrIcon,\n OrCheckbox,\n OrButton,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n item: {\n type: Object as PropType<CheckboxTreeNode>,\n required: true,\n },\n\n collapsible: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n expanded: {\n type: Boolean,\n default: true,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n setup(props, context) {\n // State\n const { modelValue, item, expanded } = toRefs(props);\n const children = computed(() => item.value.children || []);\n const hasChildren = computed(() => children.value.length > 0);\n\n const childrenValues = computed(() => {\n return hasChildren.value ? extractChildrenValues(children.value) : [];\n });\n\n const proxyModelValue = useProxyModelValue(modelValue, context.emit);\n const localLoading = computed(() => Boolean(props.loading || item.value.loading));\n\n const isAnyChildrenSelected = computed(() => {\n return proxyModelValue.value?.some((value) => childrenValues.value.includes(value));\n });\n\n const isAllChildrenSelected = computed(() => {\n return childrenValues.value.length > 0\n && childrenValues.value.every((value) => proxyModelValue.value?.includes(value));\n });\n\n const isIntermediate = computed(() => {\n return isAnyChildrenSelected.value && !isAllChildrenSelected.value;\n });\n\n const [isOpen, setIsOpen] = useToggle(expanded.value);\n\n watch(expanded, (value) => {\n if (value !== undefined) {\n setIsOpen(value);\n }\n });\n\n // Styles\n const rootStyles = computed(() => [\n 'or-checkbox-tree-v3',\n ...CheckboxTreeRoot,\n ]);\n\n // Styles\n const parentStyles = computed(() => [\n ...CheckboxTreeRootParent,\n ]);\n\n // Methods\n const handleParentClick = () => {\n if (isAllChildrenSelected.value) {\n proxyModelValue.value = proxyModelValue.value.filter((value) => {\n return !childrenValues.value.includes(value);\n });\n } else {\n proxyModelValue.value = [\n ...new Set([\n ...proxyModelValue.value,\n ...childrenValues.value,\n ]),\n ];\n }\n };\n\n return {\n rootStyles,\n parentStyles,\n hasChildren,\n proxyModelValue,\n localLoading,\n isOpen,\n setIsOpen,\n isIntermediate,\n isAllChildrenSelected,\n isAnyChildrenSelected,\n childrenValues,\n handleParentClick,\n };\n },\n});\n</script>\n"],"names":["CheckboxTreeRoot","CheckboxTreeRootParent","getChildValues","children","child","extractChildrenValues","flattenDeep","_sfc_main","defineComponent","OrIcon","OrCheckbox","OrButton","props","context","modelValue","item","expanded","toRefs","computed","hasChildren","childrenValues","proxyModelValue","useProxyModelValue","localLoading","isAnyChildrenSelected","_a","value","isAllChildrenSelected","isIntermediate","isOpen","setIsOpen","useToggle","watch","rootStyles","parentStyles","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_Fragment","_createElementVNode","_createBlock","_component_OrButton","_cache","$event","_withCtx","_createVNode","_component_OrIcon","_createCommentVNode","_component_OrCheckbox","_renderList","_component_OrCheckboxTree","_renderSlot","checkboxItem"],"mappings":"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"}
1
+ {"version":3,"file":"OrCheckboxTree-BMYhaqZA.mjs","sources":["../../../components/or-checkbox-tree-v3/src/styles.ts","../../../components/or-checkbox-tree-v3/src/utils/extractChildrenValues.ts","../../../components/or-checkbox-tree-v3/src/OrCheckboxTree.vue"],"sourcesContent":["export const CheckboxTreeRoot: string[] = [\n // Layout\n 'flex',\n 'flex-col',\n\n // Spacing\n 'md:gap-sm',\n];\n\nexport const CheckboxTreeRootParent: string[] = [\n // Layout\n 'flex',\n 'flex-row',\n 'gap-xs',\n];\n","import { flattenDeep } from '@onereach/ui-components-common/utils';\n\nimport { CheckboxTreeNode, CheckboxTreeValue } from '../types';\n\nconst getChildValues = (children?: CheckboxTreeNode[]): CheckboxTreeValue[] | undefined => {\n return children?.map((child) => {\n if (child.disabled) {\n return undefined;\n }\n if (child.children) {\n return getChildValues(child.children);\n } else {\n return child.value;\n }\n });\n};\n\nexport function extractChildrenValues(children: CheckboxTreeNode[]): string[] {\n return flattenDeep(getChildValues(children)).filter(Boolean) as string[];\n}\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"hasChildren\">\n <div :class=\"parentStyles\">\n <template v-if=\"collapsible\">\n <OrButton\n :variant=\"'link'\"\n :disabled=\"disabled\"\n @click=\"setIsOpen(!isOpen)\"\n >\n <OrIcon\n :class=\"[isOpen ? 'rotate-[180deg]': 'rotate-0']\"\n :icon=\"'arrow_drop_down'\"\n :size=\"'l'\"\n />\n </OrButton>\n </template>\n\n <OrCheckbox\n :model-value=\"isAllChildrenSelected\"\n :value=\"true\"\n :indeterminate=\"isIntermediate\"\n :loading=\"localLoading\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n @click=\"handleParentClick\"\n >\n <slot\n name=\"checkboxLabel\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrCheckbox>\n </div>\n\n <div\n v-if=\"hasChildren && isOpen\"\n :class=\"[collapsible ? 'ml-2xl' : 'ml-lg']\"\n >\n <OrCheckboxTree\n v-for=\"child in item.children\"\n :key=\"child.value || child.label\"\n v-model=\"proxyModelValue\"\n :class=\"['mt-xs']\"\n :item=\"child\"\n :collapsible=\"child.collapsible\"\n :expanded=\"child.expanded\"\n :loading=\"localLoading\"\n :disabled=\"disabled || child.disabled\"\n :readonly=\"readonly || child.readonly\"\n >\n <template v-slot:checkboxLabel=\"{ item: checkboxItem }\">\n <slot\n name=\"checkboxLabel\"\n :item=\"checkboxItem\"\n >\n {{ checkboxItem.label }}\n </slot>\n </template>\n </OrCheckboxTree>\n </div>\n </template>\n\n <template v-else>\n <OrCheckbox\n v-model=\"proxyModelValue\"\n :value=\"item.value\"\n :loading=\"localLoading\"\n :disabled=\"disabled || item.disabled\"\n :readonly=\"readonly || item.readonly\"\n >\n <slot\n name=\"checkboxLabel\"\n :item=\"item\"\n >\n {{ item.label }}\n </slot>\n </OrCheckbox>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { useToggle } from '@vueuse/core';\nimport { PropType, computed, defineComponent, toRefs, watch } from 'vue';\n\nimport { CheckboxTreeRoot, CheckboxTreeRootParent } from './styles';\nimport { CheckboxTreeNode } from './types';\nimport { extractChildrenValues } from './utils/extractChildrenValues';\n\nexport default defineComponent({\n name: 'OrCheckboxTree',\n\n components: {\n OrIcon,\n OrCheckbox,\n OrButton,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n item: {\n type: Object as PropType<CheckboxTreeNode>,\n required: true,\n },\n\n collapsible: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n expanded: {\n type: Boolean,\n default: true,\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n setup(props, context) {\n // State\n const { modelValue, item, expanded } = toRefs(props);\n const children = computed(() => item.value.children || []);\n const hasChildren = computed(() => children.value.length > 0);\n\n const childrenValues = computed(() => {\n return hasChildren.value ? extractChildrenValues(children.value) : [];\n });\n\n const proxyModelValue = useProxyModelValue(modelValue, context.emit);\n const localLoading = computed(() => Boolean(props.loading || item.value.loading));\n\n const isAnyChildrenSelected = computed(() => {\n return proxyModelValue.value?.some((value) => childrenValues.value.includes(value));\n });\n\n const isAllChildrenSelected = computed(() => {\n return childrenValues.value.length > 0\n && childrenValues.value.every((value) => proxyModelValue.value?.includes(value));\n });\n\n const isIntermediate = computed(() => {\n return isAnyChildrenSelected.value && !isAllChildrenSelected.value;\n });\n\n const [isOpen, setIsOpen] = useToggle(expanded.value);\n\n watch(expanded, (value) => {\n if (value !== undefined) {\n setIsOpen(value);\n }\n });\n\n // Styles\n const rootStyles = computed(() => [\n 'or-checkbox-tree-v3',\n ...CheckboxTreeRoot,\n ]);\n\n // Styles\n const parentStyles = computed(() => [\n ...CheckboxTreeRootParent,\n ]);\n\n // Methods\n const handleParentClick = () => {\n if (isAllChildrenSelected.value) {\n proxyModelValue.value = proxyModelValue.value.filter((value) => {\n return !childrenValues.value.includes(value);\n });\n } else {\n proxyModelValue.value = [\n ...new Set([\n ...proxyModelValue.value,\n ...childrenValues.value,\n ]),\n ];\n }\n };\n\n return {\n rootStyles,\n parentStyles,\n hasChildren,\n proxyModelValue,\n localLoading,\n isOpen,\n setIsOpen,\n isIntermediate,\n isAllChildrenSelected,\n isAnyChildrenSelected,\n childrenValues,\n handleParentClick,\n };\n },\n});\n</script>\n"],"names":["CheckboxTreeRoot","CheckboxTreeRootParent","getChildValues","children","child","extractChildrenValues","flattenDeep","_sfc_main","defineComponent","OrIcon","OrCheckbox","OrButton","props","context","modelValue","item","expanded","toRefs","computed","hasChildren","childrenValues","proxyModelValue","useProxyModelValue","localLoading","isAnyChildrenSelected","_a","value","isAllChildrenSelected","isIntermediate","isOpen","setIsOpen","useToggle","watch","rootStyles","parentStyles","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_Fragment","_createElementVNode","_createBlock","_component_OrButton","_cache","$event","_withCtx","_createVNode","_component_OrIcon","_createCommentVNode","_component_OrCheckbox","_renderList","_component_OrCheckboxTree","_renderSlot","checkboxItem"],"mappings":"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"}
@@ -2,8 +2,8 @@ import { indentWithTab as ro } from "@codemirror/commands";
2
2
  import { Compartment as F, EditorState as H } from "@codemirror/state";
3
3
  import { keymap as no, EditorView as k } from "@codemirror/view";
4
4
  import { useIdAttribute as lo, useControlAttributes as ao, useValidationAttributes as so, useProxyModelValue as io, useTheme as uo } from "@onereach/ui-components-common/hooks";
5
- import { O as co } from "./OrIconButton-D1pxfMA_.mjs";
6
- import { O as mo } from "./OrModal-D1gCHnN1.mjs";
5
+ import { O as co } from "./OrIconButton-BuRmTHpT.mjs";
6
+ import { O as mo } from "./OrModal-btf3bd3k.mjs";
7
7
  import { basicSetup as fo } from "codemirror";
8
8
  import { defineComponent as D, ref as h, computed as B, resolveComponent as p, openBlock as I, createElementBlock as L, normalizeClass as V, createVNode as v, withCtx as n, renderSlot as a, createTextVNode as g, toDisplayString as C, createElementVNode as W, withDirectives as z, createBlock as R, vShow as J, createCommentVNode as G, reactive as po, toRef as yo, watch as T, onMounted as bo, onUnmounted as ho, createSlots as A, withModifiers as vo } from "vue";
9
9
  import { O as go } from "./OrError-B5ihH6-3.mjs";
@@ -499,4 +499,4 @@ export {
499
499
  c as C,
500
500
  Po as O
501
501
  };
502
- //# sourceMappingURL=OrCode-CVTfoJyM.mjs.map
502
+ //# sourceMappingURL=OrCode-ztGltLid.mjs.map