bitboss-ui 2.0.9 → 2.0.11
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/components/BbDropdownButton/BbDropdownButton.vue.d.ts +36 -9
- package/dist/components/BbSmoothHeight/BbSmoothHeight.vue.d.ts +1 -1
- package/dist/components/BbTooltip/BbTooltip.vue.d.ts +1 -1
- package/dist/components/CommonFloating.vue.d.ts +43 -0
- package/dist/index107.js +10 -7
- package/dist/index107.js.map +1 -1
- package/dist/index115.js +1 -1
- package/dist/index117.js +81 -77
- package/dist/index117.js.map +1 -1
- package/dist/index119.js +1 -1
- package/dist/index123.js +6 -6
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +1 -1
- package/dist/index125.js +6 -6
- package/dist/index125.js.map +1 -1
- package/dist/index129.js +2 -2
- package/dist/index130.js +1 -1
- package/dist/index14.js +1 -1
- package/dist/index16.js +3 -3
- package/dist/index18.js +2 -2
- package/dist/index20.js +14 -14
- package/dist/index200.js +43 -125
- package/dist/index200.js.map +1 -1
- package/dist/index202.js +13 -123
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +124 -17
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +5 -16
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +120 -13
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +19 -2
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +16 -2
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +16 -35
- package/dist/index208.js.map +1 -1
- package/dist/index209.js +2 -174
- package/dist/index209.js.map +1 -1
- package/dist/index210.js +2 -6
- package/dist/index210.js.map +1 -1
- package/dist/index211.js +35 -44
- package/dist/index211.js.map +1 -1
- package/dist/index212.js +177 -0
- package/dist/index212.js.map +1 -0
- package/dist/index213.js +6 -13
- package/dist/index213.js.map +1 -1
- package/dist/index214.js +2 -2
- package/dist/index215.js +3 -3
- package/dist/index216.js +8 -158
- package/dist/index216.js.map +1 -1
- package/dist/index217.js +3 -84
- package/dist/index217.js.map +1 -1
- package/dist/index218.js +5 -0
- package/dist/index218.js.map +1 -0
- package/dist/index219.js +4 -81
- package/dist/index219.js.map +1 -1
- package/dist/index22.js +13 -13
- package/dist/index220.js +2 -8
- package/dist/index220.js.map +1 -1
- package/dist/index221.js +19 -3
- package/dist/index221.js.map +1 -1
- package/dist/index222.js +27 -2
- package/dist/index222.js.map +1 -1
- package/dist/index223.js +3 -4
- package/dist/index223.js.map +1 -1
- package/dist/index224.js +249 -2
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +52 -3
- package/dist/index225.js.map +1 -1
- package/dist/index226.js +44 -7
- package/dist/index226.js.map +1 -1
- package/dist/index227.js +5 -19
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +49 -27
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +81 -3
- package/dist/index229.js.map +1 -1
- package/dist/index230.js +154 -245
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +77 -45
- package/dist/index231.js.map +1 -1
- package/dist/index233.js +3 -5
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +7 -49
- package/dist/index234.js.map +1 -1
- package/dist/index236.js +106 -2
- package/dist/index236.js.map +1 -1
- package/dist/index238.js +47 -53
- package/dist/index238.js.map +1 -1
- package/dist/index24.js +6 -6
- package/dist/index24.js.map +1 -1
- package/dist/index240.js +2 -100
- package/dist/index240.js.map +1 -1
- package/dist/{index237.js → index241.js} +1 -1
- package/dist/{index237.js.map → index241.js.map} +1 -1
- package/dist/index244.js +1 -1
- package/dist/index246.js +7 -9
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +281 -9
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +6 -17
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +2 -281
- package/dist/index249.js.map +1 -1
- package/dist/index250.js +2 -6
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +2 -2
- package/dist/index252.js +2 -2
- package/dist/index254.js +126 -2
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +431 -2
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +21 -125
- package/dist/index256.js.map +1 -1
- package/dist/index258.js +224 -3
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +7 -0
- package/dist/index259.js.map +1 -0
- package/dist/index26.js +1 -1
- package/dist/index260.js +3 -7
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +8 -21
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +26 -0
- package/dist/index262.js.map +1 -0
- package/dist/index263.js +7 -222
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +199 -3
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +434 -7
- package/dist/index265.js.map +1 -1
- package/dist/index266.js +127 -6
- package/dist/index266.js.map +1 -1
- package/dist/index267.js +2 -16
- package/dist/index267.js.map +1 -1
- package/dist/index268.js +2 -9
- package/dist/index268.js.map +1 -1
- package/dist/index269.js +2 -23
- package/dist/index269.js.map +1 -1
- package/dist/index270.js +2 -200
- package/dist/index270.js.map +1 -1
- package/dist/index271.js +2 -436
- package/dist/index271.js.map +1 -1
- package/dist/index272.js +2 -127
- package/dist/index272.js.map +1 -1
- package/dist/index273.js +24 -85
- package/dist/index273.js.map +1 -1
- package/dist/index274.js +22 -5
- package/dist/index274.js.map +1 -1
- package/dist/index276.js +3 -2
- package/dist/index276.js.map +1 -1
- package/dist/index277.js +12 -2
- package/dist/index277.js.map +1 -1
- package/dist/index278.js +9 -2
- package/dist/index278.js.map +1 -1
- package/dist/index279.js +9 -2
- package/dist/index279.js.map +1 -1
- package/dist/index28.js +2 -2
- package/dist/index280.js +17 -2
- package/dist/index280.js.map +1 -1
- package/dist/index281.js +6 -28
- package/dist/index281.js.map +1 -1
- package/dist/index282.js +15 -21
- package/dist/index282.js.map +1 -1
- package/dist/index283.js +92 -0
- package/dist/index283.js.map +1 -0
- package/dist/index285.js +5 -69
- package/dist/index285.js.map +1 -1
- package/dist/index286.js +68 -2
- package/dist/index286.js.map +1 -1
- package/dist/index287.js +1 -1
- package/dist/index288.js +3 -211
- package/dist/index288.js.map +1 -1
- package/dist/index289.js +211 -15
- package/dist/index289.js.map +1 -1
- package/dist/index290.js +14 -10
- package/dist/index290.js.map +1 -1
- package/dist/index291.js +1 -1
- package/dist/index292.js +79 -4
- package/dist/index292.js.map +1 -1
- package/dist/index294.js +4 -59
- package/dist/index294.js.map +1 -1
- package/dist/index295.js +4 -2
- package/dist/index295.js.map +1 -1
- package/dist/index296.js +58 -6
- package/dist/index296.js.map +1 -1
- package/dist/index299.js +6 -46
- package/dist/index299.js.map +1 -1
- package/dist/index30.js +2 -2
- package/dist/index300.js +14 -0
- package/dist/index300.js.map +1 -0
- package/dist/index301.js +43 -417
- package/dist/index301.js.map +1 -1
- package/dist/index302.js +479 -46
- package/dist/index302.js.map +1 -1
- package/dist/index303.js +5 -0
- package/dist/index303.js.map +1 -0
- package/dist/index305.js +424 -0
- package/dist/index305.js.map +1 -0
- package/dist/{index275.js → index306.js} +1 -1
- package/dist/index306.js.map +1 -0
- package/dist/index307.js +50 -0
- package/dist/index307.js.map +1 -0
- package/dist/index32.js +2 -2
- package/dist/index34.js +3 -3
- package/dist/index36.js +12 -12
- package/dist/index38.js +2 -2
- package/dist/index40.js +2 -2
- package/dist/index42.js +2 -2
- package/dist/index44.js +6 -6
- package/dist/index46.js +2 -2
- package/dist/index48.js +2 -2
- package/dist/index54.js +1 -1
- package/dist/index56.js +1 -1
- package/dist/index60.js +30 -28
- package/dist/index60.js.map +1 -1
- package/dist/index66.js +2 -2
- package/dist/index66.js.map +1 -1
- package/dist/index72.js +210 -244
- package/dist/index72.js.map +1 -1
- package/dist/index74.js +96 -65
- package/dist/index74.js.map +1 -1
- package/dist/index76.js +2 -2
- package/dist/index78.js +1 -1
- package/dist/index81.js +2 -2
- package/dist/index83.js +1 -1
- package/dist/index85.js +109 -144
- package/dist/index85.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/index201.js +0 -8
- package/dist/index201.js.map +0 -1
- package/dist/index232.js +0 -47
- package/dist/index232.js.map +0 -1
- package/dist/index245.js +0 -15
- package/dist/index245.js.map +0 -1
- package/dist/index257.js +0 -434
- package/dist/index257.js.map +0 -1
- package/dist/index275.js.map +0 -1
- package/dist/index293.js +0 -7
- package/dist/index293.js.map +0 -1
|
@@ -1,12 +1,39 @@
|
|
|
1
1
|
import { BbDropdownProps } from '../BbDropdown/BbDropdown.vue';
|
|
2
2
|
|
|
3
|
-
export type BbDropdownButtonProps = Pick<BbDropdownProps, 'arrowPadding' | 'block' | 'disabled' | 'eager' | 'id' | 'items' | 'offset' | 'padding' | 'placement' | 'theme' | 'transitionDuration' | 'width'
|
|
3
|
+
export type BbDropdownButtonProps = Pick<BbDropdownProps, 'arrowPadding' | 'block' | 'disabled' | 'eager' | 'id' | 'items' | 'offset' | 'padding' | 'placement' | 'theme' | 'transitionDuration' | 'width'> & {
|
|
4
|
+
/**
|
|
5
|
+
* Tracks tha loading status internally.
|
|
6
|
+
*/
|
|
7
|
+
autoLoading?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Icon to be added on the right of the text
|
|
10
|
+
*/
|
|
11
|
+
'append:icon'?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Disables the click handler while the component is loading.
|
|
14
|
+
*/
|
|
15
|
+
disabledWhileLoading?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Triggers a loading indicator
|
|
18
|
+
*/
|
|
19
|
+
loading?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Icon to be added on the right of the text
|
|
22
|
+
*/
|
|
23
|
+
'prepend:icon'?: string;
|
|
24
|
+
};
|
|
4
25
|
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BbDropdownButtonProps>, {
|
|
5
26
|
theme: string;
|
|
27
|
+
autoLoading: boolean;
|
|
28
|
+
disabledWhileLoading: boolean;
|
|
6
29
|
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BbDropdownButtonProps>, {
|
|
7
30
|
theme: string;
|
|
31
|
+
autoLoading: boolean;
|
|
32
|
+
disabledWhileLoading: boolean;
|
|
8
33
|
}>>>, {
|
|
9
34
|
theme: string;
|
|
35
|
+
autoLoading: boolean;
|
|
36
|
+
disabledWhileLoading: boolean;
|
|
10
37
|
}, {}>, Readonly<{
|
|
11
38
|
'left-btn'?: ((props: {
|
|
12
39
|
disabled?: boolean | undefined;
|
|
@@ -41,7 +68,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
41
68
|
closing: boolean;
|
|
42
69
|
disabled?: boolean | undefined;
|
|
43
70
|
index: number;
|
|
44
|
-
item: import('
|
|
71
|
+
item: import('../../index').BbDropdownItem;
|
|
45
72
|
open: boolean;
|
|
46
73
|
opening: boolean;
|
|
47
74
|
placement: "left" | "right" | "top" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | undefined;
|
|
@@ -52,7 +79,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
52
79
|
closing: boolean;
|
|
53
80
|
disabled?: boolean | undefined;
|
|
54
81
|
index: number;
|
|
55
|
-
item: import('
|
|
82
|
+
item: import('../../index').BbDropdownItem;
|
|
56
83
|
open: boolean;
|
|
57
84
|
opening: boolean;
|
|
58
85
|
placement: "left" | "right" | "top" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | undefined;
|
|
@@ -63,7 +90,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
63
90
|
closing: boolean;
|
|
64
91
|
disabled?: boolean | undefined;
|
|
65
92
|
index: number;
|
|
66
|
-
item: import('
|
|
93
|
+
item: import('../../index').BbDropdownItem;
|
|
67
94
|
open: boolean;
|
|
68
95
|
opening: boolean;
|
|
69
96
|
placement: "left" | "right" | "top" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | undefined;
|
|
@@ -91,7 +118,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
91
118
|
closing: boolean;
|
|
92
119
|
disabled?: boolean | undefined;
|
|
93
120
|
index: number;
|
|
94
|
-
item: import('
|
|
121
|
+
item: import('../../index').BbDropdownItem;
|
|
95
122
|
open: boolean;
|
|
96
123
|
opening: boolean;
|
|
97
124
|
placement: "left" | "right" | "top" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | undefined;
|
|
@@ -131,7 +158,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
131
158
|
closing: boolean;
|
|
132
159
|
disabled?: boolean | undefined;
|
|
133
160
|
index: number;
|
|
134
|
-
item: import('
|
|
161
|
+
item: import('../../index').BbDropdownItem;
|
|
135
162
|
open: boolean;
|
|
136
163
|
opening: boolean;
|
|
137
164
|
placement: "left" | "right" | "top" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | undefined;
|
|
@@ -142,7 +169,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
142
169
|
closing: boolean;
|
|
143
170
|
disabled?: boolean | undefined;
|
|
144
171
|
index: number;
|
|
145
|
-
item: import('
|
|
172
|
+
item: import('../../index').BbDropdownItem;
|
|
146
173
|
open: boolean;
|
|
147
174
|
opening: boolean;
|
|
148
175
|
placement: "left" | "right" | "top" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | undefined;
|
|
@@ -153,7 +180,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
153
180
|
closing: boolean;
|
|
154
181
|
disabled?: boolean | undefined;
|
|
155
182
|
index: number;
|
|
156
|
-
item: import('
|
|
183
|
+
item: import('../../index').BbDropdownItem;
|
|
157
184
|
open: boolean;
|
|
158
185
|
opening: boolean;
|
|
159
186
|
placement: "left" | "right" | "top" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | undefined;
|
|
@@ -181,7 +208,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
181
208
|
closing: boolean;
|
|
182
209
|
disabled?: boolean | undefined;
|
|
183
210
|
index: number;
|
|
184
|
-
item: import('
|
|
211
|
+
item: import('../../index').BbDropdownItem;
|
|
185
212
|
open: boolean;
|
|
186
213
|
opening: boolean;
|
|
187
214
|
placement: "left" | "right" | "top" | "top-start" | "top-end" | "right-start" | "right-end" | "bottom" | "bottom-start" | "bottom-end" | "left-start" | "left-end" | undefined;
|
|
@@ -35,8 +35,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__
|
|
|
35
35
|
tag: string;
|
|
36
36
|
}>>>, {
|
|
37
37
|
transitionDuration: number;
|
|
38
|
-
tag: "object" | "search" | "small" | "sub" | "sup" | "a" | "abbr" | "address" | "article" | "aside" | "audio" | "b" | "bdi" | "bdo" | "blockquote" | "body" | "button" | "canvas" | "caption" | "cite" | "code" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "div" | "dl" | "dt" | "em" | "fieldset" | "figcaption" | "figure" | "footer" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "html" | "i" | "iframe" | "ins" | "kbd" | "label" | "legend" | "li" | "main" | "map" | "mark" | "menu" | "meter" | "nav" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "picture" | "pre" | "progress" | "q" | "rp" | "rt" | "ruby" | "s" | "samp" | "script" | "section" | "select" | "slot" | "span" | "strong" | "style" | "summary" | "table" | "tbody" | "td" | "template" | "textarea" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "u" | "ul" | "var" | "video";
|
|
39
38
|
strategy: "resize" | "mutation";
|
|
39
|
+
tag: "object" | "search" | "small" | "sub" | "sup" | "a" | "abbr" | "address" | "article" | "aside" | "audio" | "b" | "bdi" | "bdo" | "blockquote" | "body" | "button" | "canvas" | "caption" | "cite" | "code" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "div" | "dl" | "dt" | "em" | "fieldset" | "figcaption" | "figure" | "footer" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "html" | "i" | "iframe" | "ins" | "kbd" | "label" | "legend" | "li" | "main" | "map" | "mark" | "menu" | "meter" | "nav" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "picture" | "pre" | "progress" | "q" | "rp" | "rt" | "ruby" | "s" | "samp" | "script" | "section" | "select" | "slot" | "span" | "strong" | "style" | "summary" | "table" | "tbody" | "td" | "template" | "textarea" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "u" | "ul" | "var" | "video";
|
|
40
40
|
mutationOptions: MutationObserverInit;
|
|
41
41
|
}, {}>, Readonly<BbSmoothHeightSlots> & BbSmoothHeightSlots>;
|
|
42
42
|
export default _default;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CommonProps } from '../../types/CommonProps';
|
|
2
2
|
import { Placement } from '@floating-ui/vue';
|
|
3
3
|
|
|
4
|
-
export type BbTooltipProps = Pick<CommonProps, 'arrowPadding' | 'block' | 'disabled' | 'eager' | 'id' | 'padding' | 'placement' | 'showClose' | 'theme' | 'transitionDuration'>;
|
|
4
|
+
export type BbTooltipProps = Pick<CommonProps, 'arrowPadding' | 'block' | 'disabled' | 'eager' | 'id' | 'offset' | 'padding' | 'placement' | 'showClose' | 'theme' | 'transitionDuration'>;
|
|
5
5
|
type BbTooltipSlots = {
|
|
6
6
|
activator?: (props: {
|
|
7
7
|
props: {
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CommonProps } from '../types/CommonProps';
|
|
2
|
+
import { Ref } from 'vue';
|
|
3
|
+
import { MaybeElement } from '@floating-ui/vue';
|
|
4
|
+
|
|
5
|
+
export type BubbleProps = Pick<CommonProps, 'arrowPadding' | 'eager' | 'offset' | 'padding' | 'placement' | 'theme' | 'transitionDuration'> & {
|
|
6
|
+
containerAttributes?: object;
|
|
7
|
+
bubbleAttributes?: object;
|
|
8
|
+
wrapper: Ref<MaybeElement<HTMLElement>>;
|
|
9
|
+
baseClass: string;
|
|
10
|
+
open?: boolean;
|
|
11
|
+
};
|
|
12
|
+
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BubbleProps>, {
|
|
13
|
+
containerAttributes: () => {};
|
|
14
|
+
}>, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BubbleProps>, {
|
|
15
|
+
containerAttributes: () => {};
|
|
16
|
+
}>>>, {
|
|
17
|
+
containerAttributes: object;
|
|
18
|
+
}, {}>, {
|
|
19
|
+
default?(_: {}): any;
|
|
20
|
+
}>;
|
|
21
|
+
export default _default;
|
|
22
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
23
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
24
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
25
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
26
|
+
} : {
|
|
27
|
+
type: import('vue').PropType<T[K]>;
|
|
28
|
+
required: true;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
type __VLS_WithDefaults<P, D> = {
|
|
32
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
33
|
+
default: D[K];
|
|
34
|
+
}> : P[K];
|
|
35
|
+
};
|
|
36
|
+
type __VLS_Prettify<T> = {
|
|
37
|
+
[K in keyof T]: T[K];
|
|
38
|
+
} & {};
|
|
39
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
40
|
+
new (): {
|
|
41
|
+
$slots: S;
|
|
42
|
+
};
|
|
43
|
+
};
|
package/dist/index107.js
CHANGED
|
@@ -3,17 +3,20 @@ import { add as ue } from "./index284.js";
|
|
|
3
3
|
import { clamp as pe } from "./index199.js";
|
|
4
4
|
import { isNil as M } from "./index126.js";
|
|
5
5
|
import { useId as fe } from "./index9.js";
|
|
6
|
-
import { useItemValue as me } from "./
|
|
7
|
-
import { when as he } from "./
|
|
6
|
+
import { useItemValue as me } from "./index279.js";
|
|
7
|
+
import { when as he } from "./index219.js";
|
|
8
8
|
import J from "./index16.js";
|
|
9
9
|
/* empty css */
|
|
10
10
|
import ye from "./index30.js";
|
|
11
11
|
/* empty css */
|
|
12
|
-
import { useOptions as _e } from "./
|
|
13
|
-
const ke = {
|
|
12
|
+
import { useOptions as _e } from "./index230.js";
|
|
13
|
+
const ke = {
|
|
14
|
+
key: 0,
|
|
15
|
+
class: "sr-only"
|
|
16
|
+
}, ve = { class: "bb-table-header-row" }, Ce = { class: "bb-table-header__content" }, ge = { class: "bb-table-check__label-text" }, we = {
|
|
14
17
|
key: 1,
|
|
15
18
|
class: "bb-table-radio__label-text"
|
|
16
|
-
}, Te = { class: "bb-table-header__content" }, Ve = { class: "bb-table-header__content" }, $e = { class: "bb-table-loading__row" }, Ae = ["colspan"], Be = { class: "bb-table-loading__text" }, Ne = {
|
|
19
|
+
}, Te = { class: "bb-table-header__content" }, Ve = { class: "bb-table-header__content sr-only" }, $e = { class: "bb-table-loading__row" }, Ae = ["colspan"], Be = { class: "bb-table-loading__text sr-only" }, Ne = {
|
|
17
20
|
class: "bb-table-skeleton__container",
|
|
18
21
|
role: "status"
|
|
19
22
|
}, Se = /* @__PURE__ */ s("div", { class: "bb-table-skeleton-item__avatar-container" }, [
|
|
@@ -24,7 +27,7 @@ const ke = { key: 0 }, ve = { class: "bb-table-header-row" }, Ce = { class: "bb-
|
|
|
24
27
|
], -1), Le = [
|
|
25
28
|
Se,
|
|
26
29
|
De
|
|
27
|
-
], Re = { class: "bb-table-no-data__row" }, Ie = ["colspan"], ze = { class: "bb-table-no-data__text" }, Oe = ["onClick", "onContextmenu", "onDblclick"], He = { class: "bb-table-check__label-text" }, qe = { class: "bb-table-radio__label-text" }, Xe = /* @__PURE__ */ oe({
|
|
30
|
+
], Re = { class: "bb-table-no-data__row" }, Ie = ["colspan"], ze = { class: "bb-table-no-data__text" }, Oe = ["onClick", "onContextmenu", "onDblclick"], He = { class: "bb-table-check__label-text sr-only" }, qe = { class: "bb-table-radio__label-text sr-only" }, Xe = /* @__PURE__ */ oe({
|
|
28
31
|
__name: "BbTable",
|
|
29
32
|
props: {
|
|
30
33
|
accessibleLabel: { type: Function, default: (N) => ["Seleziona"].concat(N.map((S) => S.content)).join(" ") },
|
|
@@ -218,7 +221,7 @@ const ke = { key: 0 }, ve = { class: "bb-table-header-row" }, Ce = { class: "bb-
|
|
|
218
221
|
key: 0,
|
|
219
222
|
class: r({
|
|
220
223
|
"bb-table-caption": !0,
|
|
221
|
-
"
|
|
224
|
+
"sr-only": !e.displayCaption
|
|
222
225
|
})
|
|
223
226
|
}, p(e.caption), 3)) : k("", !0),
|
|
224
227
|
s("thead", null, [
|
package/dist/index107.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index107.js","sources":["../src/components/BbTable/BbTable.vue"],"sourcesContent":["<template>\n\t<component\n\t\t:is=\"containerTag\"\n\t\tref=\"container\"\n\t\t:class=\"{\n\t\t\t'bb-table': true,\n\t\t\t[`bb-table--align-${align}`]: true,\n\t\t\t'bb-table--compact': compact,\n\t\t\t'bb-table--fixed': fixed,\n\t\t\t'bb-table--fixed-header': fixedHeaders,\n\t\t\t'bb-table--loading': loading,\n\t\t\t'bb-table--empty': !options.length,\n\t\t\t'bb-table--selectable': selectable,\n\t\t}\"\n\t>\n\t\t<legend v-if=\"selectable\">{{ legend }}</legend>\n\t\t<table>\n\t\t\t<caption\n\t\t\t\tv-if=\"caption\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t'bb-table-caption': true,\n\t\t\t\t\t'bb-table-caption--hidden': !displayCaption,\n\t\t\t\t}\"\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tcaption\n\t\t\t\t}}\n\t\t\t</caption>\n\t\t\t<thead>\n\t\t\t\t<slot name=\"thead\">\n\t\t\t\t\t<tr class=\"bb-table-header-row\">\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-if=\"selectable\"\n\t\t\t\t\t\t\tclass=\"bb-table-header bb-table-header--select\"\n\t\t\t\t\t\t\t:class=\"thClass\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:multiple=\"multiple\"\n\t\t\t\t\t\t\t\t:name=\"'header:select'\"\n\t\t\t\t\t\t\t\t:select-all=\"!!selectAll\"\n\t\t\t\t\t\t\t\t:text=\"selectText\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span class=\"bb-table-header__content\">\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tv-if=\"allowSelectAll && multiple\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check__label\"\n\t\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t\t'bb-table-check__label--disabled': disabled,\n\t\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<BaseCheckbox\n\t\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check\"\n\t\t\t\t\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t\t\t\t\t:indeterminate=\"indeterminate\"\n\t\t\t\t\t\t\t\t\t\t\t:model-value=\"allSelected\"\n\t\t\t\t\t\t\t\t\t\t\t:name=\"`select_all_${name || ''}`\"\n\t\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t\t@update:model-value=\"onChangeSelectAll\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"bb-table-check__label-text\"\n\t\t\t\t\t\t\t\t\t\t\t>{{ selectAllLabel }}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tv-else-if=\"!multiple\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio__label-text\"\n\t\t\t\t\t\t\t\t\t\t>{{ selectText }}</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-for=\"header in mappedHeaders\"\n\t\t\t\t\t\t\t:key=\"header.key\"\n\t\t\t\t\t\t\tclass=\"bb-table-header\"\n\t\t\t\t\t\t\t:class=\"header.classes\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:classes=\"header.classes\"\n\t\t\t\t\t\t\t\t:item=\"undefined as unknown\"\n\t\t\t\t\t\t\t\t:items=\"internalItems\"\n\t\t\t\t\t\t\t\t:label=\"header.label\"\n\t\t\t\t\t\t\t\t:name=\"header.slotName\"\n\t\t\t\t\t\t\t\t><span class=\"bb-table-header__content\">{{\n\t\t\t\t\t\t\t\t\theader.label\n\t\t\t\t\t\t\t\t}}</span></slot\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-if=\"actions\"\n\t\t\t\t\t\t\tclass=\"bb-table-header bb-table-header--actions\"\n\t\t\t\t\t\t\t:class=\"thClass\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot name=\"header:actions\" :text=\"actionsText\">\n\t\t\t\t\t\t\t\t<span class=\"bb-table-header__content\">\n\t\t\t\t\t\t\t\t\t{{ actionsText }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t<slot v-if=\"loading\" :items=\"internalItems\" name=\"loading\">\n\t\t\t\t\t<tr class=\"bb-table-loading__row\">\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"bb-table-loading__cell\"\n\t\t\t\t\t\t\t:colspan=\"replacementContentSpan\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"bb-table-loading__text\">{{ loadingText }}</span>\n\n\t\t\t\t\t\t\t<div class=\"bb-table-skeleton__container\" role=\"status\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-for=\"item in skeletonLength\"\n\t\t\t\t\t\t\t\t\t:key=\"item\"\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-skeleton-item\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__avatar-container\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__avatar\"></div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__text\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__line\"></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__line\"></div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t\t<slot v-else-if=\"!options.length\" :name=\"'no-data'\">\n\t\t\t\t\t<tr class=\"bb-table-no-data__row\">\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"bb-table-no-data__cell\"\n\t\t\t\t\t\t\t:colspan=\"replacementContentSpan\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"bb-table-no-data__text\">{{ noDataText }}</span>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t\t<slot v-else name=\"tbody\">\n\t\t\t\t\t<tr\n\t\t\t\t\t\tv-for=\"item in mappedItems\"\n\t\t\t\t\t\t:key=\"item.valueHash\"\n\t\t\t\t\t\tclass=\"bb-table-data__row\"\n\t\t\t\t\t\t@click=\"item.onRowClick\"\n\t\t\t\t\t\t@contextmenu=\"item.onRowContextMenu\"\n\t\t\t\t\t\t@dblclick=\"item.onRowDblClick\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-if=\"selectable\"\n\t\t\t\t\t\t\tclass=\"bb-table-data__cell bb-table-data__cell--select\"\n\t\t\t\t\t\t\t:class=\"tdClass\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:checked=\"!!item.selected\"\n\t\t\t\t\t\t\t\t:disabled=\"!!item.disabled\"\n\t\t\t\t\t\t\t\t:input-name=\"randomName\"\n\t\t\t\t\t\t\t\t:item=\"item.item\"\n\t\t\t\t\t\t\t\t:name=\"'select'\"\n\t\t\t\t\t\t\t\t:readonly=\"!!readonly\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- We use temp names for these inputs because we don't submit them -->\n\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\tv-if=\"multiple\"\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-check__label\"\n\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t'bb-table-check__label--disabled': item.disabled,\n\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<BaseCheckbox\n\t\t\t\t\t\t\t\t\t\t:checked=\"item.selected || allSelected\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t\t\t\t\t\t\t:name=\"randomName\"\n\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t@change=\"() => onInputChange(item)\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span class=\"bb-table-check__label-text\">{{\n\t\t\t\t\t\t\t\t\t\titem.accessibleLabel\n\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio__label\"\n\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t'bb-table-radio__label--disabled': item.disabled,\n\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<BaseRadio\n\t\t\t\t\t\t\t\t\t\t:checked=\"item.selected\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t\t\t\t\t\t\t:name=\"randomName\"\n\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t\t\t\t@change=\"() => onInputChange(item)\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span class=\"bb-table-radio__label-text\">{{\n\t\t\t\t\t\t\t\t\t\titem.accessibleLabel\n\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-for=\"col in item.cols\"\n\t\t\t\t\t\t\t:key=\"col.key\"\n\t\t\t\t\t\t\tclass=\"bb-table-data__cell\"\n\t\t\t\t\t\t\t:class=\"col.classes\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:classes=\"col.classes\"\n\t\t\t\t\t\t\t\t:content=\"col.content\"\n\t\t\t\t\t\t\t\t:item=\"item.item\"\n\t\t\t\t\t\t\t\t:name=\"col.slotName\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t\t>{{ col.content }}</slot\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-if=\"actions\"\n\t\t\t\t\t\t\tclass=\"bb-table__cell bb-table__cell--actions\"\n\t\t\t\t\t\t\t:class=\"tdClass\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:item=\"item.item\"\n\t\t\t\t\t\t\t\t:name=\"'actions'\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t></slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t</tbody>\n\t\t\t<tfoot>\n\t\t\t\t<slot name=\"tfoot\"></slot>\n\t\t\t</tfoot>\n\t\t</table>\n\t\t<input v-for=\"input in hiddenInputs\" :key=\"input.value\" v-bind=\"input\" />\n\t</component>\n</template>\n\n<script setup lang=\"ts\">\nimport { add } from '@/utilities/functions/add';\nimport { clamp } from '@/utilities/functions/clamp';\nimport { isNil } from '@/utilities/functions/isNil';\nimport { computed, ref, toRef, watch } from 'vue';\nimport { useId } from '@/composables/useId';\nimport { useItemValue } from '@/composables/useItemValue';\nimport { when } from '@/utilities/functions/when';\nimport BaseCheckbox from '../BaseCheckbox/BaseCheckbox.vue';\nimport BaseRadio from '../BaseRadio/BaseRadio.vue';\nimport { useOptions } from '@/composables/useOptions';\nimport type { Option as BaseOption } from '@/types/Option';\nimport type {\n\tBbTableProps,\n\tMappedCell,\n\tMappedHeader,\n\tMappedItem,\n\tBbTableColumn,\n\tBbTableEvents,\n\tBbTableSlots,\n} from './types';\nimport type { Classes } from '@/types/Classes';\n\nconst { getItemValue } = useItemValue();\n\n/**\n * We do not allow the use of the checkbox or radio themselves as\n * they would not be submitted if the user has changed\n * page in the meantime, rather we provide a temporary\n * name so radio still work but we later add hidden inputs for submission\n */\nconst randomName = useId().id.value;\n\nconst props = withDefaults(defineProps<BbTableProps>(), {\n\talign: 'left',\n\taccessibleLabel: (columns: MappedCell[]) =>\n\t\t['Seleziona'].concat(columns.map((col) => col.content)).join(' '),\n\tactionsText: 'Azioni',\n\tallowSelectAll: true,\n\tcolumns: () => [],\n\tdependencies: () => [],\n\tdepsDebounceTime: 0,\n\tfixedColumns: () => [],\n\titems: () => [],\n\tloadingText: 'Caricamento',\n\tmultiple: true,\n\tmodelValue: () => [],\n\tnoDataText: 'Non ci sono elementi da visualizzare',\n\tselectAllLabel: 'Seleziona tutti gli elementi di questa pagina',\n\tselectText: 'Seleziona un elemento',\n});\n\nconst emit = defineEmits<BbTableEvents>();\n\ndefineSlots<BbTableSlots>();\n\nconst container = ref<HTMLElement>();\n\nconst accessibleLabel = props.accessibleLabel;\nconst loadingText = props.loadingText;\nconst noDataText = props.noDataText;\nconst selectText = props.selectText;\n\n// We render the table in a fieldset to group checkbox / radios if the table is selectable\nconst containerTag = computed(() => (props.selectable ? 'fieldset' : 'div'));\nconst internalLoading = ref(false);\nconst loading = computed(() => props.loading || internalLoading.value);\n\nconst replacementContentSpan = computed(() => {\n\treturn [!!props.selectable, !!props.actions].reduce(\n\t\t(acc: number, current) => acc + Number(!!current),\n\t\tprops.columns.length\n\t);\n});\n\n/**\n * Map column identifiers to slot names\n */\nconst slotNames = computed(() =>\n\tprops.columns.reduce(\n\t\t(acc: { [key: string]: string }, curr: BbTableColumn) => {\n\t\t\tconst mapped = curr.key.split(/\\W+/g).join('_');\n\t\t\tacc[curr.key] = mapped;\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t)\n);\n\nconst { options, selectOption, unselectOption, internalItems } = useOptions({\n\temit,\n\titemText: undefined,\n\titemValue: props.itemValue,\n\tmodelValue: toRef(props, 'modelValue'),\n\tmultiple: props.multiple,\n\tresetQueryOnOptionSelected: false,\n\tstash: false,\n\titems: toRef(props, 'items'),\n\tenforceCoherence: true,\n\tprefill: true,\n\tmodelValueDebounceTime: 0,\n\tdependencies: toRef(props, 'dependencies'),\n\tdepsDebounceTime: props.depsDebounceTime,\n\tqueryDebounceTime: 0,\n\tdisabled: toRef(props, 'disabled'),\n});\n\n/**\n * Take the columns and generate a simplified array for headers display\n */\nconst mappedHeaders = computed(() =>\n\tprops.columns.map((column: BbTableColumn): MappedHeader => {\n\t\tconst align = column.align || 'left';\n\t\tconst { label, key } = column;\n\t\tconst slotName = `header:${slotNames.value[column.key]}`;\n\t\t// Create a single merged array of all the passed classes\n\t\tlet classes: Classes = [`bb-table-header--${align}`];\n\t\tif (props.thClass) {\n\t\t\tclasses = classes.concat(props.thClass);\n\t\t}\n\t\tif (column.thClass) {\n\t\t\tclasses = classes.concat(column.thClass);\n\t\t}\n\t\treturn {\n\t\t\talign,\n\t\t\tkey,\n\t\t\tlabel,\n\t\t\tslotName,\n\t\t\tclasses,\n\t\t};\n\t})\n);\n\n/**\n * Map items to an an array that represents the entire row.\n * Track every logic here so we don't have inline callbacks in the template.\n */\nconst mappedItems = computed<MappedItem[]>(() => {\n\treturn options.value.map((item: BaseOption): MappedItem => {\n\t\t/**\n\t\t * Item is selectable only if the table allows or item\n\t\t * passes iteratee and the selection is not disabled\n\t\t */\n\t\tlet disabled = !props.selectable;\n\t\tif (typeof props.selectable === 'function') {\n\t\t\tdisabled = !props.selectable(item);\n\t\t}\n\t\tdisabled = disabled || !!item.disabled;\n\n\t\t// Create a projection of the columns and run all formatter logic so\n\t\t// we just display content in the template\n\t\tconst cols: MappedCell[] = props.columns.map((column) => {\n\t\t\t// Slot identifier\n\t\t\tconst slotName = slotNames.value[column.key];\n\t\t\tconst align = column.align || 'left';\n\t\t\tconst { label, key } = column;\n\t\t\t// The content\n\t\t\tlet content = getItemValue(item.item, column.key);\n\t\t\tif (\n\t\t\t\tcolumn.formatter &&\n\t\t\t\t// By default the formatter runs anyway\n\t\t\t\t(!isNil(content) || column.formatOnNull !== false)\n\t\t\t) {\n\t\t\t\tcontent = column.formatter(content, column.key, item.item);\n\t\t\t}\n\t\t\tif (column.placeholder && isNil(content)) {\n\t\t\t\tcontent = column.placeholder;\n\t\t\t}\n\n\t\t\t// Merge global and specific classes\n\t\t\tlet classes: Classes = [`bb-table-data__cell--${align}`];\n\t\t\tif (props.tdClass) {\n\t\t\t\tif (typeof props.tdClass === 'function') {\n\t\t\t\t\tlet temp = props.tdClass(content, column.key, item.item);\n\t\t\t\t\tif (temp) {\n\t\t\t\t\t\tclasses = classes.concat(temp);\n\t\t\t\t\t}\n\t\t\t\t} else classes = classes.concat(props.tdClass);\n\t\t\t}\n\t\t\tif (column.tdClass) {\n\t\t\t\tif (typeof column.tdClass === 'function') {\n\t\t\t\t\tlet temp = column.tdClass(content, column.key, item.item);\n\t\t\t\t\tif (temp) {\n\t\t\t\t\t\tclasses = classes.concat(temp);\n\t\t\t\t\t}\n\t\t\t\t} else classes = classes.concat(column.tdClass);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\talign,\n\t\t\t\tclasses,\n\t\t\t\tcontent,\n\t\t\t\tkey,\n\t\t\t\tlabel,\n\t\t\t\tslotName,\n\t\t\t};\n\t\t});\n\t\tconst accessibleLabelText = accessibleLabel(cols, item.item);\n\t\tconst res = {\n\t\t\taccessibleLabel: accessibleLabelText,\n\t\t\tcols,\n\t\t\tonRowClick: (event: MouseEvent) =>\n\t\t\t\temit('click:row', event, item, !!item.selected),\n\t\t\tonRowContextMenu: (event: MouseEvent) =>\n\t\t\t\temit('contextmenu:row', event, item, !!item.selected),\n\t\t\tonRowDblClick: (event: MouseEvent) =>\n\t\t\t\temit('dblclick:row', event, item, !!item.selected),\n\t\t\titem: item.item,\n\t\t\ttext: item.text,\n\t\t\tvalueHash: item.valueHash,\n\t\t\tvalue: item.value,\n\t\t\tselected: item.selected,\n\t\t\tdisabled,\n\t\t};\n\t\treturn res;\n\t});\n});\n\n/**\n * Same behavior as GMail.\n * If anything is selected remove it.\n * Then when empty you select all items of this page\n */\nconst onChangeSelectAll = (value: boolean) => {\n\tlet selectAllValue = value;\n\tlet modelValue: any[] = [];\n\n\tif (selectAllValue) {\n\t\tmodelValue = mappedItems.value.reduce((acc: any[], curr) => {\n\t\t\tif (!curr.disabled) acc.push(curr.value);\n\t\t\treturn acc;\n\t\t}, []);\n\t}\n\temit('update:modelValue', modelValue);\n\temit('update:selectAll', value);\n};\n\nconst allSelected = computed(\n\t() =>\n\t\t!!(\n\t\t\tmappedItems.value.length &&\n\t\t\tmappedItems.value\n\t\t\t\t.filter((item) => !item.disabled)\n\t\t\t\t.every((item) => item.selected)\n\t\t)\n);\nconst indeterminate = computed(\n\t() =>\n\t\tmappedItems.value.some((item) => !item.selected) &&\n\t\t!!props.modelValue?.length\n);\n/**\n * Whenever an input changes update modelValue if any\n */\nconst onInputChange = (item: MappedItem) => {\n\tif (item.selected) {\n\t\tunselectOption(item);\n\t} else {\n\t\tselectOption(item);\n\t}\n};\n\n/**\n * When using this component for submission we add a bunch of hidden inputs\n * so the submitted inputs is on par with v-model\n */\n\n/**\n * This is used to keep the value compatible to common html expected values.\n * Convert to string everything that's not but do not double encode strings\n */\nconst makeInputValue = when(\n\t(item: unknown) => typeof item !== 'string',\n\tJSON.stringify\n);\nconst hiddenInputs = computed(() => {\n\treturn [].concat(props.modelValue).map((current) => {\n\t\tconst value = makeInputValue(current);\n\t\treturn {\n\t\t\tdisabled: props.disabled,\n\t\t\tname: props.name,\n\t\t\ttype: 'hidden',\n\t\t\tvalue: value,\n\t\t};\n\t});\n});\n\nconst skeletonLength = computed(() => {\n\treturn clamp(options.value.length, 4, 10);\n});\n\nwatch(\n\t() => mappedItems.value,\n\t() => {\n\t\tif (props.fixedColumns.length && props.items) {\n\t\t\tif (container.value) {\n\t\t\t\t// Get all the headers\n\t\t\t\tconst headers = Array.from(\n\t\t\t\t\tcontainer.value.querySelectorAll<HTMLElement>('thead th')\n\t\t\t\t);\n\n\t\t\t\ttype MappedColumn = {\n\t\t\t\t\tindex: number;\n\t\t\t\t\tposition: 'left' | 'right';\n\t\t\t\t\twidth: number;\n\t\t\t\t\toffset: number;\n\t\t\t\t};\n\n\t\t\t\tconst mappedColumns = props.fixedColumns.reduce((acc, curr) => {\n\t\t\t\t\tconst index = typeof curr === 'number' ? curr : curr.index;\n\t\t\t\t\tconst position = typeof curr === 'number' ? 'left' : curr.position;\n\t\t\t\t\tconst clientRect = headers[index].getBoundingClientRect();\n\t\t\t\t\tconst width = Math.floor(clientRect.width);\n\t\t\t\t\tconst offset = acc\n\t\t\t\t\t\t.filter((el) => el.position === position)\n\t\t\t\t\t\t.map((el) => el.width)\n\t\t\t\t\t\t.reduce(add, 0);\n\n\t\t\t\t\tconst mapped: MappedColumn = {\n\t\t\t\t\t\tindex: index,\n\t\t\t\t\t\tposition: position,\n\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\toffset: offset,\n\t\t\t\t\t};\n\t\t\t\t\tacc.push(mapped);\n\t\t\t\t\treturn acc;\n\t\t\t\t}, [] as MappedColumn[]);\n\n\t\t\t\tconst rows = Array.from(container.value?.querySelectorAll('tr'));\n\t\t\t\tconst affectedCells = rows.map((row) =>\n\t\t\t\t\tArray.from(\n\t\t\t\t\t\trow.querySelectorAll<HTMLElement>(\n\t\t\t\t\t\t\tmappedColumns\n\t\t\t\t\t\t\t\t.map((el) => `:scope > :nth-child(${el.index + 1})`)\n\t\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\taffectedCells.forEach((row) => {\n\t\t\t\t\trow.forEach((cell, index) => {\n\t\t\t\t\t\tcell.style.position = 'sticky';\n\n\t\t\t\t\t\tif (mappedColumns[index].position === 'left') {\n\t\t\t\t\t\t\tcell.style.left = `${mappedColumns[index].offset}px`;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcell.style.right = `${mappedColumns[index].offset}px`;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tflush: 'post',\n\t}\n);\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbTable';\n</style>\n"],"names":["getItemValue","useItemValue","randomName","useId","props","__props","emit","__emit","container","ref","accessibleLabel","loadingText","noDataText","selectText","containerTag","computed","internalLoading","loading","replacementContentSpan","acc","current","slotNames","curr","mapped","options","selectOption","unselectOption","internalItems","useOptions","toRef","mappedHeaders","column","align","label","key","slotName","classes","mappedItems","item","disabled","cols","content","isNil","temp","event","onChangeSelectAll","value","selectAllValue","modelValue","allSelected","indeterminate","_a","onInputChange","makeInputValue","when","hiddenInputs","skeletonLength","clamp","watch","headers","mappedColumns","index","position","clientRect","width","offset","el","add","row","cell"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index107.js","sources":["../src/components/BbTable/BbTable.vue"],"sourcesContent":["<template>\n\t<component\n\t\t:is=\"containerTag\"\n\t\tref=\"container\"\n\t\t:class=\"{\n\t\t\t'bb-table': true,\n\t\t\t[`bb-table--align-${align}`]: true,\n\t\t\t'bb-table--compact': compact,\n\t\t\t'bb-table--fixed': fixed,\n\t\t\t'bb-table--fixed-header': fixedHeaders,\n\t\t\t'bb-table--loading': loading,\n\t\t\t'bb-table--empty': !options.length,\n\t\t\t'bb-table--selectable': selectable,\n\t\t}\"\n\t>\n\t\t<legend v-if=\"selectable\" class=\"sr-only\">{{ legend }}</legend>\n\t\t<table>\n\t\t\t<caption\n\t\t\t\tv-if=\"caption\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t'bb-table-caption': true,\n\t\t\t\t\t'sr-only': !displayCaption,\n\t\t\t\t}\"\n\t\t\t>\n\t\t\t\t{{\n\t\t\t\t\tcaption\n\t\t\t\t}}\n\t\t\t</caption>\n\t\t\t<thead>\n\t\t\t\t<slot name=\"thead\">\n\t\t\t\t\t<tr class=\"bb-table-header-row\">\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-if=\"selectable\"\n\t\t\t\t\t\t\tclass=\"bb-table-header bb-table-header--select\"\n\t\t\t\t\t\t\t:class=\"thClass\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:multiple=\"multiple\"\n\t\t\t\t\t\t\t\t:name=\"'header:select'\"\n\t\t\t\t\t\t\t\t:select-all=\"!!selectAll\"\n\t\t\t\t\t\t\t\t:text=\"selectText\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span class=\"bb-table-header__content\">\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tv-if=\"allowSelectAll && multiple\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check__label\"\n\t\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t\t'bb-table-check__label--disabled': disabled,\n\t\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<BaseCheckbox\n\t\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check\"\n\t\t\t\t\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t\t\t\t\t:indeterminate=\"indeterminate\"\n\t\t\t\t\t\t\t\t\t\t\t:model-value=\"allSelected\"\n\t\t\t\t\t\t\t\t\t\t\t:name=\"`select_all_${name || ''}`\"\n\t\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t\t@update:model-value=\"onChangeSelectAll\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"bb-table-check__label-text\"\n\t\t\t\t\t\t\t\t\t\t\t>{{ selectAllLabel }}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\t\tv-else-if=\"!multiple\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio__label-text\"\n\t\t\t\t\t\t\t\t\t\t>{{ selectText }}</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-for=\"header in mappedHeaders\"\n\t\t\t\t\t\t\t:key=\"header.key\"\n\t\t\t\t\t\t\tclass=\"bb-table-header\"\n\t\t\t\t\t\t\t:class=\"header.classes\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:classes=\"header.classes\"\n\t\t\t\t\t\t\t\t:item=\"undefined as unknown\"\n\t\t\t\t\t\t\t\t:items=\"internalItems\"\n\t\t\t\t\t\t\t\t:label=\"header.label\"\n\t\t\t\t\t\t\t\t:name=\"header.slotName\"\n\t\t\t\t\t\t\t\t><span class=\"bb-table-header__content\">{{\n\t\t\t\t\t\t\t\t\theader.label\n\t\t\t\t\t\t\t\t}}</span></slot\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\tv-if=\"actions\"\n\t\t\t\t\t\t\tclass=\"bb-table-header bb-table-header--actions\"\n\t\t\t\t\t\t\t:class=\"thClass\"\n\t\t\t\t\t\t\tscope=\"col\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot name=\"header:actions\" :text=\"actionsText\">\n\t\t\t\t\t\t\t\t<span class=\"bb-table-header__content sr-only\">\n\t\t\t\t\t\t\t\t\t{{ actionsText }}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t<slot v-if=\"loading\" :items=\"internalItems\" name=\"loading\">\n\t\t\t\t\t<tr class=\"bb-table-loading__row\">\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"bb-table-loading__cell\"\n\t\t\t\t\t\t\t:colspan=\"replacementContentSpan\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"bb-table-loading__text sr-only\">{{\n\t\t\t\t\t\t\t\tloadingText\n\t\t\t\t\t\t\t}}</span>\n\n\t\t\t\t\t\t\t<div class=\"bb-table-skeleton__container\" role=\"status\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-for=\"item in skeletonLength\"\n\t\t\t\t\t\t\t\t\t:key=\"item\"\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-skeleton-item\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__avatar-container\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__avatar\"></div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__text\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__line\"></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"bb-table-skeleton-item__line\"></div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t\t<slot v-else-if=\"!options.length\" :name=\"'no-data'\">\n\t\t\t\t\t<tr class=\"bb-table-no-data__row\">\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tclass=\"bb-table-no-data__cell\"\n\t\t\t\t\t\t\t:colspan=\"replacementContentSpan\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"bb-table-no-data__text\">{{ noDataText }}</span>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t\t<slot v-else name=\"tbody\">\n\t\t\t\t\t<tr\n\t\t\t\t\t\tv-for=\"item in mappedItems\"\n\t\t\t\t\t\t:key=\"item.valueHash\"\n\t\t\t\t\t\tclass=\"bb-table-data__row\"\n\t\t\t\t\t\t@click=\"item.onRowClick\"\n\t\t\t\t\t\t@contextmenu=\"item.onRowContextMenu\"\n\t\t\t\t\t\t@dblclick=\"item.onRowDblClick\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-if=\"selectable\"\n\t\t\t\t\t\t\tclass=\"bb-table-data__cell bb-table-data__cell--select\"\n\t\t\t\t\t\t\t:class=\"tdClass\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:checked=\"!!item.selected\"\n\t\t\t\t\t\t\t\t:disabled=\"!!item.disabled\"\n\t\t\t\t\t\t\t\t:input-name=\"randomName\"\n\t\t\t\t\t\t\t\t:item=\"item.item\"\n\t\t\t\t\t\t\t\t:name=\"'select'\"\n\t\t\t\t\t\t\t\t:readonly=\"!!readonly\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<!-- We use temp names for these inputs because we don't submit them -->\n\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\tv-if=\"multiple\"\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-check__label\"\n\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t'bb-table-check__label--disabled': item.disabled,\n\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<BaseCheckbox\n\t\t\t\t\t\t\t\t\t\t:checked=\"item.selected || allSelected\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-check\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t\t\t\t\t\t\t:name=\"randomName\"\n\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t@change=\"() => onInputChange(item)\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span class=\"bb-table-check__label-text sr-only\">{{\n\t\t\t\t\t\t\t\t\t\titem.accessibleLabel\n\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio__label\"\n\t\t\t\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t\t\t\t'bb-table-radio__label--disabled': item.disabled,\n\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<BaseRadio\n\t\t\t\t\t\t\t\t\t\t:checked=\"item.selected\"\n\t\t\t\t\t\t\t\t\t\tclass=\"bb-table-radio\"\n\t\t\t\t\t\t\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t\t\t\t\t\t\t:name=\"randomName\"\n\t\t\t\t\t\t\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t\t\t\t@change=\"() => onInputChange(item)\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<span class=\"bb-table-radio__label-text sr-only\">{{\n\t\t\t\t\t\t\t\t\t\titem.accessibleLabel\n\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-for=\"col in item.cols\"\n\t\t\t\t\t\t\t:key=\"col.key\"\n\t\t\t\t\t\t\tclass=\"bb-table-data__cell\"\n\t\t\t\t\t\t\t:class=\"col.classes\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:classes=\"col.classes\"\n\t\t\t\t\t\t\t\t:content=\"col.content\"\n\t\t\t\t\t\t\t\t:item=\"item.item\"\n\t\t\t\t\t\t\t\t:name=\"col.slotName\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t\t>{{ col.content }}</slot\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td\n\t\t\t\t\t\t\tv-if=\"actions\"\n\t\t\t\t\t\t\tclass=\"bb-table__cell bb-table__cell--actions\"\n\t\t\t\t\t\t\t:class=\"tdClass\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\t\t:item=\"item.item\"\n\t\t\t\t\t\t\t\t:name=\"'actions'\"\n\t\t\t\t\t\t\t\t:value=\"item.value\"\n\t\t\t\t\t\t\t></slot>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</slot>\n\t\t\t</tbody>\n\t\t\t<tfoot>\n\t\t\t\t<slot name=\"tfoot\"></slot>\n\t\t\t</tfoot>\n\t\t</table>\n\t\t<input v-for=\"input in hiddenInputs\" :key=\"input.value\" v-bind=\"input\" />\n\t</component>\n</template>\n\n<script setup lang=\"ts\">\nimport { add } from '@/utilities/functions/add';\nimport { clamp } from '@/utilities/functions/clamp';\nimport { isNil } from '@/utilities/functions/isNil';\nimport { computed, ref, toRef, watch } from 'vue';\nimport { useId } from '@/composables/useId';\nimport { useItemValue } from '@/composables/useItemValue';\nimport { when } from '@/utilities/functions/when';\nimport BaseCheckbox from '../BaseCheckbox/BaseCheckbox.vue';\nimport BaseRadio from '../BaseRadio/BaseRadio.vue';\nimport { useOptions } from '@/composables/useOptions';\nimport type { Option as BaseOption } from '@/types/Option';\nimport type {\n\tBbTableProps,\n\tMappedCell,\n\tMappedHeader,\n\tMappedItem,\n\tBbTableColumn,\n\tBbTableEvents,\n\tBbTableSlots,\n} from './types';\nimport type { Classes } from '@/types/Classes';\n\nconst { getItemValue } = useItemValue();\n\n/**\n * We do not allow the use of the checkbox or radio themselves as\n * they would not be submitted if the user has changed\n * page in the meantime, rather we provide a temporary\n * name so radio still work but we later add hidden inputs for submission\n */\nconst randomName = useId().id.value;\n\nconst props = withDefaults(defineProps<BbTableProps>(), {\n\talign: 'left',\n\taccessibleLabel: (columns: MappedCell[]) =>\n\t\t['Seleziona'].concat(columns.map((col) => col.content)).join(' '),\n\tactionsText: 'Azioni',\n\tallowSelectAll: true,\n\tcolumns: () => [],\n\tdependencies: () => [],\n\tdepsDebounceTime: 0,\n\tfixedColumns: () => [],\n\titems: () => [],\n\tloadingText: 'Caricamento',\n\tmultiple: true,\n\tmodelValue: () => [],\n\tnoDataText: 'Non ci sono elementi da visualizzare',\n\tselectAllLabel: 'Seleziona tutti gli elementi di questa pagina',\n\tselectText: 'Seleziona un elemento',\n});\n\nconst emit = defineEmits<BbTableEvents>();\n\ndefineSlots<BbTableSlots>();\n\nconst container = ref<HTMLElement>();\n\nconst accessibleLabel = props.accessibleLabel;\nconst loadingText = props.loadingText;\nconst noDataText = props.noDataText;\nconst selectText = props.selectText;\n\n// We render the table in a fieldset to group checkbox / radios if the table is selectable\nconst containerTag = computed(() => (props.selectable ? 'fieldset' : 'div'));\nconst internalLoading = ref(false);\nconst loading = computed(() => props.loading || internalLoading.value);\n\nconst replacementContentSpan = computed(() => {\n\treturn [!!props.selectable, !!props.actions].reduce(\n\t\t(acc: number, current) => acc + Number(!!current),\n\t\tprops.columns.length\n\t);\n});\n\n/**\n * Map column identifiers to slot names\n */\nconst slotNames = computed(() =>\n\tprops.columns.reduce(\n\t\t(acc: { [key: string]: string }, curr: BbTableColumn) => {\n\t\t\tconst mapped = curr.key.split(/\\W+/g).join('_');\n\t\t\tacc[curr.key] = mapped;\n\t\t\treturn acc;\n\t\t},\n\t\t{}\n\t)\n);\n\nconst { options, selectOption, unselectOption, internalItems } = useOptions({\n\temit,\n\titemText: undefined,\n\titemValue: props.itemValue,\n\tmodelValue: toRef(props, 'modelValue'),\n\tmultiple: props.multiple,\n\tresetQueryOnOptionSelected: false,\n\tstash: false,\n\titems: toRef(props, 'items'),\n\tenforceCoherence: true,\n\tprefill: true,\n\tmodelValueDebounceTime: 0,\n\tdependencies: toRef(props, 'dependencies'),\n\tdepsDebounceTime: props.depsDebounceTime,\n\tqueryDebounceTime: 0,\n\tdisabled: toRef(props, 'disabled'),\n});\n\n/**\n * Take the columns and generate a simplified array for headers display\n */\nconst mappedHeaders = computed(() =>\n\tprops.columns.map((column: BbTableColumn): MappedHeader => {\n\t\tconst align = column.align || 'left';\n\t\tconst { label, key } = column;\n\t\tconst slotName = `header:${slotNames.value[column.key]}`;\n\t\t// Create a single merged array of all the passed classes\n\t\tlet classes: Classes = [`bb-table-header--${align}`];\n\t\tif (props.thClass) {\n\t\t\tclasses = classes.concat(props.thClass);\n\t\t}\n\t\tif (column.thClass) {\n\t\t\tclasses = classes.concat(column.thClass);\n\t\t}\n\t\treturn {\n\t\t\talign,\n\t\t\tkey,\n\t\t\tlabel,\n\t\t\tslotName,\n\t\t\tclasses,\n\t\t};\n\t})\n);\n\n/**\n * Map items to an an array that represents the entire row.\n * Track every logic here so we don't have inline callbacks in the template.\n */\nconst mappedItems = computed<MappedItem[]>(() => {\n\treturn options.value.map((item: BaseOption): MappedItem => {\n\t\t/**\n\t\t * Item is selectable only if the table allows or item\n\t\t * passes iteratee and the selection is not disabled\n\t\t */\n\t\tlet disabled = !props.selectable;\n\t\tif (typeof props.selectable === 'function') {\n\t\t\tdisabled = !props.selectable(item);\n\t\t}\n\t\tdisabled = disabled || !!item.disabled;\n\n\t\t// Create a projection of the columns and run all formatter logic so\n\t\t// we just display content in the template\n\t\tconst cols: MappedCell[] = props.columns.map((column) => {\n\t\t\t// Slot identifier\n\t\t\tconst slotName = slotNames.value[column.key];\n\t\t\tconst align = column.align || 'left';\n\t\t\tconst { label, key } = column;\n\t\t\t// The content\n\t\t\tlet content = getItemValue(item.item, column.key);\n\t\t\tif (\n\t\t\t\tcolumn.formatter &&\n\t\t\t\t// By default the formatter runs anyway\n\t\t\t\t(!isNil(content) || column.formatOnNull !== false)\n\t\t\t) {\n\t\t\t\tcontent = column.formatter(content, column.key, item.item);\n\t\t\t}\n\t\t\tif (column.placeholder && isNil(content)) {\n\t\t\t\tcontent = column.placeholder;\n\t\t\t}\n\n\t\t\t// Merge global and specific classes\n\t\t\tlet classes: Classes = [`bb-table-data__cell--${align}`];\n\t\t\tif (props.tdClass) {\n\t\t\t\tif (typeof props.tdClass === 'function') {\n\t\t\t\t\tlet temp = props.tdClass(content, column.key, item.item);\n\t\t\t\t\tif (temp) {\n\t\t\t\t\t\tclasses = classes.concat(temp);\n\t\t\t\t\t}\n\t\t\t\t} else classes = classes.concat(props.tdClass);\n\t\t\t}\n\t\t\tif (column.tdClass) {\n\t\t\t\tif (typeof column.tdClass === 'function') {\n\t\t\t\t\tlet temp = column.tdClass(content, column.key, item.item);\n\t\t\t\t\tif (temp) {\n\t\t\t\t\t\tclasses = classes.concat(temp);\n\t\t\t\t\t}\n\t\t\t\t} else classes = classes.concat(column.tdClass);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\talign,\n\t\t\t\tclasses,\n\t\t\t\tcontent,\n\t\t\t\tkey,\n\t\t\t\tlabel,\n\t\t\t\tslotName,\n\t\t\t};\n\t\t});\n\t\tconst accessibleLabelText = accessibleLabel(cols, item.item);\n\t\tconst res = {\n\t\t\taccessibleLabel: accessibleLabelText,\n\t\t\tcols,\n\t\t\tonRowClick: (event: MouseEvent) =>\n\t\t\t\temit('click:row', event, item, !!item.selected),\n\t\t\tonRowContextMenu: (event: MouseEvent) =>\n\t\t\t\temit('contextmenu:row', event, item, !!item.selected),\n\t\t\tonRowDblClick: (event: MouseEvent) =>\n\t\t\t\temit('dblclick:row', event, item, !!item.selected),\n\t\t\titem: item.item,\n\t\t\ttext: item.text,\n\t\t\tvalueHash: item.valueHash,\n\t\t\tvalue: item.value,\n\t\t\tselected: item.selected,\n\t\t\tdisabled,\n\t\t};\n\t\treturn res;\n\t});\n});\n\n/**\n * Same behavior as GMail.\n * If anything is selected remove it.\n * Then when empty you select all items of this page\n */\nconst onChangeSelectAll = (value: boolean) => {\n\tlet selectAllValue = value;\n\tlet modelValue: any[] = [];\n\n\tif (selectAllValue) {\n\t\tmodelValue = mappedItems.value.reduce((acc: any[], curr) => {\n\t\t\tif (!curr.disabled) acc.push(curr.value);\n\t\t\treturn acc;\n\t\t}, []);\n\t}\n\temit('update:modelValue', modelValue);\n\temit('update:selectAll', value);\n};\n\nconst allSelected = computed(\n\t() =>\n\t\t!!(\n\t\t\tmappedItems.value.length &&\n\t\t\tmappedItems.value\n\t\t\t\t.filter((item) => !item.disabled)\n\t\t\t\t.every((item) => item.selected)\n\t\t)\n);\nconst indeterminate = computed(\n\t() =>\n\t\tmappedItems.value.some((item) => !item.selected) &&\n\t\t!!props.modelValue?.length\n);\n/**\n * Whenever an input changes update modelValue if any\n */\nconst onInputChange = (item: MappedItem) => {\n\tif (item.selected) {\n\t\tunselectOption(item);\n\t} else {\n\t\tselectOption(item);\n\t}\n};\n\n/**\n * When using this component for submission we add a bunch of hidden inputs\n * so the submitted inputs is on par with v-model\n */\n\n/**\n * This is used to keep the value compatible to common html expected values.\n * Convert to string everything that's not but do not double encode strings\n */\nconst makeInputValue = when(\n\t(item: unknown) => typeof item !== 'string',\n\tJSON.stringify\n);\nconst hiddenInputs = computed(() => {\n\treturn [].concat(props.modelValue).map((current) => {\n\t\tconst value = makeInputValue(current);\n\t\treturn {\n\t\t\tdisabled: props.disabled,\n\t\t\tname: props.name,\n\t\t\ttype: 'hidden',\n\t\t\tvalue: value,\n\t\t};\n\t});\n});\n\nconst skeletonLength = computed(() => {\n\treturn clamp(options.value.length, 4, 10);\n});\n\nwatch(\n\t() => mappedItems.value,\n\t() => {\n\t\tif (props.fixedColumns.length && props.items) {\n\t\t\tif (container.value) {\n\t\t\t\t// Get all the headers\n\t\t\t\tconst headers = Array.from(\n\t\t\t\t\tcontainer.value.querySelectorAll<HTMLElement>('thead th')\n\t\t\t\t);\n\n\t\t\t\ttype MappedColumn = {\n\t\t\t\t\tindex: number;\n\t\t\t\t\tposition: 'left' | 'right';\n\t\t\t\t\twidth: number;\n\t\t\t\t\toffset: number;\n\t\t\t\t};\n\n\t\t\t\tconst mappedColumns = props.fixedColumns.reduce((acc, curr) => {\n\t\t\t\t\tconst index = typeof curr === 'number' ? curr : curr.index;\n\t\t\t\t\tconst position = typeof curr === 'number' ? 'left' : curr.position;\n\t\t\t\t\tconst clientRect = headers[index].getBoundingClientRect();\n\t\t\t\t\tconst width = Math.floor(clientRect.width);\n\t\t\t\t\tconst offset = acc\n\t\t\t\t\t\t.filter((el) => el.position === position)\n\t\t\t\t\t\t.map((el) => el.width)\n\t\t\t\t\t\t.reduce(add, 0);\n\n\t\t\t\t\tconst mapped: MappedColumn = {\n\t\t\t\t\t\tindex: index,\n\t\t\t\t\t\tposition: position,\n\t\t\t\t\t\twidth: width,\n\t\t\t\t\t\toffset: offset,\n\t\t\t\t\t};\n\t\t\t\t\tacc.push(mapped);\n\t\t\t\t\treturn acc;\n\t\t\t\t}, [] as MappedColumn[]);\n\n\t\t\t\tconst rows = Array.from(container.value?.querySelectorAll('tr'));\n\t\t\t\tconst affectedCells = rows.map((row) =>\n\t\t\t\t\tArray.from(\n\t\t\t\t\t\trow.querySelectorAll<HTMLElement>(\n\t\t\t\t\t\t\tmappedColumns\n\t\t\t\t\t\t\t\t.map((el) => `:scope > :nth-child(${el.index + 1})`)\n\t\t\t\t\t\t\t\t.join(', ')\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t\taffectedCells.forEach((row) => {\n\t\t\t\t\trow.forEach((cell, index) => {\n\t\t\t\t\t\tcell.style.position = 'sticky';\n\n\t\t\t\t\t\tif (mappedColumns[index].position === 'left') {\n\t\t\t\t\t\t\tcell.style.left = `${mappedColumns[index].offset}px`;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcell.style.right = `${mappedColumns[index].offset}px`;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tflush: 'post',\n\t}\n);\n</script>\n\n<style lang=\"postcss\">\n@import '@/assets/css/BbTable';\n</style>\n"],"names":["getItemValue","useItemValue","randomName","useId","props","__props","emit","__emit","container","ref","accessibleLabel","loadingText","noDataText","selectText","containerTag","computed","internalLoading","loading","replacementContentSpan","acc","current","slotNames","curr","mapped","options","selectOption","unselectOption","internalItems","useOptions","toRef","mappedHeaders","column","align","label","key","slotName","classes","mappedItems","item","disabled","cols","content","isNil","temp","event","onChangeSelectAll","value","selectAllValue","modelValue","allSelected","indeterminate","_a","onInputChange","makeInputValue","when","hiddenInputs","skeletonLength","clamp","watch","headers","mappedColumns","index","position","clientRect","width","offset","el","add","row","cell"],"mappings":"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"}
|
package/dist/index115.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as s, openBlock as e, createBlock as o, Teleport as l, createElementVNode as c, normalizeClass as m, createVNode as i, TransitionGroup as p, withCtx as u, createElementBlock as f, Fragment as d, renderList as _, unref as r, mergeProps as b } from "vue";
|
|
2
2
|
import { state as k, useToast as C } from "./index12.js";
|
|
3
|
-
import B from "./
|
|
3
|
+
import B from "./index286.js";
|
|
4
4
|
const N = /* @__PURE__ */ s({
|
|
5
5
|
__name: "BbToast",
|
|
6
6
|
props: {
|
package/dist/index117.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { defineComponent as A, ref as
|
|
2
|
-
import { useFloating as
|
|
3
|
-
import { useId as
|
|
4
|
-
import { wait as
|
|
5
|
-
import
|
|
1
|
+
import { defineComponent as z, defineAsyncComponent as A, ref as a, computed as _, watch as I, openBlock as b, createElementBlock as R, mergeProps as U, createElementVNode as c, renderSlot as D, normalizeProps as W, guardReactiveProps as j, unref as u, createBlock as L, withCtx as $, createCommentVNode as M } from "vue";
|
|
2
|
+
import { useFloating as q, arrow as G } from "./index203.js";
|
|
3
|
+
import { useId as J } from "./index9.js";
|
|
4
|
+
import { wait as P } from "./index128.js";
|
|
5
|
+
import K from "./index14.js";
|
|
6
6
|
/* empty css */
|
|
7
|
-
import { throttle as w } from "./
|
|
8
|
-
import { waitFor as
|
|
9
|
-
import { autoUpdate as
|
|
10
|
-
const
|
|
7
|
+
import { throttle as w } from "./index233.js";
|
|
8
|
+
import { waitFor as Q } from "./index213.js";
|
|
9
|
+
import { autoUpdate as X, flip as Y, shift as Z, hide as x } from "./index215.js";
|
|
10
|
+
const ee = /* @__PURE__ */ c("svg", {
|
|
11
11
|
fill: "none",
|
|
12
12
|
viewBox: "0 0 24 24",
|
|
13
13
|
xmlns: "http://www.w3.org/2000/svg"
|
|
@@ -18,7 +18,7 @@ const ae = { class: "bb-tooltip__bubble" }, ne = /* @__PURE__ */ c("svg", {
|
|
|
18
18
|
"stroke-linecap": "round",
|
|
19
19
|
"stroke-width": "2"
|
|
20
20
|
})
|
|
21
|
-
], -1),
|
|
21
|
+
], -1), pe = /* @__PURE__ */ z({
|
|
22
22
|
__name: "BbTooltip",
|
|
23
23
|
props: {
|
|
24
24
|
arrowPadding: { default: 10 },
|
|
@@ -26,6 +26,7 @@ const ae = { class: "bb-tooltip__bubble" }, ne = /* @__PURE__ */ c("svg", {
|
|
|
26
26
|
disabled: { type: Boolean },
|
|
27
27
|
eager: { type: Boolean },
|
|
28
28
|
id: {},
|
|
29
|
+
offset: {},
|
|
29
30
|
padding: { default: 10 },
|
|
30
31
|
placement: { default: "top" },
|
|
31
32
|
showClose: { type: Boolean, default: !0 },
|
|
@@ -33,132 +34,135 @@ const ae = { class: "bb-tooltip__bubble" }, ne = /* @__PURE__ */ c("svg", {
|
|
|
33
34
|
transitionDuration: { default: 250 }
|
|
34
35
|
},
|
|
35
36
|
setup(F) {
|
|
36
|
-
const
|
|
37
|
-
|
|
37
|
+
const O = A(
|
|
38
|
+
() => import("./index260.js")
|
|
39
|
+
), t = F, g = `bb_${t.id ?? J().id.value}`, s = a(), d = a(), T = a(), { floatingStyles: te, placement: h, middlewareData: f } = q(
|
|
40
|
+
s,
|
|
38
41
|
d,
|
|
39
42
|
{
|
|
40
43
|
placement: t.placement,
|
|
41
|
-
whileElementsMounted:
|
|
44
|
+
whileElementsMounted: X,
|
|
42
45
|
middleware: [
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
element:
|
|
46
|
+
Y(),
|
|
47
|
+
Z({ padding: t.padding }),
|
|
48
|
+
G({
|
|
49
|
+
element: T,
|
|
47
50
|
padding: t.arrowPadding
|
|
48
51
|
}),
|
|
49
|
-
|
|
52
|
+
x()
|
|
50
53
|
]
|
|
51
54
|
}
|
|
52
55
|
);
|
|
53
56
|
let y = () => {
|
|
54
57
|
};
|
|
55
|
-
const k =
|
|
58
|
+
const k = a(!0), n = a(!1), r = a(!1), l = a(!1), p = a(!0);
|
|
59
|
+
_(() => {
|
|
56
60
|
if (f.value.arrow) {
|
|
57
|
-
const { x: e, y:
|
|
61
|
+
const { x: e, y: o } = f.value.arrow;
|
|
58
62
|
return {
|
|
59
63
|
style: {
|
|
60
64
|
left: `${e}px`,
|
|
61
|
-
top: `${
|
|
65
|
+
top: `${o}px`
|
|
62
66
|
}
|
|
63
67
|
};
|
|
64
68
|
}
|
|
65
|
-
})
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
69
|
+
});
|
|
70
|
+
const C = () => {
|
|
71
|
+
r.value || n.value || t.disabled || (S(), document.addEventListener("mouseover", B, { passive: !0 }), document.addEventListener("keydown", E, { passive: !0 }));
|
|
72
|
+
}, H = C, B = w((e) => {
|
|
73
|
+
const o = e.target;
|
|
74
|
+
if (o && o instanceof HTMLElement) {
|
|
70
75
|
let v = !0;
|
|
71
|
-
|
|
76
|
+
s.value && s.value.contains(o) && (v = !1), d.value && d.value.contains(o) && (v = !1), v && i();
|
|
72
77
|
}
|
|
73
78
|
}, t.transitionDuration), E = (e) => {
|
|
74
|
-
|
|
79
|
+
r.value && e.key === "Escape" && i();
|
|
75
80
|
}, N = () => {
|
|
76
81
|
k.value = !1, i();
|
|
77
|
-
}, m =
|
|
78
|
-
k.value && (m.value = !0,
|
|
82
|
+
}, m = a(!1), S = w(async () => {
|
|
83
|
+
k.value && (m.value = !0, p.value = !1, l.value = !1, n.value = !0, await P(50), r.value = !0, n.value = !1, y = I(
|
|
79
84
|
() => {
|
|
80
85
|
var e;
|
|
81
86
|
return (e = f.value.hide) == null ? void 0 : e.referenceHidden;
|
|
82
87
|
},
|
|
83
88
|
async (e) => {
|
|
84
|
-
!
|
|
89
|
+
!l.value && !p.value && e && await i();
|
|
85
90
|
}
|
|
86
91
|
));
|
|
87
92
|
}, t.transitionDuration), i = w(async () => {
|
|
88
|
-
await
|
|
89
|
-
}, t.transitionDuration),
|
|
93
|
+
await Q(() => !n.value), document.removeEventListener("mouseover", B), document.removeEventListener("keydown", E), r.value = !1, n.value = !1, l.value = !0, await P(t.transitionDuration), l.value = !1, p.value = !0, y();
|
|
94
|
+
}, t.transitionDuration), V = _(() => ({
|
|
90
95
|
class: {
|
|
91
96
|
"bb-tooltip--block": t.block,
|
|
92
97
|
[`bb-tooltip--theme-${t.theme}`]: t.theme
|
|
93
98
|
}
|
|
94
99
|
}));
|
|
95
|
-
return (e,
|
|
100
|
+
return (e, o) => (b(), R("span", U({ class: "bb-tooltip" }, V.value), [
|
|
96
101
|
c("span", {
|
|
97
102
|
ref_key: "wrapper",
|
|
98
|
-
ref:
|
|
103
|
+
ref: s,
|
|
99
104
|
class: "bb-tooltip__wrapper"
|
|
100
105
|
}, [
|
|
101
|
-
|
|
106
|
+
D(e.$slots, "activator", W(j({
|
|
102
107
|
props: {
|
|
103
|
-
...m.value ? { "aria-describedby":
|
|
104
|
-
onMouseenter:
|
|
108
|
+
...m.value ? { "aria-describedby": g } : {},
|
|
109
|
+
onMouseenter: C,
|
|
105
110
|
onFocus: u(H),
|
|
106
111
|
onBlur: u(i),
|
|
107
112
|
disabled: e.disabled
|
|
108
113
|
},
|
|
109
|
-
closed:
|
|
110
|
-
closing:
|
|
114
|
+
closed: p.value,
|
|
115
|
+
closing: l.value,
|
|
111
116
|
disabled: e.disabled,
|
|
112
|
-
open:
|
|
113
|
-
opening:
|
|
114
|
-
placement: u(
|
|
117
|
+
open: r.value,
|
|
118
|
+
opening: n.value,
|
|
119
|
+
placement: u(h)
|
|
115
120
|
})))
|
|
116
121
|
], 512),
|
|
117
|
-
(b(), O
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}, S.value), null, 16),
|
|
141
|
-
c("span", ae, [
|
|
142
|
-
e.showClose ? (b(), O(X, {
|
|
122
|
+
m.value || e.eager ? (b(), L(u(O), {
|
|
123
|
+
key: 0,
|
|
124
|
+
"arrow-padding": e.arrowPadding,
|
|
125
|
+
"base-class": "bb-tooltip",
|
|
126
|
+
"container-attributes": {
|
|
127
|
+
id: g
|
|
128
|
+
},
|
|
129
|
+
eager: e.eager,
|
|
130
|
+
offset: e.offset,
|
|
131
|
+
open: r.value,
|
|
132
|
+
padding: e.padding,
|
|
133
|
+
placement: u(h),
|
|
134
|
+
theme: e.theme,
|
|
135
|
+
"transition-duration": e.transitionDuration,
|
|
136
|
+
wrapper: s.value
|
|
137
|
+
}, {
|
|
138
|
+
default: $(() => [
|
|
139
|
+
c("span", {
|
|
140
|
+
ref_key: "content",
|
|
141
|
+
ref: d,
|
|
142
|
+
class: "bb-tooltip__content"
|
|
143
|
+
}, [
|
|
144
|
+
e.showClose ? (b(), L(K, {
|
|
143
145
|
key: 0,
|
|
144
146
|
"aria-hidden": "true",
|
|
147
|
+
"aria-label": "Chiudi",
|
|
145
148
|
class: "bb-tooltip__close",
|
|
146
149
|
tabindex: "-1",
|
|
147
150
|
onClick: N
|
|
148
151
|
}, {
|
|
149
|
-
default:
|
|
150
|
-
|
|
152
|
+
default: $(() => [
|
|
153
|
+
ee
|
|
151
154
|
]),
|
|
152
155
|
_: 1
|
|
153
|
-
})) :
|
|
154
|
-
|
|
155
|
-
])
|
|
156
|
-
]
|
|
157
|
-
|
|
156
|
+
})) : M("", !0),
|
|
157
|
+
D(e.$slots, "default")
|
|
158
|
+
], 512)
|
|
159
|
+
]),
|
|
160
|
+
_: 3
|
|
161
|
+
}, 8, ["arrow-padding", "container-attributes", "eager", "offset", "open", "padding", "placement", "theme", "transition-duration", "wrapper"])) : M("", !0)
|
|
158
162
|
], 16));
|
|
159
163
|
}
|
|
160
164
|
});
|
|
161
165
|
export {
|
|
162
|
-
|
|
166
|
+
pe as default
|
|
163
167
|
};
|
|
164
168
|
//# sourceMappingURL=index117.js.map
|