@onereach/ui-components 27.0.2-beta.6094.0 → 27.0.2-beta.6096.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 (149) hide show
  1. package/dist/esm/{OrAutocomplete-BMyFCKjB.mjs → OrAutocomplete-BN3Xpwjd.mjs} +7 -7
  2. package/dist/esm/{OrAutocomplete-BMyFCKjB.mjs.map → OrAutocomplete-BN3Xpwjd.mjs.map} +1 -1
  3. package/dist/esm/{OrBottomSheet-DQ83BBtJ.mjs → OrBottomSheet-CALU9i4F.mjs} +2 -2
  4. package/dist/esm/OrBottomSheet-CALU9i4F.mjs.map +1 -0
  5. package/dist/esm/{OrCardCollection-DuyDtPAS.mjs → OrCardCollection-CjekjM1k.mjs} +4 -4
  6. package/dist/esm/{OrCardCollection-DuyDtPAS.mjs.map → OrCardCollection-CjekjM1k.mjs.map} +1 -1
  7. package/dist/esm/{OrCode-CVTfoJyM.mjs → OrCode-ztGltLid.mjs} +3 -3
  8. package/dist/esm/{OrCode-CVTfoJyM.mjs.map → OrCode-ztGltLid.mjs.map} +1 -1
  9. package/dist/esm/{OrConfirm-CeUSyKEp.mjs → OrConfirm-BPhIA7mR.mjs} +2 -2
  10. package/dist/esm/{OrConfirm-CeUSyKEp.mjs.map → OrConfirm-BPhIA7mR.mjs.map} +1 -1
  11. package/dist/esm/{OrContextMenu-DcT0nnkQ.mjs → OrContextMenu-DPkHnqgT.mjs} +3 -3
  12. package/dist/esm/{OrContextMenu-DcT0nnkQ.mjs.map → OrContextMenu-DPkHnqgT.mjs.map} +1 -1
  13. package/dist/esm/{OrDataGrid-BJiaRanm.mjs → OrDataGrid-MtEudAYi.mjs} +13 -13
  14. package/dist/esm/{OrDataGrid-BJiaRanm.mjs.map → OrDataGrid-MtEudAYi.mjs.map} +1 -1
  15. package/dist/esm/{OrDateFormat-DAWQiFzM.mjs → OrDateFormat-BjiFSSuj.mjs} +2 -2
  16. package/dist/esm/{OrDateFormat-DAWQiFzM.mjs.map → OrDateFormat-BjiFSSuj.mjs.map} +1 -1
  17. package/dist/esm/{OrDatePicker-Ifk1LBLg.mjs → OrDatePicker-1F67cACL.mjs} +4 -4
  18. package/dist/esm/{OrDatePicker-Ifk1LBLg.mjs.map → OrDatePicker-1F67cACL.mjs.map} +1 -1
  19. package/dist/esm/{OrDateRangePicker-Bof0o04S.mjs → OrDateRangePicker-DNVZygmL.mjs} +4 -4
  20. package/dist/esm/{OrDateRangePicker-Bof0o04S.mjs.map → OrDateRangePicker-DNVZygmL.mjs.map} +1 -1
  21. package/dist/esm/{OrDateTimeFormat-DM_xsd5r.mjs → OrDateTimeFormat-DlpIdVns.mjs} +2 -2
  22. package/dist/esm/{OrDateTimeFormat-DM_xsd5r.mjs.map → OrDateTimeFormat-DlpIdVns.mjs.map} +1 -1
  23. package/dist/esm/{OrDateTimePicker-D9QS_dRK.mjs → OrDateTimePicker-C4MLM7_6.mjs} +2 -2
  24. package/dist/esm/{OrDateTimePicker-D9QS_dRK.mjs.map → OrDateTimePicker-C4MLM7_6.mjs.map} +1 -1
  25. package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-8aFx3wpJ.mjs → OrDateTimePicker.vue_vue_type_script_lang-BPdT_UVf.mjs} +5 -5
  26. package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-8aFx3wpJ.mjs.map → OrDateTimePicker.vue_vue_type_script_lang-BPdT_UVf.mjs.map} +1 -1
  27. package/dist/esm/{OrEditorTabs-Bh2K-4Ri.mjs → OrEditorTabs-BELjrrI7.mjs} +4 -4
  28. package/dist/esm/{OrEditorTabs-Bh2K-4Ri.mjs.map → OrEditorTabs-BELjrrI7.mjs.map} +1 -1
  29. package/dist/esm/{OrFilter-Bcw2JmIE.mjs → OrFilter-OdRbXJoe.mjs} +3 -3
  30. package/dist/esm/{OrFilter-Bcw2JmIE.mjs.map → OrFilter-OdRbXJoe.mjs.map} +1 -1
  31. package/dist/esm/{OrFilterPopover-BBEzdSDi.mjs → OrFilterPopover-DpZsF63k.mjs} +3 -3
  32. package/dist/esm/{OrFilterPopover-BBEzdSDi.mjs.map → OrFilterPopover-DpZsF63k.mjs.map} +1 -1
  33. package/dist/esm/{OrFilterTrigger-SjWE1kLx.mjs → OrFilterTrigger-CZ-7CIOH.mjs} +2 -2
  34. package/dist/esm/{OrFilterTrigger-SjWE1kLx.mjs.map → OrFilterTrigger-CZ-7CIOH.mjs.map} +1 -1
  35. package/dist/esm/{OrIconButton-D1pxfMA_.mjs → OrIconButton-BuRmTHpT.mjs} +2 -2
  36. package/dist/esm/{OrIconButton-D1pxfMA_.mjs.map → OrIconButton-BuRmTHpT.mjs.map} +1 -1
  37. package/dist/esm/{OrInlineInput-BPt6D5QF.mjs → OrInlineInput-Bfq5_wSj.mjs} +2 -2
  38. package/dist/esm/{OrInlineInput-BPt6D5QF.mjs.map → OrInlineInput-Bfq5_wSj.mjs.map} +1 -1
  39. package/dist/esm/{OrInlineTextarea-CadTst3o.mjs → OrInlineTextarea-sBAI13VJ.mjs} +2 -2
  40. package/dist/esm/{OrInlineTextarea-CadTst3o.mjs.map → OrInlineTextarea-sBAI13VJ.mjs.map} +1 -1
  41. package/dist/esm/{OrInput-CzRxZM3i.mjs → OrInput-KTr5t05G.mjs} +2 -2
  42. package/dist/esm/{OrInput-CzRxZM3i.mjs.map → OrInput-KTr5t05G.mjs.map} +1 -1
  43. package/dist/esm/{OrList-Dsr37TgO.mjs → OrList-B1m0OvOM.mjs} +2 -2
  44. package/dist/esm/{OrList-Dsr37TgO.mjs.map → OrList-B1m0OvOM.mjs.map} +1 -1
  45. package/dist/esm/{OrMenu-Cc6IzYWK.mjs → OrMenu-DdcBdA4v.mjs} +2 -2
  46. package/dist/esm/{OrMenu-Cc6IzYWK.mjs.map → OrMenu-DdcBdA4v.mjs.map} +1 -1
  47. package/dist/esm/{OrMenuItem-KgHok8gW.mjs → OrMenuItem-CFz6OW23.mjs} +3 -3
  48. package/dist/esm/{OrMenuItem-KgHok8gW.mjs.map → OrMenuItem-CFz6OW23.mjs.map} +1 -1
  49. package/dist/esm/{OrModal-D1gCHnN1.mjs → OrModal-btf3bd3k.mjs} +2 -2
  50. package/dist/esm/{OrModal-D1gCHnN1.mjs.map → OrModal-btf3bd3k.mjs.map} +1 -1
  51. package/dist/esm/{OrNotification-DObxgRie.mjs → OrNotification-BfguyG3y.mjs} +2 -2
  52. package/dist/esm/{OrNotification-DObxgRie.mjs.map → OrNotification-BfguyG3y.mjs.map} +1 -1
  53. package/dist/esm/{OrPagination-DRBRRL2g.mjs → OrPagination-ePWsnwsu.mjs} +3 -3
  54. package/dist/esm/{OrPagination-DRBRRL2g.mjs.map → OrPagination-ePWsnwsu.mjs.map} +1 -1
  55. package/dist/esm/{OrPopover-DDoG-KKY.mjs → OrPopover-DsFw4mp2.mjs} +2 -2
  56. package/dist/esm/{OrPopover-DDoG-KKY.mjs.map → OrPopover-DsFw4mp2.mjs.map} +1 -1
  57. package/dist/esm/{OrRangeSlider-PAzeqzie.mjs → OrRangeSlider-CCy-Y7EH.mjs} +3 -3
  58. package/dist/esm/{OrRangeSlider-PAzeqzie.mjs.map → OrRangeSlider-CCy-Y7EH.mjs.map} +1 -1
  59. package/dist/esm/{OrResizeablePanel-DxPqTbtV.mjs → OrResizeablePanel-DEV0naD5.mjs} +5 -5
  60. package/dist/esm/{OrResizeablePanel-DxPqTbtV.mjs.map → OrResizeablePanel-DEV0naD5.mjs.map} +1 -1
  61. package/dist/esm/{OrRichTextEditor-hSmFPW-b.mjs → OrRichTextEditor-DBHpnkJU.mjs} +7 -7
  62. package/dist/esm/{OrRichTextEditor-hSmFPW-b.mjs.map → OrRichTextEditor-DBHpnkJU.mjs.map} +1 -1
  63. package/dist/esm/{OrRichTooltip-CDQEAeML.mjs → OrRichTooltip-tlx0W9ck.mjs} +2 -2
  64. package/dist/esm/{OrRichTooltip-CDQEAeML.mjs.map → OrRichTooltip-tlx0W9ck.mjs.map} +1 -1
  65. package/dist/esm/{OrSearch-Csld1hBq.mjs → OrSearch-CrYPoIJM.mjs} +2 -2
  66. package/dist/esm/{OrSearch-Csld1hBq.mjs.map → OrSearch-CrYPoIJM.mjs.map} +1 -1
  67. package/dist/esm/{OrSelect-DBhNKmRX.mjs → OrSelect-DB9Suqc1.mjs} +7 -7
  68. package/dist/esm/{OrSelect-DBhNKmRX.mjs.map → OrSelect-DB9Suqc1.mjs.map} +1 -1
  69. package/dist/esm/{OrSlider-DHIaTguY.mjs → OrSlider-zUTsz1DB.mjs} +2 -2
  70. package/dist/esm/{OrSlider-DHIaTguY.mjs.map → OrSlider-zUTsz1DB.mjs.map} +1 -1
  71. package/dist/esm/{OrSlider.vue_vue_type_script_lang--k0M0Q7N.mjs → OrSlider.vue_vue_type_script_lang-ggTiRZpX.mjs} +2 -2
  72. package/dist/esm/{OrSlider.vue_vue_type_script_lang--k0M0Q7N.mjs.map → OrSlider.vue_vue_type_script_lang-ggTiRZpX.mjs.map} +1 -1
  73. package/dist/esm/{OrSorting-ihkkh12O.mjs → OrSorting-BGeIMkZ5.mjs} +3 -3
  74. package/dist/esm/{OrSorting-ihkkh12O.mjs.map → OrSorting-BGeIMkZ5.mjs.map} +1 -1
  75. package/dist/esm/{OrSubMenuItem-BBg7SvWQ.mjs → OrSubMenuItem-BIOJeBwe.mjs} +4 -4
  76. package/dist/esm/{OrSubMenuItem-BBg7SvWQ.mjs.map → OrSubMenuItem-BIOJeBwe.mjs.map} +1 -1
  77. package/dist/esm/{OrSwitch-BtoXDsZx.mjs → OrSwitch-vI9sIMUp.mjs} +2 -2
  78. package/dist/esm/{OrSwitch-BtoXDsZx.mjs.map → OrSwitch-vI9sIMUp.mjs.map} +1 -1
  79. package/dist/esm/{OrTabs-eXFvC3c6.mjs → OrTabs-DUihTKOm.mjs} +3 -3
  80. package/dist/esm/{OrTabs-eXFvC3c6.mjs.map → OrTabs-DUihTKOm.mjs.map} +1 -1
  81. package/dist/esm/{OrTag-DWp6cMUp.mjs → OrTag-D-GAZ0Hm.mjs} +2 -2
  82. package/dist/esm/{OrTag-DWp6cMUp.mjs.map → OrTag-D-GAZ0Hm.mjs.map} +1 -1
  83. package/dist/esm/{OrTagInput-DIMSvMNK.mjs → OrTagInput-B2cjYeWN.mjs} +4 -4
  84. package/dist/esm/{OrTagInput-DIMSvMNK.mjs.map → OrTagInput-B2cjYeWN.mjs.map} +1 -1
  85. package/dist/esm/{OrTags-DKwmNfkN.mjs → OrTags-CMPGvbL2.mjs} +3 -3
  86. package/dist/esm/{OrTags-DKwmNfkN.mjs.map → OrTags-CMPGvbL2.mjs.map} +1 -1
  87. package/dist/esm/{OrTimeFormat-Bs_Jfd9U.mjs → OrTimeFormat-DWJ-VXll.mjs} +2 -2
  88. package/dist/esm/{OrTimeFormat-Bs_Jfd9U.mjs.map → OrTimeFormat-DWJ-VXll.mjs.map} +1 -1
  89. package/dist/esm/{OrTimePicker-C_pYA5Yn.mjs → OrTimePicker-fI5D3Eo9.mjs} +4 -4
  90. package/dist/esm/{OrTimePicker-C_pYA5Yn.mjs.map → OrTimePicker-fI5D3Eo9.mjs.map} +1 -1
  91. package/dist/esm/{OrTimeRangePicker-b2Ec1RQg.mjs → OrTimeRangePicker-Bnhl5CLg.mjs} +4 -4
  92. package/dist/esm/{OrTimeRangePicker-b2Ec1RQg.mjs.map → OrTimeRangePicker-Bnhl5CLg.mjs.map} +1 -1
  93. package/dist/esm/{OrTooltip-cverJ1se.mjs → OrTooltip-CAvo-mxv.mjs} +2 -2
  94. package/dist/esm/{OrTooltip-cverJ1se.mjs.map → OrTooltip-CAvo-mxv.mjs.map} +1 -1
  95. package/dist/esm/components/index.mjs +49 -49
  96. package/dist/esm/components/or-autocomplete-v3/index.mjs +1 -1
  97. package/dist/esm/components/or-bottom-sheet-v3/index.mjs +1 -1
  98. package/dist/esm/components/or-card-collection-v3/index.mjs +1 -1
  99. package/dist/esm/components/or-code-v3/index.mjs +1 -1
  100. package/dist/esm/components/or-confirm-v3/index.mjs +1 -1
  101. package/dist/esm/components/or-context-menu-v3/index.mjs +1 -1
  102. package/dist/esm/components/or-data-grid-v3/index.mjs +1 -1
  103. package/dist/esm/components/or-date-format-v3/index.mjs +1 -1
  104. package/dist/esm/components/or-date-picker-v3/index.mjs +1 -1
  105. package/dist/esm/components/or-date-range-picker-v3/index.mjs +1 -1
  106. package/dist/esm/components/or-date-time-format-v3/index.mjs +1 -1
  107. package/dist/esm/components/or-date-time-picker-v3/index.mjs +2 -2
  108. package/dist/esm/components/or-editor-tabs-v3/index.mjs +1 -1
  109. package/dist/esm/components/or-filter-popover-v3/index.mjs +1 -1
  110. package/dist/esm/components/or-filter-trigger-v3/index.mjs +1 -1
  111. package/dist/esm/components/or-filter-v3/index.mjs +1 -1
  112. package/dist/esm/components/or-icon-button-v3/index.mjs +1 -1
  113. package/dist/esm/components/or-inline-input-v3/index.mjs +1 -1
  114. package/dist/esm/components/or-inline-textarea-v3/index.mjs +1 -1
  115. package/dist/esm/components/or-input-v3/index.mjs +1 -1
  116. package/dist/esm/components/or-list-v3/index.mjs +1 -1
  117. package/dist/esm/components/or-menu-item-v3/index.mjs +1 -1
  118. package/dist/esm/components/or-menu-v3/index.mjs +1 -1
  119. package/dist/esm/components/or-modal-v3/index.mjs +1 -1
  120. package/dist/esm/components/or-notification-v3/index.mjs +1 -1
  121. package/dist/esm/components/or-pagination-v3/index.mjs +1 -1
  122. package/dist/esm/components/or-popover-v3/index.mjs +1 -1
  123. package/dist/esm/components/or-range-slider-v3/index.mjs +1 -1
  124. package/dist/esm/components/or-resizeable-panel-v3/index.mjs +1 -1
  125. package/dist/esm/components/or-rich-text-editor-v3/index.mjs +1 -1
  126. package/dist/esm/components/or-rich-tooltip-v3/index.mjs +1 -1
  127. package/dist/esm/components/or-search-v3/index.mjs +1 -1
  128. package/dist/esm/components/or-select-v3/index.mjs +1 -1
  129. package/dist/esm/components/or-sidebar-v3/index.mjs +1 -1
  130. package/dist/esm/components/or-slider-v3/index.mjs +2 -2
  131. package/dist/esm/components/or-sorting-v3/index.mjs +1 -1
  132. package/dist/esm/components/or-sub-menu-item-v3/index.mjs +1 -1
  133. package/dist/esm/components/or-switch-v3/index.mjs +1 -1
  134. package/dist/esm/components/or-tabs-v3/index.mjs +1 -1
  135. package/dist/esm/components/or-tag-input-v3/index.mjs +1 -1
  136. package/dist/esm/components/or-tag-v3/index.mjs +1 -1
  137. package/dist/esm/components/or-tags-v3/index.mjs +1 -1
  138. package/dist/esm/components/or-time-format-v3/index.mjs +1 -1
  139. package/dist/esm/components/or-time-picker-v3/index.mjs +1 -1
  140. package/dist/esm/components/or-time-range-picker-v3/index.mjs +1 -1
  141. package/dist/esm/components/or-toast-v3/index.mjs +1 -1
  142. package/dist/esm/components/or-tooltip-v3/index.mjs +1 -1
  143. package/dist/esm/index.mjs +49 -49
  144. package/dist/esm/{props-BoHyDesf.mjs → props-WUe7q2M-.mjs} +2 -2
  145. package/dist/esm/{props-BoHyDesf.mjs.map → props-WUe7q2M-.mjs.map} +1 -1
  146. package/dist/esm/{types-5RPO11-2.mjs → types-DrXNmeDl.mjs} +2 -2
  147. package/dist/esm/{types-5RPO11-2.mjs.map → types-DrXNmeDl.mjs.map} +1 -1
  148. package/package.json +3 -3
  149. package/dist/esm/OrBottomSheet-DQ83BBtJ.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OrPagination-DRBRRL2g.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 { 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 { computed, defineComponent, PropType, ref, toRef } from 'vue';\n\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 'currentLimit',\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-ePWsnwsu.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 { 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 { computed, defineComponent, PropType, ref, toRef } from 'vue';\n\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 'currentLimit',\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,6 +1,6 @@
1
1
  import { computePosition as x, autoUpdate as H, offset as _, shift as tt, flip as et, hide as ot, size as nt } from "@floating-ui/dom";
2
2
  import { usePopoverState as rt, useResponsive as at, useElevation as st } from "@onereach/ui-components-common/hooks";
3
- import { O as lt } from "./OrBottomSheet-DQ83BBtJ.mjs";
3
+ import { O as lt } from "./OrBottomSheet-CALU9i4F.mjs";
4
4
  import { O as it } from "./OrTeleport.vue3-C9kW_8PS.mjs";
5
5
  import { onClickOutside as ut } from "@vueuse/core";
6
6
  import { computed as l, unref as B, ref as p, shallowRef as ft, watch as P, getCurrentScope as dt, onScopeDispose as pt, shallowReadonly as b, defineComponent as mt, toRefs as ct, toRef as vt, resolveComponent as z, openBlock as C, createBlock as N, withCtx as U, withDirectives as V, createElementVNode as gt, createElementBlock as W, mergeProps as I, renderSlot as M, normalizeClass as J, vShow as L, createCommentVNode as j } from "vue";
@@ -413,4 +413,4 @@ export {
413
413
  At as i,
414
414
  Ct as s
415
415
  };
416
- //# sourceMappingURL=OrPopover-DDoG-KKY.mjs.map
416
+ //# sourceMappingURL=OrPopover-DsFw4mp2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrPopover-DDoG-KKY.mjs","sources":["../../../components/or-popover-v3/src/hooks/useFloating.ts","../../../components/or-popover-v3/src/props.ts","../../../components/or-popover-v3/src/styles.ts","../../../components/or-popover-v3/src/utils/getFallbackPlacements.ts","../../../components/or-popover-v3/src/utils/isPrevented.ts","../../../components/or-popover-v3/src/utils/safeAutoUpdate.ts","../../../components/or-popover-v3/src/OrPopover.vue"],"sourcesContent":["import type { FloatingElement, MiddlewareData, ReferenceElement } from '@floating-ui/dom';\nimport { computePosition } from '@floating-ui/dom';\nimport { Ref, computed, getCurrentScope, onScopeDispose, ref, shallowReadonly, shallowRef, unref, watch } from 'vue';\nimport type { ComponentPublicInstance } from 'vue';\n\nimport type {\n UseFloatingOptions,\n UseFloatingReturn,\n MaybeElement,\n} from './types';\n\n// https://github.com/floating-ui/floating-ui/blob/master/packages/vue/src/useFloating.ts\n/**\n * Computes the `x` and `y` coordinates that will place the floating element next to a reference element when it is given a certain CSS positioning strategy.\n * @param reference The reference template ref.\n * @param floating The floating template ref.\n * @param options The floating options.\n * @see https://floating-ui.com/docs/vue\n */\n\n\nfunction roundByDPR(element: Element, value: number) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\nfunction getDPR(element: Element): number {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\nfunction unwrapElement<T>(element: MaybeElement<T>) {\n return ((element as Exclude<MaybeElement<T>, T>)?.$el ?? element) as Exclude<\n MaybeElement<T>,\n ComponentPublicInstance\n >;\n}\nexport function useFloating<T extends ReferenceElement = ReferenceElement>(\n reference: Readonly<Ref<MaybeElement<T>>>,\n floating: Readonly<Ref<MaybeElement<FloatingElement>>>,\n options: UseFloatingOptions<T> = {}\n): UseFloatingReturn {\n const whileElementsMountedOption = options.whileElementsMounted;\n const openOption = computed(() => unref(options.open) ?? true);\n const middlewareOption = computed(() => unref(options.middleware));\n const placementOption = computed(() => unref(options.placement) ?? 'bottom');\n const strategyOption = computed(() => unref(options.strategy) ?? 'absolute');\n const transformOption = computed(() => unref(options.transform) ?? true);\n const referenceElement = computed(() => unwrapElement(reference.value));\n const floatingElement = computed(() => unwrapElement(floating.value));\n const x = ref(0);\n const y = ref(0);\n const strategy = ref(strategyOption.value);\n const placement = ref(placementOption.value);\n const middlewareData = shallowRef<MiddlewareData>({});\n const isPositioned = ref(false);\n const floatingStyles = computed(() => {\n const initialStyles = {\n position: strategy.value,\n left: '0',\n top: '0',\n };\n\n if (!floatingElement.value) {\n return initialStyles;\n }\n\n const xVal = roundByDPR(floatingElement.value, x.value);\n const yVal = roundByDPR(floatingElement.value, y.value);\n\n if (transformOption.value) {\n return {\n ...initialStyles,\n transform: `translate(${xVal}px, ${yVal}px)`,\n ...(getDPR(floatingElement.value) >= 1.5 && { willChange: 'transform' }),\n };\n }\n\n return {\n position: strategy.value,\n left: `${xVal}px`,\n top: `${yVal}px`,\n };\n });\n\n let whileElementsMountedCleanup: (() => void) | undefined;\n\n function update() {\n if (referenceElement.value == null || floatingElement.value == null) {\n return;\n }\n\n computePosition(referenceElement.value, floatingElement.value, {\n middleware: middlewareOption.value,\n placement: placementOption.value,\n strategy: strategyOption.value,\n }).then((position) => {\n x.value = position.x;\n y.value = position.y;\n strategy.value = position.strategy;\n placement.value = position.placement;\n middlewareData.value = position.middlewareData;\n isPositioned.value = true;\n });\n }\n\n function cleanup() {\n if (typeof whileElementsMountedCleanup === 'function') {\n whileElementsMountedCleanup();\n whileElementsMountedCleanup = undefined;\n }\n }\n\n function attach() {\n cleanup();\n\n if (whileElementsMountedOption === undefined) {\n update();\n return;\n }\n\n if (referenceElement.value != null && floatingElement.value != null) {\n whileElementsMountedCleanup = whileElementsMountedOption(\n referenceElement.value,\n floatingElement.value,\n update\n );\n return;\n }\n }\n\n function reset() {\n if (!openOption.value) {\n isPositioned.value = false;\n }\n }\n\n watch([middlewareOption, placementOption, strategyOption], update, {\n flush: 'sync',\n });\n watch([referenceElement, floatingElement], attach, { flush: 'sync' });\n watch(openOption, reset, { flush: 'sync' });\n\n if (getCurrentScope()) {\n onScopeDispose(cleanup);\n }\n\n return {\n x: shallowReadonly(x),\n y: shallowReadonly(y),\n strategy: shallowReadonly(strategy),\n placement: shallowReadonly(placement),\n middlewareData: shallowReadonly(middlewareData),\n isPositioned: shallowReadonly(isPositioned),\n floatingStyles,\n update,\n };\n}\n","import { offset } from '@floating-ui/dom';\n\nexport enum PopoverVariant {\n Auto = 'auto',\n Popover = 'popover',\n BottomSheet = 'bottom-sheet',\n}\n\nexport enum PopoverPlacement {\n Top = 'top',\n TopStart = 'top-start',\n TopEnd = 'top-end',\n Bottom = 'bottom',\n BottomStart = 'bottom-start',\n BottomEnd = 'bottom-end',\n Left = 'left',\n LeftStart = 'left-start',\n LeftEnd = 'left-end',\n Right = 'right',\n RightStart = 'right-start',\n RightEnd = 'right-end',\n}\n\nexport type PopoverOffset = NonNullable<Parameters<typeof offset>[0]>;\n","import { PopoverPlacement } from './props';\n\nexport const Popover: string[] = [\n // Position\n 'absolute',\n];\n\nexport const PopoverBody: string[] = [\n // Shape\n 'rounded-md',\n\n // Spacing\n 'mx-sm',\n 'my-sm',\n\n // Elevation\n 'shadow-contextual',\n 'dark:shadow-contextual-dark',\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 PopoverBodyPlacements: Record<PopoverPlacement, string[]> = {\n [PopoverPlacement.Top]: [\n // Spacing\n 'mb-0',\n ],\n\n [PopoverPlacement.TopStart]: [\n // Spacing\n 'mb-0',\n 'ml-0',\n ],\n\n [PopoverPlacement.TopEnd]: [\n // Spacing\n 'mb-0',\n 'mr-0',\n ],\n\n [PopoverPlacement.Bottom]: [\n // Spacing\n 'mt-0',\n ],\n\n [PopoverPlacement.BottomStart]: [\n // Spacing\n 'mt-0',\n 'ml-0',\n ],\n\n [PopoverPlacement.BottomEnd]: [\n // Spacing\n 'mt-0',\n 'mr-0',\n ],\n\n [PopoverPlacement.Left]: [\n // Spacing\n 'mr-0',\n ],\n\n [PopoverPlacement.LeftStart]: [\n // Spacing\n 'mr-0',\n 'mt-0',\n ],\n\n [PopoverPlacement.LeftEnd]: [\n // Spacing\n 'mr-0',\n 'mb-0',\n ],\n\n [PopoverPlacement.Right]: [\n // Spacing\n 'ml-0',\n ],\n\n [PopoverPlacement.RightStart]: [\n // Spacing\n 'ml-0',\n 'mt-0',\n ],\n\n [PopoverPlacement.RightEnd]: [\n // Spacing\n 'ml-0',\n 'mb-0',\n ],\n};\n","import { FlipOptions, Placement } from '@floating-ui/dom';\n\nconst oppositeSide: Record<string, string> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nconst oppositeAlignment: Record<string, string> = {\n start: 'end',\n end: 'start',\n};\n\nfunction getSide(placement: Placement): string {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement: Placement): string | undefined {\n return placement.split('-')[1];\n}\n\nfunction getOppositePlacement(placement: Placement): Placement {\n const side = getSide(placement);\n return placement.replace(side, oppositeSide[side]) as Placement;\n}\n\nfunction getOppositeAlignmentPlacement(placement: Placement): Placement {\n const alignment = getAlignment(placement);\n return alignment ? placement.replace(alignment, oppositeAlignment[alignment]) as Placement : placement;\n}\n\nfunction getExpandedPlacements(placement: Placement): Placement[] {\n const oppositePlacement = getOppositePlacement(placement);\n\n return [\n getOppositeAlignmentPlacement(placement),\n oppositePlacement,\n getOppositeAlignmentPlacement(oppositePlacement),\n ];\n}\n\nfunction getOppositeAxisSides(placement: Placement, direction: FlipOptions['fallbackAxisSideDirection']): string[] {\n const isStart = direction === 'start';\n\n switch (getSide(placement)) {\n case 'top':\n case 'bottom':\n return isStart ? ['left', 'right'] : ['right', 'left'];\n case 'left':\n case 'right':\n return isStart ? ['top', 'bottom'] : ['bottom', 'top'];\n default:\n return [];\n }\n}\n\nexport function getFallbackPlacements(placement: Placement, direction: FlipOptions['fallbackAxisSideDirection']): Placement[] {\n const alignment = getAlignment(placement);\n const fallbackPlacements = alignment ? getExpandedPlacements(placement) : [getOppositePlacement(placement)];\n\n if (direction === 'none') {\n return fallbackPlacements;\n }\n\n let oppositeAxisPlacements = getOppositeAxisSides(placement, direction) as Placement[];\n\n if (alignment) {\n oppositeAxisPlacements = oppositeAxisPlacements.map(side => `${side}-${alignment}` as Placement);\n oppositeAxisPlacements = [\n ...oppositeAxisPlacements,\n ...oppositeAxisPlacements.map(getOppositeAlignmentPlacement),\n ];\n }\n\n return [\n ...fallbackPlacements,\n ...oppositeAxisPlacements,\n ];\n}\n","import { isAncestor } from '@onereach/ui-components-common/utils';\n\nexport function isPrevented(path: Element[], trigger: Element): boolean {\n return path.some((element) => {\n const { classList } = element;\n\n if (!isAncestor(element, trigger)) {\n if (classList?.contains('or-popover-v3')) {\n return true;\n }\n\n if (classList?.contains('or-bottom-sheet-v3')) {\n return true;\n }\n\n if (classList?.contains('or-confirm-v3')) {\n return true;\n }\n }\n\n return false;\n });\n}\n","import { autoUpdate, type AutoUpdateOptions } from '@floating-ui/dom';\n\n/**\n * True when this document runs in a cross-origin iframe.\n * Parent `window` access throws or is blocked (Safari logs SecurityError for frameElement).\n */\nexport function isCrossOriginIframe(): boolean {\n if (typeof window === 'undefined' || window.self === window.top) {\n return false;\n }\n\n try {\n return !window.parent || !Object.getPrototypeOf(window.parent);\n } catch {\n return true;\n }\n}\n\ntype AutoUpdateFn = typeof autoUpdate;\n\n/**\n * Wrapper around Floating UI `autoUpdate` for embedded apps.\n * Disables ancestor scroll/resize tracking in cross-origin iframes where Floating UI\n * cannot safely traverse into the parent frame.\n */\nexport const safeAutoUpdate: AutoUpdateFn = (reference, floating, update, options: AutoUpdateOptions = {}) => {\n if (isCrossOriginIframe()) {\n return autoUpdate(reference, floating, update, {\n ...options,\n ancestorScroll: false,\n ancestorResize: false,\n });\n }\n\n return autoUpdate(reference, floating, update, options);\n};\n","<template>\n <OrTeleport v-if=\"keepAlive || state === 'open'\">\n <div\n v-show=\"state === 'open'\"\n :ref=\"'containerRoot'\"\n :class=\"['contents']\"\n >\n <template v-if=\"isDesktop && variant === 'auto' || variant === 'popover'\">\n <div\n v-show=\"!isHidden\"\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"floatingStyles\"\n >\n <template v-if=\"disableDefaultStyles\">\n <slot />\n </template>\n\n <template v-else>\n <div :class=\"bodyStyles\">\n <slot />\n </div>\n </template>\n </div>\n </template>\n\n <template v-if=\"isMobile && variant === 'auto' || variant === 'bottom-sheet'\">\n <OrBottomSheet\n :ref=\"'bottomSheet'\"\n v-bind=\"bottomSheetProps\"\n :is-open=\"state === 'open'\"\n @update:state=\"$event === 'open' ? open() : close()\"\n >\n <slot />\n </OrBottomSheet>\n </template>\n </div>\n </OrTeleport>\n</template>\n\n<script lang=\"ts\">\nimport { FlipOptions, HideOptions, ReferenceElement, flip, hide, offset as offsetMiddleware, shift, size } from '@floating-ui/dom';\nimport { useElevation, usePopoverState, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { OrBottomSheetV3 as OrBottomSheet } from '@onereach/ui-components.or-bottom-sheet-v3';\nimport { OrTeleportV3 as OrTeleport } from '@onereach/ui-components.or-teleport-v3';\nimport { MaybeElementRef, onClickOutside } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, toRefs } from 'vue';\n\nimport { useFloating } from './hooks/useFloating';\nimport { PopoverOffset, PopoverPlacement, PopoverVariant } from './props';\nimport { Popover, PopoverBody, PopoverBodyPlacements } from './styles';\nimport { getFallbackPlacements, isPrevented, safeAutoUpdate } from './utils';\n\nexport default defineComponent({\n name: 'OrPopover',\n\n components: {\n OrBottomSheet,\n OrTeleport,\n },\n\n inheritAttrs: false,\n\n props: {\n // @workaround for Vue 2\n customStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n variant: {\n type: String as PropType<`${PopoverVariant}`>,\n default: () => PopoverVariant.Auto,\n },\n\n bottomSheetProps: {\n type: Object as PropType<InstanceType<typeof OrBottomSheet>['$props']>,\n default: undefined,\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 fallbackPlacement: {\n type: String as PropType<FlipOptions['fallbackAxisSideDirection']>,\n default: 'end',\n },\n\n hideOptions: {\n type: Object as PropType<HideOptions>,\n default: undefined,\n },\n\n offset: {\n type: [Number, Object, Function] as PropType<PopoverOffset>,\n default: 8,\n },\n\n fullWidth: {\n type: Boolean,\n default: false,\n },\n\n disableDefaultStyles: {\n type: Boolean,\n default: false,\n },\n\n keepAlive: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n ],\n\n expose: [\n 'root',\n 'containerRoot',\n\n 'state',\n\n 'isFlipped',\n 'isHidden',\n\n 'open',\n 'close',\n 'toggle',\n\n 'bottomSheet',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const containerRoot = ref<HTMLElement>();\n\n const bottomSheet = ref<InstanceType<typeof OrBottomSheet>>();\n const bottomSheetRoot = computed(() => bottomSheet.value?.root);\n\n const { trigger, placement, offset, fullWidth, hideOptions } = toRefs(props);\n\n const isFlipped = computed(() => computedPlacement.value !== placement.value);\n const isHidden = computed(() => Boolean(middlewareData.value.hide?.referenceHidden));\n\n // Styles\n const rootStyles = computed(() => [\n 'or-popover-v3',\n ...Popover,\n ...'class' in context.attrs ? [] : props.customStyles,\n ]);\n\n const bodyStyles = computed(() => [\n ...PopoverBody,\n ...PopoverBodyPlacements[computedPlacement.value],\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n const { floatingStyles, middlewareData, placement: computedPlacement } = useFloating(trigger, root, {\n placement,\n\n middleware: [\n offsetMiddleware(offset.value),\n shift(),\n flip(() => ({\n fallbackPlacements: getFallbackPlacements(placement.value, props.fallbackPlacement),\n })),\n hide(hideOptions.value),\n\n size({\n apply({ rects, elements }) {\n if (fullWidth.value) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n });\n }\n },\n }),\n ],\n\n whileElementsMounted(...args) {\n return safeAutoUpdate(...args, { animationFrame: true });\n },\n });\n\n // Helpers\n const { isDesktop, isMobile } = useResponsive(containerRoot);\n\n // #region Elevation\n useElevation(root, state);\n // #endregion\n\n // #region Click Outside\n onClickOutside(root, (event) => {\n if (state.value === 'open' && !isPrevented(event.composedPath() as Element[], props.trigger as Element)) {\n close();\n }\n }, {\n ignore: [trigger as MaybeElementRef],\n });\n // #endregion\n\n return {\n root,\n containerRoot,\n bottomSheet,\n bottomSheetRoot,\n rootStyles,\n bodyStyles,\n floatingStyles,\n state,\n isFlipped,\n isHidden,\n isDesktop,\n isMobile,\n open,\n close,\n toggle,\n };\n },\n});\n</script>\n"],"names":["roundByDPR","element","value","dpr","getDPR","unwrapElement","useFloating","reference","floating","options","whileElementsMountedOption","openOption","computed","unref","middlewareOption","placementOption","strategyOption","transformOption","referenceElement","floatingElement","x","ref","y","strategy","placement","middlewareData","shallowRef","isPositioned","floatingStyles","initialStyles","xVal","yVal","whileElementsMountedCleanup","update","computePosition","position","cleanup","attach","reset","watch","getCurrentScope","onScopeDispose","shallowReadonly","PopoverVariant","PopoverPlacement","Popover","PopoverBody","PopoverBodyPlacements","oppositeSide","oppositeAlignment","getSide","getAlignment","getOppositePlacement","side","getOppositeAlignmentPlacement","alignment","getExpandedPlacements","oppositePlacement","getOppositeAxisSides","direction","isStart","getFallbackPlacements","fallbackPlacements","oppositeAxisPlacements","isPrevented","path","trigger","classList","isAncestor","isCrossOriginIframe","safeAutoUpdate","autoUpdate","_sfc_main","defineComponent","OrBottomSheet","OrTeleport","props","context","root","containerRoot","bottomSheet","bottomSheetRoot","_a","offset","fullWidth","hideOptions","toRefs","isFlipped","computedPlacement","isHidden","rootStyles","bodyStyles","state","open","close","toggle","usePopoverState","toRef","offsetMiddleware","shift","flip","hide","size","rects","elements","args","isDesktop","isMobile","useResponsive","useElevation","onClickOutside","event","_hoisted_1","_resolveComponent","_ctx","_openBlock","_createBlock","_component_OrTeleport","_withCtx","_withDirectives","_createElementVNode","_createElementBlock","_mergeProps","_renderSlot","_normalizeClass","_createCommentVNode","_component_OrBottomSheet","_cache","$event"],"mappings":";;;;;;;;AAqBA,SAASA,EAAWC,GAAkBC,GAAe;AAC7C,QAAAC,IAAMC,EAAOH,CAAO;AAC1B,SAAO,KAAK,MAAMC,IAAQC,CAAG,IAAIA;AACnC;AACA,SAASC,EAAOH,GAA0B;AACpC,SAAA,OAAO,SAAW,MACb,KAEGA,EAAQ,cAAc,eAAe,QACtC,oBAAoB;AACjC;AACA,SAASI,EAAiBJ,GAA0B;AAClD,UAASA,KAAA,gBAAAA,EAAyC,QAAOA;AAI3D;AACO,SAASK,GACdC,GACAC,GACAC,IAAiC,CAAA,GACd;AACnB,QAAMC,IAA6BD,EAAQ,sBACrCE,IAAaC,EAAS,MAAMC,EAAMJ,EAAQ,IAAI,KAAK,EAAI,GACvDK,IAAmBF,EAAS,MAAMC,EAAMJ,EAAQ,UAAU,CAAC,GAC3DM,IAAkBH,EAAS,MAAMC,EAAMJ,EAAQ,SAAS,KAAK,QAAQ,GACrEO,IAAiBJ,EAAS,MAAMC,EAAMJ,EAAQ,QAAQ,KAAK,UAAU,GACrEQ,IAAkBL,EAAS,MAAMC,EAAMJ,EAAQ,SAAS,KAAK,EAAI,GACjES,IAAmBN,EAAS,MAAMP,EAAcE,EAAU,KAAK,CAAC,GAChEY,IAAkBP,EAAS,MAAMP,EAAcG,EAAS,KAAK,CAAC,GAC9DY,IAAIC,EAAI,CAAC,GACTC,IAAID,EAAI,CAAC,GACTE,IAAWF,EAAIL,EAAe,KAAK,GACnCQ,IAAYH,EAAIN,EAAgB,KAAK,GACrCU,IAAiBC,GAA2B,CAAA,CAAE,GAC9CC,IAAeN,EAAI,EAAK,GACxBO,IAAiBhB,EAAS,MAAM;AACpC,UAAMiB,IAAgB;AAAA,MACpB,UAAUN,EAAS;AAAA,MACnB,MAAM;AAAA,MACN,KAAK;AAAA,IAAA;AAGH,QAAA,CAACJ,EAAgB;AACZ,aAAAU;AAGT,UAAMC,IAAO9B,EAAWmB,EAAgB,OAAOC,EAAE,KAAK,GAChDW,IAAO/B,EAAWmB,EAAgB,OAAOG,EAAE,KAAK;AAEtD,WAAIL,EAAgB,QACX;AAAA,MACL,GAAGY;AAAA,MACH,WAAW,aAAaC,CAAI,OAAOC,CAAI;AAAA,MACvC,GAAI3B,EAAOe,EAAgB,KAAK,KAAK,OAAO,EAAE,YAAY,YAAY;AAAA,IAAA,IAInE;AAAA,MACL,UAAUI,EAAS;AAAA,MACnB,MAAM,GAAGO,CAAI;AAAA,MACb,KAAK,GAAGC,CAAI;AAAA,IAAA;AAAA,EACd,CACD;AAEG,MAAAC;AAEJ,WAASC,IAAS;AAChB,IAAIf,EAAiB,SAAS,QAAQC,EAAgB,SAAS,QAI/Ce,EAAAhB,EAAiB,OAAOC,EAAgB,OAAO;AAAA,MAC7D,YAAYL,EAAiB;AAAA,MAC7B,WAAWC,EAAgB;AAAA,MAC3B,UAAUC,EAAe;AAAA,IAAA,CAC1B,EAAE,KAAK,CAACmB,MAAa;AACpB,MAAAf,EAAE,QAAQe,EAAS,GACnBb,EAAE,QAAQa,EAAS,GACnBZ,EAAS,QAAQY,EAAS,UAC1BX,EAAU,QAAQW,EAAS,WAC3BV,EAAe,QAAQU,EAAS,gBAChCR,EAAa,QAAQ;AAAA,IAAA,CACtB;AAAA,EACH;AAEA,WAASS,IAAU;AACb,IAAA,OAAOJ,KAAgC,eACbA,KACEA,IAAA;AAAA,EAElC;AAEA,WAASK,IAAS;AAGhB,QAFQD,KAEJ1B,MAA+B,QAAW;AACrC,MAAAuB;AACP;AAAA,IACF;AAEA,QAAIf,EAAiB,SAAS,QAAQC,EAAgB,SAAS,MAAM;AACrC,MAAAa,IAAAtB;AAAA,QAC5BQ,EAAiB;AAAA,QACjBC,EAAgB;AAAA,QAChBc;AAAA,MAAA;AAEF;AAAA,IACF;AAAA,EACF;AAEA,WAASK,IAAQ;AACX,IAAC3B,EAAW,UACdgB,EAAa,QAAQ;AAAA,EAEzB;AAEA,SAAAY,EAAM,CAACzB,GAAkBC,GAAiBC,CAAc,GAAGiB,GAAQ;AAAA,IACjE,OAAO;AAAA,EAAA,CACR,GACKM,EAAA,CAACrB,GAAkBC,CAAe,GAAGkB,GAAQ,EAAE,OAAO,QAAQ,GACpEE,EAAM5B,GAAY2B,GAAO,EAAE,OAAO,OAAQ,CAAA,GAEtCE,QACFC,GAAeL,CAAO,GAGjB;AAAA,IACL,GAAGM,EAAgBtB,CAAC;AAAA,IACpB,GAAGsB,EAAgBpB,CAAC;AAAA,IACpB,UAAUoB,EAAgBnB,CAAQ;AAAA,IAClC,WAAWmB,EAAgBlB,CAAS;AAAA,IACpC,gBAAgBkB,EAAgBjB,CAAc;AAAA,IAC9C,cAAciB,EAAgBf,CAAY;AAAA,IAC1C,gBAAAC;AAAA,IACA,QAAAK;AAAA,EAAA;AAEJ;AC5JY,IAAAU,sBAAAA,OACVA,EAAA,OAAO,QACPA,EAAA,UAAU,WACVA,EAAA,cAAc,gBAHJA,IAAAA,KAAA,CAAA,CAAA,GAMAC,sBAAAA,OACVA,EAAA,MAAM,OACNA,EAAA,WAAW,aACXA,EAAA,SAAS,WACTA,EAAA,SAAS,UACTA,EAAA,cAAc,gBACdA,EAAA,YAAY,cACZA,EAAA,OAAO,QACPA,EAAA,YAAY,cACZA,EAAA,UAAU,YACVA,EAAA,QAAQ,SACRA,EAAA,aAAa,eACbA,EAAA,WAAW,aAZDA,IAAAA,KAAA,CAAA,CAAA;ACNL,MAAMC,KAAoB;AAAA;AAAA,EAE/B;AACF,GAEaC,KAAwB;AAAA;AAAA,EAEnC;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAA4D;AAAA,EACvE,CAACH,EAAiB,GAAG,GAAG;AAAA;AAAA,IAEtB;AAAA,EACF;AAAA,EAEA,CAACA,EAAiB,QAAQ,GAAG;AAAA;AAAA,IAE3B;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAiB,MAAM,GAAG;AAAA;AAAA,IAEzB;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAiB,MAAM,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAiB,WAAW,GAAG;AAAA;AAAA,IAE9B;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAiB,SAAS,GAAG;AAAA;AAAA,IAE5B;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAiB,IAAI,GAAG;AAAA;AAAA,IAEvB;AAAA,EACF;AAAA,EAEA,CAACA,EAAiB,SAAS,GAAG;AAAA;AAAA,IAE5B;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAiB,OAAO,GAAG;AAAA;AAAA,IAE1B;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAiB,KAAK,GAAG;AAAA;AAAA,IAExB;AAAA,EACF;AAAA,EAEA,CAACA,EAAiB,UAAU,GAAG;AAAA;AAAA,IAE7B;AAAA,IACA;AAAA,EACF;AAAA,EAEA,CAACA,EAAiB,QAAQ,GAAG;AAAA;AAAA,IAE3B;AAAA,IACA;AAAA,EACF;AACF,GC7FMI,KAAuC;AAAA,EAC3C,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AACR,GAEMC,KAA4C;AAAA,EAChD,OAAO;AAAA,EACP,KAAK;AACP;AAEA,SAASC,EAAQ1B,GAA8B;AAC7C,SAAOA,EAAU,MAAM,GAAG,EAAE,CAAC;AAC/B;AAEA,SAAS2B,EAAa3B,GAA0C;AAC9D,SAAOA,EAAU,MAAM,GAAG,EAAE,CAAC;AAC/B;AAEA,SAAS4B,EAAqB5B,GAAiC;AACvD,QAAA6B,IAAOH,EAAQ1B,CAAS;AAC9B,SAAOA,EAAU,QAAQ6B,GAAML,GAAaK,CAAI,CAAC;AACnD;AAEA,SAASC,EAA8B9B,GAAiC;AAChE,QAAA+B,IAAYJ,EAAa3B,CAAS;AACxC,SAAO+B,IAAY/B,EAAU,QAAQ+B,GAAWN,GAAkBM,CAAS,CAAC,IAAiB/B;AAC/F;AAEA,SAASgC,GAAsBhC,GAAmC;AAC1D,QAAAiC,IAAoBL,EAAqB5B,CAAS;AAEjD,SAAA;AAAA,IACL8B,EAA8B9B,CAAS;AAAA,IACvCiC;AAAA,IACAH,EAA8BG,CAAiB;AAAA,EAAA;AAEnD;AAEA,SAASC,GAAqBlC,GAAsBmC,GAA+D;AACjH,QAAMC,IAAUD,MAAc;AAEtB,UAAAT,EAAQ1B,CAAS,GAAG;AAAA,IAC1B,KAAK;AAAA,IACL,KAAK;AACH,aAAOoC,IAAU,CAAC,QAAQ,OAAO,IAAI,CAAC,SAAS,MAAM;AAAA,IACvD,KAAK;AAAA,IACL,KAAK;AACH,aAAOA,IAAU,CAAC,OAAO,QAAQ,IAAI,CAAC,UAAU,KAAK;AAAA,IACvD;AACE,aAAO;EACX;AACF;AAEgB,SAAAC,GAAsBrC,GAAsBmC,GAAkE;AACtH,QAAAJ,IAAYJ,EAAa3B,CAAS,GAClCsC,IAAqBP,IAAYC,GAAsBhC,CAAS,IAAI,CAAC4B,EAAqB5B,CAAS,CAAC;AAE1G,MAAImC,MAAc;AACT,WAAAG;AAGL,MAAAC,IAAyBL,GAAqBlC,GAAWmC,CAAS;AAEtE,SAAIJ,MACFQ,IAAyBA,EAAuB,IAAI,CAAAV,MAAQ,GAAGA,CAAI,IAAIE,CAAS,EAAe,GACtEQ,IAAA;AAAA,IACvB,GAAGA;AAAA,IACH,GAAGA,EAAuB,IAAIT,CAA6B;AAAA,EAAA,IAIxD;AAAA,IACL,GAAGQ;AAAA,IACH,GAAGC;AAAA,EAAA;AAEP;AC7EgB,SAAAC,GAAYC,GAAiBC,GAA2B;AAC/D,SAAAD,EAAK,KAAK,CAAChE,MAAY;AACtB,UAAA,EAAE,WAAAkE,EAAc,IAAAlE;AAEtB,WAAI,IAACmE,GAAWnE,GAASiE,CAAO,MAC1BC,KAAA,QAAAA,EAAW,SAAS,oBAIpBA,KAAA,QAAAA,EAAW,SAAS,yBAIpBA,KAAA,QAAAA,EAAW,SAAS;AAAA,EAKnB,CACR;AACH;AChBO,SAASE,KAA+B;AAC7C,MAAI,OAAO,SAAW,OAAe,OAAO,SAAS,OAAO;AACnD,WAAA;AAGL,MAAA;AACF,WAAO,CAAC,OAAO,UAAU,CAAC,OAAO,eAAe,OAAO,MAAM;AAAA,EAAA,QACvD;AACC,WAAA;AAAA,EACT;AACF;AASO,MAAMC,KAA+B,CAAC/D,GAAWC,GAAUyB,GAAQxB,IAA6B,CAAA,MACjG4D,OACKE,EAAWhE,GAAWC,GAAUyB,GAAQ;AAAA,EAC7C,GAAGxB;AAAA,EACH,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,CACjB,IAGI8D,EAAWhE,GAAWC,GAAUyB,GAAQxB,CAAO,GCoBxD+D,KAAeC,GAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,eAAAC;AAAA,IACA,YAAAC;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,EAEd,OAAO;AAAA;AAAA,IAEL,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAMhC,EAAe;AAAA,IAChC;AAAA,IAEA,kBAAkB;AAAA,MAChB,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,mBAAmB;AAAA,MACjB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM,CAAC,QAAQ,QAAQ,QAAQ;AAAA,MAC/B,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,sBAAsB;AAAA,MACpB,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IACA;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,IAEA;AAAA,EACF;AAAA,EAEA,MAAMgC,GAAOC,GAAS;AAEpB,UAAMC,IAAOzD,KACP0D,IAAgB1D,KAEhB2D,IAAc3D,KACd4D,IAAkBrE,EAAS,MAAA;;AAAM,cAAAsE,IAAAF,EAAY,UAAZ,gBAAAE,EAAmB;AAAA,KAAI,GAExD,EAAE,SAAAhB,GAAS,WAAA1C,WAAW2D,GAAQ,WAAAC,GAAW,aAAAC,EAAY,IAAIC,GAAOV,CAAK,GAErEW,IAAY3E,EAAS,MAAM4E,EAAkB,UAAUhE,EAAU,KAAK,GACtEiE,IAAW7E,EAAS;;AAAM,iBAAQsE,IAAAzD,EAAe,MAAM,SAArB,QAAAyD,EAA2B;AAAA,KAAgB,GAG7EQ,IAAa9E,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGiC;AAAA,MACH,GAAG,WAAWgC,EAAQ,QAAQ,KAAKD,EAAM;AAAA,IAAA,CAC1C,GAEKe,IAAa/E,EAAS,MAAM;AAAA,MAChC,GAAGkC;AAAA,MACH,GAAGC,GAAsByC,EAAkB,KAAK;AAAA,IAAA,CACjD,GAGK,EAAE,OAAAI,GAAO,MAAAC,GAAM,OAAAC,GAAO,QAAAC,EAAO,IAAIC,GAAgBC,GAAMrB,GAAO,QAAQ,GAAGC,EAAQ,IAAI,GAErF,EAAE,gBAAAjD,GAAgB,gBAAAH,GAAgB,WAAW+D,MAAsBlF,GAAY4D,GAASY,GAAM;AAAA,MAClG,WAAAtD;AAAA,MAEA,YAAY;AAAA,QACV0E,EAAiBf,EAAO,KAAK;AAAA,QAC7BgB,GAAM;AAAA,QACNC,GAAK,OAAO;AAAA,UACV,oBAAoBvC,GAAsBrC,EAAU,OAAOoD,EAAM,iBAAiB;AAAA,QAAA,EAClF;AAAA,QACFyB,GAAKhB,EAAY,KAAK;AAAA,QAEtBiB,GAAK;AAAA,UACH,MAAM,EAAE,OAAAC,GAAO,UAAAC,KAAY;AACzB,YAAIpB,EAAU,SACL,OAAA,OAAOoB,EAAS,SAAS,OAAO;AAAA,cACrC,OAAO,GAAGD,EAAM,UAAU,KAAK;AAAA,YAAA,CAChC;AAAA,UAEL;AAAA,QAAA,CACD;AAAA,MACH;AAAA,MAEA,wBAAwBE,GAAM;AAC5B,eAAOnC,GAAe,GAAGmC,GAAM,EAAE,gBAAgB,GAAM,CAAA;AAAA,MACzD;AAAA,IAAA,CACD,GAGK,EAAE,WAAAC,GAAW,UAAAC,EAAS,IAAIC,GAAc7B,CAAa;AAG3D,WAAA8B,GAAa/B,GAAMc,CAAK,GAITkB,GAAAhC,GAAM,CAACiC,MAAU;AAC1B,MAAAnB,EAAM,UAAU,UAAU,CAAC5B,GAAY+C,EAAM,aAAa,GAAgBnC,EAAM,OAAkB,KAC9FkB;IACR,GACC;AAAA,MACD,QAAQ,CAAC5B,CAA0B;AAAA,IAAA,CACpC,GAGM;AAAA,MACL,MAAAY;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,YAAAS;AAAA,MACA,YAAAC;AAAA,MACA,gBAAA/D;AAAA,MACA,OAAAgE;AAAA,MACA,WAAAL;AAAA,MACA,UAAAE;AAAA,MACA,WAAAiB;AAAA,MACA,UAAAC;AAAA,MACA,MAAAd;AAAA,MACA,OAAAC;AAAA,MACA,QAAAC;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GA3OMiB,KAAK;AAAA,EAAA,KAAA;AAAA;;;oCAJqBC,EAAK,YAAA;AAoC5B,SAAAC,EAAA,aAAAA,EAAA,UAAA,UAAAC,EAAA,GAAAC,EAnCNC,GAmCM,EAAA,KAAA,EAAA,GAAA;AAAA,IAAA,SA9BYC,EAAa,MAAA;AAAA,MAC3BC,EAAAC,GAAA,OAAAR,IAAA;AAAA,QAGGE,EAAA,aAAWA,qDACJC,EAAU,GAAAM,EAAA,OAAAC,EAAA,EAAA,KAAA,EAAA,GAAAR,EAAA,QAAA;AAAA,UACjB,KAAK;AAAA,UAAA,OAAAA,EAAA;AAAA,UAEU,OAAAA,EAAA;AAAA,QAAA,CAAA,GAAA;AAAA,UAKHA,EAAA,uBAAAS,EAAAT,EAAA,QAAA,WAAA,EAAA,KAAA,EAAA,CAAA,KAAAC,EAAA,GAAAM,EAAE,OAAU;AAAA,YAAA,KAAA;AAAA,YACrB,OAAQG,EAAAV,EAAA,UAAA;AAAA,UAAA,GAAA;AAAA;;;;QAMA,CAAA,IAAAW,EACd,IAOgB,EAAA;AAAA,QAAAX,EAAA,YAAAA,EAAA,YAAA,UAAAA,EAAA,YAAA,kBAAAC,EANK,GAAAC,EAAAU,GAAAJ,EAAA;AAAA,UACX,KAAA;AAAA,UACP,KAAA;AAAA,QAAA,GACAR,EAAY,kBAAA;AAAA,UAAA,WAAAA,EAAA,UAAA;AAAA,4BAEba,EAAQ,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAA,MAAA,SAAAd,EAAA,KAAA,IAAAA,EAAA,MAAA;AAAA,QAAA,CAAR,GAAA;AAAA,UAAA,SAAAI,EAAA,MAAA;AAAA;;;QA/BS,GAAA,IAAA,CAAA,SAAA,CAAA,KAAAO,EAAA,IAAA,EAAA;AAAA,MAAA,GAAA,GAAA,GAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"OrPopover-DsFw4mp2.mjs","sources":["../../../components/or-popover-v3/src/hooks/useFloating.ts","../../../components/or-popover-v3/src/props.ts","../../../components/or-popover-v3/src/styles.ts","../../../components/or-popover-v3/src/utils/getFallbackPlacements.ts","../../../components/or-popover-v3/src/utils/isPrevented.ts","../../../components/or-popover-v3/src/utils/safeAutoUpdate.ts","../../../components/or-popover-v3/src/OrPopover.vue"],"sourcesContent":["import type { FloatingElement, MiddlewareData, ReferenceElement } from '@floating-ui/dom';\nimport { computePosition } from '@floating-ui/dom';\nimport { Ref, computed, getCurrentScope, onScopeDispose, ref, shallowReadonly, shallowRef, unref, watch } from 'vue';\nimport type { ComponentPublicInstance } from 'vue';\n\nimport type {\n UseFloatingOptions,\n UseFloatingReturn,\n MaybeElement,\n} from './types';\n\n// https://github.com/floating-ui/floating-ui/blob/master/packages/vue/src/useFloating.ts\n/**\n * Computes the `x` and `y` coordinates that will place the floating element next to a reference element when it is given a certain CSS positioning strategy.\n * @param reference The reference template ref.\n * @param floating The floating template ref.\n * @param options The floating options.\n * @see https://floating-ui.com/docs/vue\n */\n\n\nfunction roundByDPR(element: Element, value: number) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\nfunction getDPR(element: Element): number {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\nfunction unwrapElement<T>(element: MaybeElement<T>) {\n return ((element as Exclude<MaybeElement<T>, T>)?.$el ?? element) as Exclude<\n MaybeElement<T>,\n ComponentPublicInstance\n >;\n}\nexport function useFloating<T extends ReferenceElement = ReferenceElement>(\n reference: Readonly<Ref<MaybeElement<T>>>,\n floating: Readonly<Ref<MaybeElement<FloatingElement>>>,\n options: UseFloatingOptions<T> = {}\n): UseFloatingReturn {\n const whileElementsMountedOption = options.whileElementsMounted;\n const openOption = computed(() => unref(options.open) ?? true);\n const middlewareOption = computed(() => unref(options.middleware));\n const placementOption = computed(() => unref(options.placement) ?? 'bottom');\n const strategyOption = computed(() => unref(options.strategy) ?? 'absolute');\n const transformOption = computed(() => unref(options.transform) ?? true);\n const referenceElement = computed(() => unwrapElement(reference.value));\n const floatingElement = computed(() => unwrapElement(floating.value));\n const x = ref(0);\n const y = ref(0);\n const strategy = ref(strategyOption.value);\n const placement = ref(placementOption.value);\n const middlewareData = shallowRef<MiddlewareData>({});\n const isPositioned = ref(false);\n const floatingStyles = computed(() => {\n const initialStyles = {\n position: strategy.value,\n left: '0',\n top: '0',\n };\n\n if (!floatingElement.value) {\n return initialStyles;\n }\n\n const xVal = roundByDPR(floatingElement.value, x.value);\n const yVal = roundByDPR(floatingElement.value, y.value);\n\n if (transformOption.value) {\n return {\n ...initialStyles,\n transform: `translate(${xVal}px, ${yVal}px)`,\n ...(getDPR(floatingElement.value) >= 1.5 && { willChange: 'transform' }),\n };\n }\n\n return {\n position: strategy.value,\n left: `${xVal}px`,\n top: `${yVal}px`,\n };\n });\n\n let whileElementsMountedCleanup: (() => void) | undefined;\n\n function update() {\n if (referenceElement.value == null || floatingElement.value == null) {\n return;\n }\n\n computePosition(referenceElement.value, floatingElement.value, {\n middleware: middlewareOption.value,\n placement: placementOption.value,\n strategy: strategyOption.value,\n }).then((position) => {\n x.value = position.x;\n y.value = position.y;\n strategy.value = position.strategy;\n placement.value = position.placement;\n middlewareData.value = position.middlewareData;\n isPositioned.value = true;\n });\n }\n\n function cleanup() {\n if (typeof whileElementsMountedCleanup === 'function') {\n whileElementsMountedCleanup();\n whileElementsMountedCleanup = undefined;\n }\n }\n\n function attach() {\n cleanup();\n\n if (whileElementsMountedOption === undefined) {\n update();\n return;\n }\n\n if (referenceElement.value != null && floatingElement.value != null) {\n whileElementsMountedCleanup = whileElementsMountedOption(\n referenceElement.value,\n floatingElement.value,\n update\n );\n return;\n }\n }\n\n function reset() {\n if (!openOption.value) {\n isPositioned.value = false;\n }\n }\n\n watch([middlewareOption, placementOption, strategyOption], update, {\n flush: 'sync',\n });\n watch([referenceElement, floatingElement], attach, { flush: 'sync' });\n watch(openOption, reset, { flush: 'sync' });\n\n if (getCurrentScope()) {\n onScopeDispose(cleanup);\n }\n\n return {\n x: shallowReadonly(x),\n y: shallowReadonly(y),\n strategy: shallowReadonly(strategy),\n placement: shallowReadonly(placement),\n middlewareData: shallowReadonly(middlewareData),\n isPositioned: shallowReadonly(isPositioned),\n floatingStyles,\n update,\n };\n}\n","import { offset } from '@floating-ui/dom';\n\nexport enum PopoverVariant {\n Auto = 'auto',\n Popover = 'popover',\n BottomSheet = 'bottom-sheet',\n}\n\nexport enum PopoverPlacement {\n Top = 'top',\n TopStart = 'top-start',\n TopEnd = 'top-end',\n Bottom = 'bottom',\n BottomStart = 'bottom-start',\n BottomEnd = 'bottom-end',\n Left = 'left',\n LeftStart = 'left-start',\n LeftEnd = 'left-end',\n Right = 'right',\n RightStart = 'right-start',\n RightEnd = 'right-end',\n}\n\nexport type PopoverOffset = NonNullable<Parameters<typeof offset>[0]>;\n","import { PopoverPlacement } from './props';\n\nexport const Popover: string[] = [\n // Position\n 'absolute',\n];\n\nexport const PopoverBody: string[] = [\n // Shape\n 'rounded-md',\n\n // Spacing\n 'mx-sm',\n 'my-sm',\n\n // Elevation\n 'shadow-contextual',\n 'dark:shadow-contextual-dark',\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 PopoverBodyPlacements: Record<PopoverPlacement, string[]> = {\n [PopoverPlacement.Top]: [\n // Spacing\n 'mb-0',\n ],\n\n [PopoverPlacement.TopStart]: [\n // Spacing\n 'mb-0',\n 'ml-0',\n ],\n\n [PopoverPlacement.TopEnd]: [\n // Spacing\n 'mb-0',\n 'mr-0',\n ],\n\n [PopoverPlacement.Bottom]: [\n // Spacing\n 'mt-0',\n ],\n\n [PopoverPlacement.BottomStart]: [\n // Spacing\n 'mt-0',\n 'ml-0',\n ],\n\n [PopoverPlacement.BottomEnd]: [\n // Spacing\n 'mt-0',\n 'mr-0',\n ],\n\n [PopoverPlacement.Left]: [\n // Spacing\n 'mr-0',\n ],\n\n [PopoverPlacement.LeftStart]: [\n // Spacing\n 'mr-0',\n 'mt-0',\n ],\n\n [PopoverPlacement.LeftEnd]: [\n // Spacing\n 'mr-0',\n 'mb-0',\n ],\n\n [PopoverPlacement.Right]: [\n // Spacing\n 'ml-0',\n ],\n\n [PopoverPlacement.RightStart]: [\n // Spacing\n 'ml-0',\n 'mt-0',\n ],\n\n [PopoverPlacement.RightEnd]: [\n // Spacing\n 'ml-0',\n 'mb-0',\n ],\n};\n","import { FlipOptions, Placement } from '@floating-ui/dom';\n\nconst oppositeSide: Record<string, string> = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n};\n\nconst oppositeAlignment: Record<string, string> = {\n start: 'end',\n end: 'start',\n};\n\nfunction getSide(placement: Placement): string {\n return placement.split('-')[0];\n}\n\nfunction getAlignment(placement: Placement): string | undefined {\n return placement.split('-')[1];\n}\n\nfunction getOppositePlacement(placement: Placement): Placement {\n const side = getSide(placement);\n return placement.replace(side, oppositeSide[side]) as Placement;\n}\n\nfunction getOppositeAlignmentPlacement(placement: Placement): Placement {\n const alignment = getAlignment(placement);\n return alignment ? placement.replace(alignment, oppositeAlignment[alignment]) as Placement : placement;\n}\n\nfunction getExpandedPlacements(placement: Placement): Placement[] {\n const oppositePlacement = getOppositePlacement(placement);\n\n return [\n getOppositeAlignmentPlacement(placement),\n oppositePlacement,\n getOppositeAlignmentPlacement(oppositePlacement),\n ];\n}\n\nfunction getOppositeAxisSides(placement: Placement, direction: FlipOptions['fallbackAxisSideDirection']): string[] {\n const isStart = direction === 'start';\n\n switch (getSide(placement)) {\n case 'top':\n case 'bottom':\n return isStart ? ['left', 'right'] : ['right', 'left'];\n case 'left':\n case 'right':\n return isStart ? ['top', 'bottom'] : ['bottom', 'top'];\n default:\n return [];\n }\n}\n\nexport function getFallbackPlacements(placement: Placement, direction: FlipOptions['fallbackAxisSideDirection']): Placement[] {\n const alignment = getAlignment(placement);\n const fallbackPlacements = alignment ? getExpandedPlacements(placement) : [getOppositePlacement(placement)];\n\n if (direction === 'none') {\n return fallbackPlacements;\n }\n\n let oppositeAxisPlacements = getOppositeAxisSides(placement, direction) as Placement[];\n\n if (alignment) {\n oppositeAxisPlacements = oppositeAxisPlacements.map(side => `${side}-${alignment}` as Placement);\n oppositeAxisPlacements = [\n ...oppositeAxisPlacements,\n ...oppositeAxisPlacements.map(getOppositeAlignmentPlacement),\n ];\n }\n\n return [\n ...fallbackPlacements,\n ...oppositeAxisPlacements,\n ];\n}\n","import { isAncestor } from '@onereach/ui-components-common/utils';\n\nexport function isPrevented(path: Element[], trigger: Element): boolean {\n return path.some((element) => {\n const { classList } = element;\n\n if (!isAncestor(element, trigger)) {\n if (classList?.contains('or-popover-v3')) {\n return true;\n }\n\n if (classList?.contains('or-bottom-sheet-v3')) {\n return true;\n }\n\n if (classList?.contains('or-confirm-v3')) {\n return true;\n }\n }\n\n return false;\n });\n}\n","import { autoUpdate, type AutoUpdateOptions } from '@floating-ui/dom';\n\n/**\n * True when this document runs in a cross-origin iframe.\n * Parent `window` access throws or is blocked (Safari logs SecurityError for frameElement).\n */\nexport function isCrossOriginIframe(): boolean {\n if (typeof window === 'undefined' || window.self === window.top) {\n return false;\n }\n\n try {\n return !window.parent || !Object.getPrototypeOf(window.parent);\n } catch {\n return true;\n }\n}\n\ntype AutoUpdateFn = typeof autoUpdate;\n\n/**\n * Wrapper around Floating UI `autoUpdate` for embedded apps.\n * Disables ancestor scroll/resize tracking in cross-origin iframes where Floating UI\n * cannot safely traverse into the parent frame.\n */\nexport const safeAutoUpdate: AutoUpdateFn = (reference, floating, update, options: AutoUpdateOptions = {}) => {\n if (isCrossOriginIframe()) {\n return autoUpdate(reference, floating, update, {\n ...options,\n ancestorScroll: false,\n ancestorResize: false,\n });\n }\n\n return autoUpdate(reference, floating, update, options);\n};\n","<template>\n <OrTeleport v-if=\"keepAlive || state === 'open'\">\n <div\n v-show=\"state === 'open'\"\n :ref=\"'containerRoot'\"\n :class=\"['contents']\"\n >\n <template v-if=\"isDesktop && variant === 'auto' || variant === 'popover'\">\n <div\n v-show=\"!isHidden\"\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"floatingStyles\"\n >\n <template v-if=\"disableDefaultStyles\">\n <slot />\n </template>\n\n <template v-else>\n <div :class=\"bodyStyles\">\n <slot />\n </div>\n </template>\n </div>\n </template>\n\n <template v-if=\"isMobile && variant === 'auto' || variant === 'bottom-sheet'\">\n <OrBottomSheet\n :ref=\"'bottomSheet'\"\n v-bind=\"bottomSheetProps\"\n :is-open=\"state === 'open'\"\n @update:state=\"$event === 'open' ? open() : close()\"\n >\n <slot />\n </OrBottomSheet>\n </template>\n </div>\n </OrTeleport>\n</template>\n\n<script lang=\"ts\">\nimport { FlipOptions, HideOptions, ReferenceElement, flip, hide, offset as offsetMiddleware, shift, size } from '@floating-ui/dom';\nimport { useElevation, usePopoverState, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { OrBottomSheetV3 as OrBottomSheet } from '@onereach/ui-components.or-bottom-sheet-v3';\nimport { OrTeleportV3 as OrTeleport } from '@onereach/ui-components.or-teleport-v3';\nimport { MaybeElementRef, onClickOutside } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, toRefs } from 'vue';\n\nimport { useFloating } from './hooks/useFloating';\nimport { PopoverOffset, PopoverPlacement, PopoverVariant } from './props';\nimport { Popover, PopoverBody, PopoverBodyPlacements } from './styles';\nimport { getFallbackPlacements, isPrevented, safeAutoUpdate } from './utils';\n\nexport default defineComponent({\n name: 'OrPopover',\n\n components: {\n OrBottomSheet,\n OrTeleport,\n },\n\n inheritAttrs: false,\n\n props: {\n // @workaround for Vue 2\n customStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n variant: {\n type: String as PropType<`${PopoverVariant}`>,\n default: () => PopoverVariant.Auto,\n },\n\n bottomSheetProps: {\n type: Object as PropType<InstanceType<typeof OrBottomSheet>['$props']>,\n default: undefined,\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 fallbackPlacement: {\n type: String as PropType<FlipOptions['fallbackAxisSideDirection']>,\n default: 'end',\n },\n\n hideOptions: {\n type: Object as PropType<HideOptions>,\n default: undefined,\n },\n\n offset: {\n type: [Number, Object, Function] as PropType<PopoverOffset>,\n default: 8,\n },\n\n fullWidth: {\n type: Boolean,\n default: false,\n },\n\n disableDefaultStyles: {\n type: Boolean,\n default: false,\n },\n\n keepAlive: {\n type: Boolean,\n default: true,\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n ],\n\n expose: [\n 'root',\n 'containerRoot',\n\n 'state',\n\n 'isFlipped',\n 'isHidden',\n\n 'open',\n 'close',\n 'toggle',\n\n 'bottomSheet',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n const containerRoot = ref<HTMLElement>();\n\n const bottomSheet = ref<InstanceType<typeof OrBottomSheet>>();\n const bottomSheetRoot = computed(() => bottomSheet.value?.root);\n\n const { trigger, placement, offset, fullWidth, hideOptions } = toRefs(props);\n\n const isFlipped = computed(() => computedPlacement.value !== placement.value);\n const isHidden = computed(() => Boolean(middlewareData.value.hide?.referenceHidden));\n\n // Styles\n const rootStyles = computed(() => [\n 'or-popover-v3',\n ...Popover,\n ...'class' in context.attrs ? [] : props.customStyles,\n ]);\n\n const bodyStyles = computed(() => [\n ...PopoverBody,\n ...PopoverBodyPlacements[computedPlacement.value],\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n const { floatingStyles, middlewareData, placement: computedPlacement } = useFloating(trigger, root, {\n placement,\n\n middleware: [\n offsetMiddleware(offset.value),\n shift(),\n flip(() => ({\n fallbackPlacements: getFallbackPlacements(placement.value, props.fallbackPlacement),\n })),\n hide(hideOptions.value),\n\n size({\n apply({ rects, elements }) {\n if (fullWidth.value) {\n Object.assign(elements.floating.style, {\n width: `${rects.reference.width}px`,\n });\n }\n },\n }),\n ],\n\n whileElementsMounted(...args) {\n return safeAutoUpdate(...args, { animationFrame: true });\n },\n });\n\n // Helpers\n const { isDesktop, isMobile } = useResponsive(containerRoot);\n\n // #region Elevation\n useElevation(root, state);\n // #endregion\n\n // #region Click Outside\n onClickOutside(root, (event) => {\n if (state.value === 'open' && !isPrevented(event.composedPath() as Element[], props.trigger as Element)) {\n close();\n }\n }, {\n ignore: [trigger as MaybeElementRef],\n });\n // #endregion\n\n return {\n root,\n containerRoot,\n bottomSheet,\n bottomSheetRoot,\n rootStyles,\n bodyStyles,\n floatingStyles,\n state,\n isFlipped,\n isHidden,\n isDesktop,\n isMobile,\n open,\n close,\n toggle,\n };\n },\n});\n</script>\n"],"names":["roundByDPR","element","value","dpr","getDPR","unwrapElement","useFloating","reference","floating","options","whileElementsMountedOption","openOption","computed","unref","middlewareOption","placementOption","strategyOption","transformOption","referenceElement","floatingElement","x","ref","y","strategy","placement","middlewareData","shallowRef","isPositioned","floatingStyles","initialStyles","xVal","yVal","whileElementsMountedCleanup","update","computePosition","position","cleanup","attach","reset","watch","getCurrentScope","onScopeDispose","shallowReadonly","PopoverVariant","PopoverPlacement","Popover","PopoverBody","PopoverBodyPlacements","oppositeSide","oppositeAlignment","getSide","getAlignment","getOppositePlacement","side","getOppositeAlignmentPlacement","alignment","getExpandedPlacements","oppositePlacement","getOppositeAxisSides","direction","isStart","getFallbackPlacements","fallbackPlacements","oppositeAxisPlacements","isPrevented","path","trigger","classList","isAncestor","isCrossOriginIframe","safeAutoUpdate","autoUpdate","_sfc_main","defineComponent","OrBottomSheet","OrTeleport","props","context","root","containerRoot","bottomSheet","bottomSheetRoot","_a","offset","fullWidth","hideOptions","toRefs","isFlipped","computedPlacement","isHidden","rootStyles","bodyStyles","state","open","close","toggle","usePopoverState","toRef","offsetMiddleware","shift","flip","hide","size","rects","elements","args","isDesktop","isMobile","useResponsive","useElevation","onClickOutside","event","_hoisted_1","_resolveComponent","_ctx","_openBlock","_createBlock","_component_OrTeleport","_withCtx","_withDirectives","_createElementVNode","_createElementBlock","_mergeProps","_renderSlot","_normalizeClass","_createCommentVNode","_component_OrBottomSheet","_cache","$event"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { useProxyModelValue as ce } from "@onereach/ui-components-common/hooks";
2
- import { a, S as k } from "./OrSlider.vue_vue_type_script_lang--k0M0Q7N.mjs";
2
+ import { a, S as k } from "./OrSlider.vue_vue_type_script_lang-ggTiRZpX.mjs";
3
3
  import { defineComponent as me, ref as h, computed as i, toRef as ve, watch as P, resolveComponent as he, openBlock as S, createElementBlock as H, normalizeClass as m, createElementVNode as b, normalizeStyle as C, createVNode as J, mergeProps as K, withCtx as $, renderSlot as D, createTextVNode as F, toDisplayString as E, Fragment as Q, renderList as U, createCommentVNode as ge } from "vue";
4
- import { O as be } from "./OrTooltip-cverJ1se.mjs";
4
+ import { O as be } from "./OrTooltip-CAvo-mxv.mjs";
5
5
  import { useElementBounding as ke, useElementHover as w, useDraggable as fe, clamp as g } from "@vueuse/core";
6
6
  import { _ as ye } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
7
7
  const Ve = [
@@ -685,4 +685,4 @@ const _e = /* @__PURE__ */ ye(Ne, [["render", Ge]]);
685
685
  export {
686
686
  _e as O
687
687
  };
688
- //# sourceMappingURL=OrRangeSlider-PAzeqzie.mjs.map
688
+ //# sourceMappingURL=OrRangeSlider-CCy-Y7EH.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrRangeSlider-PAzeqzie.mjs","sources":["../../../components/or-range-slider-v3/src/styles.ts","../../../components/or-range-slider-v3/src/OrRangeSlider.vue"],"sourcesContent":["import { SliderColor, SliderOrientation } from '@onereach/ui-components.or-slider-v3';\n\nexport const RangeSlider: string[] = [\n // Interactivity\n 'interactivity-default',\n];\n\nexport const RangeSliderOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-column',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-column',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-row',\n\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-row',\n\n // Box\n 'h-full',\n ],\n};\n\nexport const RangeSliderRail: string[] = [\n // Position\n 'relative',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-full',\n\n // Theme\n 'theme-background-disabled',\n 'dark:theme-background-disabled-dark',\n];\n\nexport const RangeSliderRailOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-row',\n\n // Box\n 'w-full',\n 'h-xs',\n\n // Spacing\n 'mx-0',\n 'my-md+',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-row-reverse',\n\n // Box\n 'w-full',\n 'h-xs',\n\n // Spacing\n 'mx-0',\n 'my-md+',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-column-reverse items-center',\n\n // Box\n 'w-xs',\n 'h-full',\n\n // Spacing\n 'mx-md+',\n 'my-0',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-column items-center',\n\n // Box\n 'w-xs',\n 'h-full',\n\n // Spacing\n 'mx-md+',\n 'my-0',\n ],\n};\n\nexport const RangeSliderOffset: string[] = [];\n\nexport const RangeSliderOffsetOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Box\n 'w-full',\n ],\n};\n\nexport const RangeSliderTrack: string[] = [\n // Shape\n 'rounded-full',\n\n // Box\n 'w-full',\n 'h-full',\n];\n\nexport const RangeSliderTrackColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-background-primary',\n 'dark:theme-background-primary-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-background-secondary',\n 'dark:theme-background-secondary-dark',\n ],\n};\n\nexport const RangeSliderThumb: string[] = [\n // Layout\n 'shrink-0',\n\n // Position\n 'z-10',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[20px]',\n 'h-[20px]',\n\n // Spacing\n '-mx-[10px]',\n '-my-[10px]',\n\n // Theme\n 'theme-background-base',\n 'dark:theme-background-base-dark',\n];\n\nexport const RangeSliderThumbColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-border-primary border-4',\n 'dark:theme-border-primary-dark',\n\n // Theme (hover)\n 'hover:theme-background-primary',\n 'dark:hover:theme-background-primary-dark',\n\n // Theme (active)\n 'active:theme-background-primary',\n 'dark:active:theme-background-primary-dark',\n\n 'active:theme-outline-primary active:outline-10',\n 'dark:active:theme-outline-primary-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-border-secondary border-4',\n 'dark:theme-border-secondary-dark',\n\n // Theme (hover)\n 'hover:theme-background-secondary',\n 'dark:hover:theme-background-secondary-dark',\n\n // Theme (active)\n 'active:theme-background-secondary',\n 'dark:active:theme-background-secondary-dark',\n\n 'active:theme-outline-secondary active:outline-10',\n 'dark:active:theme-outline-secondary-dark',\n ],\n};\n\nexport const RangeSliderBreakpointMark: string[] = [\n // Position\n 'absolute',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[2px]',\n 'h-[2px]',\n\n // Spacing\n '-mx-[1px]',\n '-my-[1px]',\n];\n\nexport const RangeSliderBreakpointMarkColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-background-primary',\n 'dark:theme-background-primary-dark',\n\n // Theme (activated)\n 'activated:theme-background-primary-container',\n 'dark:activated:theme-background-primary-container-dark',\n\n // Theme (disabled)\n 'disabled:!bg-on-disabled',\n 'dark:disabled:!bg-on-disabled-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-background-secondary',\n 'dark:theme-background-secondary-dark',\n\n // Theme (activated)\n 'activated:theme-background-secondary-container',\n 'dark:activated:theme-background-secondary-container-dark',\n\n // Theme (disabled)\n 'disabled:!bg-on-disabled',\n 'dark:disabled:!bg-on-disabled-dark',\n ],\n};\n\nexport const RangeSliderLabel: string[] = [\n // Position\n 'relative',\n];\n\nexport const RangeSliderLabelOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-row',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-row-reverse',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-column-reverse items-center',\n\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-column items-center',\n\n // Box\n 'h-full',\n ],\n};\n\nexport const RangeSliderLabelMark: string[] = [\n // Position\n 'absolute',\n\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-caption-regular whitespace-nowrap',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n\n // Theme (hover)\n 'hover:theme-foreground-default',\n 'dark:hover:theme-foreground-default-dark',\n];\n\nexport const RangeSliderLabelMarkOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Position\n '-translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Position\n 'translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.Vertical]: [\n // Position\n 'translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Position\n 'translate-x-1/2',\n '-translate-y-1/2',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'rail'\"\n :class=\"railStyles\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'offset'\"\n :class=\"offsetStyles\"\n :style=\"offsetInlineStyles\"\n :disabled=\"disabled\"\n />\n\n <OrTooltip\n :is-open=\"(!isDragging && (isHoveringRail || isHoveringThumbFrom)) || (isDragging && selectedControl === 'from')\"\n :placement=\"tooltipPlacement\"\n :offset=\"24\"\n :external-control=\"true\"\n v-bind=\"tooltip\"\n >\n <div\n :ref=\"'thumbFrom'\"\n :class=\"thumbStyles\"\n :disabled=\"disabled\"\n />\n\n <template v-slot:content>\n <slot\n name=\"tooltipContent\"\n :value=\"proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0]\"\n >\n {{ proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0] }}\n </slot>\n </template>\n </OrTooltip>\n\n <div\n :ref=\"'track'\"\n :class=\"trackStyles\"\n :style=\"trackInlineStyles\"\n :disabled=\"disabled\"\n />\n\n <OrTooltip\n :is-open=\"(!isDragging && (isHoveringRail || isHoveringThumbTo)) || (isDragging && selectedControl === 'to')\"\n :placement=\"tooltipPlacement\"\n :offset=\"24\"\n :external-control=\"true\"\n v-bind=\"tooltip\"\n >\n <div\n :ref=\"'thumbTo'\"\n :class=\"thumbStyles\"\n :disabled=\"disabled\"\n />\n\n <template v-slot:content>\n <slot\n name=\"tooltipContent\"\n :value=\"proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1]\"\n >\n {{ proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1] }}\n </slot>\n </template>\n </OrTooltip>\n\n <div\n :ref=\"'filler'\"\n :class=\"['grow', ...offsetStyles]\"\n :disabled=\"disabled\"\n />\n\n <template v-if=\"breakpoints.length > 0\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"breakpointMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :activated=\"breakpoint >= proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0] && breakpoint <= proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1]\"\n :disabled=\"disabled\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n />\n </template>\n </div>\n\n <div :class=\"labelStyles\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"labelMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :disabled=\"disabled\"\n :force-state=\"highlightedBreakpoint === breakpoint ? 'hover' : undefined\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n @click=\"onClick(breakpoint)\"\n >\n <slot\n :name=\"`${breakpoint}-label`\"\n :value=\"breakpoint\"\n >\n {{ breakpoint }}\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { SliderColor, SliderOrientation } from '@onereach/ui-components.or-slider-v3';\nimport { OrTooltipV3 as OrTooltip } from '@onereach/ui-components.or-tooltip-v3';\nimport { Position, clamp, useDraggable, useElementBounding, useElementHover } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\n\nimport * as Styles from './styles';\nimport { RangeSliderModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrRangeSlider',\n\n components: {\n OrTooltip,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<RangeSliderModelValue>,\n default: undefined,\n },\n\n minValue: {\n type: Number,\n default: 0,\n },\n\n maxValue: {\n type: Number,\n default: 100,\n },\n\n step: {\n type: Number,\n default: 1,\n },\n\n breakpoints: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n\n color: {\n type: String as PropType<`${SliderColor}`>,\n default: () => SliderColor.Primary,\n },\n\n orientation: {\n type: String as PropType<`${SliderOrientation}`>,\n default: () => SliderOrientation.Horizontal,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n tooltip: {\n type: Object as PropType<Pick<InstanceType<typeof OrTooltip>['$props'], 'placement' | 'offset' | 'debounce'>>,\n default: undefined,\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-range-slider-v3',\n ...Styles.RangeSlider,\n ...Styles.RangeSliderOrientations[props.orientation],\n ]);\n\n const rail = ref<HTMLElement>();\n\n const railStyles = computed(() => [\n 'or-range-slider-rail-v3',\n ...Styles.RangeSliderRail,\n ...Styles.RangeSliderRailOrientations[props.orientation],\n ]);\n\n const offset = ref<HTMLElement>();\n\n const offsetStyles = computed(() => [\n ...Styles.RangeSliderOffset,\n ...Styles.RangeSliderOffsetOrientations[props.orientation],\n ]);\n\n // eslint-disable-next-line vue/return-in-computed-property\n const offsetInlineStyles = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return { width: `${internalModelValueFrom.value * 100}%` };\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return { height: `${internalModelValueFrom.value * 100}%` };\n }\n });\n\n const track = ref<HTMLElement>();\n\n const trackStyles = computed(() => [\n ...Styles.RangeSliderTrack,\n ...Styles.RangeSliderTrackColors[props.color],\n ]);\n\n // eslint-disable-next-line vue/return-in-computed-property\n const trackInlineStyles = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return { width: `${(internalModelValueTo.value - internalModelValueFrom.value) * 100}%` };\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return { height: `${(internalModelValueTo.value - internalModelValueFrom.value) * 100}%` };\n }\n });\n\n const filler = ref<HTMLElement>();\n\n const thumbFrom = ref<HTMLElement>();\n const thumbTo = ref<HTMLElement>();\n\n const thumbStyles = computed(() => [\n 'or-range-slider-thumb-v3',\n ...Styles.RangeSliderThumb,\n ...Styles.RangeSliderThumbColors[props.color],\n 'touch-none', // Required for proper work on mobile\n ]);\n\n const breakpointMarkStyles = computed(() => [\n ...Styles.RangeSliderBreakpointMark,\n ...Styles.RangeSliderBreakpointMarkColors[props.color],\n ]);\n\n const labelStyles = computed(() => [\n ...Styles.RangeSliderLabel,\n ...Styles.RangeSliderLabelOrientations[props.orientation],\n ]);\n\n const labelMarkStyles = computed(() => [\n ...Styles.RangeSliderLabelMark,\n ...Styles.RangeSliderLabelMarkOrientations[props.orientation],\n ]);\n\n // State\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit, {\n defaultValue: computed<[number, number]>(() => [props.minValue, props.maxValue]),\n });\n\n watch(proxyModelValue, ([a, b]) => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n if (a > b) proxyModelValue.value = [b, a];\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n if (a < b) proxyModelValue.value = [b, a];\n break;\n }\n });\n\n const proxyModelValueFrom = computed({\n get: () => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n return proxyModelValue.value[0];\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n return proxyModelValue.value[1];\n }\n\n return props.minValue;\n },\n\n set: (value) => {\n const draftProxyModelValue = [value ?? props.minValue, proxyModelValue.value[1]] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const proxyModelValueTo = computed({\n get: () => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n return proxyModelValue.value[1];\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n return proxyModelValue.value[0];\n }\n\n return props.maxValue;\n },\n\n set: (value) => {\n const draftProxyModelValue = [proxyModelValue.value[0], value ?? props.maxValue] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalModelValueFrom = computed({\n get: () => (proxyModelValueFrom.value - props.minValue) / (props.maxValue - props.minValue),\n\n set: (value) => {\n const modelValue = value * (props.maxValue - props.minValue) + props.minValue;\n\n const draftProxyModelValue = [\n internalBreakpoints.value.reduce((a, b) => {\n return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;\n }),\n\n internalModelValueTo.value * (props.maxValue - props.minValue) + props.minValue,\n ] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalModelValueTo = computed({\n get: () => (proxyModelValueTo.value - props.minValue) / (props.maxValue - props.minValue),\n\n set: (value) => {\n const modelValue = value * (props.maxValue - props.minValue) + props.minValue;\n\n const draftProxyModelValue = [\n internalModelValueFrom.value * (props.maxValue - props.minValue) + props.minValue,\n\n internalBreakpoints.value.reduce((a, b) => {\n return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;\n }),\n ] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalBreakpoints = computed(() => {\n if (!props.step) {\n return [props.minValue, ...props.breakpoints, props.maxValue];\n }\n\n return Array(Math.ceil(Math.abs(props.maxValue - props.minValue) / props.step))\n .fill(undefined)\n .map((value, index) => Math.floor((props.minValue + props.step * index) * 1000) / 1000)\n .concat(...props.breakpoints, props.maxValue)\n .sort((a, b) => a - b);\n });\n\n // eslint-disable-next-line vue/return-in-computed-property\n const tooltipPlacement = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return 'top';\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return 'right';\n }\n });\n\n const highlightedBreakpoint = ref<number>();\n const selectedControl = ref<'from' | 'to'>();\n\n const railBoundingBox = useElementBounding(rail);\n\n // Handlers\n function onDrag(position: Position, event: MouseEvent | PointerEvent): void {\n if (props.disabled) {\n return;\n }\n\n const totalWidth = railBoundingBox.width.value;\n const totalHeight = railBoundingBox.height.value;\n\n if (selectedControl.value === 'from') {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n internalModelValueFrom.value = clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.HorizontalReversed:\n internalModelValueFrom.value = clamp(railBoundingBox.right.value - event.clientX, 0, internalModelValueTo.value * totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.Vertical:\n internalModelValueFrom.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;\n break;\n\n case SliderOrientation.VerticalReversed:\n internalModelValueFrom.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), 0, internalModelValueTo.value * totalHeight) / totalHeight;\n break;\n }\n } else {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n internalModelValueTo.value = clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.HorizontalReversed:\n internalModelValueTo.value = clamp(railBoundingBox.right.value - event.clientX, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.Vertical:\n internalModelValueTo.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;\n break;\n\n case SliderOrientation.VerticalReversed:\n internalModelValueTo.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;\n break;\n }\n }\n }\n\n function onClick(breakpoint: number): void {\n if (selectedControl.value === 'from') {\n proxyModelValueFrom.value = breakpoint;\n selectedControl.value = 'to';\n } else {\n proxyModelValueTo.value = breakpoint;\n selectedControl.value = 'from';\n }\n }\n\n // Methods\n function getBreakpointMarkComputedStyles(breakpoint: number): Partial<CSSStyleDeclaration> | undefined {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n return { left: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.HorizontalReversed:\n return { right: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.Vertical:\n return { bottom: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.VerticalReversed:\n return { top: `${getBreakpointOffset(breakpoint) * 100}%` };\n }\n }\n\n // Helpers\n function getBreakpointOffset(breakpoint: number): number {\n return (breakpoint - props.minValue) / (props.maxValue - props.minValue);\n }\n\n // Effects\n const isHoveringOffset = useElementHover(offset);\n const isHoveringTrack = useElementHover(track);\n const isHoveringFiller = useElementHover(filler);\n\n const isHoveringRail = computed(() => {\n return isHoveringOffset.value || isHoveringTrack.value || isHoveringFiller.value;\n });\n\n const isHoveringThumbFrom = useElementHover(thumbFrom);\n const isHoveringThumbTo = useElementHover(thumbTo);\n\n const { isDragging } = useDraggable(rail, {\n onStart: (position, event) => {\n switch (event.target) {\n case thumbFrom.value:\n selectedControl.value = 'from';\n break;\n\n case thumbTo.value:\n selectedControl.value = 'to';\n break;\n\n default:\n selectedControl.value = selectedControl.value === 'from' ? 'to' : 'from';\n }\n\n onDrag(position, event);\n },\n\n onMove: onDrag,\n onEnd: onDrag,\n });\n\n // Constraints\n watch(() => props.minValue, (value) => {\n if (value >= props.maxValue) {\n throw new Error('[OrRangeSlider]: `minValue` must be lesser than `maxValue`.');\n }\n }, { immediate: true });\n\n watch(() => props.maxValue, (value) => {\n if (value <= props.minValue) {\n throw new Error('[OrRangeSlider]: `maxValue` must be greater than `minValue`.');\n }\n }, { immediate: true });\n\n return {\n root,\n rootStyles,\n\n rail,\n railStyles,\n\n offset,\n offsetStyles,\n offsetInlineStyles,\n\n track,\n trackStyles,\n trackInlineStyles,\n\n filler,\n\n thumbFrom,\n thumbTo,\n thumbStyles,\n\n breakpointMarkStyles,\n\n labelStyles,\n labelMarkStyles,\n\n proxyModelValue,\n tooltipPlacement,\n highlightedBreakpoint,\n selectedControl,\n\n onClick,\n\n getBreakpointMarkComputedStyles,\n\n isHoveringOffset,\n isHoveringTrack,\n isHoveringFiller,\n isHoveringRail,\n isHoveringThumbFrom,\n isHoveringThumbTo,\n isDragging,\n };\n },\n});\n</script>\n"],"names":["RangeSlider","RangeSliderOrientations","SliderOrientation","RangeSliderRail","RangeSliderRailOrientations","RangeSliderOffset","RangeSliderOffsetOrientations","RangeSliderTrack","RangeSliderTrackColors","SliderColor","RangeSliderThumb","RangeSliderThumbColors","RangeSliderBreakpointMark","RangeSliderBreakpointMarkColors","RangeSliderLabel","RangeSliderLabelOrientations","RangeSliderLabelMark","RangeSliderLabelMarkOrientations","_sfc_main","defineComponent","OrTooltip","props","context","root","ref","rootStyles","computed","Styles.RangeSlider","Styles.RangeSliderOrientations","rail","railStyles","Styles.RangeSliderRail","Styles.RangeSliderRailOrientations","offset","offsetStyles","Styles.RangeSliderOffset","Styles.RangeSliderOffsetOrientations","offsetInlineStyles","internalModelValueFrom","track","trackStyles","Styles.RangeSliderTrack","Styles.RangeSliderTrackColors","trackInlineStyles","internalModelValueTo","filler","thumbFrom","thumbTo","thumbStyles","Styles.RangeSliderThumb","Styles.RangeSliderThumbColors","breakpointMarkStyles","Styles.RangeSliderBreakpointMark","Styles.RangeSliderBreakpointMarkColors","labelStyles","Styles.RangeSliderLabel","Styles.RangeSliderLabelOrientations","labelMarkStyles","Styles.RangeSliderLabelMark","Styles.RangeSliderLabelMarkOrientations","proxyModelValue","useProxyModelValue","toRef","watch","a","b","proxyModelValueFrom","value","draftProxyModelValue","proxyModelValueTo","modelValue","internalBreakpoints","index","tooltipPlacement","highlightedBreakpoint","selectedControl","railBoundingBox","useElementBounding","onDrag","position","event","totalWidth","totalHeight","clamp","onClick","breakpoint","getBreakpointMarkComputedStyles","getBreakpointOffset","isHoveringOffset","useElementHover","isHoveringTrack","isHoveringFiller","isHoveringRail","isHoveringThumbFrom","isHoveringThumbTo","isDragging","useDraggable","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_normalizeStyle","_hoisted_3","_createVNode","_component_OrTooltip","_mergeProps","_withCtx","_renderSlot","_createElementVNode","_hoisted_5","_hoisted_7","_Fragment","_renderList","$event","_createCommentVNode","_hoisted_2","_cache"],"mappings":"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"}
1
+ {"version":3,"file":"OrRangeSlider-CCy-Y7EH.mjs","sources":["../../../components/or-range-slider-v3/src/styles.ts","../../../components/or-range-slider-v3/src/OrRangeSlider.vue"],"sourcesContent":["import { SliderColor, SliderOrientation } from '@onereach/ui-components.or-slider-v3';\n\nexport const RangeSlider: string[] = [\n // Interactivity\n 'interactivity-default',\n];\n\nexport const RangeSliderOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-column',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-column',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-row',\n\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-row',\n\n // Box\n 'h-full',\n ],\n};\n\nexport const RangeSliderRail: string[] = [\n // Position\n 'relative',\n\n // Interactivity\n 'interactivity-click',\n\n // Shape\n 'rounded-full',\n\n // Theme\n 'theme-background-disabled',\n 'dark:theme-background-disabled-dark',\n];\n\nexport const RangeSliderRailOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-row',\n\n // Box\n 'w-full',\n 'h-xs',\n\n // Spacing\n 'mx-0',\n 'my-md+',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-row-reverse',\n\n // Box\n 'w-full',\n 'h-xs',\n\n // Spacing\n 'mx-0',\n 'my-md+',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-column-reverse items-center',\n\n // Box\n 'w-xs',\n 'h-full',\n\n // Spacing\n 'mx-md+',\n 'my-0',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-column items-center',\n\n // Box\n 'w-xs',\n 'h-full',\n\n // Spacing\n 'mx-md+',\n 'my-0',\n ],\n};\n\nexport const RangeSliderOffset: string[] = [];\n\nexport const RangeSliderOffsetOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Box\n 'w-full',\n ],\n};\n\nexport const RangeSliderTrack: string[] = [\n // Shape\n 'rounded-full',\n\n // Box\n 'w-full',\n 'h-full',\n];\n\nexport const RangeSliderTrackColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-background-primary',\n 'dark:theme-background-primary-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-background-secondary',\n 'dark:theme-background-secondary-dark',\n ],\n};\n\nexport const RangeSliderThumb: string[] = [\n // Layout\n 'shrink-0',\n\n // Position\n 'z-10',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[20px]',\n 'h-[20px]',\n\n // Spacing\n '-mx-[10px]',\n '-my-[10px]',\n\n // Theme\n 'theme-background-base',\n 'dark:theme-background-base-dark',\n];\n\nexport const RangeSliderThumbColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-border-primary border-4',\n 'dark:theme-border-primary-dark',\n\n // Theme (hover)\n 'hover:theme-background-primary',\n 'dark:hover:theme-background-primary-dark',\n\n // Theme (active)\n 'active:theme-background-primary',\n 'dark:active:theme-background-primary-dark',\n\n 'active:theme-outline-primary active:outline-10',\n 'dark:active:theme-outline-primary-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-border-secondary border-4',\n 'dark:theme-border-secondary-dark',\n\n // Theme (hover)\n 'hover:theme-background-secondary',\n 'dark:hover:theme-background-secondary-dark',\n\n // Theme (active)\n 'active:theme-background-secondary',\n 'dark:active:theme-background-secondary-dark',\n\n 'active:theme-outline-secondary active:outline-10',\n 'dark:active:theme-outline-secondary-dark',\n ],\n};\n\nexport const RangeSliderBreakpointMark: string[] = [\n // Position\n 'absolute',\n\n // Shape\n 'rounded-full',\n\n // Box\n 'w-[2px]',\n 'h-[2px]',\n\n // Spacing\n '-mx-[1px]',\n '-my-[1px]',\n];\n\nexport const RangeSliderBreakpointMarkColors: Record<SliderColor, string[]> = {\n [SliderColor.Primary]: [\n // Theme\n 'theme-background-primary',\n 'dark:theme-background-primary-dark',\n\n // Theme (activated)\n 'activated:theme-background-primary-container',\n 'dark:activated:theme-background-primary-container-dark',\n\n // Theme (disabled)\n 'disabled:!bg-on-disabled',\n 'dark:disabled:!bg-on-disabled-dark',\n ],\n\n [SliderColor.Secondary]: [\n // Theme\n 'theme-background-secondary',\n 'dark:theme-background-secondary-dark',\n\n // Theme (activated)\n 'activated:theme-background-secondary-container',\n 'dark:activated:theme-background-secondary-container-dark',\n\n // Theme (disabled)\n 'disabled:!bg-on-disabled',\n 'dark:disabled:!bg-on-disabled-dark',\n ],\n};\n\nexport const RangeSliderLabel: string[] = [\n // Position\n 'relative',\n];\n\nexport const RangeSliderLabelOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Layout\n 'layout-row',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Layout\n 'layout-row-reverse',\n\n // Box\n 'w-full',\n ],\n\n [SliderOrientation.Vertical]: [\n // Layout\n 'layout-column-reverse items-center',\n\n // Box\n 'h-full',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Layout\n 'layout-column items-center',\n\n // Box\n 'h-full',\n ],\n};\n\nexport const RangeSliderLabelMark: string[] = [\n // Position\n 'absolute',\n\n // Interactivity\n 'interactivity-click',\n\n // Typography\n 'typography-caption-regular whitespace-nowrap',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n\n // Theme (hover)\n 'hover:theme-foreground-default',\n 'dark:hover:theme-foreground-default-dark',\n];\n\nexport const RangeSliderLabelMarkOrientations: Record<SliderOrientation, string[]> = {\n [SliderOrientation.Horizontal]: [\n // Position\n '-translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.HorizontalReversed]: [\n // Position\n 'translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.Vertical]: [\n // Position\n 'translate-x-1/2',\n 'translate-y-1/2',\n ],\n\n [SliderOrientation.VerticalReversed]: [\n // Position\n 'translate-x-1/2',\n '-translate-y-1/2',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'rail'\"\n :class=\"railStyles\"\n :disabled=\"disabled\"\n >\n <div\n :ref=\"'offset'\"\n :class=\"offsetStyles\"\n :style=\"offsetInlineStyles\"\n :disabled=\"disabled\"\n />\n\n <OrTooltip\n :is-open=\"(!isDragging && (isHoveringRail || isHoveringThumbFrom)) || (isDragging && selectedControl === 'from')\"\n :placement=\"tooltipPlacement\"\n :offset=\"24\"\n :external-control=\"true\"\n v-bind=\"tooltip\"\n >\n <div\n :ref=\"'thumbFrom'\"\n :class=\"thumbStyles\"\n :disabled=\"disabled\"\n />\n\n <template v-slot:content>\n <slot\n name=\"tooltipContent\"\n :value=\"proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0]\"\n >\n {{ proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0] }}\n </slot>\n </template>\n </OrTooltip>\n\n <div\n :ref=\"'track'\"\n :class=\"trackStyles\"\n :style=\"trackInlineStyles\"\n :disabled=\"disabled\"\n />\n\n <OrTooltip\n :is-open=\"(!isDragging && (isHoveringRail || isHoveringThumbTo)) || (isDragging && selectedControl === 'to')\"\n :placement=\"tooltipPlacement\"\n :offset=\"24\"\n :external-control=\"true\"\n v-bind=\"tooltip\"\n >\n <div\n :ref=\"'thumbTo'\"\n :class=\"thumbStyles\"\n :disabled=\"disabled\"\n />\n\n <template v-slot:content>\n <slot\n name=\"tooltipContent\"\n :value=\"proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1]\"\n >\n {{ proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1] }}\n </slot>\n </template>\n </OrTooltip>\n\n <div\n :ref=\"'filler'\"\n :class=\"['grow', ...offsetStyles]\"\n :disabled=\"disabled\"\n />\n\n <template v-if=\"breakpoints.length > 0\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"breakpointMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :activated=\"breakpoint >= proxyModelValue[orientation.endsWith('-reversed') ? 1 : 0] && breakpoint <= proxyModelValue[orientation.endsWith('-reversed') ? 0 : 1]\"\n :disabled=\"disabled\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n />\n </template>\n </div>\n\n <div :class=\"labelStyles\">\n <div\n v-for=\"breakpoint of [minValue, ...breakpoints, maxValue]\"\n :key=\"breakpoint\"\n :class=\"labelMarkStyles\"\n :style=\"getBreakpointMarkComputedStyles(breakpoint)\"\n :disabled=\"disabled\"\n :force-state=\"highlightedBreakpoint === breakpoint ? 'hover' : undefined\"\n @mouseenter=\"highlightedBreakpoint = breakpoint\"\n @mouseleave=\"highlightedBreakpoint = undefined\"\n @click=\"onClick(breakpoint)\"\n >\n <slot\n :name=\"`${breakpoint}-label`\"\n :value=\"breakpoint\"\n >\n {{ breakpoint }}\n </slot>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { useProxyModelValue } from '@onereach/ui-components-common/hooks';\nimport { SliderColor, SliderOrientation } from '@onereach/ui-components.or-slider-v3';\nimport { OrTooltipV3 as OrTooltip } from '@onereach/ui-components.or-tooltip-v3';\nimport { Position, clamp, useDraggable, useElementBounding, useElementHover } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, toRef, watch } from 'vue';\n\nimport * as Styles from './styles';\nimport { RangeSliderModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrRangeSlider',\n\n components: {\n OrTooltip,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<RangeSliderModelValue>,\n default: undefined,\n },\n\n minValue: {\n type: Number,\n default: 0,\n },\n\n maxValue: {\n type: Number,\n default: 100,\n },\n\n step: {\n type: Number,\n default: 1,\n },\n\n breakpoints: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n\n color: {\n type: String as PropType<`${SliderColor}`>,\n default: () => SliderColor.Primary,\n },\n\n orientation: {\n type: String as PropType<`${SliderOrientation}`>,\n default: () => SliderOrientation.Horizontal,\n },\n\n disabled: {\n type: Boolean,\n default: false,\n },\n\n tooltip: {\n type: Object as PropType<Pick<InstanceType<typeof OrTooltip>['$props'], 'placement' | 'offset' | 'debounce'>>,\n default: undefined,\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-range-slider-v3',\n ...Styles.RangeSlider,\n ...Styles.RangeSliderOrientations[props.orientation],\n ]);\n\n const rail = ref<HTMLElement>();\n\n const railStyles = computed(() => [\n 'or-range-slider-rail-v3',\n ...Styles.RangeSliderRail,\n ...Styles.RangeSliderRailOrientations[props.orientation],\n ]);\n\n const offset = ref<HTMLElement>();\n\n const offsetStyles = computed(() => [\n ...Styles.RangeSliderOffset,\n ...Styles.RangeSliderOffsetOrientations[props.orientation],\n ]);\n\n // eslint-disable-next-line vue/return-in-computed-property\n const offsetInlineStyles = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return { width: `${internalModelValueFrom.value * 100}%` };\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return { height: `${internalModelValueFrom.value * 100}%` };\n }\n });\n\n const track = ref<HTMLElement>();\n\n const trackStyles = computed(() => [\n ...Styles.RangeSliderTrack,\n ...Styles.RangeSliderTrackColors[props.color],\n ]);\n\n // eslint-disable-next-line vue/return-in-computed-property\n const trackInlineStyles = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return { width: `${(internalModelValueTo.value - internalModelValueFrom.value) * 100}%` };\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return { height: `${(internalModelValueTo.value - internalModelValueFrom.value) * 100}%` };\n }\n });\n\n const filler = ref<HTMLElement>();\n\n const thumbFrom = ref<HTMLElement>();\n const thumbTo = ref<HTMLElement>();\n\n const thumbStyles = computed(() => [\n 'or-range-slider-thumb-v3',\n ...Styles.RangeSliderThumb,\n ...Styles.RangeSliderThumbColors[props.color],\n 'touch-none', // Required for proper work on mobile\n ]);\n\n const breakpointMarkStyles = computed(() => [\n ...Styles.RangeSliderBreakpointMark,\n ...Styles.RangeSliderBreakpointMarkColors[props.color],\n ]);\n\n const labelStyles = computed(() => [\n ...Styles.RangeSliderLabel,\n ...Styles.RangeSliderLabelOrientations[props.orientation],\n ]);\n\n const labelMarkStyles = computed(() => [\n ...Styles.RangeSliderLabelMark,\n ...Styles.RangeSliderLabelMarkOrientations[props.orientation],\n ]);\n\n // State\n const proxyModelValue = useProxyModelValue(toRef(props, 'modelValue'), context.emit, {\n defaultValue: computed<[number, number]>(() => [props.minValue, props.maxValue]),\n });\n\n watch(proxyModelValue, ([a, b]) => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n if (a > b) proxyModelValue.value = [b, a];\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n if (a < b) proxyModelValue.value = [b, a];\n break;\n }\n });\n\n const proxyModelValueFrom = computed({\n get: () => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n return proxyModelValue.value[0];\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n return proxyModelValue.value[1];\n }\n\n return props.minValue;\n },\n\n set: (value) => {\n const draftProxyModelValue = [value ?? props.minValue, proxyModelValue.value[1]] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const proxyModelValueTo = computed({\n get: () => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n return proxyModelValue.value[1];\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n return proxyModelValue.value[0];\n }\n\n return props.maxValue;\n },\n\n set: (value) => {\n const draftProxyModelValue = [proxyModelValue.value[0], value ?? props.maxValue] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalModelValueFrom = computed({\n get: () => (proxyModelValueFrom.value - props.minValue) / (props.maxValue - props.minValue),\n\n set: (value) => {\n const modelValue = value * (props.maxValue - props.minValue) + props.minValue;\n\n const draftProxyModelValue = [\n internalBreakpoints.value.reduce((a, b) => {\n return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;\n }),\n\n internalModelValueTo.value * (props.maxValue - props.minValue) + props.minValue,\n ] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalModelValueTo = computed({\n get: () => (proxyModelValueTo.value - props.minValue) / (props.maxValue - props.minValue),\n\n set: (value) => {\n const modelValue = value * (props.maxValue - props.minValue) + props.minValue;\n\n const draftProxyModelValue = [\n internalModelValueFrom.value * (props.maxValue - props.minValue) + props.minValue,\n\n internalBreakpoints.value.reduce((a, b) => {\n return Math.abs(a - modelValue) < Math.abs(b - modelValue) ? a : b;\n }),\n ] as [number, number];\n\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.Vertical:\n proxyModelValue.value = draftProxyModelValue;\n break;\n\n case SliderOrientation.HorizontalReversed:\n case SliderOrientation.VerticalReversed:\n proxyModelValue.value = [draftProxyModelValue[1], draftProxyModelValue[0]];\n break;\n }\n },\n });\n\n const internalBreakpoints = computed(() => {\n if (!props.step) {\n return [props.minValue, ...props.breakpoints, props.maxValue];\n }\n\n return Array(Math.ceil(Math.abs(props.maxValue - props.minValue) / props.step))\n .fill(undefined)\n .map((value, index) => Math.floor((props.minValue + props.step * index) * 1000) / 1000)\n .concat(...props.breakpoints, props.maxValue)\n .sort((a, b) => a - b);\n });\n\n // eslint-disable-next-line vue/return-in-computed-property\n const tooltipPlacement = computed(() => {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n case SliderOrientation.HorizontalReversed:\n return 'top';\n\n case SliderOrientation.Vertical:\n case SliderOrientation.VerticalReversed:\n return 'right';\n }\n });\n\n const highlightedBreakpoint = ref<number>();\n const selectedControl = ref<'from' | 'to'>();\n\n const railBoundingBox = useElementBounding(rail);\n\n // Handlers\n function onDrag(position: Position, event: MouseEvent | PointerEvent): void {\n if (props.disabled) {\n return;\n }\n\n const totalWidth = railBoundingBox.width.value;\n const totalHeight = railBoundingBox.height.value;\n\n if (selectedControl.value === 'from') {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n internalModelValueFrom.value = clamp(event.clientX - railBoundingBox.left.value, 0, internalModelValueTo.value * totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.HorizontalReversed:\n internalModelValueFrom.value = clamp(railBoundingBox.right.value - event.clientX, 0, internalModelValueTo.value * totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.Vertical:\n internalModelValueFrom.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), 0, internalModelValueTo.value * totalHeight) / totalHeight;\n break;\n\n case SliderOrientation.VerticalReversed:\n internalModelValueFrom.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), 0, internalModelValueTo.value * totalHeight) / totalHeight;\n break;\n }\n } else {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n internalModelValueTo.value = clamp(event.clientX - railBoundingBox.left.value, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.HorizontalReversed:\n internalModelValueTo.value = clamp(railBoundingBox.right.value - event.clientX, internalModelValueFrom.value * totalWidth, totalWidth) / totalWidth;\n break;\n\n case SliderOrientation.Vertical:\n internalModelValueTo.value = clamp(totalHeight - (event.clientY - railBoundingBox.top.value), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;\n break;\n\n case SliderOrientation.VerticalReversed:\n internalModelValueTo.value = clamp(totalHeight - (railBoundingBox.bottom.value - event.clientY), internalModelValueFrom.value * totalHeight, totalHeight) / totalHeight;\n break;\n }\n }\n }\n\n function onClick(breakpoint: number): void {\n if (selectedControl.value === 'from') {\n proxyModelValueFrom.value = breakpoint;\n selectedControl.value = 'to';\n } else {\n proxyModelValueTo.value = breakpoint;\n selectedControl.value = 'from';\n }\n }\n\n // Methods\n function getBreakpointMarkComputedStyles(breakpoint: number): Partial<CSSStyleDeclaration> | undefined {\n switch (props.orientation) {\n case SliderOrientation.Horizontal:\n return { left: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.HorizontalReversed:\n return { right: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.Vertical:\n return { bottom: `${getBreakpointOffset(breakpoint) * 100}%` };\n\n case SliderOrientation.VerticalReversed:\n return { top: `${getBreakpointOffset(breakpoint) * 100}%` };\n }\n }\n\n // Helpers\n function getBreakpointOffset(breakpoint: number): number {\n return (breakpoint - props.minValue) / (props.maxValue - props.minValue);\n }\n\n // Effects\n const isHoveringOffset = useElementHover(offset);\n const isHoveringTrack = useElementHover(track);\n const isHoveringFiller = useElementHover(filler);\n\n const isHoveringRail = computed(() => {\n return isHoveringOffset.value || isHoveringTrack.value || isHoveringFiller.value;\n });\n\n const isHoveringThumbFrom = useElementHover(thumbFrom);\n const isHoveringThumbTo = useElementHover(thumbTo);\n\n const { isDragging } = useDraggable(rail, {\n onStart: (position, event) => {\n switch (event.target) {\n case thumbFrom.value:\n selectedControl.value = 'from';\n break;\n\n case thumbTo.value:\n selectedControl.value = 'to';\n break;\n\n default:\n selectedControl.value = selectedControl.value === 'from' ? 'to' : 'from';\n }\n\n onDrag(position, event);\n },\n\n onMove: onDrag,\n onEnd: onDrag,\n });\n\n // Constraints\n watch(() => props.minValue, (value) => {\n if (value >= props.maxValue) {\n throw new Error('[OrRangeSlider]: `minValue` must be lesser than `maxValue`.');\n }\n }, { immediate: true });\n\n watch(() => props.maxValue, (value) => {\n if (value <= props.minValue) {\n throw new Error('[OrRangeSlider]: `maxValue` must be greater than `minValue`.');\n }\n }, { immediate: true });\n\n return {\n root,\n rootStyles,\n\n rail,\n railStyles,\n\n offset,\n offsetStyles,\n offsetInlineStyles,\n\n track,\n trackStyles,\n trackInlineStyles,\n\n filler,\n\n thumbFrom,\n thumbTo,\n thumbStyles,\n\n breakpointMarkStyles,\n\n labelStyles,\n labelMarkStyles,\n\n proxyModelValue,\n tooltipPlacement,\n highlightedBreakpoint,\n selectedControl,\n\n onClick,\n\n getBreakpointMarkComputedStyles,\n\n isHoveringOffset,\n isHoveringTrack,\n isHoveringFiller,\n isHoveringRail,\n isHoveringThumbFrom,\n isHoveringThumbTo,\n isDragging,\n };\n },\n});\n</script>\n"],"names":["RangeSlider","RangeSliderOrientations","SliderOrientation","RangeSliderRail","RangeSliderRailOrientations","RangeSliderOffset","RangeSliderOffsetOrientations","RangeSliderTrack","RangeSliderTrackColors","SliderColor","RangeSliderThumb","RangeSliderThumbColors","RangeSliderBreakpointMark","RangeSliderBreakpointMarkColors","RangeSliderLabel","RangeSliderLabelOrientations","RangeSliderLabelMark","RangeSliderLabelMarkOrientations","_sfc_main","defineComponent","OrTooltip","props","context","root","ref","rootStyles","computed","Styles.RangeSlider","Styles.RangeSliderOrientations","rail","railStyles","Styles.RangeSliderRail","Styles.RangeSliderRailOrientations","offset","offsetStyles","Styles.RangeSliderOffset","Styles.RangeSliderOffsetOrientations","offsetInlineStyles","internalModelValueFrom","track","trackStyles","Styles.RangeSliderTrack","Styles.RangeSliderTrackColors","trackInlineStyles","internalModelValueTo","filler","thumbFrom","thumbTo","thumbStyles","Styles.RangeSliderThumb","Styles.RangeSliderThumbColors","breakpointMarkStyles","Styles.RangeSliderBreakpointMark","Styles.RangeSliderBreakpointMarkColors","labelStyles","Styles.RangeSliderLabel","Styles.RangeSliderLabelOrientations","labelMarkStyles","Styles.RangeSliderLabelMark","Styles.RangeSliderLabelMarkOrientations","proxyModelValue","useProxyModelValue","toRef","watch","a","b","proxyModelValueFrom","value","draftProxyModelValue","proxyModelValueTo","modelValue","internalBreakpoints","index","tooltipPlacement","highlightedBreakpoint","selectedControl","railBoundingBox","useElementBounding","onDrag","position","event","totalWidth","totalHeight","clamp","onClick","breakpoint","getBreakpointMarkComputedStyles","getBreakpointOffset","isHoveringOffset","useElementHover","isHoveringTrack","isHoveringFiller","isHoveringRail","isHoveringThumbFrom","isHoveringThumbTo","isDragging","useDraggable","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_normalizeStyle","_hoisted_3","_createVNode","_component_OrTooltip","_mergeProps","_withCtx","_renderSlot","_createElementVNode","_hoisted_5","_hoisted_7","_Fragment","_renderList","$event","_createCommentVNode","_hoisted_2","_cache"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { usePopoverState as $ } from "@onereach/ui-components-common/hooks";
2
- import { O as N } from "./OrIconButton-D1pxfMA_.mjs";
2
+ import { O as N } from "./OrIconButton-BuRmTHpT.mjs";
3
3
  import { useDraggable as O } from "@vueuse/core";
4
4
  import { defineComponent as W, ref as b, computed as n, toRef as D, watch as I, resolveComponent as M, openBlock as c, createElementBlock as d, normalizeClass as i, normalizeStyle as j, renderSlot as p, createElementVNode as _, createVNode as E, createCommentVNode as w } from "vue";
5
5
  import { _ as V } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
@@ -79,13 +79,13 @@ const q = [
79
79
  "after:block",
80
80
  // Theme (after)
81
81
  "after:border-outline-variant",
82
- "after:dark:border-outline-variant-dark",
82
+ "dark:after:border-outline-variant-dark",
83
83
  // Theme (after, hover)
84
84
  "after:hover:border-primary-hover",
85
- "after:dark:hover:border-primary-hover-dark",
85
+ "dark:after:hover:border-primary-hover-dark",
86
86
  // Theme (after, activated)
87
87
  "after:activated:border-primary-hover",
88
- "after:dark:activated:border-primary-hover-dark"
88
+ "dark:after:activated:border-primary-hover-dark"
89
89
  ], Q = {
90
90
  [t.Top]: [
91
91
  // Layout
@@ -458,4 +458,4 @@ export {
458
458
  l as R,
459
459
  t as a
460
460
  };
461
- //# sourceMappingURL=OrResizeablePanel-DxPqTbtV.mjs.map
461
+ //# sourceMappingURL=OrResizeablePanel-DEV0naD5.mjs.map