@onereach/ui-components 23.2.0-beta.5525.0 → 23.2.1-beta.5569.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-Dgt2JnQZ.mjs → OrAutocomplete-ds-VkL_e.mjs} +7 -7
  2. package/dist/esm/{OrAutocomplete-Dgt2JnQZ.mjs.map → OrAutocomplete-ds-VkL_e.mjs.map} +1 -1
  3. package/dist/esm/{OrCardCollection-E2JGRJ4r.mjs → OrCardCollection-CoE9Umh7.mjs} +4 -4
  4. package/dist/esm/{OrCardCollection-E2JGRJ4r.mjs.map → OrCardCollection-CoE9Umh7.mjs.map} +1 -1
  5. package/dist/esm/{OrCode-Bs5Wwajd.mjs → OrCode-DzvIFmRm.mjs} +5 -4
  6. package/dist/esm/{OrCode-Bs5Wwajd.mjs.map → OrCode-DzvIFmRm.mjs.map} +1 -1
  7. package/dist/esm/{OrConfirm-Bv7fLNJW.mjs → OrConfirm-BKXhawH9.mjs} +75 -69
  8. package/dist/esm/OrConfirm-BKXhawH9.mjs.map +1 -0
  9. package/dist/esm/{OrContextMenu-BAlrH8Kh.mjs → OrContextMenu-CrpiM2Jq.mjs} +3 -3
  10. package/dist/esm/{OrContextMenu-BAlrH8Kh.mjs.map → OrContextMenu-CrpiM2Jq.mjs.map} +1 -1
  11. package/dist/esm/{OrDataGrid-p3mA4sEn.mjs → OrDataGrid-BML2-j9s.mjs} +11 -11
  12. package/dist/esm/{OrDataGrid-p3mA4sEn.mjs.map → OrDataGrid-BML2-j9s.mjs.map} +1 -1
  13. package/dist/esm/{OrDateFormat-0oDwzhEt.mjs → OrDateFormat-CnNnn2qx.mjs} +2 -2
  14. package/dist/esm/{OrDateFormat-0oDwzhEt.mjs.map → OrDateFormat-CnNnn2qx.mjs.map} +1 -1
  15. package/dist/esm/{OrDatePicker-CNsMyl3o.mjs → OrDatePicker-B8f7IXss.mjs} +103 -88
  16. package/dist/esm/OrDatePicker-B8f7IXss.mjs.map +1 -0
  17. package/dist/esm/{OrDateRangePicker-ChP-n6ot.mjs → OrDateRangePicker-Cs59h-1i.mjs} +167 -145
  18. package/dist/esm/OrDateRangePicker-Cs59h-1i.mjs.map +1 -0
  19. package/dist/esm/{OrDateTimeFormat-Clazknin.mjs → OrDateTimeFormat-B5lV7PfA.mjs} +2 -2
  20. package/dist/esm/{OrDateTimeFormat-Clazknin.mjs.map → OrDateTimeFormat-B5lV7PfA.mjs.map} +1 -1
  21. package/dist/esm/{OrDateTimePicker-S1XuNo8i.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-wwkAZAIe.mjs → OrEditorTabs-psJUG0D3.mjs} +4 -4
  27. package/dist/esm/{OrEditorTabs-wwkAZAIe.mjs.map → OrEditorTabs-psJUG0D3.mjs.map} +1 -1
  28. package/dist/esm/{OrFilter-CjfPvxXH.mjs → OrFilter-C8d3OmGK.mjs} +3 -3
  29. package/dist/esm/{OrFilter-CjfPvxXH.mjs.map → OrFilter-C8d3OmGK.mjs.map} +1 -1
  30. package/dist/esm/{OrFilterPopover-CRKOc1lA.mjs → OrFilterPopover-C8lXb-hJ.mjs} +51 -49
  31. package/dist/esm/OrFilterPopover-C8lXb-hJ.mjs.map +1 -0
  32. package/dist/esm/{OrFilterTrigger-DERgEQLO.mjs → OrFilterTrigger-zfcgyC7C.mjs} +2 -2
  33. package/dist/esm/{OrFilterTrigger-DERgEQLO.mjs.map → OrFilterTrigger-zfcgyC7C.mjs.map} +1 -1
  34. package/dist/esm/{OrIconButton-B-zHXQFi.mjs → OrIconButton-BlHCLpeW.mjs} +2 -2
  35. package/dist/esm/{OrIconButton-B-zHXQFi.mjs.map → OrIconButton-BlHCLpeW.mjs.map} +1 -1
  36. package/dist/esm/{OrInlineInput-DuEuR21u.mjs → OrInlineInput-1WPe9sXl.mjs} +90 -85
  37. package/dist/esm/OrInlineInput-1WPe9sXl.mjs.map +1 -0
  38. package/dist/esm/{OrInlineTextarea-CZnOdIvm.mjs → OrInlineTextarea-COQceBb0.mjs} +2 -2
  39. package/dist/esm/{OrInlineTextarea-CZnOdIvm.mjs.map → OrInlineTextarea-COQceBb0.mjs.map} +1 -1
  40. package/dist/esm/{OrInput-C2GZed13.mjs → OrInput-DBcNZlkx.mjs} +2 -2
  41. package/dist/esm/{OrInput-C2GZed13.mjs.map → OrInput-DBcNZlkx.mjs.map} +1 -1
  42. package/dist/esm/{OrList-Bh4H9w5H.mjs → OrList-CLHvgZc7.mjs} +2 -2
  43. package/dist/esm/{OrList-Bh4H9w5H.mjs.map → OrList-CLHvgZc7.mjs.map} +1 -1
  44. package/dist/esm/{OrMenu-BJOhUIbp.mjs → OrMenu-CJT4Snay.mjs} +2 -2
  45. package/dist/esm/{OrMenu-BJOhUIbp.mjs.map → OrMenu-CJT4Snay.mjs.map} +1 -1
  46. package/dist/esm/{OrMenuItem-B9M4IIT-.mjs → OrMenuItem-BHRMA0L1.mjs} +3 -3
  47. package/dist/esm/{OrMenuItem-B9M4IIT-.mjs.map → OrMenuItem-BHRMA0L1.mjs.map} +1 -1
  48. package/dist/esm/{OrModal-BF11V1pr.mjs → OrModal-CQhwUYFk.mjs} +2 -2
  49. package/dist/esm/{OrModal-BF11V1pr.mjs.map → OrModal-CQhwUYFk.mjs.map} +1 -1
  50. package/dist/esm/{OrNotification-DZBVrojL.mjs → OrNotification-Dz3Tr1wI.mjs} +2 -2
  51. package/dist/esm/{OrNotification-DZBVrojL.mjs.map → OrNotification-Dz3Tr1wI.mjs.map} +1 -1
  52. package/dist/esm/{OrPagination-m5-ZQHNo.mjs → OrPagination-DIacMkVe.mjs} +3 -3
  53. package/dist/esm/{OrPagination-m5-ZQHNo.mjs.map → OrPagination-DIacMkVe.mjs.map} +1 -1
  54. package/dist/esm/{OrPopover-CJCFana0.mjs → OrPopover-DbygLPtT.mjs} +50 -55
  55. package/dist/esm/OrPopover-DbygLPtT.mjs.map +1 -0
  56. package/dist/esm/{OrRangeSlider-ChTyeLp9.mjs → OrRangeSlider-Dim4sU4v.mjs} +3 -3
  57. package/dist/esm/{OrRangeSlider-ChTyeLp9.mjs.map → OrRangeSlider-Dim4sU4v.mjs.map} +1 -1
  58. package/dist/esm/{OrResizeablePanel-BSzX-1no.mjs → OrResizeablePanel-DuGgwmhB.mjs} +2 -2
  59. package/dist/esm/{OrResizeablePanel-BSzX-1no.mjs.map → OrResizeablePanel-DuGgwmhB.mjs.map} +1 -1
  60. package/dist/esm/{OrRichTextEditor-qkLiKVV7.mjs → OrRichTextEditor-YYtRuKat.mjs} +15 -11
  61. package/dist/esm/{OrRichTextEditor-qkLiKVV7.mjs.map → OrRichTextEditor-YYtRuKat.mjs.map} +1 -1
  62. package/dist/esm/{OrRichTooltip-B0vrS6XZ.mjs → OrRichTooltip-D8vv5Btb.mjs} +2 -2
  63. package/dist/esm/{OrRichTooltip-B0vrS6XZ.mjs.map → OrRichTooltip-D8vv5Btb.mjs.map} +1 -1
  64. package/dist/esm/{OrSearch-sdpX_NyT.mjs → OrSearch-1OFONLHk.mjs} +2 -2
  65. package/dist/esm/{OrSearch-sdpX_NyT.mjs.map → OrSearch-1OFONLHk.mjs.map} +1 -1
  66. package/dist/esm/{OrSelect-DW-LgFEy.mjs → OrSelect-Cnklh9us.mjs} +9 -8
  67. package/dist/esm/{OrSelect-DW-LgFEy.mjs.map → OrSelect-Cnklh9us.mjs.map} +1 -1
  68. package/dist/esm/{OrSlider-CAR09YQs.mjs → OrSlider-Cec0WpUQ.mjs} +2 -2
  69. package/dist/esm/{OrSlider-CAR09YQs.mjs.map → OrSlider-Cec0WpUQ.mjs.map} +1 -1
  70. package/dist/esm/{OrSlider.vue_vue_type_script_lang-Rv_2iFAL.mjs → OrSlider.vue_vue_type_script_lang-C5rLh1F0.mjs} +2 -2
  71. package/dist/esm/{OrSlider.vue_vue_type_script_lang-Rv_2iFAL.mjs.map → OrSlider.vue_vue_type_script_lang-C5rLh1F0.mjs.map} +1 -1
  72. package/dist/esm/{OrSorting-S7wzwrKY.mjs → OrSorting-DCAarSF1.mjs} +3 -3
  73. package/dist/esm/{OrSorting-S7wzwrKY.mjs.map → OrSorting-DCAarSF1.mjs.map} +1 -1
  74. package/dist/esm/{OrTabs-U0SytkPx.mjs → OrTabs-BUXLSz8o.mjs} +3 -3
  75. package/dist/esm/{OrTabs-U0SytkPx.mjs.map → OrTabs-BUXLSz8o.mjs.map} +1 -1
  76. package/dist/esm/{OrTag-UJHu-doQ.mjs → OrTag-Bixe0EQq.mjs} +2 -2
  77. package/dist/esm/{OrTag-UJHu-doQ.mjs.map → OrTag-Bixe0EQq.mjs.map} +1 -1
  78. package/dist/esm/{OrTagInput-DCuwuygF.mjs → OrTagInput-CjYmyfIU.mjs} +4 -4
  79. package/dist/esm/{OrTagInput-DCuwuygF.mjs.map → OrTagInput-CjYmyfIU.mjs.map} +1 -1
  80. package/dist/esm/{OrTags-B2TnnI4G.mjs → OrTags-CS0bcLtx.mjs} +3 -3
  81. package/dist/esm/{OrTags-B2TnnI4G.mjs.map → OrTags-CS0bcLtx.mjs.map} +1 -1
  82. package/dist/esm/{OrTimeFormat-BDZhjUrZ.mjs → OrTimeFormat-mxL8_Rx9.mjs} +2 -2
  83. package/dist/esm/{OrTimeFormat-BDZhjUrZ.mjs.map → OrTimeFormat-mxL8_Rx9.mjs.map} +1 -1
  84. package/dist/esm/{OrTimePicker-Cksf5aTz.mjs → OrTimePicker-CQJesQKa.mjs} +4 -4
  85. package/dist/esm/{OrTimePicker-Cksf5aTz.mjs.map → OrTimePicker-CQJesQKa.mjs.map} +1 -1
  86. package/dist/esm/{OrTimeRangePicker-9HnMtrmE.mjs → OrTimeRangePicker-DGvdvq4c.mjs} +4 -4
  87. package/dist/esm/{OrTimeRangePicker-9HnMtrmE.mjs.map → OrTimeRangePicker-DGvdvq4c.mjs.map} +1 -1
  88. package/dist/esm/{OrTooltip-BKfUYlOS.mjs → OrTooltip-DqwjoE82.mjs} +2 -2
  89. package/dist/esm/{OrTooltip-BKfUYlOS.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-16nuRHp7.mjs → props-BxqD8LGb.mjs} +2 -2
  137. package/dist/esm/{props-16nuRHp7.mjs.map → props-BxqD8LGb.mjs.map} +1 -1
  138. package/dist/esm/{types-DDvUDsPq.mjs → types-BwxhurSS.mjs} +2 -2
  139. package/dist/esm/{types-DDvUDsPq.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 +10 -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 +4 -4
  160. package/dist/esm/OrConfirm-Bv7fLNJW.mjs.map +0 -1
  161. package/dist/esm/OrDatePicker-CNsMyl3o.mjs.map +0 -1
  162. package/dist/esm/OrDateRangePicker-ChP-n6ot.mjs.map +0 -1
  163. package/dist/esm/OrDateTimePicker-S1XuNo8i.mjs.map +0 -1
  164. package/dist/esm/OrDateTimePicker.vue_vue_type_script_lang-CZx_jTF6.mjs +0 -1329
  165. package/dist/esm/OrDateTimePicker.vue_vue_type_script_lang-CZx_jTF6.mjs.map +0 -1
  166. package/dist/esm/OrFilterPopover-CRKOc1lA.mjs.map +0 -1
  167. package/dist/esm/OrInlineInput-DuEuR21u.mjs.map +0 -1
  168. package/dist/esm/OrPopover-CJCFana0.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OrList-Bh4H9w5H.mjs","sources":["../../../components/or-list-v3/src/partials/or-list-item/styles.ts","../../../components/or-list-v3/src/partials/or-list-item/OrListItem.vue","../../../components/or-list-v3/src/styles.ts","../../../components/or-list-v3/src/OrList.vue"],"sourcesContent":["export const ListItem: string[] = [\n // Interactivity (draggable)\n 'draggable:interactivity-drag',\n\n // Shape\n 'rounded-md',\n\n // Spacing\n 'px-md md:px-sm',\n 'py-md md:py-sm',\n\n // Theme (hover)\n 'hover:theme-background-primary-translucent-1',\n 'dark:hover:theme-background-primary-translucent-1-dark',\n\n // Theme (focus)\n 'focus-within:theme-outline-primary focus-within:outline-2',\n 'dark:focus-within:theme-outline-primary-dark',\n\n // Theme (selected)\n 'selected:theme-background-primary-translucent-3',\n 'dark:selected:theme-background-primary-translucent-3-dark',\n];\n\nexport const ListItemContent: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-md md:px-sm',\n 'py-md md:py-sm',\n\n 'gap-sm',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n :disabled=\"disabled\"\n :draggable=\"draggable\"\n >\n <div\n :class=\"contentStyles\"\n :disabled=\"disabled\"\n >\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { ListItem, ListItemContent } from './styles';\n\nexport default defineComponent({\n name: 'OrListItem',\n\n props: {\n draggable: {\n type: Boolean,\n default: false,\n },\n\n selected: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-list-item-v3',\n ...ListItem,\n ]);\n\n const contentStyles = computed(() => [\n ...ListItemContent,\n ]);\n\n return {\n root,\n rootStyles,\n\n contentStyles,\n };\n },\n});\n</script>\n","export const List: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-md',\n];\n\nexport const ListHeader: string[] = [];\n\nexport const ListContent: string[] = [];\n\nexport const ListFooter: string[] = [];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <template v-if=\"$slots['header'] || $slots['label'] || $slots['label-addon'] || label\">\n <div :class=\"headerStyles\">\n <slot\n name=\"header\"\n :add-item=\"addItem\"\n :delete-item=\"deleteItem\"\n >\n <OrLabel :disabled=\"disabled\">\n <slot name=\"label\">\n {{ label }}\n </slot>\n\n <template v-slot:addon>\n <slot name=\"label-addon\" />\n </template>\n </OrLabel>\n </slot>\n </div>\n </template>\n\n <div\n :ref=\"'content'\"\n :class=\"contentStyles\"\n >\n <OrListItem\n v-for=\"(item, index) in model\"\n :key=\"item.key || uuid()\"\n :draggable=\"canReorder\"\n :selected=\"selection.includes(item)\"\n :disabled=\"disabled\"\n >\n <div :class=\"['grow']\">\n <slot\n v-bind=\"{\n item,\n index,\n items: model,\n addItem,\n deleteItem\n }\"\n >\n {{ item }}\n </slot>\n </div>\n\n <template v-if=\"canDelete\">\n <OrIconButton\n :icon=\"'delete'\"\n :disabled=\"disabled\"\n @click=\"deleteItem(index)\"\n />\n </template>\n </OrListItem>\n </div>\n\n <template v-if=\"$slots['footer'] || canAdd\">\n <div :class=\"footerStyles\">\n <slot\n name=\"footer\"\n :add-item=\"addItem\"\n :delete-item=\"deleteItem\"\n >\n <template v-if=\"canAdd\">\n <OrButton\n :variant=\"'link'\"\n :disabled=\"disabled\"\n @click=\"addItem()\"\n >\n <slot name=\"add-button\">\n <OrIcon :icon=\"'add'\" /> {{ addButtonLabel }}\n </slot>\n </OrButton>\n </template>\n </slot>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport Sortable from 'sortablejs';\nimport { v4 as uuid } from 'uuid';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrListItem } from './partials';\nimport * as Styles from './styles';\nimport { ListItem } from './types';\n\nexport default defineComponent({\n name: 'OrList',\n\n components: {\n OrButton,\n OrIcon,\n OrIconButton,\n OrLabel,\n OrListItem,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Array as PropType<ListItem[]>,\n default: () => [],\n },\n\n selection: {\n type: Array as PropType<ListItem[]>,\n default: () => [],\n },\n\n itemFactory: {\n type: Function as PropType<() => ListItem>,\n default: () => ({}),\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n addButtonLabel: {\n type: String,\n default: 'Add Item',\n },\n\n canAdd: {\n type: Boolean,\n default: true,\n },\n\n canDelete: {\n type: Boolean,\n default: true,\n },\n\n canReorder: {\n type: Boolean,\n default: true,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'before:add',\n 'before:delete',\n 'before:reorder',\n\n 'add',\n 'delete',\n 'reorder',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-list-v3',\n ...Styles.List,\n ]);\n\n const headerStyles = computed(() => [\n ...Styles.ListHeader,\n ]);\n\n const content = ref<HTMLElement>();\n\n const contentStyles = computed(() => [\n ...Styles.ListContent,\n ]);\n\n const footerStyles = computed(() => [\n ...Styles.ListFooter,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n // Effects\n // #region Sortable\n let sortable: Sortable | undefined;\n\n watch([content, () => props.canReorder], ([content, canReorder]) => {\n sortable?.destroy();\n sortable = undefined;\n\n if (content && canReorder) {\n sortable = Sortable.create(content, {\n disabled: props.disabled,\n\n onUpdate: (event) => {\n context.emit('before:reorder', model.value);\n\n const nextModelValue = [...model.value];\n const reorderedItem = nextModelValue.splice(event.oldIndex!, 1)[0];\n\n nextModelValue.splice(event.newIndex!, 0, reorderedItem);\n\n context.emit('reorder', reorderedItem, event.newIndex, event.oldIndex, model.value = nextModelValue);\n },\n });\n }\n });\n\n watch(() => props.disabled, (value) => {\n sortable?.option('disabled', value);\n });\n // #endregion\n\n // Methods\n function addItem(): void {\n context.emit('before:add', model.value);\n\n const addedItem = props.itemFactory();\n const nextModelValue = [...model.value, addedItem];\n\n context.emit('add', addedItem, nextModelValue.indexOf(addedItem), model.value = nextModelValue);\n }\n\n function deleteItem(index: number): void {\n context.emit('before:delete', model.value);\n\n const deletedItem = model.value[index];\n const nextModelValue = model.value.filter((item) => item !== deletedItem);\n\n context.emit('delete', deletedItem, index, model.value = nextModelValue);\n }\n\n return {\n root,\n rootStyles,\n\n headerStyles,\n\n content,\n contentStyles,\n\n footerStyles,\n\n model,\n\n addItem,\n deleteItem,\n\n uuid,\n };\n },\n});\n</script>\n"],"names":["ListItem","ListItemContent","_sfc_main$1","defineComponent","root","ref","rootStyles","computed","contentStyles","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","List","ListHeader","ListContent","ListFooter","_sfc_main","OrButton","OrIcon","OrIconButton","OrLabel","OrListItem","props","context","Styles.List","headerStyles","Styles.ListHeader","content","Styles.ListContent","footerStyles","Styles.ListFooter","model","useProxyModelValue","toRef","sortable","watch","canReorder","Sortable","event","nextModelValue","reorderedItem","value","addItem","addedItem","deleteItem","index","deletedItem","item","uuid","_hoisted_1","_resolveComponent","_renderSlot","_createVNode","_component_OrLabel","_withCtx","_createCommentVNode","_createElementVNode","_Fragment","_renderList","_createBlock","_component_OrListItem","_hoisted_2","_normalizeProps","_guardReactiveProps","_component_OrIconButton","_component_OrButton","$event","_component_OrIcon"],"mappings":"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"}
1
+ {"version":3,"file":"OrList-CLHvgZc7.mjs","sources":["../../../components/or-list-v3/src/partials/or-list-item/styles.ts","../../../components/or-list-v3/src/partials/or-list-item/OrListItem.vue","../../../components/or-list-v3/src/styles.ts","../../../components/or-list-v3/src/OrList.vue"],"sourcesContent":["export const ListItem: string[] = [\n // Interactivity (draggable)\n 'draggable:interactivity-drag',\n\n // Shape\n 'rounded-md',\n\n // Spacing\n 'px-md md:px-sm',\n 'py-md md:py-sm',\n\n // Theme (hover)\n 'hover:theme-background-primary-translucent-1',\n 'dark:hover:theme-background-primary-translucent-1-dark',\n\n // Theme (focus)\n 'focus-within:theme-outline-primary focus-within:outline-2',\n 'dark:focus-within:theme-outline-primary-dark',\n\n // Theme (selected)\n 'selected:theme-background-primary-translucent-3',\n 'dark:selected:theme-background-primary-translucent-3-dark',\n];\n\nexport const ListItemContent: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-md md:px-sm',\n 'py-md md:py-sm',\n\n 'gap-sm',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n :disabled=\"disabled\"\n :draggable=\"draggable\"\n >\n <div\n :class=\"contentStyles\"\n :disabled=\"disabled\"\n >\n <slot />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { ListItem, ListItemContent } from './styles';\n\nexport default defineComponent({\n name: 'OrListItem',\n\n props: {\n draggable: {\n type: Boolean,\n default: false,\n },\n\n selected: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-list-item-v3',\n ...ListItem,\n ]);\n\n const contentStyles = computed(() => [\n ...ListItemContent,\n ]);\n\n return {\n root,\n rootStyles,\n\n contentStyles,\n };\n },\n});\n</script>\n","export const List: string[] = [\n // Layout\n 'layout-column',\n\n // Spacing\n 'gap-md',\n];\n\nexport const ListHeader: string[] = [];\n\nexport const ListContent: string[] = [];\n\nexport const ListFooter: string[] = [];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <template v-if=\"$slots['header'] || $slots['label'] || $slots['label-addon'] || label\">\n <div :class=\"headerStyles\">\n <slot\n name=\"header\"\n :add-item=\"addItem\"\n :delete-item=\"deleteItem\"\n >\n <OrLabel :disabled=\"disabled\">\n <slot name=\"label\">\n {{ label }}\n </slot>\n\n <template v-slot:addon>\n <slot name=\"label-addon\" />\n </template>\n </OrLabel>\n </slot>\n </div>\n </template>\n\n <div\n :ref=\"'content'\"\n :class=\"contentStyles\"\n >\n <OrListItem\n v-for=\"(item, index) in model\"\n :key=\"item.key || uuid()\"\n :draggable=\"canReorder\"\n :selected=\"selection.includes(item)\"\n :disabled=\"disabled\"\n >\n <div :class=\"['grow']\">\n <slot\n v-bind=\"{\n item,\n index,\n items: model,\n addItem,\n deleteItem\n }\"\n >\n {{ item }}\n </slot>\n </div>\n\n <template v-if=\"canDelete\">\n <OrIconButton\n :icon=\"'delete'\"\n :disabled=\"disabled\"\n @click=\"deleteItem(index)\"\n />\n </template>\n </OrListItem>\n </div>\n\n <template v-if=\"$slots['footer'] || canAdd\">\n <div :class=\"footerStyles\">\n <slot\n name=\"footer\"\n :add-item=\"addItem\"\n :delete-item=\"deleteItem\"\n >\n <template v-if=\"canAdd\">\n <OrButton\n :variant=\"'link'\"\n :disabled=\"disabled\"\n @click=\"addItem()\"\n >\n <slot name=\"add-button\">\n <OrIcon :icon=\"'add'\" /> {{ addButtonLabel }}\n </slot>\n </OrButton>\n </template>\n </slot>\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport Sortable from 'sortablejs';\nimport { v4 as uuid } from 'uuid';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrLabelV3 as OrLabel } from '@onereach/ui-components.or-label-v3';\nimport { OrListItem } from './partials';\nimport * as Styles from './styles';\nimport { ListItem } from './types';\n\nexport default defineComponent({\n name: 'OrList',\n\n components: {\n OrButton,\n OrIcon,\n OrIconButton,\n OrLabel,\n OrListItem,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Array as PropType<ListItem[]>,\n default: () => [],\n },\n\n selection: {\n type: Array as PropType<ListItem[]>,\n default: () => [],\n },\n\n itemFactory: {\n type: Function as PropType<() => ListItem>,\n default: () => ({}),\n },\n\n label: {\n type: String,\n default: undefined,\n },\n\n addButtonLabel: {\n type: String,\n default: 'Add Item',\n },\n\n canAdd: {\n type: Boolean,\n default: true,\n },\n\n canDelete: {\n type: Boolean,\n default: true,\n },\n\n canReorder: {\n type: Boolean,\n default: true,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'before:add',\n 'before:delete',\n 'before:reorder',\n\n 'add',\n 'delete',\n 'reorder',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-list-v3',\n ...Styles.List,\n ]);\n\n const headerStyles = computed(() => [\n ...Styles.ListHeader,\n ]);\n\n const content = ref<HTMLElement>();\n\n const contentStyles = computed(() => [\n ...Styles.ListContent,\n ]);\n\n const footerStyles = computed(() => [\n ...Styles.ListFooter,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n // Effects\n // #region Sortable\n let sortable: Sortable | undefined;\n\n watch([content, () => props.canReorder], ([content, canReorder]) => {\n sortable?.destroy();\n sortable = undefined;\n\n if (content && canReorder) {\n sortable = Sortable.create(content, {\n disabled: props.disabled,\n\n onUpdate: (event) => {\n context.emit('before:reorder', model.value);\n\n const nextModelValue = [...model.value];\n const reorderedItem = nextModelValue.splice(event.oldIndex!, 1)[0];\n\n nextModelValue.splice(event.newIndex!, 0, reorderedItem);\n\n context.emit('reorder', reorderedItem, event.newIndex, event.oldIndex, model.value = nextModelValue);\n },\n });\n }\n });\n\n watch(() => props.disabled, (value) => {\n sortable?.option('disabled', value);\n });\n // #endregion\n\n // Methods\n function addItem(): void {\n context.emit('before:add', model.value);\n\n const addedItem = props.itemFactory();\n const nextModelValue = [...model.value, addedItem];\n\n context.emit('add', addedItem, nextModelValue.indexOf(addedItem), model.value = nextModelValue);\n }\n\n function deleteItem(index: number): void {\n context.emit('before:delete', model.value);\n\n const deletedItem = model.value[index];\n const nextModelValue = model.value.filter((item) => item !== deletedItem);\n\n context.emit('delete', deletedItem, index, model.value = nextModelValue);\n }\n\n return {\n root,\n rootStyles,\n\n headerStyles,\n\n content,\n contentStyles,\n\n footerStyles,\n\n model,\n\n addItem,\n deleteItem,\n\n uuid,\n };\n },\n});\n</script>\n"],"names":["ListItem","ListItemContent","_sfc_main$1","defineComponent","root","ref","rootStyles","computed","contentStyles","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","List","ListHeader","ListContent","ListFooter","_sfc_main","OrButton","OrIcon","OrIconButton","OrLabel","OrListItem","props","context","Styles.List","headerStyles","Styles.ListHeader","content","Styles.ListContent","footerStyles","Styles.ListFooter","model","useProxyModelValue","toRef","sortable","watch","canReorder","Sortable","event","nextModelValue","reorderedItem","value","addItem","addedItem","deleteItem","index","deletedItem","item","uuid","_hoisted_1","_resolveComponent","_renderSlot","_createVNode","_component_OrLabel","_withCtx","_createCommentVNode","_createElementVNode","_Fragment","_renderList","_createBlock","_component_OrListItem","_hoisted_2","_normalizeProps","_guardReactiveProps","_component_OrIconButton","_component_OrButton","$event","_component_OrIcon"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as d, ref as c, computed as i, toRef as v, resolveComponent as y, openBlock as g, createBlock as O, normalizeClass as S, withCtx as P, createElementVNode as C, mergeProps as k, withModifiers as $, renderSlot as w } from "vue";
2
2
  import { usePopoverState as h } from "@onereach/ui-components-common/hooks";
3
- import { O as B, a as M } from "./OrPopover-CJCFana0.mjs";
3
+ import { O as B, a as M } from "./OrPopover-DbygLPtT.mjs";
4
4
  import "@onereach/ui-components-common/utils";
5
5
  import { _ as b } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
6
6
  const j = [
@@ -102,4 +102,4 @@ const q = /* @__PURE__ */ b(A, [["render", N]]);
102
102
  export {
103
103
  q as O
104
104
  };
105
- //# sourceMappingURL=OrMenu-BJOhUIbp.mjs.map
105
+ //# sourceMappingURL=OrMenu-CJT4Snay.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrMenu-BJOhUIbp.mjs","sources":["../../../components/or-menu-v3/src/styles.ts","../../../components/or-menu-v3/src/OrMenu.vue"],"sourcesContent":["export const Menu: string[] = [\n // Layout\n 'overflow-y-auto',\n\n // Box\n 'min-w-[160px]',\n 'md:max-w-[256px]',\n 'max-h-[340px]',\n];\n","<template>\n <OrPopover\n :class=\"popoverStyles\"\n :custom-styles=\"popoverStyles\"\n :is-open=\"state === 'open'\"\n :variant=\"'auto'\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :offset=\"offset\"\n :keep-alive=\"false\"\n @update:state=\"$event === 'open' ? open() : close()\"\n >\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"[rootStyles, ...additionalStyles]\"\n @click.stop=\"onClick($event)\"\n >\n <slot />\n </div>\n </OrPopover>\n</template>\n\n<script lang=\"ts\">\nimport { ReferenceElement } from '@floating-ui/dom';\nimport { computed, defineComponent, PropType, ref, toRef } from 'vue';\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { OrPopoverV3 as OrPopover, PopoverOffset, PopoverPlacement } from '@onereach/ui-components.or-popover-v3';\nimport { Menu } from './styles';\n\nexport default defineComponent({\n name: 'OrMenu',\n\n components: {\n OrPopover,\n },\n\n inheritAttrs: false,\n\n props: {\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n trigger: {\n type: Object as PropType<ReferenceElement>,\n default: undefined,\n },\n\n placement: {\n type: String as PropType<`${PopoverPlacement}`>,\n default: () => PopoverPlacement.Bottom,\n },\n\n offset: {\n type: [Number, Object, Function] as PropType<PopoverOffset>,\n default: 8,\n },\n\n // TODO: Remove after migration to Vue 3\n additionalStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n 'toggle',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-menu-v3',\n ...Menu,\n ]);\n\n const popoverStyles = computed(() => [\n 'or-menu-popover-v3',\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n // Handlers\n function onClick(event: Event): void {\n const path = event.composedPath() as HTMLElement[];\n\n if (path.some(({ classList }) => classList?.contains('or-menu-item-v3'))) {\n close();\n }\n }\n\n return {\n root,\n rootStyles,\n popoverStyles,\n state,\n open,\n close,\n toggle,\n onClick,\n };\n },\n});\n</script>\n"],"names":["Menu","_sfc_main","defineComponent","OrPopover","PopoverPlacement","props","context","root","ref","rootStyles","computed","popoverStyles","state","open","close","toggle","usePopoverState","toRef","onClick","event","classList","_resolveComponent","_openBlock","_createBlock","_component_OrPopover","_normalizeClass","_ctx","_cache","$event","_withCtx","_createElementVNode","_mergeProps","_withModifiers"],"mappings":";;;;;AAAO,MAAMA,IAAiB;AAAA;AAAA,EAE5B;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AACF,GCsBAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,WAAAC;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,EAEd,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAMC,EAAiB;AAAA,IAClC;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM,CAAC,QAAQ,QAAQ,QAAQ;AAAA,MAC/B,SAAS;AAAA,IACX;AAAA;AAAA,IAGA,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAGPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGV;AAAA,IAAA,CACJ,GAEKW,IAAgBD,EAAS,MAAM;AAAA,MACnC;AAAA,IAAA,CACD,GAGK,EAAE,OAAAE,GAAO,MAAAC,GAAM,OAAAC,GAAO,QAAAC,EAAO,IAAIC,EAAgBC,EAAMZ,GAAO,QAAQ,GAAGC,EAAQ,IAAI;AAG3F,aAASY,EAAQC,GAAoB;AAG/B,MAFSA,EAAM,eAEV,KAAK,CAAC,EAAE,WAAAC,QAAgBA,KAAA,gBAAAA,EAAW,SAAS,kBAAkB,KAC/DN;IAEV;AAEO,WAAA;AAAA,MACL,MAAAP;AAAA,MACA,YAAAE;AAAA,MACA,eAAAE;AAAA,MACA,OAAAC;AAAA,MACA,MAAAC;AAAA,MACA,OAAAC;AAAA,MACA,QAAAC;AAAA,MACA,SAAAG;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;YAxHCG,EAmBY,WAAA;AAjBT,SAAAC,EAAA,GAA4BC,EAAAC,GAAA;AAAA,IAC5B,OAAcC,EAAAC,EAAA,aAAA;AAAA,IACd,iBAAeA,EAAA;AAAA,IACf,WAASA,EAAO,UAAA;AAAA,IAChB,SAAS;AAAA,IACT,SAAQA,EAAA;AAAA,IACR,WAAYA,EAAA;AAAA,IACZ,QAAAA,EAAA;AAAA,IAAA,cAAA;AAAA,sBAEDC,EAOM,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAA,MAAA,SAAAF,EAAA,KAAA,IAAAA,EAAA,MAAA;AAAA,EAAA,GAAA;AAAA,aALEG,EAAM,MAAA;AAAA,MACHC,EAAA,OAAUC,EAAKL,EAAgB,QAAA;AAAA,QACvC,KAAA;AAAA,QAAA,OAAA,CAAAA,EAAA,YAAA,GAAAA,EAAA,gBAAA;AAAA,QAED,SAAQC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAK,EAAA,CAAAJ,MAAAF,EAAA,QAAAE,CAAA,GAAA,CAAA,MAAA,CAAA;AAAA,MAAA,CAAA,GAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"OrMenu-CJT4Snay.mjs","sources":["../../../components/or-menu-v3/src/styles.ts","../../../components/or-menu-v3/src/OrMenu.vue"],"sourcesContent":["export const Menu: string[] = [\n // Layout\n 'overflow-y-auto',\n\n // Box\n 'min-w-[160px]',\n 'md:max-w-[256px]',\n 'max-h-[340px]',\n];\n","<template>\n <OrPopover\n :class=\"popoverStyles\"\n :custom-styles=\"popoverStyles\"\n :is-open=\"state === 'open'\"\n :variant=\"'auto'\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :offset=\"offset\"\n :keep-alive=\"false\"\n @update:state=\"$event === 'open' ? open() : close()\"\n >\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"[rootStyles, ...additionalStyles]\"\n @click.stop=\"onClick($event)\"\n >\n <slot />\n </div>\n </OrPopover>\n</template>\n\n<script lang=\"ts\">\nimport { ReferenceElement } from '@floating-ui/dom';\nimport { computed, defineComponent, PropType, ref, toRef } from 'vue';\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { OrPopoverV3 as OrPopover, PopoverOffset, PopoverPlacement } from '@onereach/ui-components.or-popover-v3';\nimport { Menu } from './styles';\n\nexport default defineComponent({\n name: 'OrMenu',\n\n components: {\n OrPopover,\n },\n\n inheritAttrs: false,\n\n props: {\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n trigger: {\n type: Object as PropType<ReferenceElement>,\n default: undefined,\n },\n\n placement: {\n type: String as PropType<`${PopoverPlacement}`>,\n default: () => PopoverPlacement.Bottom,\n },\n\n offset: {\n type: [Number, Object, Function] as PropType<PopoverOffset>,\n default: 8,\n },\n\n // TODO: Remove after migration to Vue 3\n additionalStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n 'toggle',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-menu-v3',\n ...Menu,\n ]);\n\n const popoverStyles = computed(() => [\n 'or-menu-popover-v3',\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n // Handlers\n function onClick(event: Event): void {\n const path = event.composedPath() as HTMLElement[];\n\n if (path.some(({ classList }) => classList?.contains('or-menu-item-v3'))) {\n close();\n }\n }\n\n return {\n root,\n rootStyles,\n popoverStyles,\n state,\n open,\n close,\n toggle,\n onClick,\n };\n },\n});\n</script>\n"],"names":["Menu","_sfc_main","defineComponent","OrPopover","PopoverPlacement","props","context","root","ref","rootStyles","computed","popoverStyles","state","open","close","toggle","usePopoverState","toRef","onClick","event","classList","_resolveComponent","_openBlock","_createBlock","_component_OrPopover","_normalizeClass","_ctx","_cache","$event","_withCtx","_createElementVNode","_mergeProps","_withModifiers"],"mappings":";;;;;AAAO,MAAMA,IAAiB;AAAA;AAAA,EAE5B;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AACF,GCsBAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,WAAAC;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,EAEd,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAMC,EAAiB;AAAA,IAClC;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM,CAAC,QAAQ,QAAQ,QAAQ;AAAA,MAC/B,SAAS;AAAA,IACX;AAAA;AAAA,IAGA,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAGPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGV;AAAA,IAAA,CACJ,GAEKW,IAAgBD,EAAS,MAAM;AAAA,MACnC;AAAA,IAAA,CACD,GAGK,EAAE,OAAAE,GAAO,MAAAC,GAAM,OAAAC,GAAO,QAAAC,EAAO,IAAIC,EAAgBC,EAAMZ,GAAO,QAAQ,GAAGC,EAAQ,IAAI;AAG3F,aAASY,EAAQC,GAAoB;AAG/B,MAFSA,EAAM,eAEV,KAAK,CAAC,EAAE,WAAAC,QAAgBA,KAAA,gBAAAA,EAAW,SAAS,kBAAkB,KAC/DN;IAEV;AAEO,WAAA;AAAA,MACL,MAAAP;AAAA,MACA,YAAAE;AAAA,MACA,eAAAE;AAAA,MACA,OAAAC;AAAA,MACA,MAAAC;AAAA,MACA,OAAAC;AAAA,MACA,QAAAC;AAAA,MACA,SAAAG;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;YAxHCG,EAmBY,WAAA;AAjBT,SAAAC,EAAA,GAA4BC,EAAAC,GAAA;AAAA,IAC5B,OAAcC,EAAAC,EAAA,aAAA;AAAA,IACd,iBAAeA,EAAA;AAAA,IACf,WAASA,EAAO,UAAA;AAAA,IAChB,SAAS;AAAA,IACT,SAAQA,EAAA;AAAA,IACR,WAAYA,EAAA;AAAA,IACZ,QAAAA,EAAA;AAAA,IAAA,cAAA;AAAA,sBAEDC,EAOM,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAA,MAAA,SAAAF,EAAA,KAAA,IAAAA,EAAA,MAAA;AAAA,EAAA,GAAA;AAAA,aALEG,EAAM,MAAA;AAAA,MACHC,EAAA,OAAUC,EAAKL,EAAgB,QAAA;AAAA,QACvC,KAAA;AAAA,QAAA,OAAA,CAAAA,EAAA,YAAA,GAAAA,EAAA,gBAAA;AAAA,QAED,SAAQC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAK,EAAA,CAAAJ,MAAAF,EAAA,QAAAE,CAAA,GAAA,CAAA,MAAA,CAAA;AAAA,MAAA,CAAA,GAAA;AAAA;;;;;;;"}
@@ -1,8 +1,8 @@
1
1
  import { defineComponent as h, ref as l, computed as s, resolveComponent as u, openBlock as i, createElementBlock as g, normalizeClass as m, createBlock as v, mergeProps as O, createCommentVNode as c, createElementVNode as b, renderSlot as B, Fragment as $, createVNode as S, withModifiers as M } from "vue";
2
2
  import { useIntersectionObserver as T } from "@vueuse/core";
3
- import { O as w } from "./OrIconButton-B-zHXQFi.mjs";
3
+ import { O as w } from "./OrIconButton-BlHCLpeW.mjs";
4
4
  import { O as C, I as k } from "./OrIcon-k8cyvh-D.mjs";
5
- import { O as V } from "./OrTooltip-BKfUYlOS.mjs";
5
+ import { O as V } from "./OrTooltip-DqwjoE82.mjs";
6
6
  import { _ as P } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
7
7
  const N = [
8
8
  // Group
@@ -154,4 +154,4 @@ const K = /* @__PURE__ */ P(W, [["render", R]]);
154
154
  export {
155
155
  K as O
156
156
  };
157
- //# sourceMappingURL=OrMenuItem-B9M4IIT-.mjs.map
157
+ //# sourceMappingURL=OrMenuItem-BHRMA0L1.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrMenuItem-B9M4IIT-.mjs","sources":["../../../components/or-menu-item-v3/src/styles.ts","../../../components/or-menu-item-v3/src/OrMenuItem.vue"],"sourcesContent":["export const MenuItem: string[] = [\n // Group\n 'group',\n\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-lg md:px-sm',\n 'py-sm+ md:py-sm',\n\n 'gap-sm md:gap-sm',\n\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-body-2-regular md:typography-caption-regular',\n\n // Typography (selected)\n 'selected:typography-body-2-semibold selected:md:typography-caption-semibold',\n\n // Theme\n 'theme-preset-3-primary',\n 'dark:theme-preset-3-primary-dark',\n\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n\n // Theme (selected)\n 'selected:theme-foreground-default',\n 'dark:selected:theme-foreground-default-dark',\n\n 'selected:bg-primary-opacity-0-08',\n 'dark:selected:bg-primary-opacity-0-08-dark',\n\n\n // Theme (hover)\n 'hover:md:theme-foreground-default',\n 'dark:hover:md:theme-foreground-default-dark',\n\n // Theme (active)\n 'active:theme-foreground-default',\n 'dark:active:theme-foreground-default-dark',\n];\n\nexport const MenuItemIcon: string[] = [\n // Iconography (hover)\n 'group-hover:iconography-filled',\n];\n\nexport const MenuItemIconSelected: string[] = [\n // Iconography (selected)\n 'selected:iconography-filled',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :tabindex=\"!disabled ? 0 : undefined\"\n :selected=\"selected\"\n :disabled=\"disabled\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n <template v-if=\"icon && iconProps.icon\">\n <OrIcon\n :class=\"iconStyles\"\n v-bind=\"iconProps\"\n />\n </template>\n <div\n ref=\"content\"\n :class=\"['truncate', 'w-full']\"\n @mouseover=\"tooltip && tooltip.open()\"\n @mouseout=\"tooltip && tooltip.close()\"\n >\n <slot />\n </div>\n\n <template v-if=\"closeButton\">\n <div :class=\"['grow']\" />\n\n <OrIconButton\n :icon=\"'close'\"\n :disabled=\"disabled\"\n @click.stop=\"$emit('close')\"\n />\n </template>\n <OrTooltip\n v-if=\"isTooltipShown\"\n ref=\"tooltip\"\n :content=\"tooltipText\"\n :trigger=\"root\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref } from 'vue';\nimport { useIntersectionObserver } from '@vueuse/core';\n\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { IconVariant, OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrTooltipV3 as OrTooltip } from '@onereach/ui-components.or-tooltip-v3';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrMenuItem',\n\n components: {\n OrIcon,\n OrIconButton,\n OrTooltip,\n },\n\n props: {\n icon: {\n type: [String, Object] as PropType<string | InstanceType<typeof OrIcon>['$props']>,\n default: undefined,\n },\n\n closeButton: {\n type: Boolean,\n default: false,\n },\n\n selected: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n tooltipText: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n\n 'close',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n const content = ref<HTMLDivElement>();\n const tooltip = ref<InstanceType<typeof OrTooltip>>();\n const isRootVisible = ref(false);\n const { stop } = useIntersectionObserver(root, ([{ isIntersecting }]) => {\n isRootVisible.value = isIntersecting;\n });\n\n // Styles\n const rootStyles = computed(() => [\n 'or-menu-item-v3',\n ...Styles.MenuItem,\n ]);\n\n const iconStyles = computed(() => [\n ...Styles.MenuItemIcon,\n ...props.selected ? Styles.MenuItemIconSelected : [],\n ]);\n\n const iconProps = computed(() => {\n return typeof props.icon === 'string'\n ? {\n icon: props.icon,\n variant: IconVariant.Inherit,\n }\n : {\n variant: IconVariant.Inherit,\n ...(props.icon as object),\n };\n });\n\n // Tooltip display logic\n const isTooltipShown = computed<boolean>(() => {\n if (isRootVisible.value) {\n return content.value !== undefined && content.value.clientWidth < content.value.scrollWidth;\n }\n return false;\n });\n\n return {\n content,\n root,\n tooltip,\n rootStyles,\n iconStyles,\n isTooltipShown,\n iconProps,\n isRootVisible,\n stop,\n };\n },\n});\n</script>\n"],"names":["MenuItem","MenuItemIcon","MenuItemIconSelected","_sfc_main","defineComponent","OrIcon","OrIconButton","OrTooltip","props","root","ref","content","tooltip","isRootVisible","stop","useIntersectionObserver","isIntersecting","rootStyles","computed","Styles.MenuItem","iconStyles","Styles.MenuItemIcon","Styles.MenuItemIconSelected","iconProps","IconVariant","isTooltipShown","_hoisted_1","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_cache","$event","_createBlock","_component_OrIcon","_mergeProps","_createCommentVNode","_createElementVNode","_renderSlot","_Fragment","_hoisted_2","_component_OrIconButton","_component_OrTooltip"],"mappings":"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"}
1
+ {"version":3,"file":"OrMenuItem-BHRMA0L1.mjs","sources":["../../../components/or-menu-item-v3/src/styles.ts","../../../components/or-menu-item-v3/src/OrMenuItem.vue"],"sourcesContent":["export const MenuItem: string[] = [\n // Group\n 'group',\n\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-lg md:px-sm',\n 'py-sm+ md:py-sm',\n\n 'gap-sm md:gap-sm',\n\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-body-2-regular md:typography-caption-regular',\n\n // Typography (selected)\n 'selected:typography-body-2-semibold selected:md:typography-caption-semibold',\n\n // Theme\n 'theme-preset-3-primary',\n 'dark:theme-preset-3-primary-dark',\n\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n\n // Theme (selected)\n 'selected:theme-foreground-default',\n 'dark:selected:theme-foreground-default-dark',\n\n 'selected:bg-primary-opacity-0-08',\n 'dark:selected:bg-primary-opacity-0-08-dark',\n\n\n // Theme (hover)\n 'hover:md:theme-foreground-default',\n 'dark:hover:md:theme-foreground-default-dark',\n\n // Theme (active)\n 'active:theme-foreground-default',\n 'dark:active:theme-foreground-default-dark',\n];\n\nexport const MenuItemIcon: string[] = [\n // Iconography (hover)\n 'group-hover:iconography-filled',\n];\n\nexport const MenuItemIconSelected: string[] = [\n // Iconography (selected)\n 'selected:iconography-filled',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :tabindex=\"!disabled ? 0 : undefined\"\n :selected=\"selected\"\n :disabled=\"disabled\"\n @click=\"$emit('click', $event)\"\n @focus=\"$emit('focus', $event)\"\n @blur=\"$emit('blur', $event)\"\n >\n <template v-if=\"icon && iconProps.icon\">\n <OrIcon\n :class=\"iconStyles\"\n v-bind=\"iconProps\"\n />\n </template>\n <div\n ref=\"content\"\n :class=\"['truncate', 'w-full']\"\n @mouseover=\"tooltip && tooltip.open()\"\n @mouseout=\"tooltip && tooltip.close()\"\n >\n <slot />\n </div>\n\n <template v-if=\"closeButton\">\n <div :class=\"['grow']\" />\n\n <OrIconButton\n :icon=\"'close'\"\n :disabled=\"disabled\"\n @click.stop=\"$emit('close')\"\n />\n </template>\n <OrTooltip\n v-if=\"isTooltipShown\"\n ref=\"tooltip\"\n :content=\"tooltipText\"\n :trigger=\"root\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref } from 'vue';\nimport { useIntersectionObserver } from '@vueuse/core';\n\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { IconVariant, OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrTooltipV3 as OrTooltip } from '@onereach/ui-components.or-tooltip-v3';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrMenuItem',\n\n components: {\n OrIcon,\n OrIconButton,\n OrTooltip,\n },\n\n props: {\n icon: {\n type: [String, Object] as PropType<string | InstanceType<typeof OrIcon>['$props']>,\n default: undefined,\n },\n\n closeButton: {\n type: Boolean,\n default: false,\n },\n\n selected: {\n type: Boolean,\n default: false,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n tooltipText: {\n type: String,\n default: '',\n },\n },\n\n emits: [\n 'click',\n 'focus',\n 'blur',\n\n 'close',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n const content = ref<HTMLDivElement>();\n const tooltip = ref<InstanceType<typeof OrTooltip>>();\n const isRootVisible = ref(false);\n const { stop } = useIntersectionObserver(root, ([{ isIntersecting }]) => {\n isRootVisible.value = isIntersecting;\n });\n\n // Styles\n const rootStyles = computed(() => [\n 'or-menu-item-v3',\n ...Styles.MenuItem,\n ]);\n\n const iconStyles = computed(() => [\n ...Styles.MenuItemIcon,\n ...props.selected ? Styles.MenuItemIconSelected : [],\n ]);\n\n const iconProps = computed(() => {\n return typeof props.icon === 'string'\n ? {\n icon: props.icon,\n variant: IconVariant.Inherit,\n }\n : {\n variant: IconVariant.Inherit,\n ...(props.icon as object),\n };\n });\n\n // Tooltip display logic\n const isTooltipShown = computed<boolean>(() => {\n if (isRootVisible.value) {\n return content.value !== undefined && content.value.clientWidth < content.value.scrollWidth;\n }\n return false;\n });\n\n return {\n content,\n root,\n tooltip,\n rootStyles,\n iconStyles,\n isTooltipShown,\n iconProps,\n isRootVisible,\n stop,\n };\n },\n});\n</script>\n"],"names":["MenuItem","MenuItemIcon","MenuItemIconSelected","_sfc_main","defineComponent","OrIcon","OrIconButton","OrTooltip","props","root","ref","content","tooltip","isRootVisible","stop","useIntersectionObserver","isIntersecting","rootStyles","computed","Styles.MenuItem","iconStyles","Styles.MenuItemIcon","Styles.MenuItemIconSelected","iconProps","IconVariant","isTooltipShown","_hoisted_1","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_cache","$event","_createBlock","_component_OrIcon","_mergeProps","_createCommentVNode","_createElementVNode","_renderSlot","_Fragment","_hoisted_2","_component_OrIconButton","_component_OrTooltip"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { defineComponent as i, ref as f, computed as $, openBlock as p, createEl
2
2
  import { usePopoverState as b } from "@onereach/ui-components-common/hooks";
3
3
  import { O as B } from "./OrOverlay-BjrghiC-.mjs";
4
4
  import { _ as y } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
5
- import { O as F } from "./OrIconButton-B-zHXQFi.mjs";
5
+ import { O as F } from "./OrIconButton-BlHCLpeW.mjs";
6
6
  import { useResponsive as H } from "@onereach/ui-components-common";
7
7
  const z = [
8
8
  // Overflow
@@ -238,4 +238,4 @@ export {
238
238
  m as M,
239
239
  to as O
240
240
  };
241
- //# sourceMappingURL=OrModal-BF11V1pr.mjs.map
241
+ //# sourceMappingURL=OrModal-CQhwUYFk.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrModal-BF11V1pr.mjs","sources":["../../../components/or-modal-v3/src/partials/or-modal-content/styles.ts","../../../components/or-modal-v3/src/partials/or-modal-content/OrModalContent.vue","../../../components/or-modal-v3/src/partials/or-modal-footer/styles.ts","../../../components/or-modal-v3/src/partials/or-modal-footer/OrModalFooter.vue","../../../components/or-modal-v3/src/partials/or-modal-header/styles.ts","../../../components/or-modal-v3/src/partials/or-modal-header/OrModalHeader.vue","../../../components/or-modal-v3/src/props.ts","../../../components/or-modal-v3/src/styles.ts","../../../components/or-modal-v3/src/OrModal.vue"],"sourcesContent":["export const ModalContent: string[] = [\n // Overflow\n 'overflow-auto',\n\n // Spacing\n 'px-md md:px-lg',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { ModalContent } from './styles';\n\nexport default defineComponent({\n name: 'OrModalContent',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-modal-content',\n ...ModalContent,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const ModalFooter: string[] = [\n // Spacing\n 'px-md md:px-lg',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { ModalFooter } from './styles';\n\nexport default defineComponent({\n name: 'OrModalFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-modal-footer',\n ...ModalFooter,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const ModalHeader: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-md md:px-lg pb-sm md:pb-none',\n\n // Typography\n 'typography-headline-2',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"['grow']\">\n <slot />\n </div>\n\n <OrIconButton\n :icon=\"'close'\"\n :size=\"isMobile ? 'l': 'xl'\"\n @click.stop=\"$emit('close')\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { useResponsive } from '@onereach/ui-components-common';\nimport { ModalHeader } from './styles';\n\n\nexport default defineComponent({\n name: 'OrModalHeader',\n\n components: {\n OrIconButton,\n },\n\n emits: [\n 'close',\n ],\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n\n const { isMobile } = useResponsive();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-modal-header',\n ...ModalHeader,\n ]);\n\n return {\n root,\n rootStyles,\n isMobile,\n };\n },\n});\n</script>\n","export enum ModalSize {\n L = 'l',\n M = 'm',\n S = 's',\n}\n","import { ModalSize } from './props';\n\nexport const Modal: string[] = [\n // Layout\n 'layout-column',\n\n // Box\n 'xs:w-full sm:w-full',\n 'xs:h-full sm:h-full md:h-auto md:max-h-[min(calc(100%-(2*theme(spacing.3xl))),772px)]',\n\n // Spacing\n 'py-md md:py-lg',\n 'gap-md md:gap-lg',\n\n // Shape\n 'md:rounded-md',\n\n // Elevation\n 'shadow-modal',\n 'dark:shadow-modal-dark',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const ModalSizes: Record<ModalSize, string[]> = {\n [ModalSize.L]: [\n // Box\n 'md:w-[1050px]',\n ],\n\n [ModalSize.M]: [\n // Box\n 'md:w-[700px]',\n ],\n\n [ModalSize.S]: [\n // Box\n 'md:w-[480px]',\n ],\n};\n","<template>\n <OrOverlay\n v-if=\"state === 'open'\"\n :fullscreen=\"true\"\n >\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrModalHeader @close=\"close()\">\n <slot name=\"header\" />\n </OrModalHeader>\n\n <OrModalContent :class=\"['grow']\">\n <slot />\n </OrModalContent>\n\n <OrModalFooter v-if=\"$slots.footer\">\n <slot name=\"footer\" />\n </OrModalFooter>\n </div>\n </OrOverlay>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref, toRef } from 'vue';\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { OrOverlayV3 as OrOverlay } from '@onereach/ui-components.or-overlay-v3';\nimport OrModalContent from './partials/or-modal-content/OrModalContent.vue';\nimport OrModalFooter from './partials/or-modal-footer/OrModalFooter.vue';\nimport OrModalHeader from './partials/or-modal-header/OrModalHeader.vue';\nimport { ModalSize } from './props';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrModal',\n\n components: {\n OrModalContent,\n OrModalFooter,\n OrModalHeader,\n OrOverlay,\n },\n\n inheritAttrs: false,\n\n props: {\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n size: {\n type: String as PropType<`${ModalSize}`>,\n default: () => ModalSize.M,\n },\n\n // TODO: Remove after migration to Vue 3\n additionalStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-modal-v3',\n ...Styles.Modal,\n ...Styles.ModalSizes[props.size],\n ...props.additionalStyles,\n ]);\n\n // State\n const { state, open, close } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n return {\n root,\n rootStyles,\n\n state,\n\n open,\n close,\n };\n },\n});\n</script>\n"],"names":["ModalContent","_sfc_main$3","defineComponent","root","ref","rootStyles","computed","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","ModalFooter","_sfc_main$2","ModalHeader","_sfc_main$1","OrIconButton","isMobile","useResponsive","_resolveComponent","_renderSlot","_component_OrIconButton","ModalSize","Modal","ModalSizes","_sfc_main","OrModalContent","OrModalFooter","OrModalHeader","OrOverlay","props","context","Styles.Modal","Styles.ModalSizes","state","open","close","usePopoverState","toRef","_component_OrOverlay","_createBlock","_withCtx","_createElementVNode","_mergeProps","_createVNode","_component_OrModalHeader","$event","_component_OrModalFooter"],"mappings":"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"}
1
+ {"version":3,"file":"OrModal-CQhwUYFk.mjs","sources":["../../../components/or-modal-v3/src/partials/or-modal-content/styles.ts","../../../components/or-modal-v3/src/partials/or-modal-content/OrModalContent.vue","../../../components/or-modal-v3/src/partials/or-modal-footer/styles.ts","../../../components/or-modal-v3/src/partials/or-modal-footer/OrModalFooter.vue","../../../components/or-modal-v3/src/partials/or-modal-header/styles.ts","../../../components/or-modal-v3/src/partials/or-modal-header/OrModalHeader.vue","../../../components/or-modal-v3/src/props.ts","../../../components/or-modal-v3/src/styles.ts","../../../components/or-modal-v3/src/OrModal.vue"],"sourcesContent":["export const ModalContent: string[] = [\n // Overflow\n 'overflow-auto',\n\n // Spacing\n 'px-md md:px-lg',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { ModalContent } from './styles';\n\nexport default defineComponent({\n name: 'OrModalContent',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-modal-content',\n ...ModalContent,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const ModalFooter: string[] = [\n // Spacing\n 'px-md md:px-lg',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { ModalFooter } from './styles';\n\nexport default defineComponent({\n name: 'OrModalFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-modal-footer',\n ...ModalFooter,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const ModalHeader: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-md md:px-lg pb-sm md:pb-none',\n\n // Typography\n 'typography-headline-2',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"['grow']\">\n <slot />\n </div>\n\n <OrIconButton\n :icon=\"'close'\"\n :size=\"isMobile ? 'l': 'xl'\"\n @click.stop=\"$emit('close')\"\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { useResponsive } from '@onereach/ui-components-common';\nimport { ModalHeader } from './styles';\n\n\nexport default defineComponent({\n name: 'OrModalHeader',\n\n components: {\n OrIconButton,\n },\n\n emits: [\n 'close',\n ],\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs\n const root = ref<HTMLElement>();\n\n const { isMobile } = useResponsive();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-modal-header',\n ...ModalHeader,\n ]);\n\n return {\n root,\n rootStyles,\n isMobile,\n };\n },\n});\n</script>\n","export enum ModalSize {\n L = 'l',\n M = 'm',\n S = 's',\n}\n","import { ModalSize } from './props';\n\nexport const Modal: string[] = [\n // Layout\n 'layout-column',\n\n // Box\n 'xs:w-full sm:w-full',\n 'xs:h-full sm:h-full md:h-auto md:max-h-[min(calc(100%-(2*theme(spacing.3xl))),772px)]',\n\n // Spacing\n 'py-md md:py-lg',\n 'gap-md md:gap-lg',\n\n // Shape\n 'md:rounded-md',\n\n // Elevation\n 'shadow-modal',\n 'dark:shadow-modal-dark',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const ModalSizes: Record<ModalSize, string[]> = {\n [ModalSize.L]: [\n // Box\n 'md:w-[1050px]',\n ],\n\n [ModalSize.M]: [\n // Box\n 'md:w-[700px]',\n ],\n\n [ModalSize.S]: [\n // Box\n 'md:w-[480px]',\n ],\n};\n","<template>\n <OrOverlay\n v-if=\"state === 'open'\"\n :fullscreen=\"true\"\n >\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <OrModalHeader @close=\"close()\">\n <slot name=\"header\" />\n </OrModalHeader>\n\n <OrModalContent :class=\"['grow']\">\n <slot />\n </OrModalContent>\n\n <OrModalFooter v-if=\"$slots.footer\">\n <slot name=\"footer\" />\n </OrModalFooter>\n </div>\n </OrOverlay>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref, toRef } from 'vue';\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { OrOverlayV3 as OrOverlay } from '@onereach/ui-components.or-overlay-v3';\nimport OrModalContent from './partials/or-modal-content/OrModalContent.vue';\nimport OrModalFooter from './partials/or-modal-footer/OrModalFooter.vue';\nimport OrModalHeader from './partials/or-modal-header/OrModalHeader.vue';\nimport { ModalSize } from './props';\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrModal',\n\n components: {\n OrModalContent,\n OrModalFooter,\n OrModalHeader,\n OrOverlay,\n },\n\n inheritAttrs: false,\n\n props: {\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n size: {\n type: String as PropType<`${ModalSize}`>,\n default: () => ModalSize.M,\n },\n\n // TODO: Remove after migration to Vue 3\n additionalStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-modal-v3',\n ...Styles.Modal,\n ...Styles.ModalSizes[props.size],\n ...props.additionalStyles,\n ]);\n\n // State\n const { state, open, close } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n return {\n root,\n rootStyles,\n\n state,\n\n open,\n close,\n };\n },\n});\n</script>\n"],"names":["ModalContent","_sfc_main$3","defineComponent","root","ref","rootStyles","computed","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","ModalFooter","_sfc_main$2","ModalHeader","_sfc_main$1","OrIconButton","isMobile","useResponsive","_resolveComponent","_renderSlot","_component_OrIconButton","ModalSize","Modal","ModalSizes","_sfc_main","OrModalContent","OrModalFooter","OrModalHeader","OrOverlay","props","context","Styles.Modal","Styles.ModalSizes","state","open","close","usePopoverState","toRef","_component_OrOverlay","_createBlock","_withCtx","_createElementVNode","_mergeProps","_createVNode","_component_OrModalHeader","$event","_component_OrModalFooter"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { defineComponent as p, ref as g, computed as d, resolveComponent as m, openBlock as l, createElementBlock as f, normalizeClass as t, createElementVNode as a, createVNode as y, normalizeProps as h, guardReactiveProps as _, renderSlot as v, createTextVNode as b, toDisplayString as I, createBlock as w, withModifiers as O, createCommentVNode as S } from "vue";
2
- import { O as C } from "./OrIconButton-B-zHXQFi.mjs";
2
+ import { O as C } from "./OrIconButton-BlHCLpeW.mjs";
3
3
  import { O as N, I as n } from "./OrIndicator-CCrOseW7.mjs";
4
4
  import { _ as B } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
5
5
  var o = /* @__PURE__ */ ((r) => (r.Success = "success", r.Warning = "warning", r.Error = "error", r.Info = "info", r))(o || {});
@@ -147,4 +147,4 @@ export {
147
147
  F as O,
148
148
  $ as V
149
149
  };
150
- //# sourceMappingURL=OrNotification-DZBVrojL.mjs.map
150
+ //# sourceMappingURL=OrNotification-Dz3Tr1wI.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrNotification-DZBVrojL.mjs","sources":["../../../components/or-notification-v3/src/props.ts","../../../components/or-notification-v3/src/styles.ts","../../../components/or-notification-v3/src/OrNotification.vue"],"sourcesContent":["export enum NotificationVariant {\n Success = 'success',\n Warning = 'warning',\n Error = 'error',\n Info = 'info',\n}\n\nexport const VariantToIconName: { [key in NotificationVariant]: string } = {\n [NotificationVariant.Success]: 'check_circle',\n [NotificationVariant.Warning]: 'warning',\n [NotificationVariant.Error]: 'error',\n [NotificationVariant.Info]: 'info',\n};\n","import { NotificationVariant } from './props';\n\nexport const Notification: string[] = [\n // Layout\n 'layout-row items-start',\n\n // Shape\n 'rounded-md',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-md',\n\n // Typography\n 'typography-body-2-regular',\n\n // Typography (children)\n '[&_:any-link]:typography-body-2-bold',\n\n // Elevation\n 'shadow-contextual',\n 'dark:shadow-contextual-dark',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const NotificationVariants: Record<NotificationVariant, string[]> = {\n [NotificationVariant.Success]: [\n // Theme\n 'theme-background-success-container',\n 'dark:theme-background-success-container-dark',\n\n // Theme (children)\n '[&_:any-link]:theme-foreground-success',\n 'dark:[&_:any-link]:theme-foreground-success-dark',\n ],\n\n [NotificationVariant.Warning]: [\n // Theme\n 'theme-background-warning-container',\n 'dark:theme-background-warning-container-dark',\n\n // Theme (children)\n '[&_:any-link]:theme-foreground-warning',\n 'dark:[&_:any-link]:theme-foreground-warning-dark',\n ],\n\n [NotificationVariant.Error]: [\n // Theme\n 'theme-background-error-container',\n 'dark:theme-background-error-container-dark',\n\n // Theme (children)\n '[&_:any-link]:theme-foreground-error',\n 'dark:[&_:any-link]:theme-foreground-error-dark',\n ],\n\n [NotificationVariant.Info]: [\n // Theme\n 'theme-background-primary-container',\n 'dark:theme-background-primary-container-dark',\n\n // Theme (children)\n '[&_:any-link]:theme-foreground-primary',\n 'dark:[&_:any-link]:theme-foreground-primary-dark',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"['mt-[2px] md:mt-[2.5px]']\">\n <OrIndicator v-bind=\"indicatorProps\" />\n </div>\n\n <div :class=\"['grow']\">\n <slot> {{ message }} </slot>\n </div>\n\n <div :class=\"['mt-[2px] md:mt-[2.5px]']\">\n <OrIconButton\n v-if=\"!disableClose\"\n :icon=\"'close'\"\n :size=\"'m'\"\n @click.stop=\"$emit('close')\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref } from 'vue';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrIndicatorV3 as OrIndicator, IndicatorColor } from '@onereach/ui-components.or-indicator-v3';\nimport { NotificationVariant, VariantToIconName } from './props';\nimport { Notification, NotificationVariants } from './styles';\n\nexport default defineComponent({\n name: 'OrNotification',\n\n components: {\n OrIndicator,\n OrIconButton,\n },\n\n props: {\n variant: {\n type: String as PropType<`${NotificationVariant}`>,\n default: () => NotificationVariant.Info,\n },\n\n disableClose: {\n type: Boolean,\n default: false,\n },\n\n message: {\n type: String,\n default: undefined,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-notification-v3',\n ...Notification,\n ...NotificationVariants[props.variant],\n ]);\n\n const indicatorProps = computed(() => {\n const VariantToIndicatorColor: { [key in NotificationVariant]: IndicatorColor } = {\n [NotificationVariant.Success]: IndicatorColor.Success,\n [NotificationVariant.Warning]: IndicatorColor.Warning,\n [NotificationVariant.Error]: IndicatorColor.Error,\n [NotificationVariant.Info]: IndicatorColor.Neutral,\n };\n return {\n icon: {\n icon: VariantToIconName[props.variant],\n variant: 'filled-bold',\n },\n color: VariantToIndicatorColor[props.variant],\n size: 'm',\n };\n });\n\n return {\n root,\n rootStyles,\n indicatorProps,\n };\n },\n});\n</script>\n"],"names":["NotificationVariant","VariantToIconName","Notification","NotificationVariants","_sfc_main","defineComponent","OrIndicator","OrIconButton","props","root","ref","rootStyles","computed","indicatorProps","VariantToIndicatorColor","IndicatorColor","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createVNode","_component_OrIndicator","_normalizeProps","_guardReactiveProps","_createElementVNode","_hoisted_2","_renderSlot","_hoisted_3","_createBlock","_component_OrIconButton"],"mappings":"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"}
1
+ {"version":3,"file":"OrNotification-Dz3Tr1wI.mjs","sources":["../../../components/or-notification-v3/src/props.ts","../../../components/or-notification-v3/src/styles.ts","../../../components/or-notification-v3/src/OrNotification.vue"],"sourcesContent":["export enum NotificationVariant {\n Success = 'success',\n Warning = 'warning',\n Error = 'error',\n Info = 'info',\n}\n\nexport const VariantToIconName: { [key in NotificationVariant]: string } = {\n [NotificationVariant.Success]: 'check_circle',\n [NotificationVariant.Warning]: 'warning',\n [NotificationVariant.Error]: 'error',\n [NotificationVariant.Info]: 'info',\n};\n","import { NotificationVariant } from './props';\n\nexport const Notification: string[] = [\n // Layout\n 'layout-row items-start',\n\n // Shape\n 'rounded-md',\n\n // Spacing\n 'px-md',\n 'py-md',\n\n 'gap-md',\n\n // Typography\n 'typography-body-2-regular',\n\n // Typography (children)\n '[&_:any-link]:typography-body-2-bold',\n\n // Elevation\n 'shadow-contextual',\n 'dark:shadow-contextual-dark',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n];\n\nexport const NotificationVariants: Record<NotificationVariant, string[]> = {\n [NotificationVariant.Success]: [\n // Theme\n 'theme-background-success-container',\n 'dark:theme-background-success-container-dark',\n\n // Theme (children)\n '[&_:any-link]:theme-foreground-success',\n 'dark:[&_:any-link]:theme-foreground-success-dark',\n ],\n\n [NotificationVariant.Warning]: [\n // Theme\n 'theme-background-warning-container',\n 'dark:theme-background-warning-container-dark',\n\n // Theme (children)\n '[&_:any-link]:theme-foreground-warning',\n 'dark:[&_:any-link]:theme-foreground-warning-dark',\n ],\n\n [NotificationVariant.Error]: [\n // Theme\n 'theme-background-error-container',\n 'dark:theme-background-error-container-dark',\n\n // Theme (children)\n '[&_:any-link]:theme-foreground-error',\n 'dark:[&_:any-link]:theme-foreground-error-dark',\n ],\n\n [NotificationVariant.Info]: [\n // Theme\n 'theme-background-primary-container',\n 'dark:theme-background-primary-container-dark',\n\n // Theme (children)\n '[&_:any-link]:theme-foreground-primary',\n 'dark:[&_:any-link]:theme-foreground-primary-dark',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"['mt-[2px] md:mt-[2.5px]']\">\n <OrIndicator v-bind=\"indicatorProps\" />\n </div>\n\n <div :class=\"['grow']\">\n <slot> {{ message }} </slot>\n </div>\n\n <div :class=\"['mt-[2px] md:mt-[2.5px]']\">\n <OrIconButton\n v-if=\"!disableClose\"\n :icon=\"'close'\"\n :size=\"'m'\"\n @click.stop=\"$emit('close')\"\n />\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref } from 'vue';\nimport { OrIconButtonV3 as OrIconButton } from '@onereach/ui-components.or-icon-button-v3';\nimport { OrIndicatorV3 as OrIndicator, IndicatorColor } from '@onereach/ui-components.or-indicator-v3';\nimport { NotificationVariant, VariantToIconName } from './props';\nimport { Notification, NotificationVariants } from './styles';\n\nexport default defineComponent({\n name: 'OrNotification',\n\n components: {\n OrIndicator,\n OrIconButton,\n },\n\n props: {\n variant: {\n type: String as PropType<`${NotificationVariant}`>,\n default: () => NotificationVariant.Info,\n },\n\n disableClose: {\n type: Boolean,\n default: false,\n },\n\n message: {\n type: String,\n default: undefined,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-notification-v3',\n ...Notification,\n ...NotificationVariants[props.variant],\n ]);\n\n const indicatorProps = computed(() => {\n const VariantToIndicatorColor: { [key in NotificationVariant]: IndicatorColor } = {\n [NotificationVariant.Success]: IndicatorColor.Success,\n [NotificationVariant.Warning]: IndicatorColor.Warning,\n [NotificationVariant.Error]: IndicatorColor.Error,\n [NotificationVariant.Info]: IndicatorColor.Neutral,\n };\n return {\n icon: {\n icon: VariantToIconName[props.variant],\n variant: 'filled-bold',\n },\n color: VariantToIndicatorColor[props.variant],\n size: 'm',\n };\n });\n\n return {\n root,\n rootStyles,\n indicatorProps,\n };\n },\n});\n</script>\n"],"names":["NotificationVariant","VariantToIconName","Notification","NotificationVariants","_sfc_main","defineComponent","OrIndicator","OrIconButton","props","root","ref","rootStyles","computed","indicatorProps","VariantToIndicatorColor","IndicatorColor","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createVNode","_component_OrIndicator","_normalizeProps","_guardReactiveProps","_createElementVNode","_hoisted_2","_renderSlot","_hoisted_3","_createBlock","_component_OrIconButton"],"mappings":"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"}
@@ -2,8 +2,8 @@ import { defineComponent as K, ref as O, computed as n, toRef as Q, resolveCompo
2
2
  import { useProxyModelValue as U, useResponsive as W } from "@onereach/ui-components-common/hooks";
3
3
  import { O as X } from "./OrButton-C_hXddAf.mjs";
4
4
  import { O as Y } from "./OrIcon-k8cyvh-D.mjs";
5
- import { O as Z } from "./OrMenuItem-B9M4IIT-.mjs";
6
- import { O as _ } from "./OrMenu-BJOhUIbp.mjs";
5
+ import { O as Z } from "./OrMenuItem-BHRMA0L1.mjs";
6
+ import { O as _ } from "./OrMenu-CJT4Snay.mjs";
7
7
  import { _ as x } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
8
8
  const ee = [
9
9
  // Layout
@@ -330,4 +330,4 @@ const pe = /* @__PURE__ */ x(re, [["render", le]]);
330
330
  export {
331
331
  pe as O
332
332
  };
333
- //# sourceMappingURL=OrPagination-m5-ZQHNo.mjs.map
333
+ //# sourceMappingURL=OrPagination-DIacMkVe.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrPagination-m5-ZQHNo.mjs","sources":["../../../components/or-pagination-v3/src/styles.ts","../../../components/or-pagination-v3/src/OrPagination.vue"],"sourcesContent":["export const Pagination: string[] = [\n // Layout\n 'layout-row justify-between md:justify-end',\n\n // Spacing\n 'gap-xl',\n\n // Typography\n 'typography-caption-regular',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n];\n\nexport const PaginationLimitGroup: string[] = [\n // Layout\n 'layout-row shrink-0',\n\n // Spacing\n 'gap-lg md:gap-md',\n];\n\nexport const PaginationOffsetGroup: string[] = [\n // Layout\n 'layout-row shrink-0',\n\n // Spacing\n 'gap-md',\n];\n\nexport const PaginationItem: string[] = [\n // Typography\n 'typography-caption-regular',\n\n // Typography (activated)\n 'activated:typography-caption-bold',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"limitGroupStyles\">\n <template v-if=\"features.limit\">\n <div :class=\"['layout-row', 'gap-sm']\">\n Per page:\n\n <OrButton\n :ref=\"'limitButton'\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"true\"\n @click=\"limitMenu && limitMenu.toggle()\"\n >\n {{ currentLimit }} <OrIcon :icon=\"limitMenu && limitMenu.state === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'\" />\n </OrButton>\n\n <OrMenu\n :ref=\"'limitMenu'\"\n :additional-styles=\"['min-w-[60px]']\"\n :trigger=\"limitButtonRoot\"\n :placement=\"'top'\"\n >\n <OrMenuItem\n v-for=\"limit of options\"\n :key=\"limit\"\n :selected=\"currentLimit === limit\"\n @click=\"currentLimit = limit; limitMenu && limitMenu.close()\"\n >\n {{ limit }}\n </OrMenuItem>\n </OrMenu>\n </div>\n </template>\n\n <template v-if=\"features.range\">\n {{ currentOffset + 1 }}-{{ Math.min(currentOffset + currentLimit, length) }} of {{ length }}\n </template>\n </div>\n\n <div :class=\"offsetGroupStyles\">\n <OrButton\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"currentPage === firstPage\"\n @click=\"toPreviousPage()\"\n >\n <OrIcon :icon=\"'keyboard_arrow_left'\" />\n </OrButton>\n\n <template v-if=\"isDesktop\">\n <OrButton\n v-for=\"(page, index) of buttonGroup\"\n :key=\"index\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"currentPage === page\"\n @click=\"typeof page === 'number' && toPage(page)\"\n >\n {{ page }}\n </OrButton>\n </template>\n\n <template v-if=\"isMobile\">\n <OrButton\n :ref=\"'offsetButton'\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"true\"\n @click=\"offsetMenu && offsetMenu.open()\"\n >\n {{ currentPage }} <OrIcon :icon=\"offsetMenu && offsetMenu.state === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'\" />\n </OrButton>\n\n <OrMenu\n :ref=\"'offsetMenu'\"\n :additional-styles=\"['min-w-[60px]']\"\n :trigger=\"offsetButtonRoot\"\n :placement=\"'top'\"\n >\n <OrMenuItem\n v-for=\"page of lastPage\"\n :key=\"page\"\n :selected=\"currentPage === page\"\n @click=\"currentPage = page; offsetMenu && offsetMenu.close()\"\n >\n {{ page }}\n </OrMenuItem>\n </OrMenu>\n </template>\n\n <OrButton\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"currentPage === lastPage\"\n @click=\"toNextPage()\"\n >\n <OrIcon :icon=\"'keyboard_arrow_right'\" />\n </OrButton>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref, toRef } from 'vue';\nimport { useProxyModelValue, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrMenuV3 as OrMenu } from '@onereach/ui-components.or-menu-v3';\nimport * as Styles from './styles';\nimport { PaginationFeatures, PaginationModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrPagination',\n\n components: {\n OrButton,\n OrIcon,\n OrMenu,\n OrMenuItem,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<PaginationModelValue>,\n default: undefined,\n },\n\n length: {\n type: Number,\n required: true,\n },\n\n options: {\n type: Array as PropType<number[]>,\n default: () => [50, 20, 10, 5],\n },\n\n features: {\n type: Object as PropType<PaginationFeatures>,\n\n default: () => ({\n limit: true,\n range: true,\n }) as PaginationFeatures,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-pagination-v3',\n ...Styles.Pagination,\n ]);\n\n const limitButton = ref<InstanceType<typeof OrButton>>();\n const limitButtonRoot = computed(() => limitButton.value?.root);\n\n const limitMenu = ref<InstanceType<typeof OrMenu>>();\n const limitMenuRoot = computed(() => limitMenu.value?.root);\n\n const limitGroupStyles = computed(() => [\n ...Styles.PaginationLimitGroup,\n ]);\n\n const offsetButton = ref<InstanceType<typeof OrButton>>();\n const offsetButtonRoot = computed(() => offsetButton.value?.root);\n\n const offsetMenu = ref<InstanceType<typeof OrMenu>>();\n const offsetMenuRoot = computed(() => offsetMenu.value?.root);\n\n const offsetGroupStyles = computed(() => [\n ...Styles.PaginationOffsetGroup,\n ]);\n\n const itemStyles = computed(() => [\n ...Styles.PaginationItem,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const currentLimit = computed<number>({\n get: () => model.value?.limit ?? props.options[0],\n\n set: (value) => {\n model.value = {\n limit: value,\n offset: 0,\n };\n },\n });\n\n const currentOffset = computed<number>({\n get: () => model.value?.offset ?? 0,\n\n set: (value) => {\n model.value = {\n limit: currentLimit.value,\n offset: value,\n };\n },\n });\n\n const currentPage = computed<number>({\n get: () => Math.floor(currentOffset.value / currentLimit.value) + 1,\n\n set: (value) => {\n currentOffset.value = (value - 1) * currentLimit.value;\n },\n });\n\n const firstPage = computed<number>(() => {\n return 1;\n });\n\n const lastPage = computed<number>(() => {\n return Math.ceil(props.length / currentLimit.value);\n });\n\n const buttonGroup = computed<(number | string)[]>(() => {\n const pages = Array.from({ length: lastPage.value }, (_, index) => index + 1);\n\n switch (true) {\n case lastPage.value <= 7:\n return pages;\n\n case currentPage.value < firstPage.value + 4:\n return [\n ...pages.slice(0, 5),\n '…',\n lastPage.value,\n ];\n\n case currentPage.value > lastPage.value - 4:\n return [\n firstPage.value,\n '…',\n ...pages.slice(-5),\n ];\n\n default:\n return pages\n .map((page) => {\n switch (true) {\n case page > firstPage.value && page < currentPage.value - 1:\n case page < lastPage.value && page > currentPage.value + 1:\n return '…';\n\n default:\n return page;\n }\n })\n .reduce((accumulator, page) => {\n if (accumulator[accumulator.length - 1] === page) {\n return accumulator;\n }\n\n return [...accumulator, page];\n }, [] as (number | string)[]);\n }\n });\n\n // Methods\n function toPreviousPage(): void {\n currentPage.value = currentPage.value - 1;\n }\n\n function toNextPage(): void {\n currentPage.value = currentPage.value + 1;\n }\n\n function toPage(page: number): void {\n currentPage.value = page;\n }\n\n // Helpers\n const { isDesktop, isMobile } = useResponsive();\n\n return {\n root,\n rootStyles,\n\n limitButton,\n limitButtonRoot,\n\n limitMenu,\n limitMenuRoot,\n\n limitGroupStyles,\n\n offsetButton,\n offsetButtonRoot,\n\n offsetMenu,\n offsetMenuRoot,\n\n offsetGroupStyles,\n\n itemStyles,\n\n model,\n\n currentLimit,\n currentOffset,\n currentPage,\n\n firstPage,\n lastPage,\n\n buttonGroup,\n\n toPreviousPage,\n toNextPage,\n toPage,\n\n isDesktop,\n isMobile,\n };\n },\n});\n</script>\n"],"names":["Pagination","PaginationLimitGroup","PaginationOffsetGroup","PaginationItem","_sfc_main","defineComponent","OrButton","OrIcon","OrMenu","OrMenuItem","props","context","root","ref","rootStyles","computed","Styles.Pagination","limitButton","limitButtonRoot","_a","limitMenu","limitMenuRoot","limitGroupStyles","Styles.PaginationLimitGroup","offsetButton","offsetButtonRoot","offsetMenu","offsetMenuRoot","offsetGroupStyles","Styles.PaginationOffsetGroup","itemStyles","Styles.PaginationItem","model","useProxyModelValue","toRef","currentLimit","value","currentOffset","currentPage","firstPage","lastPage","buttonGroup","pages","_","index","page","accumulator","toPreviousPage","toNextPage","toPage","isDesktop","isMobile","useResponsive","_hoisted_1","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createTextVNode","_createVNode","_component_OrButton","_cache","$event","_withCtx","_toDisplayString","_component_OrIcon","_component_OrMenu","_Fragment","_renderList","limit","_component_OrMenuItem","_createCommentVNode","_createElementVNode","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"OrPagination-DIacMkVe.mjs","sources":["../../../components/or-pagination-v3/src/styles.ts","../../../components/or-pagination-v3/src/OrPagination.vue"],"sourcesContent":["export const Pagination: string[] = [\n // Layout\n 'layout-row justify-between md:justify-end',\n\n // Spacing\n 'gap-xl',\n\n // Typography\n 'typography-caption-regular',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n];\n\nexport const PaginationLimitGroup: string[] = [\n // Layout\n 'layout-row shrink-0',\n\n // Spacing\n 'gap-lg md:gap-md',\n];\n\nexport const PaginationOffsetGroup: string[] = [\n // Layout\n 'layout-row shrink-0',\n\n // Spacing\n 'gap-md',\n];\n\nexport const PaginationItem: string[] = [\n // Typography\n 'typography-caption-regular',\n\n // Typography (activated)\n 'activated:typography-caption-bold',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"limitGroupStyles\">\n <template v-if=\"features.limit\">\n <div :class=\"['layout-row', 'gap-sm']\">\n Per page:\n\n <OrButton\n :ref=\"'limitButton'\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"true\"\n @click=\"limitMenu && limitMenu.toggle()\"\n >\n {{ currentLimit }} <OrIcon :icon=\"limitMenu && limitMenu.state === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'\" />\n </OrButton>\n\n <OrMenu\n :ref=\"'limitMenu'\"\n :additional-styles=\"['min-w-[60px]']\"\n :trigger=\"limitButtonRoot\"\n :placement=\"'top'\"\n >\n <OrMenuItem\n v-for=\"limit of options\"\n :key=\"limit\"\n :selected=\"currentLimit === limit\"\n @click=\"currentLimit = limit; limitMenu && limitMenu.close()\"\n >\n {{ limit }}\n </OrMenuItem>\n </OrMenu>\n </div>\n </template>\n\n <template v-if=\"features.range\">\n {{ currentOffset + 1 }}-{{ Math.min(currentOffset + currentLimit, length) }} of {{ length }}\n </template>\n </div>\n\n <div :class=\"offsetGroupStyles\">\n <OrButton\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"currentPage === firstPage\"\n @click=\"toPreviousPage()\"\n >\n <OrIcon :icon=\"'keyboard_arrow_left'\" />\n </OrButton>\n\n <template v-if=\"isDesktop\">\n <OrButton\n v-for=\"(page, index) of buttonGroup\"\n :key=\"index\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"currentPage === page\"\n @click=\"typeof page === 'number' && toPage(page)\"\n >\n {{ page }}\n </OrButton>\n </template>\n\n <template v-if=\"isMobile\">\n <OrButton\n :ref=\"'offsetButton'\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"true\"\n @click=\"offsetMenu && offsetMenu.open()\"\n >\n {{ currentPage }} <OrIcon :icon=\"offsetMenu && offsetMenu.state === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'\" />\n </OrButton>\n\n <OrMenu\n :ref=\"'offsetMenu'\"\n :additional-styles=\"['min-w-[60px]']\"\n :trigger=\"offsetButtonRoot\"\n :placement=\"'top'\"\n >\n <OrMenuItem\n v-for=\"page of lastPage\"\n :key=\"page\"\n :selected=\"currentPage === page\"\n @click=\"currentPage = page; offsetMenu && offsetMenu.close()\"\n >\n {{ page }}\n </OrMenuItem>\n </OrMenu>\n </template>\n\n <OrButton\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"currentPage === lastPage\"\n @click=\"toNextPage()\"\n >\n <OrIcon :icon=\"'keyboard_arrow_right'\" />\n </OrButton>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref, toRef } from 'vue';\nimport { useProxyModelValue, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrMenuV3 as OrMenu } from '@onereach/ui-components.or-menu-v3';\nimport * as Styles from './styles';\nimport { PaginationFeatures, PaginationModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrPagination',\n\n components: {\n OrButton,\n OrIcon,\n OrMenu,\n OrMenuItem,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<PaginationModelValue>,\n default: undefined,\n },\n\n length: {\n type: Number,\n required: true,\n },\n\n options: {\n type: Array as PropType<number[]>,\n default: () => [50, 20, 10, 5],\n },\n\n features: {\n type: Object as PropType<PaginationFeatures>,\n\n default: () => ({\n limit: true,\n range: true,\n }) as PaginationFeatures,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-pagination-v3',\n ...Styles.Pagination,\n ]);\n\n const limitButton = ref<InstanceType<typeof OrButton>>();\n const limitButtonRoot = computed(() => limitButton.value?.root);\n\n const limitMenu = ref<InstanceType<typeof OrMenu>>();\n const limitMenuRoot = computed(() => limitMenu.value?.root);\n\n const limitGroupStyles = computed(() => [\n ...Styles.PaginationLimitGroup,\n ]);\n\n const offsetButton = ref<InstanceType<typeof OrButton>>();\n const offsetButtonRoot = computed(() => offsetButton.value?.root);\n\n const offsetMenu = ref<InstanceType<typeof OrMenu>>();\n const offsetMenuRoot = computed(() => offsetMenu.value?.root);\n\n const offsetGroupStyles = computed(() => [\n ...Styles.PaginationOffsetGroup,\n ]);\n\n const itemStyles = computed(() => [\n ...Styles.PaginationItem,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const currentLimit = computed<number>({\n get: () => model.value?.limit ?? props.options[0],\n\n set: (value) => {\n model.value = {\n limit: value,\n offset: 0,\n };\n },\n });\n\n const currentOffset = computed<number>({\n get: () => model.value?.offset ?? 0,\n\n set: (value) => {\n model.value = {\n limit: currentLimit.value,\n offset: value,\n };\n },\n });\n\n const currentPage = computed<number>({\n get: () => Math.floor(currentOffset.value / currentLimit.value) + 1,\n\n set: (value) => {\n currentOffset.value = (value - 1) * currentLimit.value;\n },\n });\n\n const firstPage = computed<number>(() => {\n return 1;\n });\n\n const lastPage = computed<number>(() => {\n return Math.ceil(props.length / currentLimit.value);\n });\n\n const buttonGroup = computed<(number | string)[]>(() => {\n const pages = Array.from({ length: lastPage.value }, (_, index) => index + 1);\n\n switch (true) {\n case lastPage.value <= 7:\n return pages;\n\n case currentPage.value < firstPage.value + 4:\n return [\n ...pages.slice(0, 5),\n '…',\n lastPage.value,\n ];\n\n case currentPage.value > lastPage.value - 4:\n return [\n firstPage.value,\n '…',\n ...pages.slice(-5),\n ];\n\n default:\n return pages\n .map((page) => {\n switch (true) {\n case page > firstPage.value && page < currentPage.value - 1:\n case page < lastPage.value && page > currentPage.value + 1:\n return '…';\n\n default:\n return page;\n }\n })\n .reduce((accumulator, page) => {\n if (accumulator[accumulator.length - 1] === page) {\n return accumulator;\n }\n\n return [...accumulator, page];\n }, [] as (number | string)[]);\n }\n });\n\n // Methods\n function toPreviousPage(): void {\n currentPage.value = currentPage.value - 1;\n }\n\n function toNextPage(): void {\n currentPage.value = currentPage.value + 1;\n }\n\n function toPage(page: number): void {\n currentPage.value = page;\n }\n\n // Helpers\n const { isDesktop, isMobile } = useResponsive();\n\n return {\n root,\n rootStyles,\n\n limitButton,\n limitButtonRoot,\n\n limitMenu,\n limitMenuRoot,\n\n limitGroupStyles,\n\n offsetButton,\n offsetButtonRoot,\n\n offsetMenu,\n offsetMenuRoot,\n\n offsetGroupStyles,\n\n itemStyles,\n\n model,\n\n currentLimit,\n currentOffset,\n currentPage,\n\n firstPage,\n lastPage,\n\n buttonGroup,\n\n toPreviousPage,\n toNextPage,\n toPage,\n\n isDesktop,\n isMobile,\n };\n },\n});\n</script>\n"],"names":["Pagination","PaginationLimitGroup","PaginationOffsetGroup","PaginationItem","_sfc_main","defineComponent","OrButton","OrIcon","OrMenu","OrMenuItem","props","context","root","ref","rootStyles","computed","Styles.Pagination","limitButton","limitButtonRoot","_a","limitMenu","limitMenuRoot","limitGroupStyles","Styles.PaginationLimitGroup","offsetButton","offsetButtonRoot","offsetMenu","offsetMenuRoot","offsetGroupStyles","Styles.PaginationOffsetGroup","itemStyles","Styles.PaginationItem","model","useProxyModelValue","toRef","currentLimit","value","currentOffset","currentPage","firstPage","lastPage","buttonGroup","pages","_","index","page","accumulator","toPreviousPage","toNextPage","toPage","isDesktop","isMobile","useResponsive","_hoisted_1","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createTextVNode","_createVNode","_component_OrButton","_cache","$event","_withCtx","_toDisplayString","_component_OrIcon","_component_OrMenu","_Fragment","_renderList","limit","_component_OrMenuItem","_createCommentVNode","_createElementVNode","_createBlock"],"mappings":"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"}