@onereach/ui-components 22.2.0-beta.5478.0 → 22.2.0-beta.5480.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.
- package/dist/esm/{OrCardCollection-CoE9Umh7.mjs → OrCardCollection-CVNj8vKN.mjs} +2 -2
- package/dist/esm/{OrCardCollection-CoE9Umh7.mjs.map → OrCardCollection-CVNj8vKN.mjs.map} +1 -1
- package/dist/esm/{OrContextMenu-CrpiM2Jq.mjs → OrContextMenu-L14E1lLm.mjs} +2 -2
- package/dist/esm/{OrContextMenu-CrpiM2Jq.mjs.map → OrContextMenu-L14E1lLm.mjs.map} +1 -1
- package/dist/esm/{OrDataGrid-Y27X0z7L.mjs → OrDataGrid-D2FFVgHK.mjs} +6 -6
- package/dist/esm/{OrDataGrid-Y27X0z7L.mjs.map → OrDataGrid-D2FFVgHK.mjs.map} +1 -1
- package/dist/esm/{OrDateFormat-DLFWyjHc.mjs → OrDateFormat-DKgu_p6Y.mjs} +2 -2
- package/dist/esm/{OrDateFormat-DLFWyjHc.mjs.map → OrDateFormat-DKgu_p6Y.mjs.map} +1 -1
- package/dist/esm/{OrDatePicker-Dtnri38h.mjs → OrDatePicker-C2QFP1NK.mjs} +2 -2
- package/dist/esm/{OrDatePicker-Dtnri38h.mjs.map → OrDatePicker-C2QFP1NK.mjs.map} +1 -1
- package/dist/esm/{OrDateRangePicker-EmSkMzJ7.mjs → OrDateRangePicker-B8atNK11.mjs} +2 -2
- package/dist/esm/{OrDateRangePicker-EmSkMzJ7.mjs.map → OrDateRangePicker-B8atNK11.mjs.map} +1 -1
- package/dist/esm/{OrDateTimeFormat-Dp-ClZ1l.mjs → OrDateTimeFormat-ByEReaKo.mjs} +2 -2
- package/dist/esm/{OrDateTimeFormat-Dp-ClZ1l.mjs.map → OrDateTimeFormat-ByEReaKo.mjs.map} +1 -1
- package/dist/esm/{OrDateTimePicker-35-aTCIt.mjs → OrDateTimePicker-FuoCwgfZ.mjs} +2 -2
- package/dist/esm/{OrDateTimePicker-35-aTCIt.mjs.map → OrDateTimePicker-FuoCwgfZ.mjs.map} +1 -1
- package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-kFeSOigY.mjs → OrDateTimePicker.vue_vue_type_script_lang-DJ6A7YKZ.mjs} +2 -2
- package/dist/esm/{OrDateTimePicker.vue_vue_type_script_lang-kFeSOigY.mjs.map → OrDateTimePicker.vue_vue_type_script_lang-DJ6A7YKZ.mjs.map} +1 -1
- package/dist/esm/{OrEditorTabs-psJUG0D3.mjs → OrEditorTabs-B7_l5FVN.mjs} +2 -2
- package/dist/esm/{OrEditorTabs-psJUG0D3.mjs.map → OrEditorTabs-B7_l5FVN.mjs.map} +1 -1
- package/dist/esm/{OrMenu-CJT4Snay.mjs → OrMenu-naJcjd7Z.mjs} +22 -18
- package/dist/esm/OrMenu-naJcjd7Z.mjs.map +1 -0
- package/dist/esm/OrPagination-CTwCcz18.mjs +351 -0
- package/dist/esm/OrPagination-CTwCcz18.mjs.map +1 -0
- package/dist/esm/{OrRichTextEditor-CvbqTzyJ.mjs → OrRichTextEditor-DHc5Lsyu.mjs} +2 -2
- package/dist/esm/{OrRichTextEditor-CvbqTzyJ.mjs.map → OrRichTextEditor-DHc5Lsyu.mjs.map} +1 -1
- package/dist/esm/{OrSorting-DCAarSF1.mjs → OrSorting-C1m5NTQf.mjs} +2 -2
- package/dist/esm/{OrSorting-DCAarSF1.mjs.map → OrSorting-C1m5NTQf.mjs.map} +1 -1
- package/dist/esm/{OrTabs-6NfHHn7M.mjs → OrTabs-Dgii4fCQ.mjs} +2 -2
- package/dist/esm/{OrTabs-6NfHHn7M.mjs.map → OrTabs-Dgii4fCQ.mjs.map} +1 -1
- package/dist/esm/{OrTimeFormat-BZQ49Thn.mjs → OrTimeFormat-DScNr0vb.mjs} +2 -2
- package/dist/esm/{OrTimeFormat-BZQ49Thn.mjs.map → OrTimeFormat-DScNr0vb.mjs.map} +1 -1
- package/dist/esm/{OrTimePicker-CCcuAt6S.mjs → OrTimePicker-Deh-pYk1.mjs} +2 -2
- package/dist/esm/{OrTimePicker-CCcuAt6S.mjs.map → OrTimePicker-Deh-pYk1.mjs.map} +1 -1
- package/dist/esm/{OrTimeRangePicker-CD1eXHAg.mjs → OrTimeRangePicker-DhsGrtcw.mjs} +2 -2
- package/dist/esm/{OrTimeRangePicker-CD1eXHAg.mjs.map → OrTimeRangePicker-DhsGrtcw.mjs.map} +1 -1
- package/dist/esm/components/index.mjs +18 -18
- package/dist/esm/components/or-card-collection-v3/index.mjs +1 -1
- package/dist/esm/components/or-context-menu-v3/index.mjs +1 -1
- package/dist/esm/components/or-data-grid-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-format-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-picker-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-range-picker-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-time-format-v3/index.mjs +1 -1
- package/dist/esm/components/or-date-time-picker-v3/index.mjs +2 -2
- package/dist/esm/components/or-editor-tabs-v3/index.mjs +1 -1
- package/dist/esm/components/or-menu-v3/index.mjs +1 -1
- package/dist/esm/components/or-pagination-v3/index.mjs +1 -1
- package/dist/esm/components/or-rich-text-editor-v3/index.mjs +1 -1
- package/dist/esm/components/or-sorting-v3/index.mjs +1 -1
- package/dist/esm/components/or-tabs-v3/index.mjs +1 -1
- package/dist/esm/components/or-time-format-v3/index.mjs +1 -1
- package/dist/esm/components/or-time-picker-v3/index.mjs +1 -1
- package/dist/esm/components/or-time-range-picker-v3/index.mjs +1 -1
- package/dist/esm/index.mjs +18 -18
- package/dist/types/components/or-date-time-picker-v3/partials/or-date-time-picker-month-select/OrDateTimePickerMonthSelect.vue.d.ts +20 -0
- package/dist/types/components/or-menu-v3/OrMenu.vue.d.ts +9 -0
- package/dist/types/components/or-pagination-v3/OrPagination.vue.d.ts +21 -0
- package/dist/types/components/or-pagination-v3/styles.d.ts +1 -0
- package/dist/types/components/or-rich-text-editor-v3/OrRichTextEditor.vue.d.ts +10 -0
- package/dist/types/components/or-sorting-v3/OrSorting.vue.d.ts +9 -0
- package/dist/types/components/or-tabs-v3/OrTabs.vue.d.ts +10 -0
- package/package.json +1 -1
- package/dist/esm/OrMenu-CJT4Snay.mjs.map +0 -1
- package/dist/esm/OrPagination-DIacMkVe.mjs +0 -333
- package/dist/esm/OrPagination-DIacMkVe.mjs.map +0 -1
|
@@ -22,6 +22,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
22
22
|
type: PropType<string[]>;
|
|
23
23
|
default: () => never[];
|
|
24
24
|
};
|
|
25
|
+
disableRootStyles: {
|
|
26
|
+
type: BooleanConstructor;
|
|
27
|
+
default: boolean;
|
|
28
|
+
};
|
|
25
29
|
}, {
|
|
26
30
|
root: import("vue").Ref<HTMLElement | undefined>;
|
|
27
31
|
rootStyles: import("vue").ComputedRef<string[]>;
|
|
@@ -52,6 +56,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
52
56
|
type: PropType<string[]>;
|
|
53
57
|
default: () => never[];
|
|
54
58
|
};
|
|
59
|
+
disableRootStyles: {
|
|
60
|
+
type: BooleanConstructor;
|
|
61
|
+
default: boolean;
|
|
62
|
+
};
|
|
55
63
|
}>> & {
|
|
56
64
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
57
65
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -62,5 +70,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
62
70
|
placement: "bottom" | "left" | "right" | "top" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "top-start" | "top-end";
|
|
63
71
|
trigger: ReferenceElement;
|
|
64
72
|
additionalStyles: string[];
|
|
73
|
+
disableRootStyles: boolean;
|
|
65
74
|
}, {}>;
|
|
66
75
|
export default _default;
|
|
@@ -20,6 +20,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
20
20
|
}, {
|
|
21
21
|
root: import("vue").Ref<HTMLElement | undefined>;
|
|
22
22
|
rootStyles: import("vue").ComputedRef<string[]>;
|
|
23
|
+
menuStyles: import("vue").ComputedRef<string[]>;
|
|
23
24
|
limitButton: import("vue").Ref<({
|
|
24
25
|
$: import("vue").ComponentInternalInstance;
|
|
25
26
|
$data: {};
|
|
@@ -215,6 +216,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
215
216
|
placement?: "bottom" | "left" | "right" | "top" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "top-start" | "top-end" | undefined;
|
|
216
217
|
trigger?: import("@floating-ui/dom").ReferenceElement | undefined;
|
|
217
218
|
additionalStyles?: string[] | undefined;
|
|
219
|
+
disableRootStyles?: boolean | undefined;
|
|
218
220
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
219
221
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
220
222
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
@@ -297,6 +299,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
297
299
|
type: PropType<string[]>;
|
|
298
300
|
default: () => never[];
|
|
299
301
|
};
|
|
302
|
+
disableRootStyles: {
|
|
303
|
+
type: BooleanConstructor;
|
|
304
|
+
default: boolean;
|
|
305
|
+
};
|
|
300
306
|
}>> & {
|
|
301
307
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
302
308
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -316,6 +322,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
316
322
|
placement: "bottom" | "left" | "right" | "top" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "top-start" | "top-end";
|
|
317
323
|
trigger: import("@floating-ui/dom").ReferenceElement;
|
|
318
324
|
additionalStyles: string[];
|
|
325
|
+
disableRootStyles: boolean;
|
|
319
326
|
}, {}, string, {}> & {
|
|
320
327
|
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
321
328
|
created?: ((() => void) | (() => void)[]) | undefined;
|
|
@@ -357,6 +364,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
357
364
|
type: PropType<string[]>;
|
|
358
365
|
default: () => never[];
|
|
359
366
|
};
|
|
367
|
+
disableRootStyles: {
|
|
368
|
+
type: BooleanConstructor;
|
|
369
|
+
default: boolean;
|
|
370
|
+
};
|
|
360
371
|
}>> & {
|
|
361
372
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
362
373
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -568,6 +579,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
568
579
|
placement?: "bottom" | "left" | "right" | "top" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "top-start" | "top-end" | undefined;
|
|
569
580
|
trigger?: import("@floating-ui/dom").ReferenceElement | undefined;
|
|
570
581
|
additionalStyles?: string[] | undefined;
|
|
582
|
+
disableRootStyles?: boolean | undefined;
|
|
571
583
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
572
584
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
573
585
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
@@ -650,6 +662,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
650
662
|
type: PropType<string[]>;
|
|
651
663
|
default: () => never[];
|
|
652
664
|
};
|
|
665
|
+
disableRootStyles: {
|
|
666
|
+
type: BooleanConstructor;
|
|
667
|
+
default: boolean;
|
|
668
|
+
};
|
|
653
669
|
}>> & {
|
|
654
670
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
655
671
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -669,6 +685,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
669
685
|
placement: "bottom" | "left" | "right" | "top" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "top-start" | "top-end";
|
|
670
686
|
trigger: import("@floating-ui/dom").ReferenceElement;
|
|
671
687
|
additionalStyles: string[];
|
|
688
|
+
disableRootStyles: boolean;
|
|
672
689
|
}, {}, string, {}> & {
|
|
673
690
|
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
674
691
|
created?: ((() => void) | (() => void)[]) | undefined;
|
|
@@ -710,6 +727,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
710
727
|
type: PropType<string[]>;
|
|
711
728
|
default: () => never[];
|
|
712
729
|
};
|
|
730
|
+
disableRootStyles: {
|
|
731
|
+
type: BooleanConstructor;
|
|
732
|
+
default: boolean;
|
|
733
|
+
};
|
|
713
734
|
}>> & {
|
|
714
735
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
715
736
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -3022,6 +3022,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3022
3022
|
placement?: "bottom" | "left" | "right" | "top" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "top-start" | "top-end" | undefined;
|
|
3023
3023
|
trigger?: import("@floating-ui/dom").ReferenceElement | undefined;
|
|
3024
3024
|
additionalStyles?: string[] | undefined;
|
|
3025
|
+
disableRootStyles?: boolean | undefined;
|
|
3025
3026
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
3026
3027
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
3027
3028
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
@@ -3104,6 +3105,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3104
3105
|
type: PropType<string[]>;
|
|
3105
3106
|
default: () => never[];
|
|
3106
3107
|
};
|
|
3108
|
+
disableRootStyles: {
|
|
3109
|
+
type: BooleanConstructor;
|
|
3110
|
+
default: boolean;
|
|
3111
|
+
};
|
|
3107
3112
|
}>> & {
|
|
3108
3113
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
3109
3114
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -3123,6 +3128,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3123
3128
|
placement: "bottom" | "left" | "right" | "top" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "top-start" | "top-end";
|
|
3124
3129
|
trigger: import("@floating-ui/dom").ReferenceElement;
|
|
3125
3130
|
additionalStyles: string[];
|
|
3131
|
+
disableRootStyles: boolean;
|
|
3126
3132
|
}, {}, string, {}> & {
|
|
3127
3133
|
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
3128
3134
|
created?: ((() => void) | (() => void)[]) | undefined;
|
|
@@ -3164,6 +3170,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
3164
3170
|
type: PropType<string[]>;
|
|
3165
3171
|
default: () => never[];
|
|
3166
3172
|
};
|
|
3173
|
+
disableRootStyles: {
|
|
3174
|
+
type: BooleanConstructor;
|
|
3175
|
+
default: boolean;
|
|
3176
|
+
};
|
|
3167
3177
|
}>> & {
|
|
3168
3178
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
3169
3179
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -34,6 +34,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
34
34
|
type: PropType<string[]>;
|
|
35
35
|
default: () => never[];
|
|
36
36
|
};
|
|
37
|
+
disableRootStyles: {
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
default: boolean;
|
|
40
|
+
};
|
|
37
41
|
}, {
|
|
38
42
|
root: import("vue").Ref<HTMLElement | undefined>;
|
|
39
43
|
rootStyles: import("vue").ComputedRef<string[]>;
|
|
@@ -64,6 +68,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
64
68
|
type: PropType<string[]>;
|
|
65
69
|
default: () => never[];
|
|
66
70
|
};
|
|
71
|
+
disableRootStyles: {
|
|
72
|
+
type: BooleanConstructor;
|
|
73
|
+
default: boolean;
|
|
74
|
+
};
|
|
67
75
|
}>> & {
|
|
68
76
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
69
77
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -74,6 +82,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
74
82
|
placement: "bottom" | "left" | "right" | "top" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "top-start" | "top-end";
|
|
75
83
|
trigger: import("@floating-ui/dom").ReferenceElement;
|
|
76
84
|
additionalStyles: string[];
|
|
85
|
+
disableRootStyles: boolean;
|
|
77
86
|
}, {}> | undefined>;
|
|
78
87
|
sortButton: import("vue").Ref<import("vue").DefineComponent<{
|
|
79
88
|
type: {
|
|
@@ -167,6 +167,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
167
167
|
placement?: "bottom" | "left" | "right" | "top" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "top-start" | "top-end" | undefined;
|
|
168
168
|
trigger?: import("@floating-ui/dom").ReferenceElement | undefined;
|
|
169
169
|
additionalStyles?: string[] | undefined;
|
|
170
|
+
disableRootStyles?: boolean | undefined;
|
|
170
171
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
171
172
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
172
173
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
@@ -249,6 +250,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
249
250
|
type: PropType<string[]>;
|
|
250
251
|
default: () => never[];
|
|
251
252
|
};
|
|
253
|
+
disableRootStyles: {
|
|
254
|
+
type: BooleanConstructor;
|
|
255
|
+
default: boolean;
|
|
256
|
+
};
|
|
252
257
|
}>> & {
|
|
253
258
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
254
259
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -268,6 +273,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
268
273
|
placement: "bottom" | "left" | "right" | "top" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | "right-start" | "right-end" | "top-start" | "top-end";
|
|
269
274
|
trigger: import("@floating-ui/dom").ReferenceElement;
|
|
270
275
|
additionalStyles: string[];
|
|
276
|
+
disableRootStyles: boolean;
|
|
271
277
|
}, {}, string, {}> & {
|
|
272
278
|
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
273
279
|
created?: ((() => void) | (() => void)[]) | undefined;
|
|
@@ -309,6 +315,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
309
315
|
type: PropType<string[]>;
|
|
310
316
|
default: () => never[];
|
|
311
317
|
};
|
|
318
|
+
disableRootStyles: {
|
|
319
|
+
type: BooleanConstructor;
|
|
320
|
+
default: boolean;
|
|
321
|
+
};
|
|
312
322
|
}>> & {
|
|
313
323
|
"onUpdate:state"?: ((...args: any[]) => any) | undefined;
|
|
314
324
|
onOpen?: ((...args: any[]) => any) | undefined;
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrMenu-CJT4Snay.mjs","sources":["../../../components/or-menu-v3/src/styles.ts","../../../components/or-menu-v3/src/OrMenu.vue"],"sourcesContent":["export const Menu: string[] = [\n // Layout\n 'overflow-y-auto',\n\n // Box\n 'min-w-[160px]',\n 'md:max-w-[256px]',\n 'max-h-[340px]',\n];\n","<template>\n <OrPopover\n :class=\"popoverStyles\"\n :custom-styles=\"popoverStyles\"\n :is-open=\"state === 'open'\"\n :variant=\"'auto'\"\n :trigger=\"trigger\"\n :placement=\"placement\"\n :offset=\"offset\"\n :keep-alive=\"false\"\n @update:state=\"$event === 'open' ? open() : close()\"\n >\n <div\n v-bind=\"$attrs\"\n :ref=\"'root'\"\n :class=\"[rootStyles, ...additionalStyles]\"\n @click.stop=\"onClick($event)\"\n >\n <slot />\n </div>\n </OrPopover>\n</template>\n\n<script lang=\"ts\">\nimport { ReferenceElement } from '@floating-ui/dom';\nimport { computed, defineComponent, PropType, ref, toRef } from 'vue';\nimport { usePopoverState } from '@onereach/ui-components-common/hooks';\nimport { OrPopoverV3 as OrPopover, PopoverOffset, PopoverPlacement } from '@onereach/ui-components.or-popover-v3';\nimport { Menu } from './styles';\n\nexport default defineComponent({\n name: 'OrMenu',\n\n components: {\n OrPopover,\n },\n\n inheritAttrs: false,\n\n props: {\n isOpen: {\n type: Boolean,\n default: false,\n },\n\n trigger: {\n type: Object as PropType<ReferenceElement>,\n default: undefined,\n },\n\n placement: {\n type: String as PropType<`${PopoverPlacement}`>,\n default: () => PopoverPlacement.Bottom,\n },\n\n offset: {\n type: [Number, Object, Function] as PropType<PopoverOffset>,\n default: 8,\n },\n\n // TODO: Remove after migration to Vue 3\n additionalStyles: {\n type: Array as PropType<string[]>,\n default: () => [],\n },\n },\n\n emits: [\n 'update:state',\n\n 'open',\n 'close',\n ],\n\n expose: [\n 'root',\n\n 'state',\n\n 'open',\n 'close',\n 'toggle',\n ],\n\n setup(props, context) {\n // Refs\n const root = ref<HTMLElement>();\n\n // Styles\n const rootStyles = computed(() => [\n 'or-menu-v3',\n ...Menu,\n ]);\n\n const popoverStyles = computed(() => [\n 'or-menu-popover-v3',\n ]);\n\n // State\n const { state, open, close, toggle } = usePopoverState(toRef(props, 'isOpen'), context.emit);\n\n // Handlers\n function onClick(event: Event): void {\n const path = event.composedPath() as HTMLElement[];\n\n if (path.some(({ classList }) => classList?.contains('or-menu-item-v3'))) {\n close();\n }\n }\n\n return {\n root,\n rootStyles,\n popoverStyles,\n state,\n open,\n close,\n toggle,\n onClick,\n };\n },\n});\n</script>\n"],"names":["Menu","_sfc_main","defineComponent","OrPopover","PopoverPlacement","props","context","root","ref","rootStyles","computed","popoverStyles","state","open","close","toggle","usePopoverState","toRef","onClick","event","classList","_resolveComponent","_openBlock","_createBlock","_component_OrPopover","_normalizeClass","_ctx","_cache","$event","_withCtx","_createElementVNode","_mergeProps","_withModifiers"],"mappings":";;;;;AAAO,MAAMA,IAAiB;AAAA;AAAA,EAE5B;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AACF,GCsBAC,IAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,WAAAC;AAAA,EACF;AAAA,EAEA,cAAc;AAAA,EAEd,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAMC,EAAiB;AAAA,IAClC;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM,CAAC,QAAQ,QAAQ,QAAQ;AAAA,MAC/B,SAAS;AAAA,IACX;AAAA;AAAA,IAGA,kBAAkB;AAAA,MAChB,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IAEA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,IAEA;AAAA,IAEA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAGPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGV;AAAA,IAAA,CACJ,GAEKW,IAAgBD,EAAS,MAAM;AAAA,MACnC;AAAA,IAAA,CACD,GAGK,EAAE,OAAAE,GAAO,MAAAC,GAAM,OAAAC,GAAO,QAAAC,EAAO,IAAIC,EAAgBC,EAAMZ,GAAO,QAAQ,GAAGC,EAAQ,IAAI;AAG3F,aAASY,EAAQC,GAAoB;AAG/B,MAFSA,EAAM,eAEV,KAAK,CAAC,EAAE,WAAAC,QAAgBA,KAAA,gBAAAA,EAAW,SAAS,kBAAkB,KAC/DN;IAEV;AAEO,WAAA;AAAA,MACL,MAAAP;AAAA,MACA,YAAAE;AAAA,MACA,eAAAE;AAAA,MACA,OAAAC;AAAA,MACA,MAAAC;AAAA,MACA,OAAAC;AAAA,MACA,QAAAC;AAAA,MACA,SAAAG;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;YAxHCG,EAmBY,WAAA;AAjBT,SAAAC,EAAA,GAA4BC,EAAAC,GAAA;AAAA,IAC5B,OAAcC,EAAAC,EAAA,aAAA;AAAA,IACd,iBAAeA,EAAA;AAAA,IACf,WAASA,EAAO,UAAA;AAAA,IAChB,SAAS;AAAA,IACT,SAAQA,EAAA;AAAA,IACR,WAAYA,EAAA;AAAA,IACZ,QAAAA,EAAA;AAAA,IAAA,cAAA;AAAA,sBAEDC,EAOM,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAA,MAAA,SAAAF,EAAA,KAAA,IAAAA,EAAA,MAAA;AAAA,EAAA,GAAA;AAAA,aALEG,EAAM,MAAA;AAAA,MACHC,EAAA,OAAUC,EAAKL,EAAgB,QAAA;AAAA,QACvC,KAAA;AAAA,QAAA,OAAA,CAAAA,EAAA,YAAA,GAAAA,EAAA,gBAAA;AAAA,QAED,SAAQC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAK,EAAA,CAAAJ,MAAAF,EAAA,QAAAE,CAAA,GAAA,CAAA,MAAA,CAAA;AAAA,MAAA,CAAA,GAAA;AAAA;;;;;;;"}
|
|
@@ -1,333 +0,0 @@
|
|
|
1
|
-
import { defineComponent as K, ref as O, computed as n, toRef as Q, resolveComponent as B, openBlock as a, createElementBlock as p, normalizeClass as f, createElementVNode as D, createTextVNode as v, createVNode as s, withCtx as u, toDisplayString as m, Fragment as h, renderList as G, createBlock as R, createCommentVNode as S } from "vue";
|
|
2
|
-
import { useProxyModelValue as U, useResponsive as W } from "@onereach/ui-components-common/hooks";
|
|
3
|
-
import { O as X } from "./OrButton-C_hXddAf.mjs";
|
|
4
|
-
import { O as Y } from "./OrIcon-k8cyvh-D.mjs";
|
|
5
|
-
import { O as Z } from "./OrMenuItem-BHRMA0L1.mjs";
|
|
6
|
-
import { O as _ } from "./OrMenu-CJT4Snay.mjs";
|
|
7
|
-
import { _ as x } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
|
|
8
|
-
const ee = [
|
|
9
|
-
// Layout
|
|
10
|
-
"layout-row justify-between md:justify-end",
|
|
11
|
-
// Spacing
|
|
12
|
-
"gap-xl",
|
|
13
|
-
// Typography
|
|
14
|
-
"typography-caption-regular",
|
|
15
|
-
// Theme
|
|
16
|
-
"theme-foreground-outline",
|
|
17
|
-
"dark:theme-foreground-outline-dark"
|
|
18
|
-
], te = [
|
|
19
|
-
// Layout
|
|
20
|
-
"layout-row shrink-0",
|
|
21
|
-
// Spacing
|
|
22
|
-
"gap-lg md:gap-md"
|
|
23
|
-
], oe = [
|
|
24
|
-
// Layout
|
|
25
|
-
"layout-row shrink-0",
|
|
26
|
-
// Spacing
|
|
27
|
-
"gap-md"
|
|
28
|
-
], ne = [
|
|
29
|
-
// Typography
|
|
30
|
-
"typography-caption-regular",
|
|
31
|
-
// Typography (activated)
|
|
32
|
-
"activated:typography-caption-bold"
|
|
33
|
-
], re = K({
|
|
34
|
-
name: "OrPagination",
|
|
35
|
-
components: {
|
|
36
|
-
OrButton: X,
|
|
37
|
-
OrIcon: Y,
|
|
38
|
-
OrMenu: _,
|
|
39
|
-
OrMenuItem: Z
|
|
40
|
-
},
|
|
41
|
-
model: {
|
|
42
|
-
prop: "modelValue",
|
|
43
|
-
event: "update:modelValue"
|
|
44
|
-
},
|
|
45
|
-
props: {
|
|
46
|
-
modelValue: {
|
|
47
|
-
type: void 0,
|
|
48
|
-
default: void 0
|
|
49
|
-
},
|
|
50
|
-
length: {
|
|
51
|
-
type: Number,
|
|
52
|
-
required: !0
|
|
53
|
-
},
|
|
54
|
-
options: {
|
|
55
|
-
type: Array,
|
|
56
|
-
default: () => [50, 20, 10, 5]
|
|
57
|
-
},
|
|
58
|
-
features: {
|
|
59
|
-
type: Object,
|
|
60
|
-
default: () => ({
|
|
61
|
-
limit: !0,
|
|
62
|
-
range: !0
|
|
63
|
-
})
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
emits: [
|
|
67
|
-
"update:modelValue"
|
|
68
|
-
],
|
|
69
|
-
expose: [
|
|
70
|
-
"root"
|
|
71
|
-
],
|
|
72
|
-
setup(e, i) {
|
|
73
|
-
const I = O(), L = n(() => [
|
|
74
|
-
"or-pagination-v3",
|
|
75
|
-
...ee
|
|
76
|
-
]), $ = O(), N = n(() => {
|
|
77
|
-
var t;
|
|
78
|
-
return (t = $.value) == null ? void 0 : t.root;
|
|
79
|
-
}), d = O(), c = n(() => {
|
|
80
|
-
var t;
|
|
81
|
-
return (t = d.value) == null ? void 0 : t.root;
|
|
82
|
-
}), w = n(() => [
|
|
83
|
-
...te
|
|
84
|
-
]), k = O(), o = n(() => {
|
|
85
|
-
var t;
|
|
86
|
-
return (t = k.value) == null ? void 0 : t.root;
|
|
87
|
-
}), g = O(), j = n(() => {
|
|
88
|
-
var t;
|
|
89
|
-
return (t = g.value) == null ? void 0 : t.root;
|
|
90
|
-
}), A = n(() => [
|
|
91
|
-
...oe
|
|
92
|
-
]), E = n(() => [
|
|
93
|
-
...ne
|
|
94
|
-
]), M = U(Q(e, "modelValue"), i.emit), P = n({
|
|
95
|
-
get: () => {
|
|
96
|
-
var t;
|
|
97
|
-
return ((t = M.value) == null ? void 0 : t.limit) ?? e.options[0];
|
|
98
|
-
},
|
|
99
|
-
set: (t) => {
|
|
100
|
-
M.value = {
|
|
101
|
-
limit: t,
|
|
102
|
-
offset: 0
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
}), V = n({
|
|
106
|
-
get: () => {
|
|
107
|
-
var t;
|
|
108
|
-
return ((t = M.value) == null ? void 0 : t.offset) ?? 0;
|
|
109
|
-
},
|
|
110
|
-
set: (t) => {
|
|
111
|
-
M.value = {
|
|
112
|
-
limit: P.value,
|
|
113
|
-
offset: t
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
}), l = n({
|
|
117
|
-
get: () => Math.floor(V.value / P.value) + 1,
|
|
118
|
-
set: (t) => {
|
|
119
|
-
V.value = (t - 1) * P.value;
|
|
120
|
-
}
|
|
121
|
-
}), b = n(() => 1), y = n(() => Math.ceil(e.length / P.value)), q = n(() => {
|
|
122
|
-
const t = Array.from({ length: y.value }, (r, C) => C + 1);
|
|
123
|
-
switch (!0) {
|
|
124
|
-
case y.value <= 7:
|
|
125
|
-
return t;
|
|
126
|
-
case l.value < b.value + 4:
|
|
127
|
-
return [
|
|
128
|
-
...t.slice(0, 5),
|
|
129
|
-
"…",
|
|
130
|
-
y.value
|
|
131
|
-
];
|
|
132
|
-
case l.value > y.value - 4:
|
|
133
|
-
return [
|
|
134
|
-
b.value,
|
|
135
|
-
"…",
|
|
136
|
-
...t.slice(-5)
|
|
137
|
-
];
|
|
138
|
-
default:
|
|
139
|
-
return t.map((r) => {
|
|
140
|
-
switch (!0) {
|
|
141
|
-
case (r > b.value && r < l.value - 1):
|
|
142
|
-
case (r < y.value && r > l.value + 1):
|
|
143
|
-
return "…";
|
|
144
|
-
default:
|
|
145
|
-
return r;
|
|
146
|
-
}
|
|
147
|
-
}).reduce((r, C) => r[r.length - 1] === C ? r : [...r, C], []);
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
function z() {
|
|
151
|
-
l.value = l.value - 1;
|
|
152
|
-
}
|
|
153
|
-
function F() {
|
|
154
|
-
l.value = l.value + 1;
|
|
155
|
-
}
|
|
156
|
-
function T(t) {
|
|
157
|
-
l.value = t;
|
|
158
|
-
}
|
|
159
|
-
const { isDesktop: H, isMobile: J } = W();
|
|
160
|
-
return {
|
|
161
|
-
root: I,
|
|
162
|
-
rootStyles: L,
|
|
163
|
-
limitButton: $,
|
|
164
|
-
limitButtonRoot: N,
|
|
165
|
-
limitMenu: d,
|
|
166
|
-
limitMenuRoot: c,
|
|
167
|
-
limitGroupStyles: w,
|
|
168
|
-
offsetButton: k,
|
|
169
|
-
offsetButtonRoot: o,
|
|
170
|
-
offsetMenu: g,
|
|
171
|
-
offsetMenuRoot: j,
|
|
172
|
-
offsetGroupStyles: A,
|
|
173
|
-
itemStyles: E,
|
|
174
|
-
model: M,
|
|
175
|
-
currentLimit: P,
|
|
176
|
-
currentOffset: V,
|
|
177
|
-
currentPage: l,
|
|
178
|
-
firstPage: b,
|
|
179
|
-
lastPage: y,
|
|
180
|
-
buttonGroup: q,
|
|
181
|
-
toPreviousPage: z,
|
|
182
|
-
toNextPage: F,
|
|
183
|
-
toPage: T,
|
|
184
|
-
isDesktop: H,
|
|
185
|
-
isMobile: J
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
}), ie = {
|
|
189
|
-
key: 0,
|
|
190
|
-
class: /* @__PURE__ */ f(["layout-row", "gap-sm"])
|
|
191
|
-
};
|
|
192
|
-
function le(e, i, I, L, $, N) {
|
|
193
|
-
const d = B("OrIcon"), c = B("OrButton"), w = B("OrMenuItem"), k = B("OrMenu");
|
|
194
|
-
return a(), p("div", {
|
|
195
|
-
ref: "root",
|
|
196
|
-
class: f(e.rootStyles)
|
|
197
|
-
}, [
|
|
198
|
-
D("div", {
|
|
199
|
-
class: f(e.limitGroupStyles)
|
|
200
|
-
}, [
|
|
201
|
-
e.features.limit ? (a(), p("div", ie, [
|
|
202
|
-
v(" Per page: "),
|
|
203
|
-
s(c, {
|
|
204
|
-
ref: "limitButton",
|
|
205
|
-
class: f(e.itemStyles),
|
|
206
|
-
variant: "link",
|
|
207
|
-
color: "inherit",
|
|
208
|
-
activated: !0,
|
|
209
|
-
onClick: i[0] || (i[0] = (o) => e.limitMenu && e.limitMenu.toggle())
|
|
210
|
-
}, {
|
|
211
|
-
default: u(() => [
|
|
212
|
-
v(m(e.currentLimit) + " ", 1),
|
|
213
|
-
s(d, {
|
|
214
|
-
icon: e.limitMenu && e.limitMenu.state === "open" ? "arrow_drop_up" : "arrow_drop_down"
|
|
215
|
-
}, null, 8, ["icon"])
|
|
216
|
-
]),
|
|
217
|
-
_: 1
|
|
218
|
-
}, 8, ["class"]),
|
|
219
|
-
s(k, {
|
|
220
|
-
ref: "limitMenu",
|
|
221
|
-
"additional-styles": ["min-w-[60px]"],
|
|
222
|
-
trigger: e.limitButtonRoot,
|
|
223
|
-
placement: "top"
|
|
224
|
-
}, {
|
|
225
|
-
default: u(() => [
|
|
226
|
-
(a(!0), p(h, null, G(e.options, (o) => (a(), R(w, {
|
|
227
|
-
key: o,
|
|
228
|
-
selected: e.currentLimit === o,
|
|
229
|
-
onClick: (g) => {
|
|
230
|
-
e.currentLimit = o, e.limitMenu && e.limitMenu.close();
|
|
231
|
-
}
|
|
232
|
-
}, {
|
|
233
|
-
default: u(() => [
|
|
234
|
-
v(m(o), 1)
|
|
235
|
-
]),
|
|
236
|
-
_: 2
|
|
237
|
-
}, 1032, ["selected", "onClick"]))), 128))
|
|
238
|
-
]),
|
|
239
|
-
_: 1
|
|
240
|
-
}, 8, ["trigger"])
|
|
241
|
-
])) : S("", !0),
|
|
242
|
-
e.features.range ? (a(), p(h, { key: 1 }, [
|
|
243
|
-
v(m(e.currentOffset + 1) + "-" + m(Math.min(e.currentOffset + e.currentLimit, e.length)) + " of " + m(e.length), 1)
|
|
244
|
-
], 64)) : S("", !0)
|
|
245
|
-
], 2),
|
|
246
|
-
D("div", {
|
|
247
|
-
class: f(e.offsetGroupStyles)
|
|
248
|
-
}, [
|
|
249
|
-
s(c, {
|
|
250
|
-
class: f(e.itemStyles),
|
|
251
|
-
variant: "link",
|
|
252
|
-
color: "inherit",
|
|
253
|
-
disabled: e.currentPage === e.firstPage,
|
|
254
|
-
onClick: i[1] || (i[1] = (o) => e.toPreviousPage())
|
|
255
|
-
}, {
|
|
256
|
-
default: u(() => [
|
|
257
|
-
s(d, { icon: "keyboard_arrow_left" })
|
|
258
|
-
]),
|
|
259
|
-
_: 1
|
|
260
|
-
}, 8, ["class", "disabled"]),
|
|
261
|
-
e.isDesktop ? (a(!0), p(h, { key: 0 }, G(e.buttonGroup, (o, g) => (a(), R(c, {
|
|
262
|
-
key: g,
|
|
263
|
-
class: f(e.itemStyles),
|
|
264
|
-
variant: "link",
|
|
265
|
-
color: "inherit",
|
|
266
|
-
activated: e.currentPage === o,
|
|
267
|
-
onClick: (j) => typeof o == "number" && e.toPage(o)
|
|
268
|
-
}, {
|
|
269
|
-
default: u(() => [
|
|
270
|
-
v(m(o), 1)
|
|
271
|
-
]),
|
|
272
|
-
_: 2
|
|
273
|
-
}, 1032, ["class", "activated", "onClick"]))), 128)) : S("", !0),
|
|
274
|
-
e.isMobile ? (a(), p(h, { key: 1 }, [
|
|
275
|
-
s(c, {
|
|
276
|
-
ref: "offsetButton",
|
|
277
|
-
class: f(e.itemStyles),
|
|
278
|
-
variant: "link",
|
|
279
|
-
color: "inherit",
|
|
280
|
-
activated: !0,
|
|
281
|
-
onClick: i[2] || (i[2] = (o) => e.offsetMenu && e.offsetMenu.open())
|
|
282
|
-
}, {
|
|
283
|
-
default: u(() => [
|
|
284
|
-
v(m(e.currentPage) + " ", 1),
|
|
285
|
-
s(d, {
|
|
286
|
-
icon: e.offsetMenu && e.offsetMenu.state === "open" ? "arrow_drop_up" : "arrow_drop_down"
|
|
287
|
-
}, null, 8, ["icon"])
|
|
288
|
-
]),
|
|
289
|
-
_: 1
|
|
290
|
-
}, 8, ["class"]),
|
|
291
|
-
s(k, {
|
|
292
|
-
ref: "offsetMenu",
|
|
293
|
-
"additional-styles": ["min-w-[60px]"],
|
|
294
|
-
trigger: e.offsetButtonRoot,
|
|
295
|
-
placement: "top"
|
|
296
|
-
}, {
|
|
297
|
-
default: u(() => [
|
|
298
|
-
(a(!0), p(h, null, G(e.lastPage, (o) => (a(), R(w, {
|
|
299
|
-
key: o,
|
|
300
|
-
selected: e.currentPage === o,
|
|
301
|
-
onClick: (g) => {
|
|
302
|
-
e.currentPage = o, e.offsetMenu && e.offsetMenu.close();
|
|
303
|
-
}
|
|
304
|
-
}, {
|
|
305
|
-
default: u(() => [
|
|
306
|
-
v(m(o), 1)
|
|
307
|
-
]),
|
|
308
|
-
_: 2
|
|
309
|
-
}, 1032, ["selected", "onClick"]))), 128))
|
|
310
|
-
]),
|
|
311
|
-
_: 1
|
|
312
|
-
}, 8, ["trigger"])
|
|
313
|
-
], 64)) : S("", !0),
|
|
314
|
-
s(c, {
|
|
315
|
-
class: f(e.itemStyles),
|
|
316
|
-
variant: "link",
|
|
317
|
-
color: "inherit",
|
|
318
|
-
disabled: e.currentPage === e.lastPage,
|
|
319
|
-
onClick: i[3] || (i[3] = (o) => e.toNextPage())
|
|
320
|
-
}, {
|
|
321
|
-
default: u(() => [
|
|
322
|
-
s(d, { icon: "keyboard_arrow_right" })
|
|
323
|
-
]),
|
|
324
|
-
_: 1
|
|
325
|
-
}, 8, ["class", "disabled"])
|
|
326
|
-
], 2)
|
|
327
|
-
], 2);
|
|
328
|
-
}
|
|
329
|
-
const pe = /* @__PURE__ */ x(re, [["render", le]]);
|
|
330
|
-
export {
|
|
331
|
-
pe as O
|
|
332
|
-
};
|
|
333
|
-
//# sourceMappingURL=OrPagination-DIacMkVe.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OrPagination-DIacMkVe.mjs","sources":["../../../components/or-pagination-v3/src/styles.ts","../../../components/or-pagination-v3/src/OrPagination.vue"],"sourcesContent":["export const Pagination: string[] = [\n // Layout\n 'layout-row justify-between md:justify-end',\n\n // Spacing\n 'gap-xl',\n\n // Typography\n 'typography-caption-regular',\n\n // Theme\n 'theme-foreground-outline',\n 'dark:theme-foreground-outline-dark',\n];\n\nexport const PaginationLimitGroup: string[] = [\n // Layout\n 'layout-row shrink-0',\n\n // Spacing\n 'gap-lg md:gap-md',\n];\n\nexport const PaginationOffsetGroup: string[] = [\n // Layout\n 'layout-row shrink-0',\n\n // Spacing\n 'gap-md',\n];\n\nexport const PaginationItem: string[] = [\n // Typography\n 'typography-caption-regular',\n\n // Typography (activated)\n 'activated:typography-caption-bold',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <div :class=\"limitGroupStyles\">\n <template v-if=\"features.limit\">\n <div :class=\"['layout-row', 'gap-sm']\">\n Per page:\n\n <OrButton\n :ref=\"'limitButton'\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"true\"\n @click=\"limitMenu && limitMenu.toggle()\"\n >\n {{ currentLimit }} <OrIcon :icon=\"limitMenu && limitMenu.state === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'\" />\n </OrButton>\n\n <OrMenu\n :ref=\"'limitMenu'\"\n :additional-styles=\"['min-w-[60px]']\"\n :trigger=\"limitButtonRoot\"\n :placement=\"'top'\"\n >\n <OrMenuItem\n v-for=\"limit of options\"\n :key=\"limit\"\n :selected=\"currentLimit === limit\"\n @click=\"currentLimit = limit; limitMenu && limitMenu.close()\"\n >\n {{ limit }}\n </OrMenuItem>\n </OrMenu>\n </div>\n </template>\n\n <template v-if=\"features.range\">\n {{ currentOffset + 1 }}-{{ Math.min(currentOffset + currentLimit, length) }} of {{ length }}\n </template>\n </div>\n\n <div :class=\"offsetGroupStyles\">\n <OrButton\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"currentPage === firstPage\"\n @click=\"toPreviousPage()\"\n >\n <OrIcon :icon=\"'keyboard_arrow_left'\" />\n </OrButton>\n\n <template v-if=\"isDesktop\">\n <OrButton\n v-for=\"(page, index) of buttonGroup\"\n :key=\"index\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"currentPage === page\"\n @click=\"typeof page === 'number' && toPage(page)\"\n >\n {{ page }}\n </OrButton>\n </template>\n\n <template v-if=\"isMobile\">\n <OrButton\n :ref=\"'offsetButton'\"\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :activated=\"true\"\n @click=\"offsetMenu && offsetMenu.open()\"\n >\n {{ currentPage }} <OrIcon :icon=\"offsetMenu && offsetMenu.state === 'open' ? 'arrow_drop_up' : 'arrow_drop_down'\" />\n </OrButton>\n\n <OrMenu\n :ref=\"'offsetMenu'\"\n :additional-styles=\"['min-w-[60px]']\"\n :trigger=\"offsetButtonRoot\"\n :placement=\"'top'\"\n >\n <OrMenuItem\n v-for=\"page of lastPage\"\n :key=\"page\"\n :selected=\"currentPage === page\"\n @click=\"currentPage = page; offsetMenu && offsetMenu.close()\"\n >\n {{ page }}\n </OrMenuItem>\n </OrMenu>\n </template>\n\n <OrButton\n :class=\"itemStyles\"\n :variant=\"'link'\"\n :color=\"'inherit'\"\n :disabled=\"currentPage === lastPage\"\n @click=\"toNextPage()\"\n >\n <OrIcon :icon=\"'keyboard_arrow_right'\" />\n </OrButton>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, PropType, ref, toRef } from 'vue';\nimport { useProxyModelValue, useResponsive } from '@onereach/ui-components-common/hooks';\nimport { OrButtonV3 as OrButton } from '@onereach/ui-components.or-button-v3';\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { OrMenuItemV3 as OrMenuItem } from '@onereach/ui-components.or-menu-item-v3';\nimport { OrMenuV3 as OrMenu } from '@onereach/ui-components.or-menu-v3';\nimport * as Styles from './styles';\nimport { PaginationFeatures, PaginationModelValue } from './types';\n\nexport default defineComponent({\n name: 'OrPagination',\n\n components: {\n OrButton,\n OrIcon,\n OrMenu,\n OrMenuItem,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<PaginationModelValue>,\n default: undefined,\n },\n\n length: {\n type: Number,\n required: true,\n },\n\n options: {\n type: Array as PropType<number[]>,\n default: () => [50, 20, 10, 5],\n },\n\n features: {\n type: Object as PropType<PaginationFeatures>,\n\n default: () => ({\n limit: true,\n range: true,\n }) as PaginationFeatures,\n },\n },\n\n emits: [\n 'update:modelValue',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-pagination-v3',\n ...Styles.Pagination,\n ]);\n\n const limitButton = ref<InstanceType<typeof OrButton>>();\n const limitButtonRoot = computed(() => limitButton.value?.root);\n\n const limitMenu = ref<InstanceType<typeof OrMenu>>();\n const limitMenuRoot = computed(() => limitMenu.value?.root);\n\n const limitGroupStyles = computed(() => [\n ...Styles.PaginationLimitGroup,\n ]);\n\n const offsetButton = ref<InstanceType<typeof OrButton>>();\n const offsetButtonRoot = computed(() => offsetButton.value?.root);\n\n const offsetMenu = ref<InstanceType<typeof OrMenu>>();\n const offsetMenuRoot = computed(() => offsetMenu.value?.root);\n\n const offsetGroupStyles = computed(() => [\n ...Styles.PaginationOffsetGroup,\n ]);\n\n const itemStyles = computed(() => [\n ...Styles.PaginationItem,\n ]);\n\n // State\n const model = useProxyModelValue(toRef(props, 'modelValue'), context.emit);\n\n const currentLimit = computed<number>({\n get: () => model.value?.limit ?? props.options[0],\n\n set: (value) => {\n model.value = {\n limit: value,\n offset: 0,\n };\n },\n });\n\n const currentOffset = computed<number>({\n get: () => model.value?.offset ?? 0,\n\n set: (value) => {\n model.value = {\n limit: currentLimit.value,\n offset: value,\n };\n },\n });\n\n const currentPage = computed<number>({\n get: () => Math.floor(currentOffset.value / currentLimit.value) + 1,\n\n set: (value) => {\n currentOffset.value = (value - 1) * currentLimit.value;\n },\n });\n\n const firstPage = computed<number>(() => {\n return 1;\n });\n\n const lastPage = computed<number>(() => {\n return Math.ceil(props.length / currentLimit.value);\n });\n\n const buttonGroup = computed<(number | string)[]>(() => {\n const pages = Array.from({ length: lastPage.value }, (_, index) => index + 1);\n\n switch (true) {\n case lastPage.value <= 7:\n return pages;\n\n case currentPage.value < firstPage.value + 4:\n return [\n ...pages.slice(0, 5),\n '…',\n lastPage.value,\n ];\n\n case currentPage.value > lastPage.value - 4:\n return [\n firstPage.value,\n '…',\n ...pages.slice(-5),\n ];\n\n default:\n return pages\n .map((page) => {\n switch (true) {\n case page > firstPage.value && page < currentPage.value - 1:\n case page < lastPage.value && page > currentPage.value + 1:\n return '…';\n\n default:\n return page;\n }\n })\n .reduce((accumulator, page) => {\n if (accumulator[accumulator.length - 1] === page) {\n return accumulator;\n }\n\n return [...accumulator, page];\n }, [] as (number | string)[]);\n }\n });\n\n // Methods\n function toPreviousPage(): void {\n currentPage.value = currentPage.value - 1;\n }\n\n function toNextPage(): void {\n currentPage.value = currentPage.value + 1;\n }\n\n function toPage(page: number): void {\n currentPage.value = page;\n }\n\n // Helpers\n const { isDesktop, isMobile } = useResponsive();\n\n return {\n root,\n rootStyles,\n\n limitButton,\n limitButtonRoot,\n\n limitMenu,\n limitMenuRoot,\n\n limitGroupStyles,\n\n offsetButton,\n offsetButtonRoot,\n\n offsetMenu,\n offsetMenuRoot,\n\n offsetGroupStyles,\n\n itemStyles,\n\n model,\n\n currentLimit,\n currentOffset,\n currentPage,\n\n firstPage,\n lastPage,\n\n buttonGroup,\n\n toPreviousPage,\n toNextPage,\n toPage,\n\n isDesktop,\n isMobile,\n };\n },\n});\n</script>\n"],"names":["Pagination","PaginationLimitGroup","PaginationOffsetGroup","PaginationItem","_sfc_main","defineComponent","OrButton","OrIcon","OrMenu","OrMenuItem","props","context","root","ref","rootStyles","computed","Styles.Pagination","limitButton","limitButtonRoot","_a","limitMenu","limitMenuRoot","limitGroupStyles","Styles.PaginationLimitGroup","offsetButton","offsetButtonRoot","offsetMenu","offsetMenuRoot","offsetGroupStyles","Styles.PaginationOffsetGroup","itemStyles","Styles.PaginationItem","model","useProxyModelValue","toRef","currentLimit","value","currentOffset","currentPage","firstPage","lastPage","buttonGroup","pages","_","index","page","accumulator","toPreviousPage","toNextPage","toPage","isDesktop","isMobile","useResponsive","_hoisted_1","_resolveComponent","_openBlock","_createElementBlock","_normalizeClass","_ctx","_createTextVNode","_createVNode","_component_OrButton","_cache","$event","_withCtx","_toDisplayString","_component_OrIcon","_component_OrMenu","_Fragment","_renderList","limit","_component_OrMenuItem","_createCommentVNode","_createElementVNode","_createBlock"],"mappings":";;;;;;;AAAO,MAAMA,KAAuB;AAAA;AAAA,EAElC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAAiC;AAAA;AAAA,EAE5C;AAAA;AAAA,EAGA;AACF,GAEaC,KAAkC;AAAA;AAAA,EAE7C;AAAA;AAAA,EAGA;AACF,GAEaC,KAA2B;AAAA;AAAA,EAEtC;AAAA;AAAA,EAGA;AACF,GCoFAC,KAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,UAAAC;AAAA,IACA,QAAAC;AAAA,IACA,QAAAC;AAAA,IACA,YAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC;AAAA,IAC/B;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MAEN,SAAS,OAAO;AAAA,QACd,OAAO;AAAA,QACP,OAAO;AAAA,MAAA;AAAA,IAEX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMC,GAAOC,GAAS;AAEpB,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGC;AAAAA,IAAO,CACX,GAEKC,IAAcJ,KACdK,IAAkBH,EAAS,MAAA;;AAAM,cAAAI,IAAAF,EAAY,UAAZ,gBAAAE,EAAmB;AAAA,KAAI,GAExDC,IAAYP,KACZQ,IAAgBN,EAAS,MAAA;;AAAM,cAAAI,IAAAC,EAAU,UAAV,gBAAAD,EAAiB;AAAA,KAAI,GAEpDG,IAAmBP,EAAS,MAAM;AAAA,MACtC,GAAGQ;AAAAA,IAAO,CACX,GAEKC,IAAeX,KACfY,IAAmBV,EAAS,MAAA;;AAAM,cAAAI,IAAAK,EAAa,UAAb,gBAAAL,EAAoB;AAAA,KAAI,GAE1DO,IAAab,KACbc,IAAiBZ,EAAS,MAAA;;AAAM,cAAAI,IAAAO,EAAW,UAAX,gBAAAP,EAAkB;AAAA,KAAI,GAEtDS,IAAoBb,EAAS,MAAM;AAAA,MACvC,GAAGc;AAAAA,IAAO,CACX,GAEKC,IAAaf,EAAS,MAAM;AAAA,MAChC,GAAGgB;AAAAA,IAAO,CACX,GAGKC,IAAQC,EAAmBC,EAAMxB,GAAO,YAAY,GAAGC,EAAQ,IAAI,GAEnEwB,IAAepB,EAAiB;AAAA,MACpC,KAAK,MAAM;;AAAA,iBAAAI,IAAAa,EAAM,UAAN,gBAAAb,EAAa,UAAST,EAAM,QAAQ,CAAC;AAAA;AAAA,MAEhD,KAAK,CAAC0B,MAAU;AACd,QAAAJ,EAAM,QAAQ;AAAA,UACZ,OAAOI;AAAA,UACP,QAAQ;AAAA,QAAA;AAAA,MAEZ;AAAA,IAAA,CACD,GAEKC,IAAgBtB,EAAiB;AAAA,MACrC,KAAK,MAAM;;AAAA,iBAAAI,IAAAa,EAAM,UAAN,gBAAAb,EAAa,WAAU;AAAA;AAAA,MAElC,KAAK,CAACiB,MAAU;AACd,QAAAJ,EAAM,QAAQ;AAAA,UACZ,OAAOG,EAAa;AAAA,UACpB,QAAQC;AAAA,QAAA;AAAA,MAEZ;AAAA,IAAA,CACD,GAEKE,IAAcvB,EAAiB;AAAA,MACnC,KAAK,MAAM,KAAK,MAAMsB,EAAc,QAAQF,EAAa,KAAK,IAAI;AAAA,MAElE,KAAK,CAACC,MAAU;AACA,QAAAC,EAAA,SAASD,IAAQ,KAAKD,EAAa;AAAA,MACnD;AAAA,IAAA,CACD,GAEKI,IAAYxB,EAAiB,MAC1B,CACR,GAEKyB,IAAWzB,EAAiB,MACzB,KAAK,KAAKL,EAAM,SAASyB,EAAa,KAAK,CACnD,GAEKM,IAAc1B,EAA8B,MAAM;AACtD,YAAM2B,IAAQ,MAAM,KAAK,EAAE,QAAQF,EAAS,MAAM,GAAG,CAACG,GAAGC,MAAUA,IAAQ,CAAC;AAE5E,cAAQ,IAAM;AAAA,QACZ,KAAKJ,EAAS,SAAS;AACd,iBAAAE;AAAA,QAET,KAAKJ,EAAY,QAAQC,EAAU,QAAQ;AAClC,iBAAA;AAAA,YACL,GAAGG,EAAM,MAAM,GAAG,CAAC;AAAA,YACnB;AAAA,YACAF,EAAS;AAAA,UAAA;AAAA,QAGb,KAAKF,EAAY,QAAQE,EAAS,QAAQ;AACjC,iBAAA;AAAA,YACLD,EAAU;AAAA,YACV;AAAA,YACA,GAAGG,EAAM,MAAM,EAAE;AAAA,UAAA;AAAA,QAGrB;AACS,iBAAAA,EACJ,IAAI,CAACG,MAAS;AACb,oBAAQ,IAAM;AAAA,cACZ,MAAKA,IAAON,EAAU,SAASM,IAAOP,EAAY,QAAQ;AAAA,cAC1D,MAAKO,IAAOL,EAAS,SAASK,IAAOP,EAAY,QAAQ;AAChD,uBAAA;AAAA,cAET;AACS,uBAAAO;AAAA,YACX;AAAA,UACD,CAAA,EACA,OAAO,CAACC,GAAaD,MAChBC,EAAYA,EAAY,SAAS,CAAC,MAAMD,IACnCC,IAGF,CAAC,GAAGA,GAAaD,CAAI,GAC3B,CAAyB,CAAA;AAAA,MAClC;AAAA,IAAA,CACD;AAGD,aAASE,IAAuB;AAClB,MAAAT,EAAA,QAAQA,EAAY,QAAQ;AAAA,IAC1C;AAEA,aAASU,IAAmB;AACd,MAAAV,EAAA,QAAQA,EAAY,QAAQ;AAAA,IAC1C;AAEA,aAASW,EAAOJ,GAAoB;AAClC,MAAAP,EAAY,QAAQO;AAAA,IACtB;AAGA,UAAM,EAAE,WAAAK,GAAW,UAAAC,EAAS,IAAIC,EAAc;AAEvC,WAAA;AAAA,MACL,MAAAxC;AAAA,MACA,YAAAE;AAAA,MAEA,aAAAG;AAAA,MACA,iBAAAC;AAAA,MAEA,WAAAE;AAAA,MACA,eAAAC;AAAA,MAEA,kBAAAC;AAAA,MAEA,cAAAE;AAAA,MACA,kBAAAC;AAAA,MAEA,YAAAC;AAAA,MACA,gBAAAC;AAAA,MAEA,mBAAAC;AAAA,MAEA,YAAAE;AAAA,MAEA,OAAAE;AAAA,MAEA,cAAAG;AAAA,MACA,eAAAE;AAAA,MACA,aAAAC;AAAA,MAEA,WAAAC;AAAA,MACA,UAAAC;AAAA,MAEA,aAAAC;AAAA,MAEA,gBAAAM;AAAA,MACA,YAAAC;AAAA,MACA,QAAAC;AAAA,MAEA,WAAAC;AAAA,MACA,UAAAC;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GAjVaE,KAAK;AAAA,EAAA,KAAA;AAAA;;;qEANjBC,EA2GM,QAAA;SAzGEC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAqCMC,EAAAC,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;aApCYD,EAAcC,EAAA,gBAAA;AAAA,IAAA,GAAA;AAAA,4BAaf,GAAAF,EAAA,OAAAH,IAAA;AAAA,QAAAM,EARH,aAAa;AAAA,QAAAC,EACbC,GAAE;AAAA,UACP,KAAA;AAAA,UACA,OAAOJ,EAASC,EAAA,UAAA;AAAA,UAChB,SAAS;AAAA,UACT,OAAK;AAAA,UAAA,WAAA;AAAA,UAEY,SAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAL,EAAA,aAAAA,EAAA,UAAA,OAAA;AAAA,QAAA,GAAA;AAAA,mBAACM,EAAgG,MAAA;AAAA,YAAAL,EAAjFM,EAAaP,EAAe,YAAA,IAAA,KAAA,CAAA;AAAA,YAAAE,EAAAM,GAAA;AAAA;;;UAGhE,GAAA;AAAA,QAAA,GACG,GAAG,CAAE,OAAA,CAAA;AAAA,QAAAN,EACLO,GAAmB;AAAA,UACnB,KAAA;AAAA,UACA,qBAAgB,CAAA,cAAA;AAAA,UAAA,SAAAT,EAAA;AAAA;;;eAIT,EAAK,GAAAF,EAAAY,GAAA,MAAAC,EAAAX,EAAA,SAAA,CAAAY,OACVf,EAAA,KAA2BgB,GAAK;AAAA,cAChC,KAAAD;AAAA,cAAA,UAAAZ,EAAA,iBAAAY;AAAA,cAEU,SAAA,CAAAP,MAAA;AAAA,gBAAAL,EAAA,eAAAY,GAAAZ,EAAA,aAAAA,EAAA,UAAA,MAAA;AAAA,cAAA;AAAA,YAAA,GAAA;AAAA;;;;;;;;OAMnB,KAAAc,EAAA,IAAA,EAAA;AAAA,MAAAd,EAAA,SAAA,SAAAH,EAAA,GAAAC,EAAAY,GAAA,EAAA,KAAA,KAAA;AAAA;gBAKFI,EA+DM,IAAA,EAAA;AAAA,IA/DA,GAAA,CAAA;AAAA,IAAAC,EAAA,OAAA;AAAA,MACJ,OAQWhB,EAAAC,EAAA,iBAAA;AAAA,IAAA,GAAA;AAAA,QANCG,GAAM;AAAA,QACf,OAAOJ,EAASC,EAAA,UAAA;AAAA,QAChB,SAAQ;AAAA,QACR,OAAK;AAAA,QAAA,UAAAA,EAAA,gBAAAA,EAAA;AAAA,QAEkC,SAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAL,EAAA;MAAA,GAAA;AAAA;;;QAG1B,GAAA;AAAA,MACd,GAAA,GAAA,CAAA,SAAA,UAAA,CAAA;AAAA,MAAAA,EAAA,aAAAH,EAEQ,EAAK,GAAAC,EAAAY,GAAA,EAAA,KAAA,EAAA,GAAAC,EAAAX,EAAA,aAAA,CAAAb,GAAAD,OACLW,EAAA,GAAAmB,EAAEb,GAAU;AAAA,QACjB,KAAAjB;AAAA,QACA,OAAOa,EAASC,EAAA,UAAA;AAAA,QAChB,SAAS;AAAA,QACT,OAAK;AAAA,QAAA,WAAAA,EAAA,gBAAAb;AAAA,QAEI,SAAA,CAAAkB,MAAA,OAAAlB,KAAA,YAAAa,EAAA,OAAAb,CAAA;AAAA,MAAA,GAAA;AAAA;;;;kDAId,GAAA,GAAA,KAAA2B,EAAA,IAAA,EAAA;AAAA,MAAAd,EACE,iBACsBF,EAAAY,GAAA,EAAA,KAAA,KAAA;AAAA,QAAAR,EACdC,GAAE;AAAA,UACP,KAAA;AAAA,UACA,OAAOJ,EAASC,EAAA,UAAA;AAAA,UAChB,SAAS;AAAA,UACT,OAAK;AAAA,UAAA,WAAA;AAAA,UAEW,SAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAL,EAAA,cAAAA,EAAA,WAAA,KAAA;AAAA,QAAA,GAAA;AAAA,mBAACM,EAAkG,MAAA;AAAA,YAAAL,EAAnFM,EAAcP,EAAgB,WAAA,IAAA,KAAA,CAAA;AAAA,YAAAE,EAAAM,GAAA;AAAA;;;UAGjE,GAAA;AAAA,QAAA,GACG,GAAG,CAAE,OAAA,CAAA;AAAA,QAAAN,EACLO,GAAmB;AAAA,UACnB,KAAA;AAAA,UACA,qBAAgB,CAAA,cAAA;AAAA,UAAA,SAAAT,EAAA;AAAA;;;eAIT,EAAI,GAAAF,EAAAY,GAAA,MAAAC,EAAAX,EAAA,UAAA,CAAAb,OACTU,EAAA,KAA0BgB,GAAI;AAAA,cAC9B,KAAA1B;AAAA,cAAA,UAAAa,EAAA,gBAAAb;AAAA,cAES,SAAA,CAAAkB,MAAA;AAAA,gBAAAL,EAAA,cAAAb,GAAAa,EAAA,cAAAA,EAAA,WAAA,MAAA;AAAA,cAAA;AAAA,YAAA,GAAA;AAAA;;;;;;;;MAKhB,GAAA,EAAA,KACGc,EAAK,IAAE,EAAA;AAAA,MAAAZ,EACEC,GAAM;AAAA,QACf,OAAOJ,EAASC,EAAA,UAAA;AAAA,QAChB,SAAQ;AAAA,QACR,OAAK;AAAA,QAAA,UAAAA,EAAA,gBAAAA,EAAA;AAAA,QAEmC,SAAAI,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAC,MAAAL,EAAA;MAAA,GAAA;AAAA;;;;;;;;;"}
|