@onereach/ui-components 2.69.1-beta.2089.0 → 2.69.1-beta.2095.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 (142) hide show
  1. package/dist/bundled/v2/{OrButton-0e91a808.js → OrButton-66d37aff.js} +14 -1
  2. package/dist/bundled/v2/{OrCard-29116e1f.js → OrCard-58a1ba3e.js} +2 -2
  3. package/dist/bundled/v2/OrCardCollection-a9a779ea.js +228 -0
  4. package/dist/bundled/v2/{OrConfirm-18c534df.js → OrConfirm-e1ca1422.js} +1 -1
  5. package/dist/bundled/v2/OrPagination-354e9abd.js +296 -0
  6. package/dist/bundled/v2/{OrSearch-19f43fe5.js → OrSearch-9d402f56.js} +2 -2
  7. package/dist/bundled/v2/{OrSelect-759b4410.js → OrSelect-1c9421ad.js} +3 -3
  8. package/dist/bundled/v2/{OrSortHeader-9932d28f.js → OrSortHeader-396e6a7c.js} +2 -2
  9. package/dist/bundled/v2/components/index.d.ts +1 -0
  10. package/dist/bundled/v2/components/index.js +8 -7
  11. package/dist/bundled/v2/components/or-button-v3/OrButton.vue.d.ts +11 -0
  12. package/dist/bundled/v2/components/or-button-v3/index.js +1 -1
  13. package/dist/bundled/v2/components/or-card-collection-v3/OrCardCollection.stories3.d.ts +0 -4
  14. package/dist/bundled/v2/components/or-card-collection-v3/OrCardCollection.vue.d.ts +37 -61
  15. package/dist/bundled/v2/components/or-card-collection-v3/index.js +4 -7
  16. package/dist/bundled/v2/components/or-card-collection-v3/types.d.ts +4 -5
  17. package/dist/bundled/v2/components/or-card-v3/index.js +1 -1
  18. package/dist/bundled/v2/components/or-confirm-v3/index.js +2 -2
  19. package/dist/bundled/v2/components/or-pagination-v3/OrPagination.stories3.d.ts +12 -0
  20. package/dist/bundled/v2/components/or-pagination-v3/OrPagination.vue.d.ts +110 -0
  21. package/dist/bundled/v2/components/or-pagination-v3/index.d.ts +2 -0
  22. package/dist/bundled/v2/components/or-pagination-v3/index.js +20 -0
  23. package/dist/bundled/v2/components/or-pagination-v3/styles.d.ts +3 -0
  24. package/dist/bundled/v2/components/or-pagination-v3/types.d.ts +4 -0
  25. package/dist/bundled/v2/components/or-search-v3/index.js +1 -1
  26. package/dist/bundled/v2/components/or-select-v3/OrSelect.vue.d.ts +14 -14
  27. package/dist/bundled/v2/components/or-select-v3/index.d.ts +1 -0
  28. package/dist/bundled/v2/components/or-select-v3/index.js +1 -1
  29. package/dist/bundled/v2/components/or-select-v3/types.d.ts +1 -1
  30. package/dist/bundled/v2/components/or-sort-header-v3/index.js +1 -1
  31. package/dist/bundled/v2/index.js +9 -8
  32. package/dist/bundled/v3/{OrButton-8ab33d9d.js → OrButton-9640286b.js} +3 -2
  33. package/dist/bundled/v3/{OrButton.vue_vue_type_script_lang-3718b300.js → OrButton.vue_vue_type_script_lang-06d8ead1.js} +13 -1
  34. package/dist/bundled/v3/OrCardCollection.vue_vue_type_script_lang-3993a015.js +164 -0
  35. package/dist/bundled/v3/{OrConfirm.vue_vue_type_script_lang-85472b12.js → OrConfirm.vue_vue_type_script_lang-f1b81f00.js} +2 -2
  36. package/dist/bundled/v3/OrPagination.vue_vue_type_script_lang-ff22b11c.js +180 -0
  37. package/dist/bundled/v3/{OrSearch.vue_vue_type_script_lang-cb2d6612.js → OrSearch.vue_vue_type_script_lang-ed78b21f.js} +1 -1
  38. package/dist/bundled/v3/{OrSelect.vue_vue_type_script_lang-dfadd12f.js → OrSelect.vue_vue_type_script_lang-d0626539.js} +2 -2
  39. package/dist/bundled/v3/components/index.d.ts +1 -0
  40. package/dist/bundled/v3/components/index.js +11 -10
  41. package/dist/bundled/v3/components/or-button-v3/OrButton.vue.d.ts +11 -0
  42. package/dist/bundled/v3/components/or-button-v3/index.js +1 -1
  43. package/dist/bundled/v3/components/or-card-collection-v3/OrCardCollection.stories3.d.ts +0 -4
  44. package/dist/bundled/v3/components/or-card-collection-v3/OrCardCollection.vue.d.ts +37 -61
  45. package/dist/bundled/v3/components/or-card-collection-v3/index.js +4 -11
  46. package/dist/bundled/v3/components/or-card-collection-v3/types.d.ts +4 -5
  47. package/dist/bundled/v3/components/or-confirm-v3/index.js +3 -3
  48. package/dist/bundled/v3/components/or-pagination-v3/OrPagination.stories3.d.ts +12 -0
  49. package/dist/bundled/v3/components/or-pagination-v3/OrPagination.vue.d.ts +110 -0
  50. package/dist/bundled/v3/components/or-pagination-v3/index.d.ts +2 -0
  51. package/dist/bundled/v3/components/or-pagination-v3/index.js +22 -0
  52. package/dist/bundled/v3/components/or-pagination-v3/styles.d.ts +3 -0
  53. package/dist/bundled/v3/components/or-pagination-v3/types.d.ts +4 -0
  54. package/dist/bundled/v3/components/or-search-v3/index.js +1 -1
  55. package/dist/bundled/v3/components/or-select-v3/OrSelect.vue.d.ts +14 -14
  56. package/dist/bundled/v3/components/or-select-v3/index.d.ts +1 -0
  57. package/dist/bundled/v3/components/or-select-v3/index.js +1 -1
  58. package/dist/bundled/v3/components/or-select-v3/types.d.ts +1 -1
  59. package/dist/bundled/v3/index.js +354 -292
  60. package/dist/esm/v2/{OrButton-357a5756.js → OrButton-3d4fc9da.js} +14 -1
  61. package/dist/esm/v2/OrCardCollection-4f001551.js +227 -0
  62. package/dist/esm/v2/{OrConfirm-b0b2e43c.js → OrConfirm-ba3f8c45.js} +1 -1
  63. package/dist/esm/v2/OrPagination-a56eb93b.js +296 -0
  64. package/dist/esm/v2/{OrSelect-ac382aa6.js → OrSelect-ca2510cd.js} +3 -3
  65. package/dist/esm/v2/components/index.d.ts +1 -0
  66. package/dist/esm/v2/components/index.js +5 -4
  67. package/dist/esm/v2/components/or-button-v3/OrButton.vue.d.ts +11 -0
  68. package/dist/esm/v2/components/or-button-v3/index.js +1 -1
  69. package/dist/esm/v2/components/or-card-collection-v3/OrCardCollection.stories3.d.ts +0 -4
  70. package/dist/esm/v2/components/or-card-collection-v3/OrCardCollection.vue.d.ts +37 -61
  71. package/dist/esm/v2/components/or-card-collection-v3/index.js +4 -7
  72. package/dist/esm/v2/components/or-card-collection-v3/types.d.ts +4 -5
  73. package/dist/esm/v2/components/or-confirm-v3/index.js +2 -2
  74. package/dist/esm/v2/components/or-pagination-v3/OrPagination.stories3.d.ts +12 -0
  75. package/dist/esm/v2/components/or-pagination-v3/OrPagination.vue.d.ts +110 -0
  76. package/dist/esm/v2/components/or-pagination-v3/index.d.ts +2 -0
  77. package/dist/esm/v2/components/or-pagination-v3/index.js +18 -0
  78. package/dist/esm/v2/components/or-pagination-v3/styles.d.ts +3 -0
  79. package/dist/esm/v2/components/or-pagination-v3/types.d.ts +4 -0
  80. package/dist/esm/v2/components/or-select-v3/OrSelect.vue.d.ts +14 -14
  81. package/dist/esm/v2/components/or-select-v3/index.d.ts +1 -0
  82. package/dist/esm/v2/components/or-select-v3/index.js +1 -1
  83. package/dist/esm/v2/components/or-select-v3/types.d.ts +1 -1
  84. package/dist/esm/v2/index.js +5 -4
  85. package/dist/esm/v3/{OrButton-f4b9ee51.js → OrButton-970ae320.js} +15 -2
  86. package/dist/esm/v3/OrCardCollection-5a0febaf.js +198 -0
  87. package/dist/esm/v3/{OrConfirm-906427ef.js → OrConfirm-7cb2f36b.js} +1 -1
  88. package/dist/esm/v3/OrPagination-d351a13b.js +257 -0
  89. package/dist/esm/v3/{OrSelect-fee9c099.js → OrSelect-bff22c7f.js} +3 -3
  90. package/dist/esm/v3/components/index.d.ts +1 -0
  91. package/dist/esm/v3/components/index.js +5 -4
  92. package/dist/esm/v3/components/or-button-v3/OrButton.vue.d.ts +11 -0
  93. package/dist/esm/v3/components/or-button-v3/index.js +1 -1
  94. package/dist/esm/v3/components/or-card-collection-v3/OrCardCollection.stories3.d.ts +0 -4
  95. package/dist/esm/v3/components/or-card-collection-v3/OrCardCollection.vue.d.ts +37 -61
  96. package/dist/esm/v3/components/or-card-collection-v3/index.js +4 -7
  97. package/dist/esm/v3/components/or-card-collection-v3/types.d.ts +4 -5
  98. package/dist/esm/v3/components/or-confirm-v3/index.js +2 -2
  99. package/dist/esm/v3/components/or-pagination-v3/OrPagination.stories3.d.ts +12 -0
  100. package/dist/esm/v3/components/or-pagination-v3/OrPagination.vue.d.ts +110 -0
  101. package/dist/esm/v3/components/or-pagination-v3/index.d.ts +2 -0
  102. package/dist/esm/v3/components/or-pagination-v3/index.js +17 -0
  103. package/dist/esm/v3/components/or-pagination-v3/styles.d.ts +3 -0
  104. package/dist/esm/v3/components/or-pagination-v3/types.d.ts +4 -0
  105. package/dist/esm/v3/components/or-select-v3/OrSelect.vue.d.ts +14 -14
  106. package/dist/esm/v3/components/or-select-v3/index.d.ts +1 -0
  107. package/dist/esm/v3/components/or-select-v3/index.js +1 -1
  108. package/dist/esm/v3/components/or-select-v3/types.d.ts +1 -1
  109. package/dist/esm/v3/index.js +5 -4
  110. package/package.json +1 -1
  111. package/src/components/index.ts +1 -0
  112. package/src/components/or-button-v3/OrButton.stories3.ts +4 -0
  113. package/src/components/or-button-v3/OrButton.vue +6 -0
  114. package/src/components/or-button-v3/styles.ts +15 -1
  115. package/src/components/or-card-collection-v3/OrCardCollection.stories3.ts +19 -160
  116. package/src/components/or-card-collection-v3/OrCardCollection.vue +74 -99
  117. package/src/components/or-card-collection-v3/styles.ts +1 -1
  118. package/src/components/or-card-collection-v3/types.ts +4 -5
  119. package/src/components/or-pagination-v3/OrPagination.docs.mdx +7 -0
  120. package/src/components/or-pagination-v3/OrPagination.stories3.ts +87 -0
  121. package/src/components/or-pagination-v3/OrPagination.vue +260 -0
  122. package/src/components/or-pagination-v3/index.ts +2 -0
  123. package/src/components/or-pagination-v3/styles.ts +30 -0
  124. package/src/components/or-pagination-v3/types.ts +4 -0
  125. package/src/components/or-select-v3/OrSelect.vue +3 -3
  126. package/src/components/or-select-v3/index.ts +1 -0
  127. package/src/components/or-select-v3/types.ts +1 -1
  128. package/dist/bundled/v2/OrCardCollection-a8d5ce32.js +0 -328
  129. package/dist/bundled/v2/components/or-card-collection-v3/OrCardCollectionView.vue2.vue.d.ts +0 -35
  130. package/dist/bundled/v2/components/or-card-collection-v3/constatnts.d.ts +0 -4
  131. package/dist/bundled/v3/OrCardCollection.vue_vue_type_script_lang-f9f329a2.js +0 -224
  132. package/dist/bundled/v3/components/or-card-collection-v3/OrCardCollectionView.vue3.vue.d.ts +0 -35
  133. package/dist/bundled/v3/components/or-card-collection-v3/constatnts.d.ts +0 -4
  134. package/dist/esm/v2/OrCardCollection-95b051e1.js +0 -328
  135. package/dist/esm/v2/components/or-card-collection-v3/OrCardCollectionView.vue2.vue.d.ts +0 -35
  136. package/dist/esm/v2/components/or-card-collection-v3/constatnts.d.ts +0 -4
  137. package/dist/esm/v3/OrCardCollection-afd863fc.js +0 -274
  138. package/dist/esm/v3/components/or-card-collection-v3/OrCardCollectionView.vue3.vue.d.ts +0 -35
  139. package/dist/esm/v3/components/or-card-collection-v3/constatnts.d.ts +0 -4
  140. package/src/components/or-card-collection-v3/OrCardCollectionView.vue2.vue +0 -41
  141. package/src/components/or-card-collection-v3/OrCardCollectionView.vue3.vue +0 -42
  142. package/src/components/or-card-collection-v3/constatnts.ts +0 -12
@@ -0,0 +1,198 @@
1
+ import { defineComponent, ref, computed, watch } from 'vue-demi';
2
+ import { u as useClassAttribute } from './useClassAttribute-47fdb016.js';
3
+ import '@vueuse/core';
4
+ import { s as script$1 } from './OrCard-fd92f7c8.js';
5
+ import { s as script$2 } from './OrIconButton-1eebcafc.js';
6
+ import { s as script$3 } from './OrInput-41691fb3.js';
7
+ import { s as script$4 } from './OrSortHeader-fe1a9cf8.js';
8
+ import { resolveComponent, openBlock, createElementBlock, mergeProps, createElementVNode, normalizeClass, Fragment, renderList, createBlock, withCtx, createTextVNode, toDisplayString, createCommentVNode, createVNode, renderSlot, normalizeProps, guardReactiveProps } from 'vue';
9
+
10
+ var CardCollectionView;
11
+ (function (CardCollectionView) {
12
+ CardCollectionView["Grid"] = "grid";
13
+ CardCollectionView["List"] = "list";
14
+ })(CardCollectionView || (CardCollectionView = {}));
15
+
16
+ const CardCollectionRoot = [
17
+ // Layout
18
+ 'layout-column',
19
+ // Spacing
20
+ 'gap-md'];
21
+ const CardCollectionToolbar = [
22
+ // Layout
23
+ 'layout-row justify-between',
24
+ // Typography
25
+ 'typography-body-2-regular',
26
+ // Theme
27
+ 'theme-foreground-default', 'dark:theme-foreground-default-dark'];
28
+ const CardCollectionToolbarPanel = [
29
+ // Layout
30
+ 'layout-row',
31
+ // Spacing
32
+ 'gap-sm+'];
33
+ const CardCollectionContent = [
34
+ // Layout
35
+ 'grid',
36
+ // Spacing
37
+ 'gap-sm md:gap-md'];
38
+ const CardCollectionContentViews = {
39
+ 'grid': [
40
+ // Layout
41
+ 'sm:grid-cols-1', 'md:grid-cols-2', 'lg:grid-cols-4', 'xl:grid-cols-6'],
42
+ 'list': []
43
+ };
44
+
45
+ var script = defineComponent({
46
+ name: 'OrCardCollection',
47
+ components: {
48
+ OrCard: script$1,
49
+ OrIconButton: script$2,
50
+ OrInput: script$3,
51
+ OrSortHeader: script$4
52
+ },
53
+ inheritAttrs: false,
54
+ props: {
55
+ items: {
56
+ type: Array,
57
+ default: []
58
+ },
59
+ view: {
60
+ type: String,
61
+ default: CardCollectionView.Grid
62
+ },
63
+ sort: {
64
+ type: Object,
65
+ default: undefined
66
+ },
67
+ sortHeaders: {
68
+ type: Array,
69
+ default: undefined
70
+ },
71
+ search: {
72
+ type: String,
73
+ default: undefined
74
+ }
75
+ },
76
+ emits: ['viewChange', 'sortChange', 'searchChange'],
77
+ expose: ['root'],
78
+ setup(props, context) {
79
+ // Refs
80
+ const root = ref();
81
+ // Styles
82
+ const classAttribute = useClassAttribute();
83
+ const rootStyles = computed(() => ['or-card-collection', ...CardCollectionRoot, classAttribute.value]);
84
+ const toolbarStyles = computed(() => [...CardCollectionToolbar]);
85
+ const toolbarPanelStyles = computed(() => [...CardCollectionToolbarPanel]);
86
+ const contentStyles = computed(() => [...CardCollectionContent, ...CardCollectionContentViews[proxyView.value]]);
87
+ // State
88
+ const proxyView = ref(props.view);
89
+ const proxySort = ref(props.sort);
90
+ const proxySearch = ref(props.search);
91
+ // Methods
92
+ function switchToGridView() {
93
+ proxyView.value = CardCollectionView.Grid;
94
+ }
95
+ function switchToListView() {
96
+ proxyView.value = CardCollectionView.List;
97
+ }
98
+ // Effects
99
+ watch(() => props.view, value => {
100
+ proxyView.value = value;
101
+ });
102
+ watch(proxyView, value => {
103
+ context.emit('viewChange', value);
104
+ });
105
+ watch(() => props.sort, value => {
106
+ proxySort.value = value;
107
+ });
108
+ watch(proxySort, value => {
109
+ context.emit('sortChange', value);
110
+ });
111
+ watch(() => props.search, value => {
112
+ proxySearch.value = value;
113
+ });
114
+ watch(proxySearch, value => {
115
+ context.emit('searchChange', value);
116
+ });
117
+ return {
118
+ root,
119
+ rootStyles,
120
+ toolbarStyles,
121
+ toolbarPanelStyles,
122
+ contentStyles,
123
+ proxyView,
124
+ proxySort,
125
+ proxySearch,
126
+ switchToGridView,
127
+ switchToListView
128
+ };
129
+ }
130
+ });
131
+
132
+ function render(_ctx, _cache, $props, $setup, $data, $options) {
133
+ const _component_OrSortHeader = resolveComponent("OrSortHeader");
134
+ const _component_OrInput = resolveComponent("OrInput");
135
+ const _component_OrIconButton = resolveComponent("OrIconButton");
136
+ const _component_OrCard = resolveComponent("OrCard");
137
+ return openBlock(), createElementBlock("div", mergeProps({
138
+ ref: "root"
139
+ }, _ctx.$attrs, {
140
+ class: _ctx.rootStyles
141
+ }), [createElementVNode("div", {
142
+ class: normalizeClass(_ctx.toolbarStyles)
143
+ }, [createElementVNode("div", {
144
+ class: normalizeClass(_ctx.toolbarPanelStyles)
145
+ }, [_ctx.sortHeaders ? (openBlock(true), createElementBlock(Fragment, {
146
+ key: 0
147
+ }, renderList(_ctx.sortHeaders, header => {
148
+ return openBlock(), createBlock(_component_OrSortHeader, {
149
+ key: header.value,
150
+ modelValue: _ctx.proxySort,
151
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => _ctx.proxySort = $event),
152
+ "input-value": header.value
153
+ }, {
154
+ default: withCtx(() => [createTextVNode(toDisplayString(header.label), 1 /* TEXT */)]),
155
+
156
+ _: 2 /* DYNAMIC */
157
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["modelValue", "input-value"]);
158
+ }), 128 /* KEYED_FRAGMENT */)) : createCommentVNode("v-if", true)], 2 /* CLASS */), createElementVNode("div", {
159
+ class: normalizeClass(_ctx.toolbarPanelStyles)
160
+ }, [createVNode(_component_OrInput, {
161
+ modelValue: _ctx.proxySearch,
162
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = $event => _ctx.proxySearch = $event),
163
+ type: 'search',
164
+ placeholder: 'Search',
165
+ size: 's'
166
+ }, null, 8 /* PROPS */, ["modelValue"]), createVNode(_component_OrIconButton, {
167
+ icon: 'grid_view',
168
+ onClick: _cache[2] || (_cache[2] = $event => _ctx.switchToGridView())
169
+ }), createVNode(_component_OrIconButton, {
170
+ icon: 'view_list',
171
+ onClick: _cache[3] || (_cache[3] = $event => _ctx.switchToListView())
172
+ }), renderSlot(_ctx.$slots, "addon")], 2 /* CLASS */)], 2 /* CLASS */), createElementVNode("div", {
173
+ class: normalizeClass(_ctx.contentStyles)
174
+ }, [_ctx.proxyView === 'grid' ? (openBlock(true), createElementBlock(Fragment, {
175
+ key: 0
176
+ }, renderList(_ctx.items, item => {
177
+ return openBlock(), createBlock(_component_OrCard, {
178
+ key: item.id
179
+ }, {
180
+ default: withCtx(() => [renderSlot(_ctx.$slots, "gridItem", normalizeProps(guardReactiveProps(item)))]),
181
+ _: 2 /* DYNAMIC */
182
+ }, 1024 /* DYNAMIC_SLOTS */);
183
+ }), 128 /* KEYED_FRAGMENT */)) : createCommentVNode("v-if", true), _ctx.proxyView === 'list' ? (openBlock(true), createElementBlock(Fragment, {
184
+ key: 1
185
+ }, renderList(_ctx.items, item => {
186
+ return openBlock(), createBlock(_component_OrCard, {
187
+ key: item.id
188
+ }, {
189
+ default: withCtx(() => [renderSlot(_ctx.$slots, "listItem", normalizeProps(guardReactiveProps(item)))]),
190
+ _: 2 /* DYNAMIC */
191
+ }, 1024 /* DYNAMIC_SLOTS */);
192
+ }), 128 /* KEYED_FRAGMENT */)) : createCommentVNode("v-if", true)], 2 /* CLASS */)], 16 /* FULL_PROPS */);
193
+ }
194
+
195
+ script.render = render;
196
+ script.__file = "src/components/or-card-collection-v3/OrCardCollection.vue";
197
+
198
+ export { CardCollectionView as C, script as s };
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, ref, computed, watch } from 'vue-demi';
2
- import { s as script$2, a as ButtonColor } from './OrButton-f4b9ee51.js';
2
+ import { s as script$2, a as ButtonColor } from './OrButton-970ae320.js';
3
3
  import { s as script$1 } from './OrOverlay-738a44d5.js';
4
4
  import { s as script$3 } from './OrInput-41691fb3.js';
5
5
  import { useMagicKeys, whenever } from '@vueuse/core';
@@ -0,0 +1,257 @@
1
+ import { defineComponent, ref, computed } from 'vue-demi';
2
+ import { u as useClassAttribute } from './useClassAttribute-47fdb016.js';
3
+ import '@vueuse/core';
4
+ import { s as script$1 } from './OrButton-970ae320.js';
5
+ import { s as script$2 } from './OrIcon-b195169c.js';
6
+ import { s as script$4 } from './OrMenuItem-9da279f6.js';
7
+ import { s as script$3 } from './OrMenu-840038cd.js';
8
+ import './OrPopover-1075dd38.js';
9
+ import { resolveComponent, openBlock, createElementBlock, mergeProps, createElementVNode, normalizeClass, createVNode, withModifiers, withCtx, Fragment, renderList, createBlock, createTextVNode, toDisplayString } from 'vue';
10
+
11
+ const PaginationRoot = [
12
+ // Layout
13
+ 'layout-row',
14
+ // Spacing
15
+ 'gap-xl',
16
+ // Typography
17
+ 'typography-caption-regular',
18
+ // Theme
19
+ 'theme-foreground-outline', 'dark:theme-foreground-outline-dark'];
20
+ const PaginationOffsetControl = [
21
+ // Layout
22
+ 'layout-row',
23
+ // Spacing
24
+ 'gap-md'];
25
+ const PaginationLimitControl = [
26
+ // Layout
27
+ 'layout-row',
28
+ // Spacing
29
+ 'gap-sm'];
30
+
31
+ var script = defineComponent({
32
+ name: 'OrPagination',
33
+ components: {
34
+ OrButton: script$1,
35
+ OrIcon: script$2,
36
+ OrMenu: script$3,
37
+ OrMenuItem: script$4
38
+ },
39
+ inheritAttrs: false,
40
+ props: {
41
+ modelValue: {
42
+ type: Object,
43
+ default: {}
44
+ },
45
+ value: {
46
+ type: Object,
47
+ default: {}
48
+ },
49
+ length: {
50
+ type: Number,
51
+ required: true
52
+ },
53
+ pageSizeOptions: {
54
+ type: Array,
55
+ default: [50, 20, 10, 5]
56
+ }
57
+ },
58
+ emits: ['update:modelValue', 'input'],
59
+ expose: ['root'],
60
+ setup(props, context) {
61
+ // Refs
62
+ const root = ref();
63
+ const limitButton = ref();
64
+ const limitButtonRoot = computed(() => {
65
+ var _a;
66
+ return (_a = limitButton.value) === null || _a === void 0 ? void 0 : _a.root;
67
+ });
68
+ const limitMenu = ref();
69
+ const limitMenuRoot = computed(() => {
70
+ var _a;
71
+ return (_a = limitMenu.value) === null || _a === void 0 ? void 0 : _a.root;
72
+ });
73
+ // Styles
74
+ const classAttribute = useClassAttribute();
75
+ const rootStyles = computed(() => ['or-pagination', ...PaginationRoot, classAttribute.value]);
76
+ const offsetControlStyles = computed(() => [...PaginationOffsetControl]);
77
+ const limitControlStyles = computed(() => [...PaginationLimitControl]);
78
+ // State
79
+ const proxyModelValue = computed({
80
+ get: () => {
81
+ var _a;
82
+ return (_a = props.modelValue) !== null && _a !== void 0 ? _a : props.value; // TODO: Remove Vue 2 fallback
83
+ },
84
+
85
+ set: value => {
86
+ context.emit('input', value);
87
+ context.emit('update:modelValue', value);
88
+ }
89
+ });
90
+ const currentLimit = computed({
91
+ get: () => {
92
+ var _a;
93
+ return (_a = proxyModelValue.value.limit) !== null && _a !== void 0 ? _a : props.pageSizeOptions[0];
94
+ },
95
+ set: value => {
96
+ proxyModelValue.value = {
97
+ limit: value,
98
+ offset: currentOffset.value
99
+ };
100
+ }
101
+ });
102
+ const currentOffset = computed({
103
+ get: () => {
104
+ var _a;
105
+ return (_a = proxyModelValue.value.offset) !== null && _a !== void 0 ? _a : 0;
106
+ },
107
+ set: value => {
108
+ proxyModelValue.value = {
109
+ limit: currentLimit.value,
110
+ offset: value
111
+ };
112
+ }
113
+ });
114
+ const currentPage = computed({
115
+ get: () => {
116
+ return Math.floor(currentOffset.value / currentLimit.value) + 1;
117
+ },
118
+ set: value => {
119
+ currentOffset.value = (value - 1) * currentLimit.value;
120
+ }
121
+ });
122
+ const firstPage = computed(() => {
123
+ return 1;
124
+ });
125
+ const lastPage = computed(() => {
126
+ return Math.ceil(props.length / currentLimit.value);
127
+ });
128
+ const buttonGroup = computed(() => {
129
+ return Array.from({
130
+ length: lastPage.value
131
+ }, (_, index) => index + 1).map(page => {
132
+ switch (true) {
133
+ case page > firstPage.value && page < currentPage.value - 1:
134
+ case page > currentPage.value + 1 && page < lastPage.value:
135
+ return '…';
136
+ default:
137
+ return page;
138
+ }
139
+ }).reduce((accumulator, page) => {
140
+ if (accumulator[accumulator.length - 1] === page) {
141
+ return accumulator;
142
+ }
143
+ return [...accumulator, page];
144
+ }, []);
145
+ });
146
+ // Functions
147
+ function toPreviousPage() {
148
+ currentPage.value = currentPage.value - 1;
149
+ }
150
+ function toNextPage() {
151
+ currentPage.value = currentPage.value + 1;
152
+ }
153
+ function toPage(page) {
154
+ currentPage.value = page;
155
+ }
156
+ return {
157
+ root,
158
+ limitButton,
159
+ limitButtonRoot,
160
+ limitMenu,
161
+ limitMenuRoot,
162
+ rootStyles,
163
+ offsetControlStyles,
164
+ limitControlStyles,
165
+ proxyModelValue,
166
+ currentLimit,
167
+ currentOffset,
168
+ currentPage,
169
+ firstPage,
170
+ lastPage,
171
+ buttonGroup,
172
+ toPreviousPage,
173
+ toNextPage,
174
+ toPage
175
+ };
176
+ }
177
+ });
178
+
179
+ function render(_ctx, _cache, $props, $setup, $data, $options) {
180
+ const _component_OrIcon = resolveComponent("OrIcon");
181
+ const _component_OrButton = resolveComponent("OrButton");
182
+ const _component_OrMenuItem = resolveComponent("OrMenuItem");
183
+ const _component_OrMenu = resolveComponent("OrMenu");
184
+ return openBlock(), createElementBlock("div", mergeProps({
185
+ ref: "root"
186
+ }, _ctx.$attrs, {
187
+ class: _ctx.rootStyles
188
+ }), [createElementVNode("div", {
189
+ class: normalizeClass(_ctx.offsetControlStyles)
190
+ }, [createVNode(_component_OrButton, {
191
+ variant: 'link',
192
+ color: 'inherit',
193
+ disabled: _ctx.currentPage === _ctx.firstPage,
194
+ onClick: _cache[0] || (_cache[0] = withModifiers($event => _ctx.toPreviousPage(), ["stop"]))
195
+ }, {
196
+ default: withCtx(() => [createVNode(_component_OrIcon, {
197
+ icon: 'keyboard_arrow_left'
198
+ })]),
199
+ _: 1 /* STABLE */
200
+ }, 8 /* PROPS */, ["disabled"]), (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.buttonGroup, (page, index) => {
201
+ return openBlock(), createBlock(_component_OrButton, {
202
+ key: index,
203
+ variant: 'link',
204
+ color: 'inherit',
205
+ activated: _ctx.currentPage === page,
206
+ onClick: withModifiers($event => typeof page === 'number' && _ctx.toPage(page), ["stop"])
207
+ }, {
208
+ default: withCtx(() => [createTextVNode(toDisplayString(page), 1 /* TEXT */)]),
209
+
210
+ _: 2 /* DYNAMIC */
211
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["activated", "onClick"]);
212
+ }), 128 /* KEYED_FRAGMENT */)), createVNode(_component_OrButton, {
213
+ variant: 'link',
214
+ color: 'inherit',
215
+ disabled: _ctx.currentPage === _ctx.lastPage,
216
+ onClick: _cache[1] || (_cache[1] = withModifiers($event => _ctx.toNextPage(), ["stop"]))
217
+ }, {
218
+ default: withCtx(() => [createVNode(_component_OrIcon, {
219
+ icon: 'keyboard_arrow_right'
220
+ })]),
221
+ _: 1 /* STABLE */
222
+ }, 8 /* PROPS */, ["disabled"])], 2 /* CLASS */), createElementVNode("div", {
223
+ class: normalizeClass(_ctx.limitControlStyles)
224
+ }, [createTextVNode(" Per page: "), createVNode(_component_OrButton, {
225
+ ref: "limitButton",
226
+ variant: 'link',
227
+ color: 'inherit',
228
+ activated: true,
229
+ onClick: _cache[2] || (_cache[2] = withModifiers($event => _ctx.limitMenu.open(), ["stop"]))
230
+ }, {
231
+ default: withCtx(() => [createTextVNode(toDisplayString(_ctx.currentLimit) + " ", 1 /* TEXT */), createVNode(_component_OrIcon, {
232
+ icon: 'arrow_drop_down'
233
+ })]),
234
+ _: 1 /* STABLE */
235
+ }, 512 /* NEED_PATCH */), createVNode(_component_OrMenu, {
236
+ ref: "limitMenu",
237
+ trigger: _ctx.limitButtonRoot
238
+ }, {
239
+ default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.pageSizeOptions, pageSize => {
240
+ return openBlock(), createBlock(_component_OrMenuItem, {
241
+ key: pageSize,
242
+ onClick: withModifiers($event => _ctx.currentLimit = pageSize, ["stop"])
243
+ }, {
244
+ default: withCtx(() => [createTextVNode(toDisplayString(pageSize), 1 /* TEXT */)]),
245
+
246
+ _: 2 /* DYNAMIC */
247
+ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick"]);
248
+ }), 128 /* KEYED_FRAGMENT */))]),
249
+
250
+ _: 1 /* STABLE */
251
+ }, 8 /* PROPS */, ["trigger"])], 2 /* CLASS */)], 16 /* FULL_PROPS */);
252
+ }
253
+
254
+ script.render = render;
255
+ script.__file = "src/components/or-pagination-v3/OrPagination.vue";
256
+
257
+ export { script as s };
@@ -82,11 +82,11 @@ var script = defineComponent({
82
82
  default: []
83
83
  },
84
84
  modelValue: {
85
- type: [String, Array],
85
+ type: [String, Number, Array],
86
86
  default: undefined
87
87
  },
88
88
  value: {
89
- type: [String, Array],
89
+ type: [String, Number, Array],
90
90
  default: undefined
91
91
  },
92
92
  multiple: {
@@ -335,7 +335,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
335
335
  disabled: _ctx.disabled,
336
336
  onFocus: _cache[0] || (_cache[0] = $event => _ctx.$emit('focus', $event)),
337
337
  onBlur: _cache[1] || (_cache[1] = $event => _ctx.$emit('blur', $event))
338
- }, [_ctx.proxyModelValue && _ctx.proxyModelValue.length > 0 ? (openBlock(), createElementBlock(Fragment, {
338
+ }, [_ctx.proxyModelValue !== undefined ? (openBlock(), createElementBlock(Fragment, {
339
339
  key: 0
340
340
  }, [_ctx.multiple ? renderSlot(_ctx.$slots, "valueTemplate", {
341
341
  key: 0,
@@ -52,6 +52,7 @@ export * from './or-notification-v3';
52
52
  export * from './or-overflow-menu';
53
53
  export * from './or-overlay';
54
54
  export * from './or-overlay-v3';
55
+ export * from './or-pagination-v3';
55
56
  export * from './or-popover-v3';
56
57
  export * from './or-progress';
57
58
  export * from './or-progress-v3';
@@ -3,10 +3,10 @@ export { a as AvatarColor, A as AvatarSize, s as OrAvatarV3 } from '../OrAvatar-
3
3
  export { s as OrBottomSheetV3 } from '../OrBottomSheet-62817aec.js';
4
4
  export { s as OrButton, a as OrButtonColors, b as OrButtonSizes, O as OrButtonViews } from '../OrButton-fca9019a.js';
5
5
  export { b as BUTTON_COLOR, d as BUTTON_LOADER_TYPE, c as BUTTON_SIZE, B as BUTTON_TYPE, I as ICON_BUTTON_TYPE, s as OrButtonV2, a as OrIconButton } from '../OrIconButton-8be9c89f.js';
6
- export { a as ButtonColor, b as ButtonType, B as ButtonVariant, s as OrButtonV3 } from '../OrButton-f4b9ee51.js';
6
+ export { a as ButtonColor, b as ButtonType, B as ButtonVariant, s as OrButtonV3 } from '../OrButton-970ae320.js';
7
7
  export { s as OrCard } from '../OrCard-e3a5aea4.js';
8
8
  export { C as CARD_COLLECTION_LAYOUT, s as OrCardCollection } from '../OrCardCollection-a5e326ef.js';
9
- export { C as CardCollectionView, s as OrCardCollectionV3 } from '../OrCardCollection-afd863fc.js';
9
+ export { C as CardCollectionView, s as OrCardCollectionV3 } from '../OrCardCollection-5a0febaf.js';
10
10
  export { s as OrCardV3 } from '../OrCard-fd92f7c8.js';
11
11
  export { a as OrCarousel, s as OrCarouselItem } from '../OrCarouselItem-636d99a1.js';
12
12
  export { s as OrCheckbox } from '../OrCheckbox-ed4a19cf.js';
@@ -16,7 +16,7 @@ export { s as OrCode, O as OrCodeLanguages } from '../OrCode-ee19a5e6.js';
16
16
  export { s as OrCollapse } from '../OrCollapse-445141ab.js';
17
17
  export { s as OrColorPicker, h as amber, n as black, b as blue, m as blueGrey, k as brown, c as cyan, j as deepOrange, d as deepPurple, g as green, i as indigo, l as lightBlue, e as lightGreen, f as lime, o as orange, p as pink, a as purple, r as red, t as teal, w as white, y as yellow } from '../OrColorPicker-189cb097.js';
18
18
  export { s as OrConfirm } from '../OrConfirm-f39bd784.js';
19
- export { C as ConfirmType, s as OrConfirmV3 } from '../OrConfirm-906427ef.js';
19
+ export { C as ConfirmType, s as OrConfirmV3 } from '../OrConfirm-7cb2f36b.js';
20
20
  export { D as DEFAULT_TEXT, s as OrDateTimePicker, a as OrDateTimePickerItemTypes, O as OrDateTimePickerTypes } from '../OrDateTimePicker-f2e08564.js';
21
21
  export { s as OrError } from '../OrError-f90296db.js';
22
22
  export { s as OrErrorTagV3 } from '../OrErrorTag-98252eef.js';
@@ -53,6 +53,7 @@ export { N as NotificationVariant, s as OrNotificationV3 } from '../OrNotificati
53
53
  export { s as OrOverflowMenu } from '../OrOverflowMenu-e82cbcbe.js';
54
54
  export { s as OrOverlay } from '../OrOverlay-451dce49.js';
55
55
  export { s as OrOverlayV3 } from '../OrOverlay-738a44d5.js';
56
+ export { s as OrPaginationV3 } from '../OrPagination-d351a13b.js';
56
57
  export { s as OrProgress, O as OrProgressColors, a as OrProgressTypes } from '../OrProgress-d0d52c86.js';
57
58
  export { s as OrProgressV3, P as ProgressColor, a as ProgressType } from '../OrProgress-407002e0.js';
58
59
  export { s as OrRadio } from '../OrRadio-c3ab11f2.js';
@@ -61,7 +62,7 @@ export { s as OrRadioV3 } from '../OrRadio-54b6d0de.js';
61
62
  export { s as OrSearchV3 } from '../OrSearch-cdde55ce.js';
62
63
  export { s as OrSegmentedControlV3, S as SegmentedControlSize } from '../OrSegmentedControl-171cad78.js';
63
64
  export { s as OrSelect } from '../OrSelect-0821b907.js';
64
- export { s as OrSelectV3 } from '../OrSelect-fee9c099.js';
65
+ export { s as OrSelectV3 } from '../OrSelect-bff22c7f.js';
65
66
  export { s as OrSidebar, O as OrSidebarSide } from '../OrSidebar-375c85a3.js';
66
67
  export { O as OrSidebarPlacement, s as OrSidebarV3 } from '../OrSidebar-a62972f5.js';
67
68
  export { s as OrSkeletonCircle, a as OrSkeletonRect, b as OrSkeletonText, O as OrSkeletonTextSizes } from '../OrSkeletonText-2b1610ce.js';
@@ -16,6 +16,10 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
16
16
  type: PropType<ButtonColor>;
17
17
  default: ButtonColor;
18
18
  };
19
+ activated: {
20
+ type: BooleanConstructor;
21
+ default: boolean;
22
+ };
19
23
  disabled: {
20
24
  type: BooleanConstructor;
21
25
  default: boolean;
@@ -41,6 +45,10 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
41
45
  type: PropType<ButtonColor>;
42
46
  default: ButtonColor;
43
47
  };
48
+ activated: {
49
+ type: BooleanConstructor;
50
+ default: boolean;
51
+ };
44
52
  disabled: {
45
53
  type: BooleanConstructor;
46
54
  default: boolean;
@@ -54,6 +62,7 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
54
62
  default: string;
55
63
  };
56
64
  }>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{
65
+ activated: boolean;
57
66
  type: ButtonType;
58
67
  variant: ButtonVariant;
59
68
  color: ButtonColor;
@@ -66,6 +75,7 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
66
75
  root: import("@vue/composition-api").Ref<HTMLButtonElement | undefined>;
67
76
  rootStyles: import("@vue/composition-api").ComputedRef<(string | false | undefined)[]>;
68
77
  }>, import("@vue/composition-api").Data, {}, {}, {}, {}, string[], {
78
+ activated: boolean;
69
79
  type: ButtonType;
70
80
  variant: ButtonVariant;
71
81
  color: ButtonColor;
@@ -75,6 +85,7 @@ declare const _default: import("vue").ComponentOptions<import("vue").default, im
75
85
  } & {} & {
76
86
  [x: string & `on${string}`]: ((...args: any[]) => any) | undefined;
77
87
  }, {
88
+ activated: boolean;
78
89
  type: ButtonType;
79
90
  variant: ButtonVariant;
80
91
  color: ButtonColor;
@@ -1,4 +1,4 @@
1
- export { a as ButtonColor, b as ButtonType, B as ButtonVariant, s as OrButtonV3 } from '../../OrButton-f4b9ee51.js';
1
+ export { a as ButtonColor, b as ButtonType, B as ButtonVariant, s as OrButtonV3 } from '../../OrButton-970ae320.js';
2
2
  import 'vue-demi';
3
3
  import '../../useClassAttribute-47fdb016.js';
4
4
  import '@vueuse/core';
@@ -1,5 +1,4 @@
1
1
  import { Meta, StoryFn } from '@storybook/vue3';
2
- import OrCardCollection from './OrCardCollection.vue';
3
2
  declare const _default: Meta<import("vue").ComponentOptions<import("vue").default, import("@vue/composition-api").ShallowUnwrapRef<unknown>, import("@vue/composition-api").MethodOptions, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>, import("@vue/composition-api").ExtractPropTypes<import("@vue/composition-api").ComponentPropsOptions<import("@vue/composition-api").Data>>> & Omit<import("vue").VueConstructor<import("vue").default>, never> & (new (...args: any[]) => import("@vue/composition-api").ComponentRenderProxy<{} & {}, import("@vue/composition-api").ShallowUnwrapRef<unknown>, unknown, import("@vue/composition-api").ComputedOptions, import("@vue/composition-api").MethodOptions, unknown, unknown, {
4
3
  [x: string]: ((...args: any[]) => any) | null;
5
4
  } | string[], {} & {}, {
@@ -16,6 +15,3 @@ export declare const WithSorting: StoryFn<import("vue").ComponentOptions<import(
16
15
  } | string[], {} & {}, {
17
16
  [x: number]: string;
18
17
  } | {}, true>)>;
19
- export declare const OverrideViewContainer: StoryFn<typeof OrCardCollection>;
20
- export declare const ExtraViewMode: StoryFn<typeof OrCardCollection>;
21
- export declare const WithLink: StoryFn<typeof OrCardCollection>;