@onereach/ui-components 2.69.7-beta.2155.0 → 2.69.7-beta.2168.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 (213) hide show
  1. package/dist/bundled/v2/{OrButton-ec551691.js → OrButton-4b99c680.js} +1 -14
  2. package/dist/bundled/v2/{OrCardCollection-1b20a00f.js → OrCardCollection-aa6b8553.js} +2 -2
  3. package/dist/bundled/v2/{OrCheckbox-dbef9f9a.js → OrCheckbox-4f665252.js} +3 -3
  4. package/dist/bundled/v2/{OrConfirm-0a34d7e9.js → OrConfirm-dc704484.js} +2 -2
  5. package/dist/bundled/v2/{OrInlineInput-9add2e1e.js → OrInlineInput-6af4fe07.js} +2 -2
  6. package/dist/bundled/v2/{OrInlineTextarea-9c6f9044.js → OrInlineTextarea-ddf84267.js} +2 -2
  7. package/dist/bundled/v2/{OrInput-8b90e08f.js → OrInput-e7b864c1.js} +20 -13
  8. package/dist/bundled/v2/{OrInputBox-79ec54ad.js → OrInputBox-de8ce3ac.js} +2 -12
  9. package/dist/bundled/v2/{OrRadio-cd39b20b.js → OrRadio-a60fc5c0.js} +3 -3
  10. package/dist/bundled/v2/{OrSearch-76b002cf.js → OrSearch-ad84b460.js} +2 -2
  11. package/dist/bundled/v2/{OrSelect-ff9e4fbd.js → OrSelect-b393f564.js} +15 -7
  12. package/dist/bundled/v2/{OrSwitch-237a2081.js → OrSwitch-fe9b7de7.js} +3 -3
  13. package/dist/bundled/v2/{OrTextarea-5593fbe9.js → OrTextarea-59fba95c.js} +14 -11
  14. package/dist/bundled/v2/components/index.d.ts +0 -1
  15. package/dist/bundled/v2/components/index.js +14 -14
  16. package/dist/bundled/v2/components/or-button-v3/OrButton.vue.d.ts +0 -11
  17. package/dist/bundled/v2/components/or-button-v3/index.js +1 -1
  18. package/dist/bundled/v2/components/or-card-collection-v3/index.js +6 -5
  19. package/dist/bundled/v2/components/or-checkbox-v3/index.js +1 -1
  20. package/dist/bundled/v2/components/or-combined-input-v3/OrCombinedInput.stories3.d.ts +27 -0
  21. package/dist/bundled/v2/components/or-combined-input-v3/OrCombinedInput.vue.d.ts +98 -0
  22. package/dist/bundled/v2/components/or-combined-input-v3/index.d.ts +2 -0
  23. package/dist/bundled/v2/components/or-combined-input-v3/index.js +149 -0
  24. package/dist/bundled/v2/components/or-combined-input-v3/props.d.ts +1 -0
  25. package/dist/bundled/v2/components/or-combined-input-v3/styles.d.ts +2 -0
  26. package/dist/bundled/v2/components/or-confirm-v3/index.js +5 -4
  27. package/dist/bundled/v2/components/or-inline-input-v3/index.js +1 -1
  28. package/dist/bundled/v2/components/or-inline-textarea-v3/index.js +1 -1
  29. package/dist/bundled/v2/components/or-input-box-v3/index.js +2 -1
  30. package/dist/bundled/v2/components/or-input-v3/index.js +3 -2
  31. package/dist/bundled/v2/components/or-radio-v3/index.js +1 -1
  32. package/dist/bundled/v2/components/or-search-v3/index.js +4 -3
  33. package/dist/bundled/v2/components/or-select-v3/OrSelect.vue.d.ts +25 -14
  34. package/dist/bundled/v2/components/or-select-v3/index.d.ts +0 -1
  35. package/dist/bundled/v2/components/or-select-v3/index.js +5 -4
  36. package/dist/bundled/v2/components/or-select-v3/types.d.ts +1 -1
  37. package/dist/bundled/v2/components/or-switch-v3/index.js +1 -1
  38. package/dist/bundled/v2/components/or-textarea-v3/index.js +3 -2
  39. package/dist/bundled/v2/index.js +15 -15
  40. package/dist/bundled/v2/props-78496a2d.js +12 -0
  41. package/dist/bundled/v3/{OrButton-e38644d0.js → OrButton-a671b8a1.js} +2 -3
  42. package/dist/bundled/v3/{OrButton.vue_vue_type_script_lang-08f0dea0.js → OrButton.vue_vue_type_script_lang-b0dc31ca.js} +1 -13
  43. package/dist/bundled/v3/{OrCardCollection.vue_vue_type_script_lang-ff722f3f.js → OrCardCollection.vue_vue_type_script_lang-ece2eab6.js} +3 -3
  44. package/dist/bundled/v3/{OrConfirm.vue_vue_type_script_lang-ed99973c.js → OrConfirm.vue_vue_type_script_lang-fcbdf2c6.js} +4 -4
  45. package/dist/bundled/v3/{OrInlineInput.vue_vue_type_script_lang-f29483f4.js → OrInlineInput.vue_vue_type_script_lang-84c521f9.js} +2 -2
  46. package/dist/bundled/v3/{OrInlineTextarea.vue_vue_type_script_lang-cc40af48.js → OrInlineTextarea.vue_vue_type_script_lang-9c58faeb.js} +2 -2
  47. package/dist/bundled/v3/{OrInput-fa782fc1.js → OrInput-4ccc2c7b.js} +17 -14
  48. package/dist/bundled/v3/{OrInput.vue_vue_type_script_lang-f6d793d3.js → OrInput.vue_vue_type_script_lang-96ce8121.js} +5 -4
  49. package/dist/bundled/v3/{OrInputBox-eb54d73d.js → OrInputBox-27aa1cec.js} +1 -1
  50. package/dist/{esm/v2/OrInputBox-4d5a318d.js → bundled/v3/OrInputBox.vue_vue_type_script_lang-28353c10.js} +4 -55
  51. package/dist/bundled/v3/{OrSearch.vue_vue_type_script_lang-014ad470.js → OrSearch.vue_vue_type_script_lang-71fbb2fc.js} +3 -3
  52. package/dist/bundled/v3/{OrSelect.vue_vue_type_script_lang-05b03858.js → OrSelect.vue_vue_type_script_lang-363605c5.js} +17 -9
  53. package/dist/bundled/v3/{OrTextarea.vue_vue_type_script_lang-8e3531cd.js → OrTextarea.vue_vue_type_script_lang-9f2a0234.js} +5 -4
  54. package/dist/bundled/v3/components/index.d.ts +0 -1
  55. package/dist/bundled/v3/components/index.js +14 -14
  56. package/dist/bundled/v3/components/or-button-v3/OrButton.vue.d.ts +0 -11
  57. package/dist/bundled/v3/components/or-button-v3/index.js +1 -1
  58. package/dist/bundled/v3/components/or-card-collection-v3/index.js +9 -8
  59. package/dist/bundled/v3/components/or-combined-input-v3/OrCombinedInput.stories3.d.ts +27 -0
  60. package/dist/bundled/v3/components/or-combined-input-v3/OrCombinedInput.vue.d.ts +98 -0
  61. package/dist/bundled/v3/components/or-combined-input-v3/index.d.ts +2 -0
  62. package/dist/bundled/v3/components/or-combined-input-v3/index.js +132 -0
  63. package/dist/bundled/v3/components/or-combined-input-v3/props.d.ts +1 -0
  64. package/dist/bundled/v3/components/or-combined-input-v3/styles.d.ts +2 -0
  65. package/dist/bundled/v3/components/or-confirm-v3/index.js +8 -7
  66. package/dist/bundled/v3/components/or-inline-input-v3/index.js +1 -1
  67. package/dist/bundled/v3/components/or-inline-textarea-v3/index.js +1 -1
  68. package/dist/bundled/v3/components/or-input-box-v3/index.js +2 -1
  69. package/dist/bundled/v3/components/or-input-v3/index.js +4 -3
  70. package/dist/bundled/v3/components/or-search-v3/index.js +6 -5
  71. package/dist/bundled/v3/components/or-select-v3/OrSelect.vue.d.ts +25 -14
  72. package/dist/bundled/v3/components/or-select-v3/index.d.ts +0 -1
  73. package/dist/bundled/v3/components/or-select-v3/index.js +6 -5
  74. package/dist/bundled/v3/components/or-select-v3/types.d.ts +1 -1
  75. package/dist/bundled/v3/components/or-textarea-v3/index.js +4 -3
  76. package/dist/bundled/v3/index.js +188 -264
  77. package/dist/bundled/v3/props-78496a2d.js +12 -0
  78. package/dist/esm/v2/{OrButton-c02a6c26.js → OrButton-357e1e2c.js} +1 -14
  79. package/dist/esm/v2/{OrCardCollection-46a25600.js → OrCardCollection-fe34fef3.js} +3 -3
  80. package/dist/esm/v2/{OrCheckbox-567e387c.js → OrCheckbox-ea48d156.js} +3 -3
  81. package/dist/esm/v2/{OrConfirm-31dfa3e0.js → OrConfirm-3bead0be.js} +2 -2
  82. package/dist/esm/v2/{OrInlineInput-cfeeea33.js → OrInlineInput-e32f322f.js} +2 -2
  83. package/dist/esm/v2/{OrInlineTextarea-897b5377.js → OrInlineTextarea-7296fbdb.js} +2 -2
  84. package/dist/esm/v2/{OrInput-2f16a7ac.js → OrInput-db0e2368.js} +20 -13
  85. package/dist/esm/v2/OrInputBox-9d1193b5.js +43 -0
  86. package/dist/{bundled/v3/OrInputBox.vue_vue_type_script_lang-5ee4ee45.js → esm/v2/OrInputBox.vue_rollup-plugin-vue_script-328ae841.js} +3 -2
  87. package/dist/esm/v2/{OrRadio-848ce55d.js → OrRadio-6e10f071.js} +3 -3
  88. package/dist/esm/v2/{OrSearch-2f260b09.js → OrSearch-9d9459f5.js} +2 -2
  89. package/dist/esm/v2/{OrSelect-651bb83e.js → OrSelect-e6aa1b2a.js} +15 -7
  90. package/dist/esm/v2/{OrSwitch-13b6a7ee.js → OrSwitch-c628d2c5.js} +3 -3
  91. package/dist/esm/v2/{OrTextarea-6712a150.js → OrTextarea-52354386.js} +14 -11
  92. package/dist/esm/v2/components/index.d.ts +0 -1
  93. package/dist/esm/v2/components/index.js +14 -14
  94. package/dist/esm/v2/components/or-button-v3/OrButton.vue.d.ts +0 -11
  95. package/dist/esm/v2/components/or-button-v3/index.js +1 -1
  96. package/dist/esm/v2/components/or-card-collection-v3/index.js +6 -5
  97. package/dist/esm/v2/components/or-checkbox-v3/index.js +1 -1
  98. package/dist/esm/v2/components/or-combined-input-v3/OrCombinedInput.stories3.d.ts +27 -0
  99. package/dist/esm/v2/components/or-combined-input-v3/OrCombinedInput.vue.d.ts +98 -0
  100. package/dist/esm/v2/components/or-combined-input-v3/index.d.ts +2 -0
  101. package/dist/esm/v2/components/or-combined-input-v3/index.js +147 -0
  102. package/dist/esm/v2/components/or-combined-input-v3/props.d.ts +1 -0
  103. package/dist/esm/v2/components/or-combined-input-v3/styles.d.ts +2 -0
  104. package/dist/esm/v2/components/or-confirm-v3/index.js +5 -4
  105. package/dist/esm/v2/components/or-inline-input-v3/index.js +1 -1
  106. package/dist/esm/v2/components/or-inline-textarea-v3/index.js +1 -1
  107. package/dist/esm/v2/components/or-input-box-v3/index.js +3 -2
  108. package/dist/esm/v2/components/or-input-v3/index.js +3 -2
  109. package/dist/esm/v2/components/or-radio-v3/index.js +1 -1
  110. package/dist/esm/v2/components/or-search-v3/index.js +4 -3
  111. package/dist/esm/v2/components/or-select-v3/OrSelect.vue.d.ts +25 -14
  112. package/dist/esm/v2/components/or-select-v3/index.d.ts +0 -1
  113. package/dist/esm/v2/components/or-select-v3/index.js +5 -4
  114. package/dist/esm/v2/components/or-select-v3/types.d.ts +1 -1
  115. package/dist/esm/v2/components/or-switch-v3/index.js +1 -1
  116. package/dist/esm/v2/components/or-textarea-v3/index.js +3 -2
  117. package/dist/esm/v2/index.js +14 -14
  118. package/dist/esm/v3/{OrButton-2ca1996a.js → OrButton-bb6bf8a9.js} +2 -15
  119. package/dist/esm/v3/{OrCardCollection-167ed657.js → OrCardCollection-8a84f69c.js} +2 -2
  120. package/dist/esm/v3/{OrCheckbox-3e139eac.js → OrCheckbox-d1b516c8.js} +3 -2
  121. package/dist/esm/v3/{OrConfirm-492012c6.js → OrConfirm-5bd1f4db.js} +2 -2
  122. package/dist/esm/v3/{OrInlineInput-31026cd0.js → OrInlineInput-00f0d1b8.js} +2 -2
  123. package/dist/esm/v3/{OrInlineTextarea-b28c3d8c.js → OrInlineTextarea-c1babfda.js} +2 -2
  124. package/dist/esm/v3/{OrInput-41691fb3.js → OrInput-2b447f81.js} +18 -15
  125. package/dist/esm/v3/{OrRadio-54b6d0de.js → OrRadio-ef9d4c6e.js} +3 -2
  126. package/dist/esm/v3/{OrSearch-e5a2e93e.js → OrSearch-d72cfc74.js} +1 -1
  127. package/dist/esm/v3/{OrSelect-28a175dc.js → OrSelect-e6e006d5.js} +14 -7
  128. package/dist/esm/v3/{OrSwitch-cca30aa0.js → OrSwitch-cc797a48.js} +3 -3
  129. package/dist/esm/v3/{OrTextarea-bb9ef3f2.js → OrTextarea-ed35cd0b.js} +16 -14
  130. package/dist/esm/v3/components/index.d.ts +0 -1
  131. package/dist/esm/v3/components/index.js +12 -13
  132. package/dist/esm/v3/components/or-button-v3/OrButton.vue.d.ts +0 -11
  133. package/dist/esm/v3/components/or-button-v3/index.js +1 -1
  134. package/dist/esm/v3/components/or-card-collection-v3/index.js +4 -4
  135. package/dist/esm/v3/components/or-checkbox-v3/index.js +1 -1
  136. package/dist/esm/v3/components/or-combined-input-v3/OrCombinedInput.stories3.d.ts +27 -0
  137. package/dist/esm/v3/components/or-combined-input-v3/OrCombinedInput.vue.d.ts +98 -0
  138. package/dist/esm/v3/components/or-combined-input-v3/index.d.ts +2 -0
  139. package/dist/esm/v3/components/or-combined-input-v3/index.js +132 -0
  140. package/dist/esm/v3/components/or-combined-input-v3/props.d.ts +1 -0
  141. package/dist/esm/v3/components/or-combined-input-v3/styles.d.ts +2 -0
  142. package/dist/esm/v3/components/or-confirm-v3/index.js +3 -3
  143. package/dist/esm/v3/components/or-inline-input-v3/index.js +1 -1
  144. package/dist/esm/v3/components/or-inline-textarea-v3/index.js +1 -1
  145. package/dist/esm/v3/components/or-input-v3/index.js +1 -1
  146. package/dist/esm/v3/components/or-radio-v3/index.js +1 -1
  147. package/dist/esm/v3/components/or-search-v3/index.js +2 -2
  148. package/dist/esm/v3/components/or-select-v3/OrSelect.vue.d.ts +25 -14
  149. package/dist/esm/v3/components/or-select-v3/index.d.ts +0 -1
  150. package/dist/esm/v3/components/or-select-v3/index.js +3 -3
  151. package/dist/esm/v3/components/or-select-v3/types.d.ts +1 -1
  152. package/dist/esm/v3/components/or-switch-v3/index.js +1 -1
  153. package/dist/esm/v3/components/or-textarea-v3/index.js +1 -1
  154. package/dist/esm/v3/index.js +12 -13
  155. package/package.json +2 -2
  156. package/src/components/index.ts +0 -1
  157. package/src/components/or-button-v3/OrButton.stories3.ts +0 -4
  158. package/src/components/or-button-v3/OrButton.vue +0 -6
  159. package/src/components/or-button-v3/styles.ts +1 -15
  160. package/src/components/or-checkbox-v3/OrCheckbox.vue +1 -1
  161. package/src/components/or-combined-input-v3/OrCombinedInput.docs.mdx +7 -0
  162. package/src/components/or-combined-input-v3/OrCombinedInput.stories3.ts +202 -0
  163. package/src/components/or-combined-input-v3/OrCombinedInput.vue +134 -0
  164. package/src/components/or-combined-input-v3/index.ts +2 -0
  165. package/src/components/or-combined-input-v3/props.ts +1 -0
  166. package/src/components/or-combined-input-v3/styles.ts +25 -0
  167. package/src/components/or-inline-input-v3/styles.ts +2 -2
  168. package/src/components/or-inline-textarea-v3/styles.ts +2 -2
  169. package/src/components/or-input-v3/OrInput.vue +28 -22
  170. package/src/components/or-input-v3/styles.ts +2 -2
  171. package/src/components/or-radio-v3/OrRadio.vue +1 -1
  172. package/src/components/or-select-v3/OrSelect.stories3.ts +4 -0
  173. package/src/components/or-select-v3/OrSelect.vue +9 -3
  174. package/src/components/or-select-v3/index.ts +0 -1
  175. package/src/components/or-select-v3/styles.ts +4 -1
  176. package/src/components/or-select-v3/types.ts +1 -1
  177. package/src/components/or-switch-v3/OrSwitch.vue +1 -1
  178. package/src/components/or-textarea-v3/OrTextarea.vue +5 -1
  179. package/src/components/or-textarea-v3/styles.ts +2 -2
  180. package/dist/bundled/v2/OrPagination-ccaef550.js +0 -297
  181. package/dist/bundled/v2/components/or-pagination-v3/OrPagination.stories3.d.ts +0 -12
  182. package/dist/bundled/v2/components/or-pagination-v3/OrPagination.vue.d.ts +0 -110
  183. package/dist/bundled/v2/components/or-pagination-v3/index.d.ts +0 -2
  184. package/dist/bundled/v2/components/or-pagination-v3/index.js +0 -20
  185. package/dist/bundled/v2/components/or-pagination-v3/styles.d.ts +0 -3
  186. package/dist/bundled/v2/components/or-pagination-v3/types.d.ts +0 -4
  187. package/dist/bundled/v3/OrPagination.vue_vue_type_script_lang-5246de48.js +0 -180
  188. package/dist/bundled/v3/components/or-pagination-v3/OrPagination.stories3.d.ts +0 -12
  189. package/dist/bundled/v3/components/or-pagination-v3/OrPagination.vue.d.ts +0 -110
  190. package/dist/bundled/v3/components/or-pagination-v3/index.d.ts +0 -2
  191. package/dist/bundled/v3/components/or-pagination-v3/index.js +0 -22
  192. package/dist/bundled/v3/components/or-pagination-v3/styles.d.ts +0 -3
  193. package/dist/bundled/v3/components/or-pagination-v3/types.d.ts +0 -4
  194. package/dist/esm/v2/OrPagination-179098fb.js +0 -297
  195. package/dist/esm/v2/components/or-pagination-v3/OrPagination.stories3.d.ts +0 -12
  196. package/dist/esm/v2/components/or-pagination-v3/OrPagination.vue.d.ts +0 -110
  197. package/dist/esm/v2/components/or-pagination-v3/index.d.ts +0 -2
  198. package/dist/esm/v2/components/or-pagination-v3/index.js +0 -18
  199. package/dist/esm/v2/components/or-pagination-v3/styles.d.ts +0 -3
  200. package/dist/esm/v2/components/or-pagination-v3/types.d.ts +0 -4
  201. package/dist/esm/v3/OrPagination-a84ad212.js +0 -258
  202. package/dist/esm/v3/components/or-pagination-v3/OrPagination.stories3.d.ts +0 -12
  203. package/dist/esm/v3/components/or-pagination-v3/OrPagination.vue.d.ts +0 -110
  204. package/dist/esm/v3/components/or-pagination-v3/index.d.ts +0 -2
  205. package/dist/esm/v3/components/or-pagination-v3/index.js +0 -17
  206. package/dist/esm/v3/components/or-pagination-v3/styles.d.ts +0 -3
  207. package/dist/esm/v3/components/or-pagination-v3/types.d.ts +0 -4
  208. package/src/components/or-pagination-v3/OrPagination.docs.mdx +0 -7
  209. package/src/components/or-pagination-v3/OrPagination.stories3.ts +0 -87
  210. package/src/components/or-pagination-v3/OrPagination.vue +0 -261
  211. package/src/components/or-pagination-v3/index.ts +0 -2
  212. package/src/components/or-pagination-v3/styles.ts +0 -30
  213. package/src/components/or-pagination-v3/types.ts +0 -4
@@ -1,261 +0,0 @@
1
- <template>
2
- <div
3
- ref="root"
4
- v-bind="$attrs"
5
- :class="rootStyles"
6
- >
7
- <div :class="offsetControlStyles">
8
- <OrButton
9
- :variant="'link'"
10
- :color="'inherit'"
11
- :disabled="currentPage === firstPage"
12
- @click.stop="toPreviousPage()"
13
- >
14
- <OrIcon :icon="'keyboard_arrow_left'" />
15
- </OrButton>
16
-
17
- <OrButton
18
- v-for="(page, index) in buttonGroup"
19
- :key="index"
20
- :variant="'link'"
21
- :color="'inherit'"
22
- :activated="currentPage === page"
23
- @click.stop="typeof page === 'number' && toPage(page)"
24
- >
25
- {{ page }}
26
- </OrButton>
27
-
28
- <OrButton
29
- :variant="'link'"
30
- :color="'inherit'"
31
- :disabled="currentPage === lastPage"
32
- @click.stop="toNextPage()"
33
- >
34
- <OrIcon :icon="'keyboard_arrow_right'" />
35
- </OrButton>
36
- </div>
37
-
38
- <div :class="limitControlStyles">
39
- Per page:
40
-
41
- <OrButton
42
- ref="limitButton"
43
- :variant="'link'"
44
- :color="'inherit'"
45
- :activated="true"
46
- @click.stop="limitMenu.open()"
47
- >
48
- {{ currentLimit }} <OrIcon :icon="'arrow_drop_down'" />
49
- </OrButton>
50
-
51
- <OrMenu
52
- ref="limitMenu"
53
- :trigger="limitButtonRoot"
54
- :placement="'top'"
55
- >
56
- <OrMenuItem
57
- v-for="pageSize in pageSizeOptions"
58
- :key="pageSize"
59
- @click.stop="currentLimit = pageSize"
60
- >
61
- {{ pageSize }}
62
- </OrMenuItem>
63
- </OrMenu>
64
- </div>
65
- </div>
66
- </template>
67
-
68
- <script lang="ts">
69
- import { computed, defineComponent, PropType, ref } from 'vue-demi';
70
- import { useClassAttribute } from '../../hooks';
71
- import { OrButtonV3 as OrButton } from '../or-button-v3';
72
- import { OrIconV3 as OrIcon } from '../or-icon-v3';
73
- import { OrMenuItemV3 as OrMenuItem } from '../or-menu-item-v3';
74
- import { OrMenuV3 as OrMenu } from '../or-menu-v3';
75
- import { PaginationLimitControl, PaginationOffsetControl, PaginationRoot } from './styles';
76
- import { PaginationModel } from './types';
77
-
78
- export default defineComponent({
79
- name: 'OrPagination',
80
-
81
- components: {
82
- OrButton,
83
- OrIcon,
84
- OrMenu,
85
- OrMenuItem,
86
- },
87
-
88
- inheritAttrs: false,
89
-
90
- props: {
91
- modelValue: {
92
- type: Object as PropType<PaginationModel>,
93
- default: undefined,
94
- },
95
-
96
- value: { // TODO: Remove Vue 2 fallback
97
- type: Object as PropType<PaginationModel>,
98
- default: undefined,
99
- },
100
-
101
- length: {
102
- type: Number,
103
- required: true,
104
- },
105
-
106
- pageSizeOptions: {
107
- type: Array as PropType<number[]>,
108
- default: () => [50, 20, 10, 5],
109
- },
110
- },
111
-
112
- emits: [
113
- 'update:modelValue',
114
-
115
- 'input',
116
- ],
117
-
118
- expose: [
119
- 'root',
120
- ],
121
-
122
- setup(props, context) {
123
- // Refs
124
- const root = ref<HTMLElement>();
125
-
126
- const limitButton = ref<InstanceType<typeof OrButton>>();
127
- const limitButtonRoot = computed(() => limitButton.value?.root);
128
-
129
- const limitMenu = ref<InstanceType<typeof OrMenu>>();
130
- const limitMenuRoot = computed(() => limitMenu.value?.root);
131
-
132
- // Styles
133
- const classAttribute = useClassAttribute();
134
-
135
- const rootStyles = computed(() => [
136
- 'or-pagination',
137
- ...PaginationRoot,
138
- classAttribute.value,
139
- ]);
140
-
141
- const offsetControlStyles = computed(() => [
142
- ...PaginationOffsetControl,
143
- ]);
144
-
145
- const limitControlStyles = computed(() => [
146
- ...PaginationLimitControl,
147
- ]);
148
-
149
- // State
150
- const proxyModelValue = computed({
151
- get: () => {
152
- return props.modelValue ?? props.value; // TODO: Remove Vue 2 fallback
153
- },
154
-
155
- set: (value) => {
156
- context.emit('input', value);
157
- context.emit('update:modelValue', value);
158
- },
159
- });
160
-
161
- const currentLimit = computed<number>({
162
- get: () => {
163
- return proxyModelValue.value?.limit ?? props.pageSizeOptions[0];
164
- },
165
-
166
- set: (value) => {
167
- proxyModelValue.value = {
168
- limit: value,
169
- offset: 0,
170
- };
171
- },
172
- });
173
-
174
- const currentOffset = computed<number>({
175
- get: () => {
176
- return proxyModelValue.value?.offset ?? 0;
177
- },
178
-
179
- set: (value) => {
180
- proxyModelValue.value = {
181
- limit: currentLimit.value,
182
- offset: value,
183
- };
184
- },
185
- });
186
-
187
- const currentPage = computed<number>({
188
- get: () => {
189
- return Math.floor(currentOffset.value / currentLimit.value) + 1;
190
- },
191
-
192
- set: (value) => {
193
- currentOffset.value = (value - 1) * currentLimit.value;
194
- },
195
- });
196
-
197
- const firstPage = computed<number>(() => {
198
- return 1;
199
- });
200
-
201
- const lastPage = computed<number>(() => {
202
- return Math.ceil(props.length / currentLimit.value);
203
- });
204
-
205
- const buttonGroup = computed<(number | string)[]>(() => {
206
- return Array.from({ length: lastPage.value }, (_, index) => index + 1)
207
- .map((page) => {
208
- switch (true) {
209
- case page > firstPage.value && page < currentPage.value - 1:
210
- case page > currentPage.value + 1 && page < lastPage.value:
211
- return '…';
212
-
213
- default:
214
- return page;
215
- }
216
- })
217
- .reduce((accumulator, page) => {
218
- if (accumulator[accumulator.length - 1] === page) {
219
- return accumulator;
220
- }
221
-
222
- return [...accumulator, page];
223
- }, [] as (number | string)[]);
224
- });
225
-
226
- // Functions
227
- function toPreviousPage(): void {
228
- currentPage.value = currentPage.value - 1;
229
- }
230
-
231
- function toNextPage(): void {
232
- currentPage.value = currentPage.value + 1;
233
- }
234
-
235
- function toPage(page: number): void {
236
- currentPage.value = page;
237
- }
238
-
239
- return {
240
- root,
241
- limitButton,
242
- limitButtonRoot,
243
- limitMenu,
244
- limitMenuRoot,
245
- rootStyles,
246
- offsetControlStyles,
247
- limitControlStyles,
248
- proxyModelValue,
249
- currentLimit,
250
- currentOffset,
251
- currentPage,
252
- firstPage,
253
- lastPage,
254
- buttonGroup,
255
- toPreviousPage,
256
- toNextPage,
257
- toPage,
258
- };
259
- },
260
- });
261
- </script>
@@ -1,2 +0,0 @@
1
- export { default as OrPaginationV3 } from './OrPagination.vue';
2
- export * from './types';
@@ -1,30 +0,0 @@
1
- export const PaginationRoot: string[] = [
2
- // Layout
3
- 'layout-row',
4
-
5
- // Spacing
6
- 'gap-xl',
7
-
8
- // Typography
9
- 'typography-caption-regular',
10
-
11
- // Theme
12
- 'theme-foreground-outline',
13
- 'dark:theme-foreground-outline-dark',
14
- ];
15
-
16
- export const PaginationOffsetControl: string[] = [
17
- // Layout
18
- 'layout-row',
19
-
20
- // Spacing
21
- 'gap-md',
22
- ];
23
-
24
- export const PaginationLimitControl: string[] = [
25
- // Layout
26
- 'layout-row',
27
-
28
- // Spacing
29
- 'gap-sm',
30
- ];
@@ -1,4 +0,0 @@
1
- export interface PaginationModel {
2
- limit: number;
3
- offset: number;
4
- }