@onereach/ui-components 23.2.0-beta.5524.0 → 23.2.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 (168) hide show
  1. package/dist/esm/{OrAutocomplete-CE-mcFyB.mjs → OrAutocomplete-ds-VkL_e.mjs} +7 -7
  2. package/dist/esm/{OrAutocomplete-CE-mcFyB.mjs.map → OrAutocomplete-ds-VkL_e.mjs.map} +1 -1
  3. package/dist/esm/{OrCardCollection-Coq2jJAv.mjs → OrCardCollection-CoE9Umh7.mjs} +4 -4
  4. package/dist/esm/{OrCardCollection-Coq2jJAv.mjs.map → OrCardCollection-CoE9Umh7.mjs.map} +1 -1
  5. package/dist/esm/{OrCode-CuWS6laZ.mjs → OrCode-DzvIFmRm.mjs} +5 -4
  6. package/dist/esm/{OrCode-CuWS6laZ.mjs.map → OrCode-DzvIFmRm.mjs.map} +1 -1
  7. package/dist/esm/{OrConfirm-B0923wGv.mjs → OrConfirm-C9pmyc_f.mjs} +69 -69
  8. package/dist/esm/OrConfirm-C9pmyc_f.mjs.map +1 -0
  9. package/dist/esm/{OrContextMenu-BQ638QhR.mjs → OrContextMenu-CrpiM2Jq.mjs} +3 -3
  10. package/dist/esm/{OrContextMenu-BQ638QhR.mjs.map → OrContextMenu-CrpiM2Jq.mjs.map} +1 -1
  11. package/dist/esm/{OrDataGrid-BzBgqXKh.mjs → OrDataGrid-BML2-j9s.mjs} +11 -11
  12. package/dist/esm/{OrDataGrid-BzBgqXKh.mjs.map → OrDataGrid-BML2-j9s.mjs.map} +1 -1
  13. package/dist/esm/{OrDateFormat-CToZxZUK.mjs → OrDateFormat-CnNnn2qx.mjs} +2 -2
  14. package/dist/esm/{OrDateFormat-CToZxZUK.mjs.map → OrDateFormat-CnNnn2qx.mjs.map} +1 -1
  15. package/dist/esm/{OrDatePicker-B6nxmvTX.mjs → OrDatePicker-B8f7IXss.mjs} +103 -88
  16. package/dist/esm/OrDatePicker-B8f7IXss.mjs.map +1 -0
  17. package/dist/esm/{OrDateRangePicker-CW916fb0.mjs → OrDateRangePicker-Cs59h-1i.mjs} +167 -145
  18. package/dist/esm/OrDateRangePicker-Cs59h-1i.mjs.map +1 -0
  19. package/dist/esm/{OrDateTimeFormat-CkjI6yYk.mjs → OrDateTimeFormat-B5lV7PfA.mjs} +2 -2
  20. package/dist/esm/{OrDateTimeFormat-CkjI6yYk.mjs.map → OrDateTimeFormat-B5lV7PfA.mjs.map} +1 -1
  21. package/dist/esm/{OrDateTimePicker-Cr4LW2fI.mjs → OrDateTimePicker-BjUIRfEc.mjs} +37 -34
  22. package/dist/esm/OrDateTimePicker-BjUIRfEc.mjs.map +1 -0
  23. package/dist/esm/OrDateTimePicker.vue_vue_type_script_lang-BPE3fOtA.mjs +1404 -0
  24. package/dist/esm/OrDateTimePicker.vue_vue_type_script_lang-BPE3fOtA.mjs.map +1 -0
  25. package/dist/esm/OrDrawer-BR0r7GeI.mjs.map +1 -1
  26. package/dist/esm/{OrEditorTabs-Cm1874QR.mjs → OrEditorTabs-psJUG0D3.mjs} +4 -4
  27. package/dist/esm/{OrEditorTabs-Cm1874QR.mjs.map → OrEditorTabs-psJUG0D3.mjs.map} +1 -1
  28. package/dist/esm/{OrFilter-Cj9JSH6q.mjs → OrFilter-C8d3OmGK.mjs} +3 -3
  29. package/dist/esm/{OrFilter-Cj9JSH6q.mjs.map → OrFilter-C8d3OmGK.mjs.map} +1 -1
  30. package/dist/esm/{OrFilterPopover-rGXIeAtC.mjs → OrFilterPopover-C8lXb-hJ.mjs} +51 -49
  31. package/dist/esm/OrFilterPopover-C8lXb-hJ.mjs.map +1 -0
  32. package/dist/esm/{OrFilterTrigger-AvdjscJB.mjs → OrFilterTrigger-zfcgyC7C.mjs} +2 -2
  33. package/dist/esm/{OrFilterTrigger-AvdjscJB.mjs.map → OrFilterTrigger-zfcgyC7C.mjs.map} +1 -1
  34. package/dist/esm/{OrIconButton-lovh65nT.mjs → OrIconButton-BlHCLpeW.mjs} +2 -2
  35. package/dist/esm/{OrIconButton-lovh65nT.mjs.map → OrIconButton-BlHCLpeW.mjs.map} +1 -1
  36. package/dist/esm/{OrInlineInput-CRt919Pq.mjs → OrInlineInput-1WPe9sXl.mjs} +90 -85
  37. package/dist/esm/OrInlineInput-1WPe9sXl.mjs.map +1 -0
  38. package/dist/esm/{OrInlineTextarea-Ub9rS0L4.mjs → OrInlineTextarea-COQceBb0.mjs} +2 -2
  39. package/dist/esm/{OrInlineTextarea-Ub9rS0L4.mjs.map → OrInlineTextarea-COQceBb0.mjs.map} +1 -1
  40. package/dist/esm/{OrInput-CE9EZ3Ve.mjs → OrInput-DBcNZlkx.mjs} +2 -2
  41. package/dist/esm/{OrInput-CE9EZ3Ve.mjs.map → OrInput-DBcNZlkx.mjs.map} +1 -1
  42. package/dist/esm/{OrList-BloErbPw.mjs → OrList-CLHvgZc7.mjs} +2 -2
  43. package/dist/esm/{OrList-BloErbPw.mjs.map → OrList-CLHvgZc7.mjs.map} +1 -1
  44. package/dist/esm/{OrMenu-C0Fj6Gnj.mjs → OrMenu-CJT4Snay.mjs} +2 -2
  45. package/dist/esm/{OrMenu-C0Fj6Gnj.mjs.map → OrMenu-CJT4Snay.mjs.map} +1 -1
  46. package/dist/esm/{OrMenuItem-CmEGhN8f.mjs → OrMenuItem-BHRMA0L1.mjs} +3 -3
  47. package/dist/esm/{OrMenuItem-CmEGhN8f.mjs.map → OrMenuItem-BHRMA0L1.mjs.map} +1 -1
  48. package/dist/esm/{OrModal-C41v-wws.mjs → OrModal-CQhwUYFk.mjs} +2 -2
  49. package/dist/esm/{OrModal-C41v-wws.mjs.map → OrModal-CQhwUYFk.mjs.map} +1 -1
  50. package/dist/esm/{OrNotification-DBskK1PJ.mjs → OrNotification-Dz3Tr1wI.mjs} +2 -2
  51. package/dist/esm/{OrNotification-DBskK1PJ.mjs.map → OrNotification-Dz3Tr1wI.mjs.map} +1 -1
  52. package/dist/esm/{OrPagination-t8AJYO5k.mjs → OrPagination-DIacMkVe.mjs} +3 -3
  53. package/dist/esm/{OrPagination-t8AJYO5k.mjs.map → OrPagination-DIacMkVe.mjs.map} +1 -1
  54. package/dist/esm/{OrPopover-B09W4N7y.mjs → OrPopover-DbygLPtT.mjs} +29 -36
  55. package/dist/esm/OrPopover-DbygLPtT.mjs.map +1 -0
  56. package/dist/esm/{OrRangeSlider-VMBFvgmU.mjs → OrRangeSlider-Dim4sU4v.mjs} +3 -3
  57. package/dist/esm/{OrRangeSlider-VMBFvgmU.mjs.map → OrRangeSlider-Dim4sU4v.mjs.map} +1 -1
  58. package/dist/esm/{OrResizeablePanel-BRolG_nP.mjs → OrResizeablePanel-DuGgwmhB.mjs} +2 -2
  59. package/dist/esm/{OrResizeablePanel-BRolG_nP.mjs.map → OrResizeablePanel-DuGgwmhB.mjs.map} +1 -1
  60. package/dist/esm/{OrRichTextEditor-D8rUA2hY.mjs → OrRichTextEditor-YYtRuKat.mjs} +15 -11
  61. package/dist/esm/{OrRichTextEditor-D8rUA2hY.mjs.map → OrRichTextEditor-YYtRuKat.mjs.map} +1 -1
  62. package/dist/esm/{OrRichTooltip-B5HduE38.mjs → OrRichTooltip-D8vv5Btb.mjs} +2 -2
  63. package/dist/esm/{OrRichTooltip-B5HduE38.mjs.map → OrRichTooltip-D8vv5Btb.mjs.map} +1 -1
  64. package/dist/esm/{OrSearch-Bct822UI.mjs → OrSearch-1OFONLHk.mjs} +2 -2
  65. package/dist/esm/{OrSearch-Bct822UI.mjs.map → OrSearch-1OFONLHk.mjs.map} +1 -1
  66. package/dist/esm/{OrSelect-Bh3QJ-tK.mjs → OrSelect-Cnklh9us.mjs} +9 -8
  67. package/dist/esm/{OrSelect-Bh3QJ-tK.mjs.map → OrSelect-Cnklh9us.mjs.map} +1 -1
  68. package/dist/esm/{OrSlider-Dp6z0IdR.mjs → OrSlider-Cec0WpUQ.mjs} +2 -2
  69. package/dist/esm/{OrSlider-Dp6z0IdR.mjs.map → OrSlider-Cec0WpUQ.mjs.map} +1 -1
  70. package/dist/esm/{OrSlider.vue_vue_type_script_lang-CcUCruef.mjs → OrSlider.vue_vue_type_script_lang-C5rLh1F0.mjs} +2 -2
  71. package/dist/esm/{OrSlider.vue_vue_type_script_lang-CcUCruef.mjs.map → OrSlider.vue_vue_type_script_lang-C5rLh1F0.mjs.map} +1 -1
  72. package/dist/esm/{OrSorting-Cwz50qEX.mjs → OrSorting-DCAarSF1.mjs} +3 -3
  73. package/dist/esm/{OrSorting-Cwz50qEX.mjs.map → OrSorting-DCAarSF1.mjs.map} +1 -1
  74. package/dist/esm/{OrTabs-1UvBYHJ8.mjs → OrTabs-BUXLSz8o.mjs} +3 -3
  75. package/dist/esm/{OrTabs-1UvBYHJ8.mjs.map → OrTabs-BUXLSz8o.mjs.map} +1 -1
  76. package/dist/esm/{OrTag-2yFIDArU.mjs → OrTag-Bixe0EQq.mjs} +2 -2
  77. package/dist/esm/{OrTag-2yFIDArU.mjs.map → OrTag-Bixe0EQq.mjs.map} +1 -1
  78. package/dist/esm/{OrTagInput-DJTgJDCr.mjs → OrTagInput-CjYmyfIU.mjs} +4 -4
  79. package/dist/esm/{OrTagInput-DJTgJDCr.mjs.map → OrTagInput-CjYmyfIU.mjs.map} +1 -1
  80. package/dist/esm/{OrTags-DvQe4ksh.mjs → OrTags-CS0bcLtx.mjs} +3 -3
  81. package/dist/esm/{OrTags-DvQe4ksh.mjs.map → OrTags-CS0bcLtx.mjs.map} +1 -1
  82. package/dist/esm/{OrTimeFormat-DSxyk9nM.mjs → OrTimeFormat-mxL8_Rx9.mjs} +2 -2
  83. package/dist/esm/{OrTimeFormat-DSxyk9nM.mjs.map → OrTimeFormat-mxL8_Rx9.mjs.map} +1 -1
  84. package/dist/esm/{OrTimePicker-Co4bjxJo.mjs → OrTimePicker-CQJesQKa.mjs} +4 -4
  85. package/dist/esm/{OrTimePicker-Co4bjxJo.mjs.map → OrTimePicker-CQJesQKa.mjs.map} +1 -1
  86. package/dist/esm/{OrTimeRangePicker-Bj373Uoh.mjs → OrTimeRangePicker-DGvdvq4c.mjs} +4 -4
  87. package/dist/esm/{OrTimeRangePicker-Bj373Uoh.mjs.map → OrTimeRangePicker-DGvdvq4c.mjs.map} +1 -1
  88. package/dist/esm/{OrTooltip-Cf18xtq3.mjs → OrTooltip-DqwjoE82.mjs} +2 -2
  89. package/dist/esm/{OrTooltip-Cf18xtq3.mjs.map → OrTooltip-DqwjoE82.mjs.map} +1 -1
  90. package/dist/esm/components/index.mjs +46 -46
  91. package/dist/esm/components/or-autocomplete-v3/index.mjs +1 -1
  92. package/dist/esm/components/or-card-collection-v3/index.mjs +1 -1
  93. package/dist/esm/components/or-code-v3/index.mjs +1 -1
  94. package/dist/esm/components/or-confirm-v3/index.mjs +1 -1
  95. package/dist/esm/components/or-context-menu-v3/index.mjs +1 -1
  96. package/dist/esm/components/or-data-grid-v3/index.mjs +1 -1
  97. package/dist/esm/components/or-date-format-v3/index.mjs +1 -1
  98. package/dist/esm/components/or-date-picker-v3/index.mjs +1 -1
  99. package/dist/esm/components/or-date-range-picker-v3/index.mjs +1 -1
  100. package/dist/esm/components/or-date-time-format-v3/index.mjs +1 -1
  101. package/dist/esm/components/or-date-time-picker-v3/index.mjs +2 -2
  102. package/dist/esm/components/or-editor-tabs-v3/index.mjs +1 -1
  103. package/dist/esm/components/or-filter-popover-v3/index.mjs +1 -1
  104. package/dist/esm/components/or-filter-trigger-v3/index.mjs +1 -1
  105. package/dist/esm/components/or-filter-v3/index.mjs +1 -1
  106. package/dist/esm/components/or-icon-button-v3/index.mjs +1 -1
  107. package/dist/esm/components/or-inline-input-v3/index.mjs +1 -1
  108. package/dist/esm/components/or-inline-textarea-v3/index.mjs +1 -1
  109. package/dist/esm/components/or-input-v3/index.mjs +1 -1
  110. package/dist/esm/components/or-list-v3/index.mjs +1 -1
  111. package/dist/esm/components/or-menu-item-v3/index.mjs +1 -1
  112. package/dist/esm/components/or-menu-v3/index.mjs +1 -1
  113. package/dist/esm/components/or-modal-v3/index.mjs +1 -1
  114. package/dist/esm/components/or-notification-v3/index.mjs +1 -1
  115. package/dist/esm/components/or-pagination-v3/index.mjs +1 -1
  116. package/dist/esm/components/or-popover-v3/index.mjs +1 -1
  117. package/dist/esm/components/or-range-slider-v3/index.mjs +1 -1
  118. package/dist/esm/components/or-resizeable-panel-v3/index.mjs +1 -1
  119. package/dist/esm/components/or-rich-text-editor-v3/index.mjs +1 -1
  120. package/dist/esm/components/or-rich-tooltip-v3/index.mjs +1 -1
  121. package/dist/esm/components/or-search-v3/index.mjs +1 -1
  122. package/dist/esm/components/or-select-v3/index.mjs +1 -1
  123. package/dist/esm/components/or-sidebar-v3/index.mjs +1 -1
  124. package/dist/esm/components/or-slider-v3/index.mjs +2 -2
  125. package/dist/esm/components/or-sorting-v3/index.mjs +1 -1
  126. package/dist/esm/components/or-tabs-v3/index.mjs +1 -1
  127. package/dist/esm/components/or-tag-input-v3/index.mjs +1 -1
  128. package/dist/esm/components/or-tag-v3/index.mjs +1 -1
  129. package/dist/esm/components/or-tags-v3/index.mjs +1 -1
  130. package/dist/esm/components/or-time-format-v3/index.mjs +1 -1
  131. package/dist/esm/components/or-time-picker-v3/index.mjs +1 -1
  132. package/dist/esm/components/or-time-range-picker-v3/index.mjs +1 -1
  133. package/dist/esm/components/or-toast-v3/index.mjs +1 -1
  134. package/dist/esm/components/or-tooltip-v3/index.mjs +1 -1
  135. package/dist/esm/index.mjs +46 -46
  136. package/dist/esm/{props-CMyhmcl8.mjs → props-BxqD8LGb.mjs} +2 -2
  137. package/dist/esm/{props-CMyhmcl8.mjs.map → props-BxqD8LGb.mjs.map} +1 -1
  138. package/dist/esm/{types-DTaohP7P.mjs → types-BwxhurSS.mjs} +2 -2
  139. package/dist/esm/{types-DTaohP7P.mjs.map → types-BwxhurSS.mjs.map} +1 -1
  140. package/dist/types/components/or-autocomplete-v3/OrAutocomplete.vue.d.ts +0 -108
  141. package/dist/types/components/or-confirm-v3/OrConfirm.vue.d.ts +1 -1
  142. package/dist/types/components/or-date-picker-v3/OrDatePicker.vue.d.ts +28 -13
  143. package/dist/types/components/or-date-range-picker-v3/OrDateRangePicker.vue.d.ts +38 -14
  144. package/dist/types/components/or-date-time-picker-v3/OrDateTimePicker.vue.d.ts +29 -26
  145. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/OrDateTimePickerDateSelect.vue.d.ts +44 -5
  146. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-date-select/styles.d.ts +1 -0
  147. package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue.d.ts +797 -5
  148. package/dist/types/components/or-filter-popover-v3/OrFilterPopover.vue.d.ts +1 -1
  149. package/dist/types/components/or-inline-input-v3/OrInlineInput.vue.d.ts +2 -1
  150. package/dist/types/components/or-popover-v3/OrPopover.vue.d.ts +0 -11
  151. package/dist/types/components/or-rich-text-editor-v3/OrRichTextEditor.vue.d.ts +0 -12
  152. package/dist/types/components/or-rich-tooltip-v3/OrRichTooltip.vue.d.ts +0 -12
  153. package/dist/types/components/or-select-v3/OrSelect.vue.d.ts +0 -60
  154. package/dist/types/components/or-select-v3/partials/or-select-multiple-control/OrSelectMultipleControl.vue.d.ts +0 -24
  155. package/dist/types/components/or-tag-input-v3/OrTagInput.vue.d.ts +0 -24
  156. package/dist/types/components/or-tags-v3/OrTags.vue.d.ts +0 -12
  157. package/dist/types/components/or-time-picker-v3/OrTimePicker.vue.d.ts +0 -12
  158. package/dist/types/components/or-time-range-picker-v3/OrTimeRangePicker.vue.d.ts +0 -12
  159. package/package.json +6 -5
  160. package/dist/esm/OrConfirm-B0923wGv.mjs.map +0 -1
  161. package/dist/esm/OrDatePicker-B6nxmvTX.mjs.map +0 -1
  162. package/dist/esm/OrDateRangePicker-CW916fb0.mjs.map +0 -1
  163. package/dist/esm/OrDateTimePicker-Cr4LW2fI.mjs.map +0 -1
  164. package/dist/esm/OrDateTimePicker.vue_vue_type_script_lang-lJCMrpTz.mjs +0 -1329
  165. package/dist/esm/OrDateTimePicker.vue_vue_type_script_lang-lJCMrpTz.mjs.map +0 -1
  166. package/dist/esm/OrFilterPopover-rGXIeAtC.mjs.map +0 -1
  167. package/dist/esm/OrInlineInput-CRt919Pq.mjs.map +0 -1
  168. package/dist/esm/OrPopover-B09W4N7y.mjs.map +0 -1
@@ -5,16 +5,16 @@ import { DropdownClose as Se, DropdownOpen as Be } from "@onereach/ui-components
5
5
  import { include as Ce, isNil as Q, toArray as W, exclude as Ae } from "@onereach/ui-components-common/utils";
6
6
  import { O as Ve } from "./OrError-B5ihH6-3.mjs";
7
7
  import { O as $e } from "./OrHint-NvbZyURY.mjs";
8
- import { O as Me } from "./OrIconButton-lovh65nT.mjs";
8
+ import { O as Me } from "./OrIconButton-BlHCLpeW.mjs";
9
9
  import { O as Te } from "./OrInputBox-6ciokFdU.mjs";
10
10
  import { a as Fe } from "./OrInputBox.vue_vue_type_script_lang-q2L7rmth.mjs";
11
11
  import { O as Pe } from "./OrLabel-DssheqEn.mjs";
12
12
  import { O as qe } from "./OrLoader-2SaTMxmZ.mjs";
13
- import { O as De } from "./OrMenuItem-CmEGhN8f.mjs";
14
- import { O as Le } from "./OrPopover-B09W4N7y.mjs";
15
- import { O as Re } from "./OrTagInput-DJTgJDCr.mjs";
16
- import { O as Ee } from "./OrInput-CE9EZ3Ve.mjs";
17
- import { T as ze } from "./OrTags-DvQe4ksh.mjs";
13
+ import { O as De } from "./OrMenuItem-BHRMA0L1.mjs";
14
+ import { O as Le } from "./OrPopover-DbygLPtT.mjs";
15
+ import { O as Re } from "./OrTagInput-CjYmyfIU.mjs";
16
+ import { O as Ee } from "./OrInput-DBcNZlkx.mjs";
17
+ import { T as ze } from "./OrTags-CS0bcLtx.mjs";
18
18
  import { _ as Ne } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
19
19
  const He = [
20
20
  // Layout
@@ -540,4 +540,4 @@ const ko = /* @__PURE__ */ Ne(Ze, [["render", eo]]);
540
540
  export {
541
541
  ko as O
542
542
  };
543
- //# sourceMappingURL=OrAutocomplete-CE-mcFyB.mjs.map
543
+ //# sourceMappingURL=OrAutocomplete-ds-VkL_e.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrAutocomplete-CE-mcFyB.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 { computedAsync, watchTriggerable } from '@vueuse/core';\nimport { PropType, computed, defineComponent, reactive, ref, toRef, nextTick } from 'vue';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue, useResponsive, useValidationAttributes } from '@onereach/ui-components-common/hooks';\nimport { DropdownClose, DropdownOpen } from '@onereach/ui-components-common/directives';\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 { 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 { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { TagsOverflow } from '@onereach/ui-components.or-tags-v3';\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 if (props.multiple) {\n clear();\n }\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-ds-VkL_e.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 { computedAsync, watchTriggerable } from '@vueuse/core';\nimport { PropType, computed, defineComponent, reactive, ref, toRef, nextTick } from 'vue';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue, useResponsive, useValidationAttributes } from '@onereach/ui-components-common/hooks';\nimport { DropdownClose, DropdownOpen } from '@onereach/ui-components-common/directives';\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 { 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 { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { TagsOverflow } from '@onereach/ui-components.or-tags-v3';\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 if (props.multiple) {\n clear();\n }\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,8 +1,8 @@
1
1
  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 M, 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 z, withCtx as P } from "vue";
2
- import { O as D } from "./OrIconButton-lovh65nT.mjs";
2
+ import { O as D } from "./OrIconButton-BlHCLpeW.mjs";
3
3
  import { O as T } from "./OrLoader-2SaTMxmZ.mjs";
4
- import { O as j } from "./OrSearch-Bct822UI.mjs";
5
- import { O as G } from "./OrSorting-Cwz50qEX.mjs";
4
+ import { O as j } from "./OrSearch-1OFONLHk.mjs";
5
+ import { O as G } from "./OrSorting-DCAarSF1.mjs";
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 || {});
8
8
  const I = {
@@ -279,4 +279,4 @@ export {
279
279
  I as g,
280
280
  R as l
281
281
  };
282
- //# sourceMappingURL=OrCardCollection-Coq2jJAv.mjs.map
282
+ //# sourceMappingURL=OrCardCollection-CoE9Umh7.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrCardCollection-Coq2jJAv.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';\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 { computed, defineComponent, PropType, ref, watch } from 'vue';\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 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-CoE9Umh7.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';\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 { computed, defineComponent, PropType, ref, watch } from 'vue';\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 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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"}
@@ -4,8 +4,8 @@ import { basicSetup as po } from "codemirror";
4
4
  import { indentWithTab as yo } from "@codemirror/commands";
5
5
  import { Compartment as F, EditorState as A } from "@codemirror/state";
6
6
  import { keymap as bo, EditorView as $ } from "@codemirror/view";
7
- import { O as ho } from "./OrIconButton-lovh65nT.mjs";
8
- import { O as go } from "./OrModal-C41v-wws.mjs";
7
+ import { O as ho } from "./OrIconButton-BlHCLpeW.mjs";
8
+ import { O as go } from "./OrModal-CQhwUYFk.mjs";
9
9
  import { O as vo } from "./OrError-B5ihH6-3.mjs";
10
10
  import { O as Co } from "./OrHint-NvbZyURY.mjs";
11
11
  import { O as So } from "./OrInputBox-6ciokFdU.mjs";
@@ -351,7 +351,8 @@ const Mo = D({
351
351
  }
352
352
  });
353
353
  return H(E, (e) => {
354
- if (l.composing || l.state.doc.toString() === e) return;
354
+ if (l.composing || l.state.doc.toString() === e)
355
+ return;
355
356
  const t = e ?? "", { selection: u } = l.state;
356
357
  l.dispatch({
357
358
  changes: {
@@ -500,4 +501,4 @@ export {
500
501
  c as C,
501
502
  Po as O
502
503
  };
503
- //# sourceMappingURL=OrCode-CuWS6laZ.mjs.map
504
+ //# sourceMappingURL=OrCode-DzvIFmRm.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrCode-CuWS6laZ.mjs","sources":["../../../components/or-code-v3/src/styles.ts","../../../components/or-code-v3/src/partials/OrCodeControl.vue","../../../components/or-code-v3/src/props.ts","../../../components/or-code-v3/src/OrCode.vue"],"sourcesContent":["export const Code: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const CodeControlRoot: string[] = [\n // Layout\n 'layout-column',\n\n // Sizing\n 'h-full',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const CodeControl: string[] = [\n // Layout\n 'grid',\n\n // Box\n 'w-full',\n 'h-full',\n\n // Spacing\n '!mx-0',\n '!my-0',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n // todo: https://onereach.atlassian.net/browse/UI-580\n 'dark:invert dark:hue-rotate-180',\n];\n\nexport const CodeModal: string[] = [\n // Sizing\n '!h-full',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrLabel\n :control-id=\"controlId\"\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\n <OrInputBox\n :class=\"['grow']\"\n :size=\"'m'\"\n :invalid=\"!!error || !!$slots.error\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'control'\"\n :class=\"controlStyles\"\n />\n </OrInputBox>\n\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 || $slots.error\"\n :disabled=\"disabled\"\n >\n <slot name=\"error\">\n {{ error }}\n </slot>\n </OrError>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { OrErrorV3 as OrError } from '@onereach/ui-components.or-error-v3';\nimport { OrHintV3 as OrHint } from '@onereach/ui-components.or-hint-v3';\nimport { OrInputBoxV3 as OrInputBox } from '@onereach/ui-components.or-input-box-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { CodeControl, CodeControlRoot } from '../styles';\n\nexport default defineComponent({\n name: 'OrCodeControl',\n\n components: {\n OrError,\n OrHint,\n OrInputBox,\n OrLabel,\n },\n\n props: {\n error: {\n type: [String, Boolean],\n default: undefined,\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n controlId: {\n type: String,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n hint: {\n type: String,\n default: undefined,\n },\n },\n\n expose: [\n 'root',\n 'control',\n\n 'focus',\n 'blur',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n const control = ref<HTMLElement>();\n\n // Methods\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n }\n // Styles\n const rootStyles = computed(() => [\n 'or-code-control-v3',\n ...CodeControlRoot,\n ]);\n\n const controlStyles = computed(() => [\n ...CodeControl,\n ]);\n\n return {\n root,\n control,\n rootStyles,\n controlStyles,\n focus,\n blur,\n };\n },\n});\n</script>\n","export enum CodeLanguage {\n HTML = 'html',\n CSS = 'css',\n JS = 'js',\n TS = 'ts',\n JSON = 'json',\n MD = 'md',\n}\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrCodeControl\n :ref=\"'control'\"\n :control-id=\"controlAttributes.id\"\n :label=\"label\"\n :hint=\"hint\"\n :error=\"error\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n >\n <template v-slot:label>\n <slot name=\"label\">\n {{ label }}\n </slot>\n </template>\n <template v-slot:addon>\n <div :class=\"['layout-row', 'gap-xs']\">\n <slot name=\"addon\" />\n\n <OrIconButton\n v-if=\"enableFullscreen\"\n :icon=\"'fullscreen'\"\n @click.stop=\"openFullscreen()\"\n />\n </div>\n </template>\n <template v-slot:hint>\n <slot name=\"hint\">\n {{ hint }}\n </slot>\n </template>\n <template\n v-if=\"$slots.error\"\n v-slot:error\n >\n <slot name=\"error\" />\n </template>\n </OrCodeControl>\n\n <OrModal\n :ref=\"'modal'\"\n :additional-styles=\"modalStyles\"\n :size=\"'l'\"\n >\n <template v-slot:header>\n <slot name=\"label\">\n {{ label }}\n </slot>\n </template>\n\n <OrCodeControl\n :ref=\"'fullscreenControl'\"\n :control-id=\"controlAttributes.id\"\n :hint=\"hint\"\n :error=\"error\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n >\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n <template\n v-if=\"$slots.error\"\n v-slot:error\n >\n <slot name=\"error\" />\n </template>\n </OrCodeControl>\n\n <template\n v-if=\"$slots.modalFooter\"\n v-slot:footer\n >\n <slot name=\"modalFooter\" />\n </template>\n </OrModal>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, onMounted, onUnmounted, reactive, ref, toRef, watch } from 'vue';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue, useTheme, useValidationAttributes } from '@onereach/ui-components-common/hooks';\n\n/* Codemirror core */\nimport { basicSetup } from 'codemirror';\n\nimport { indentWithTab } from '@codemirror/commands';\nimport { Compartment, EditorState, Extension } from '@codemirror/state';\nimport { EditorView, keymap } from '@codemirror/view';\n\n/* Components */\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrModalV3 as OrModal } from '@onereach/ui-components.or-modal-v3';\n\nimport OrCodeControl from './partials/OrCodeControl.vue';\nimport { CodeLanguage } from './props';\nimport { Code, CodeControl, CodeModal } from './styles';\n\nexport default defineComponent({\n name: 'OrCode',\n\n components: {\n OrModal,\n OrCodeControl,\n OrIconButton,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: String,\n default: undefined,\n },\n\n language: {\n type: String as PropType<CodeLanguage>,\n default: () => CodeLanguage.JS,\n },\n\n extensions: {\n type: Array as PropType<Extension[]>,\n default: () => [],\n },\n\n label: {\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 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 // todo: review flag prop, seems better to set 'false' default value\n enableFullscreen: {\n type: Boolean,\n default: true,\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 'editorView',\n 'control',\n 'fullscreenControl',\n 'modal',\n\n 'focus',\n 'blur',\n 'openFullscreen',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const control = ref<InstanceType<typeof OrCodeControl>>();\n const fullscreenControl = ref<InstanceType<typeof OrCodeControl>>();\n\n const modal = ref<InstanceType<typeof OrModal>>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-code-v3',\n ...Code,\n ]);\n\n const controlStyles = computed(() => [\n ...CodeControl,\n ]);\n\n const modalStyles = computed(() => [\n ...CodeModal,\n ]);\n\n const addedExtensionCompartment = new Compartment();\n const languageExtensionCompartment = new Compartment();\n const readonlyExtensionCompartment = new Compartment();\n const disabledExtensionCompartment = new Compartment();\n\n // State\n const controlAttributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n ...useValidationAttributes(),\n });\n\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const getLanguageExtension = async (language: CodeLanguage) => {\n switch (language) {\n case CodeLanguage.HTML:\n return (await import('@codemirror/lang-html')).html();\n\n case CodeLanguage.CSS:\n return (await import('@codemirror/lang-css')).css();\n\n case CodeLanguage.JS:\n return (await import('@codemirror/lang-javascript')).javascript();\n\n case CodeLanguage.TS:\n return (await import('@codemirror/lang-javascript')).javascript({ typescript: true });\n\n case CodeLanguage.JSON:\n return (await import('@codemirror/lang-json')).json();\n\n case CodeLanguage.MD:\n return (await import('@codemirror/lang-markdown')).markdown();\n }\n };\n\n // Methods\n function focus(): void {\n (control.value?.focus as unknown as () => void)?.();\n }\n\n function blur(): void {\n (control.value?.blur as unknown as () => void)?.();\n }\n\n function openFullscreen(): void {\n (modal.value?.open as unknown as () => void)?.();\n }\n\n // #region Codemirror\n const theme = useTheme();\n const defaultExtensions = [\n basicSetup,\n\n keymap.of([\n indentWithTab,\n ]),\n\n EditorView.domEventHandlers({\n input: (event) => {\n context.emit('input', event);\n },\n\n keydown: (event) => {\n context.emit('keydown', event);\n },\n\n keyup: (event) => {\n context.emit('keyup', event);\n },\n\n focus: (event) => {\n context.emit('focus', event);\n },\n\n blur: (event) => {\n context.emit('blur', event);\n },\n }),\n\n EditorView.theme({\n '&': {\n overflow: 'hidden',\n\n color: theme.textColor['on-background'],\n backgroundColor: theme.backgroundColor['background'],\n },\n\n '&.cm-focused': {\n outline: 'none',\n },\n\n '.cm-scroller': {\n fontFamily: theme.fontFamily['caption'],\n fontWeight: theme.fontWeight['caption'],\n fontSize: theme.fontSize['caption'],\n lineHeight: theme.lineHeight['caption'],\n },\n\n '.cm-gutters': {\n color: theme.textColor['on-background'],\n backgroundColor: theme.backgroundColor['primary-opacity-0-12'],\n borderColor: theme.borderColor['outline'],\n\n backdropFilter: 'blur(2px)',\n },\n\n '.cm-activeLineGutter, .cm-activeLine': {\n backgroundColor: theme.backgroundColor['primary-opacity-0-08'],\n },\n }),\n ];\n\n const state = EditorState.create({\n doc: proxyModelValue.value,\n\n extensions: [\n ...defaultExtensions,\n languageExtensionCompartment.of([]),\n addedExtensionCompartment.of(props.extensions),\n readonlyExtensionCompartment.of([EditorState.readOnly.of(props.readonly)]),\n disabledExtensionCompartment.of([EditorView.editable.of(!props.disabled)]),\n ],\n });\n\n const editorView = new EditorView({\n state,\n\n dispatch: (transaction) => {\n editorView.update([\n transaction,\n ]);\n\n if (transaction.docChanged) {\n proxyModelValue.value = String(editorView.state.doc);\n }\n },\n });\n\n watch(proxyModelValue, (value) => {\n if (editorView.composing) return;\n if (editorView.state.doc.toString() === value) return;\n\n const modelValue = value ?? '';\n const { selection } = editorView.state;\n\n editorView!.dispatch({\n changes: {\n from: 0,\n to: editorView!.state.doc.length,\n insert: modelValue,\n },\n\n selection: selection.ranges.some((range) => range.to > modelValue.length) ? { anchor: modelValue.length } : selection,\n });\n });\n\n watch([\n () => props.extensions,\n () => props.language,\n () => props.readonly,\n () => props.disabled,\n ], async ([extensions, language, readonly, disabled], [, prevLanguage, pevReadonly, pevDisabled]) => {\n let effects = [];\n\n if (readonly !== pevReadonly) {\n effects.push(readonlyExtensionCompartment.reconfigure(EditorState.readOnly.of(readonly)));\n }\n\n if (disabled !== pevDisabled) {\n effects.push(disabledExtensionCompartment.reconfigure(EditorView.editable.of(!disabled)));\n }\n\n if (language !== prevLanguage) {\n const languageExt = await getLanguageExtension(language as CodeLanguage);\n\n effects.push(languageExtensionCompartment.reconfigure([languageExt]));\n }\n\n effects.push(addedExtensionCompartment.reconfigure(extensions));\n\n editorView!.dispatch({ effects });\n }, { immediate: true });\n // #endregion\n\n // Effects\n watch(() => modal.value?.state, (value) => {\n setTimeout(() => {\n if (value === 'open') {\n (fullscreenControl.value?.control as unknown as HTMLElement)?.append(editorView.dom);\n } else {\n (control.value?.control as unknown as HTMLElement)?.append(editorView.dom);\n }\n });\n });\n\n // Lifecycle\n onMounted(() => {\n (control.value?.control as unknown as HTMLElement)?.append(editorView.dom);\n });\n\n onUnmounted(() => {\n editorView.destroy();\n });\n\n return {\n root,\n editorView,\n control,\n fullscreenControl,\n modal,\n rootStyles,\n controlStyles,\n modalStyles,\n controlAttributes,\n proxyModelValue,\n focus,\n blur,\n openFullscreen,\n };\n },\n});\n</script>\n"],"names":["Code","CodeControlRoot","CodeControl","CodeModal","_sfc_main$1","defineComponent","OrError","OrHint","OrInputBox","OrLabel","root","ref","control","focus","_a","blur","rootStyles","computed","controlStyles","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_component_OrLabel","_renderSlot","_createVNode","_component_OrInputBox","_withCtx","_createElementVNode","_withDirectives","_createBlock","_component_OrHint","_createCommentVNode","_component_OrError","CodeLanguage","_sfc_main","OrModal","OrCodeControl","OrIconButton","props","context","fullscreenControl","modal","modalStyles","addedExtensionCompartment","Compartment","languageExtensionCompartment","readonlyExtensionCompartment","disabledExtensionCompartment","controlAttributes","reactive","useIdAttribute","useControlAttributes","useValidationAttributes","proxyModelValue","useProxyModelValue","toRef","getLanguageExtension","language","_b","openFullscreen","theme","useTheme","defaultExtensions","basicSetup","keymap","indentWithTab","EditorView","event","state","EditorState","editorView","transaction","watch","value","modelValue","selection","range","extensions","readonly","disabled","prevLanguage","pevReadonly","pevDisabled","effects","languageExt","_d","_c","onMounted","onUnmounted","_component_OrCodeControl","_createSlots","_hoisted_1","_component_OrIconButton","_component_OrModal"],"mappings":"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"}
1
+ {"version":3,"file":"OrCode-DzvIFmRm.mjs","sources":["../../../components/or-code-v3/src/styles.ts","../../../components/or-code-v3/src/partials/OrCodeControl.vue","../../../components/or-code-v3/src/props.ts","../../../components/or-code-v3/src/OrCode.vue"],"sourcesContent":["export const Code: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const CodeControlRoot: string[] = [\n // Layout\n 'layout-column',\n\n // Sizing\n 'h-full',\n\n // Spacing\n 'gap-xs',\n];\n\nexport const CodeControl: string[] = [\n // Layout\n 'grid',\n\n // Box\n 'w-full',\n 'h-full',\n\n // Spacing\n '!mx-0',\n '!my-0',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n // todo: https://onereach.atlassian.net/browse/UI-580\n 'dark:invert dark:hue-rotate-180',\n];\n\nexport const CodeModal: string[] = [\n // Sizing\n '!h-full',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrLabel\n :control-id=\"controlId\"\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\n <OrInputBox\n :class=\"['grow']\"\n :size=\"'m'\"\n :invalid=\"!!error || !!$slots.error\"\n :readonly=\"readonly\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'control'\"\n :class=\"controlStyles\"\n />\n </OrInputBox>\n\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 || $slots.error\"\n :disabled=\"disabled\"\n >\n <slot name=\"error\">\n {{ error }}\n </slot>\n </OrError>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { OrErrorV3 as OrError } from '@onereach/ui-components.or-error-v3';\nimport { OrHintV3 as OrHint } from '@onereach/ui-components.or-hint-v3';\nimport { OrInputBoxV3 as OrInputBox } from '@onereach/ui-components.or-input-box-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { CodeControl, CodeControlRoot } from '../styles';\n\nexport default defineComponent({\n name: 'OrCodeControl',\n\n components: {\n OrError,\n OrHint,\n OrInputBox,\n OrLabel,\n },\n\n props: {\n error: {\n type: [String, Boolean],\n default: undefined,\n },\n\n required: {\n type: Boolean,\n default: false,\n },\n\n controlId: {\n type: String,\n default: undefined,\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n readonly: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n hint: {\n type: String,\n default: undefined,\n },\n },\n\n expose: [\n 'root',\n 'control',\n\n 'focus',\n 'blur',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n const control = ref<HTMLElement>();\n\n // Methods\n function focus(): void {\n control.value?.focus();\n }\n\n function blur(): void {\n control.value?.blur();\n }\n // Styles\n const rootStyles = computed(() => [\n 'or-code-control-v3',\n ...CodeControlRoot,\n ]);\n\n const controlStyles = computed(() => [\n ...CodeControl,\n ]);\n\n return {\n root,\n control,\n rootStyles,\n controlStyles,\n focus,\n blur,\n };\n },\n});\n</script>\n","export enum CodeLanguage {\n HTML = 'html',\n CSS = 'css',\n JS = 'js',\n TS = 'ts',\n JSON = 'json',\n MD = 'md',\n}\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrCodeControl\n :ref=\"'control'\"\n :control-id=\"controlAttributes.id\"\n :label=\"label\"\n :hint=\"hint\"\n :error=\"error\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n >\n <template v-slot:label>\n <slot name=\"label\">\n {{ label }}\n </slot>\n </template>\n <template v-slot:addon>\n <div :class=\"['layout-row', 'gap-xs']\">\n <slot name=\"addon\" />\n\n <OrIconButton\n v-if=\"enableFullscreen\"\n :icon=\"'fullscreen'\"\n @click.stop=\"openFullscreen()\"\n />\n </div>\n </template>\n <template v-slot:hint>\n <slot name=\"hint\">\n {{ hint }}\n </slot>\n </template>\n <template\n v-if=\"$slots.error\"\n v-slot:error\n >\n <slot name=\"error\" />\n </template>\n </OrCodeControl>\n\n <OrModal\n :ref=\"'modal'\"\n :additional-styles=\"modalStyles\"\n :size=\"'l'\"\n >\n <template v-slot:header>\n <slot name=\"label\">\n {{ label }}\n </slot>\n </template>\n\n <OrCodeControl\n :ref=\"'fullscreenControl'\"\n :control-id=\"controlAttributes.id\"\n :hint=\"hint\"\n :error=\"error\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n >\n <template v-slot:addon>\n <slot name=\"addon\" />\n </template>\n <template\n v-if=\"$slots.error\"\n v-slot:error\n >\n <slot name=\"error\" />\n </template>\n </OrCodeControl>\n\n <template\n v-if=\"$slots.modalFooter\"\n v-slot:footer\n >\n <slot name=\"modalFooter\" />\n </template>\n </OrModal>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, onMounted, onUnmounted, reactive, ref, toRef, watch } from 'vue';\nimport { useControlAttributes, useIdAttribute, useProxyModelValue, useTheme, useValidationAttributes } from '@onereach/ui-components-common/hooks';\n\n/* Codemirror core */\nimport { basicSetup } from 'codemirror';\n\nimport { indentWithTab } from '@codemirror/commands';\nimport { Compartment, EditorState, Extension } from '@codemirror/state';\nimport { EditorView, keymap } from '@codemirror/view';\n\n/* Components */\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrModalV3 as OrModal } from '@onereach/ui-components.or-modal-v3';\n\nimport OrCodeControl from './partials/OrCodeControl.vue';\nimport { CodeLanguage } from './props';\nimport { Code, CodeControl, CodeModal } from './styles';\n\nexport default defineComponent({\n name: 'OrCode',\n\n components: {\n OrModal,\n OrCodeControl,\n OrIconButton,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: String,\n default: undefined,\n },\n\n language: {\n type: String as PropType<CodeLanguage>,\n default: () => CodeLanguage.JS,\n },\n\n extensions: {\n type: Array as PropType<Extension[]>,\n default: () => [],\n },\n\n label: {\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 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 // todo: review flag prop, seems better to set 'false' default value\n enableFullscreen: {\n type: Boolean,\n default: true,\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 'editorView',\n 'control',\n 'fullscreenControl',\n 'modal',\n\n 'focus',\n 'blur',\n 'openFullscreen',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const control = ref<InstanceType<typeof OrCodeControl>>();\n const fullscreenControl = ref<InstanceType<typeof OrCodeControl>>();\n\n const modal = ref<InstanceType<typeof OrModal>>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-code-v3',\n ...Code,\n ]);\n\n const controlStyles = computed(() => [\n ...CodeControl,\n ]);\n\n const modalStyles = computed(() => [\n ...CodeModal,\n ]);\n\n const addedExtensionCompartment = new Compartment();\n const languageExtensionCompartment = new Compartment();\n const readonlyExtensionCompartment = new Compartment();\n const disabledExtensionCompartment = new Compartment();\n\n // State\n const controlAttributes = reactive({\n id: useIdAttribute(),\n ...useControlAttributes(),\n ...useValidationAttributes(),\n });\n\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const getLanguageExtension = async (language: CodeLanguage) => {\n switch (language) {\n case CodeLanguage.HTML:\n return (await import('@codemirror/lang-html')).html();\n\n case CodeLanguage.CSS:\n return (await import('@codemirror/lang-css')).css();\n\n case CodeLanguage.JS:\n return (await import('@codemirror/lang-javascript')).javascript();\n\n case CodeLanguage.TS:\n return (await import('@codemirror/lang-javascript')).javascript({ typescript: true });\n\n case CodeLanguage.JSON:\n return (await import('@codemirror/lang-json')).json();\n\n case CodeLanguage.MD:\n return (await import('@codemirror/lang-markdown')).markdown();\n }\n };\n\n // Methods\n function focus(): void {\n (control.value?.focus as unknown as () => void)?.();\n }\n\n function blur(): void {\n (control.value?.blur as unknown as () => void)?.();\n }\n\n function openFullscreen(): void {\n (modal.value?.open as unknown as () => void)?.();\n }\n\n // #region Codemirror\n const theme = useTheme();\n const defaultExtensions = [\n basicSetup,\n\n keymap.of([\n indentWithTab,\n ]),\n\n EditorView.domEventHandlers({\n input: (event) => {\n context.emit('input', event);\n },\n\n keydown: (event) => {\n context.emit('keydown', event);\n },\n\n keyup: (event) => {\n context.emit('keyup', event);\n },\n\n focus: (event) => {\n context.emit('focus', event);\n },\n\n blur: (event) => {\n context.emit('blur', event);\n },\n }),\n\n EditorView.theme({\n '&': {\n overflow: 'hidden',\n\n color: theme.textColor['on-background'],\n backgroundColor: theme.backgroundColor['background'],\n },\n\n '&.cm-focused': {\n outline: 'none',\n },\n\n '.cm-scroller': {\n fontFamily: theme.fontFamily['caption'],\n fontWeight: theme.fontWeight['caption'],\n fontSize: theme.fontSize['caption'],\n lineHeight: theme.lineHeight['caption'],\n },\n\n '.cm-gutters': {\n color: theme.textColor['on-background'],\n backgroundColor: theme.backgroundColor['primary-opacity-0-12'],\n borderColor: theme.borderColor['outline'],\n\n backdropFilter: 'blur(2px)',\n },\n\n '.cm-activeLineGutter, .cm-activeLine': {\n backgroundColor: theme.backgroundColor['primary-opacity-0-08'],\n },\n }),\n ];\n\n const state = EditorState.create({\n doc: proxyModelValue.value,\n\n extensions: [\n ...defaultExtensions,\n languageExtensionCompartment.of([]),\n addedExtensionCompartment.of(props.extensions),\n readonlyExtensionCompartment.of([EditorState.readOnly.of(props.readonly)]),\n disabledExtensionCompartment.of([EditorView.editable.of(!props.disabled)]),\n ],\n });\n\n const editorView = new EditorView({\n state,\n\n dispatch: (transaction) => {\n editorView.update([\n transaction,\n ]);\n\n if (transaction.docChanged) {\n proxyModelValue.value = String(editorView.state.doc);\n }\n },\n });\n\n watch(proxyModelValue, (value) => {\n if (editorView.composing) return;\n if (editorView.state.doc.toString() === value) return;\n\n const modelValue = value ?? '';\n const { selection } = editorView.state;\n\n editorView!.dispatch({\n changes: {\n from: 0,\n to: editorView!.state.doc.length,\n insert: modelValue,\n },\n\n selection: selection.ranges.some((range) => range.to > modelValue.length) ? { anchor: modelValue.length } : selection,\n });\n });\n\n watch([\n () => props.extensions,\n () => props.language,\n () => props.readonly,\n () => props.disabled,\n ], async ([extensions, language, readonly, disabled], [, prevLanguage, pevReadonly, pevDisabled]) => {\n let effects = [];\n\n if (readonly !== pevReadonly) {\n effects.push(readonlyExtensionCompartment.reconfigure(EditorState.readOnly.of(readonly)));\n }\n\n if (disabled !== pevDisabled) {\n effects.push(disabledExtensionCompartment.reconfigure(EditorView.editable.of(!disabled)));\n }\n\n if (language !== prevLanguage) {\n const languageExt = await getLanguageExtension(language as CodeLanguage);\n\n effects.push(languageExtensionCompartment.reconfigure([languageExt]));\n }\n\n effects.push(addedExtensionCompartment.reconfigure(extensions));\n\n editorView!.dispatch({ effects });\n }, { immediate: true });\n // #endregion\n\n // Effects\n watch(() => modal.value?.state, (value) => {\n setTimeout(() => {\n if (value === 'open') {\n (fullscreenControl.value?.control as unknown as HTMLElement)?.append(editorView.dom);\n } else {\n (control.value?.control as unknown as HTMLElement)?.append(editorView.dom);\n }\n });\n });\n\n // Lifecycle\n onMounted(() => {\n (control.value?.control as unknown as HTMLElement)?.append(editorView.dom);\n });\n\n onUnmounted(() => {\n editorView.destroy();\n });\n\n return {\n root,\n editorView,\n control,\n fullscreenControl,\n modal,\n rootStyles,\n controlStyles,\n modalStyles,\n controlAttributes,\n proxyModelValue,\n focus,\n blur,\n openFullscreen,\n };\n },\n});\n</script>\n"],"names":["Code","CodeControlRoot","CodeControl","CodeModal","_sfc_main$1","defineComponent","OrError","OrHint","OrInputBox","OrLabel","root","ref","control","focus","_a","blur","rootStyles","computed","controlStyles","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_component_OrLabel","_renderSlot","_createVNode","_component_OrInputBox","_withCtx","_createElementVNode","_withDirectives","_createBlock","_component_OrHint","_createCommentVNode","_component_OrError","CodeLanguage","_sfc_main","OrModal","OrCodeControl","OrIconButton","props","context","fullscreenControl","modal","modalStyles","addedExtensionCompartment","Compartment","languageExtensionCompartment","readonlyExtensionCompartment","disabledExtensionCompartment","controlAttributes","reactive","useIdAttribute","useControlAttributes","useValidationAttributes","proxyModelValue","useProxyModelValue","toRef","getLanguageExtension","language","_b","openFullscreen","theme","useTheme","defaultExtensions","basicSetup","keymap","indentWithTab","EditorView","event","state","EditorState","editorView","transaction","watch","value","modelValue","selection","range","extensions","readonly","disabled","prevLanguage","pevReadonly","pevDisabled","effects","languageExt","_d","_c","onMounted","onUnmounted","_component_OrCodeControl","_createSlots","_hoisted_1","_component_OrIconButton","_component_OrModal"],"mappings":"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"}