@clickhouse/click-ui 0.6.1 → 0.6.2-rc1
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/README.md +5 -0
- package/dist/cjs/click-ui.css +398 -0
- package/dist/cjs/components/AutoComplete/index.cjs +4 -1
- package/dist/cjs/components/AutoComplete/index.cjs.map +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.css +37 -0
- package/dist/cjs/components/ButtonGroup/ButtonGroup.module.css.cjs +8 -0
- package/dist/cjs/components/ButtonGroup/ButtonGroup.module.css.cjs.map +1 -1
- package/dist/cjs/components/ButtonGroup/index.cjs +21 -2
- package/dist/cjs/components/ButtonGroup/index.cjs.map +1 -1
- package/dist/cjs/components/CardPrimary/CardPrimaryTopBadge.cjs +1 -0
- package/dist/cjs/components/Collapsible/IconWrapper.cjs +1 -0
- package/dist/cjs/components/ContextMenu/index.cjs +4 -1
- package/dist/cjs/components/ContextMenu/index.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/Common.cjs +1 -1
- package/dist/cjs/components/DatePicker/Common.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/index.cjs +4 -1
- package/dist/cjs/components/DatePicker/index.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.css +97 -0
- package/dist/cjs/components/Dialog/Dialog.module.css.cjs +27 -0
- package/dist/cjs/components/Dialog/Dialog.module.css.cjs.map +1 -0
- package/dist/cjs/components/Dialog/index.cjs +29 -71
- package/dist/cjs/components/Dialog/index.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/index.cjs +4 -1
- package/dist/cjs/components/Dropdown/index.cjs.map +1 -1
- package/dist/cjs/components/Flyout/index.cjs +23 -19
- package/dist/cjs/components/Flyout/index.cjs.map +1 -1
- package/dist/cjs/components/HoverCard/index.cjs +3 -1
- package/dist/cjs/components/HoverCard/index.cjs.map +1 -1
- package/dist/cjs/components/Icon/SvgImageElement.cjs +1 -0
- package/dist/cjs/components/MultiAccordion/MultiAccordion.css +200 -0
- package/dist/cjs/components/MultiAccordion/MultiAccordion.module.css.cjs +42 -0
- package/dist/cjs/components/MultiAccordion/MultiAccordion.module.css.cjs.map +1 -0
- package/dist/cjs/components/MultiAccordion/index.cjs +102 -92
- package/dist/cjs/components/MultiAccordion/index.cjs.map +1 -1
- package/dist/cjs/components/Popover/index.cjs +3 -1
- package/dist/cjs/components/Popover/index.cjs.map +1 -1
- package/dist/cjs/components/Select/common/InternalSelect.cjs +3 -1
- package/dist/cjs/components/Select/common/InternalSelect.cjs.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.css +54 -0
- package/dist/cjs/components/Tabs/Tabs.module.css.cjs +20 -0
- package/dist/cjs/components/Tabs/Tabs.module.css.cjs.map +1 -0
- package/dist/cjs/components/Tabs/index.cjs +45 -20
- package/dist/cjs/components/Tabs/index.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/index.cjs +4 -1
- package/dist/cjs/components/Tooltip/index.cjs.map +1 -1
- package/dist/cjs/index.cjs +5 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/providers/PortalContext.cjs +19 -0
- package/dist/cjs/providers/PortalContext.cjs.map +1 -0
- package/dist/cjs/providers/PortalProvider.cjs +16 -0
- package/dist/cjs/providers/PortalProvider.cjs.map +1 -0
- package/dist/cjs/theme/styles/tokens-dark.css +5 -0
- package/dist/cjs/theme/styles/tokens-light.css +5 -0
- package/dist/cjs/theme/tokens/variables.dark.cjs +15 -0
- package/dist/cjs/theme/tokens/variables.dark.cjs.map +1 -1
- package/dist/cjs/theme/tokens/variables.light.cjs +15 -0
- package/dist/cjs/theme/tokens/variables.light.cjs.map +1 -1
- package/dist/esm/click-ui.css +398 -0
- package/dist/esm/components/AutoComplete/index.js +4 -1
- package/dist/esm/components/AutoComplete/index.js.map +1 -1
- package/dist/esm/components/ButtonGroup/ButtonGroup.css +37 -0
- package/dist/esm/components/ButtonGroup/ButtonGroup.module.css.js +7 -1
- package/dist/esm/components/ButtonGroup/ButtonGroup.module.css.js.map +1 -1
- package/dist/esm/components/ButtonGroup/index.js +21 -2
- package/dist/esm/components/ButtonGroup/index.js.map +1 -1
- package/dist/esm/components/CardPrimary/CardPrimaryTopBadge.js +1 -0
- package/dist/esm/components/Collapsible/IconWrapper.js +1 -0
- package/dist/esm/components/ContextMenu/index.js +4 -1
- package/dist/esm/components/ContextMenu/index.js.map +1 -1
- package/dist/esm/components/DatePicker/Common.js +1 -1
- package/dist/esm/components/DatePicker/Common.js.map +1 -1
- package/dist/esm/components/DatePicker/index.js +4 -1
- package/dist/esm/components/DatePicker/index.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.css +97 -0
- package/dist/esm/components/Dialog/Dialog.module.css.js +18 -0
- package/dist/esm/components/Dialog/Dialog.module.css.js.map +1 -0
- package/dist/esm/components/Dialog/index.js +29 -71
- package/dist/esm/components/Dialog/index.js.map +1 -1
- package/dist/esm/components/Dropdown/index.js +4 -1
- package/dist/esm/components/Dropdown/index.js.map +1 -1
- package/dist/esm/components/Flyout/index.js +23 -19
- package/dist/esm/components/Flyout/index.js.map +1 -1
- package/dist/esm/components/HoverCard/index.js +3 -1
- package/dist/esm/components/HoverCard/index.js.map +1 -1
- package/dist/esm/components/Icon/SvgImageElement.js +1 -0
- package/dist/esm/components/MultiAccordion/MultiAccordion.css +200 -0
- package/dist/esm/components/MultiAccordion/MultiAccordion.module.css.js +38 -0
- package/dist/esm/components/MultiAccordion/MultiAccordion.module.css.js.map +1 -0
- package/dist/esm/components/MultiAccordion/index.js +102 -92
- package/dist/esm/components/MultiAccordion/index.js.map +1 -1
- package/dist/esm/components/Popover/index.js +3 -1
- package/dist/esm/components/Popover/index.js.map +1 -1
- package/dist/esm/components/Select/common/InternalSelect.js +3 -1
- package/dist/esm/components/Select/common/InternalSelect.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.css +54 -0
- package/dist/esm/components/Tabs/Tabs.module.css.js +14 -0
- package/dist/esm/components/Tabs/Tabs.module.css.js.map +1 -0
- package/dist/esm/components/Tabs/index.js +45 -20
- package/dist/esm/components/Tabs/index.js.map +1 -1
- package/dist/esm/components/Tooltip/index.js +4 -1
- package/dist/esm/components/Tooltip/index.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/providers/PortalContext.js +13 -0
- package/dist/esm/providers/PortalContext.js.map +1 -0
- package/dist/esm/providers/PortalProvider.js +12 -0
- package/dist/esm/providers/PortalProvider.js.map +1 -0
- package/dist/esm/theme/styles/tokens-dark.css +5 -0
- package/dist/esm/theme/styles/tokens-light.css +5 -0
- package/dist/esm/theme/tokens/variables.dark.js +15 -0
- package/dist/esm/theme/tokens/variables.dark.js.map +1 -1
- package/dist/esm/theme/tokens/variables.light.js +15 -0
- package/dist/esm/theme/tokens/variables.light.js.map +1 -1
- package/dist/types/components/AutoComplete/AutoComplete.d.ts +2 -1
- package/dist/types/components/ButtonGroup/ButtonGroup.types.d.ts +5 -0
- package/dist/types/components/ButtonGroup/index.d.ts +1 -1
- package/dist/types/components/ContextMenu/ContextMenu.d.ts +3 -1
- package/dist/types/components/DatePicker/DatePicker.d.ts +2 -1
- package/dist/types/components/Dialog/Dialog.d.ts +2 -2
- package/dist/types/components/Dropdown/Dropdown.d.ts +3 -1
- package/dist/types/components/Flyout/Flyout.d.ts +1 -1
- package/dist/types/components/Flyout/Flyout.types.d.ts +2 -0
- package/dist/types/components/MultiAccordion/MultiAccordion.d.ts +2 -2
- package/dist/types/components/Tabs/Tabs.d.ts +11 -21
- package/dist/types/components/Tooltip/Tooltip.d.ts +2 -10
- package/dist/types/components/Tooltip/Tooltip.types.d.ts +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/providers/PortalContext.d.ts +4 -0
- package/dist/types/providers/PortalProvider.d.ts +7 -0
- package/dist/types/providers/index.d.ts +4 -0
- package/dist/types/theme/theme.core.d.ts +30 -0
- package/dist/types/theme/tokens/variables.dark.d.ts +15 -0
- package/dist/types/theme/tokens/variables.light.d.ts +15 -0
- package/package.json +2 -3
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
.multi-accordion__ntYTM {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
justify-content: start;
|
|
5
|
+
align-items: start;
|
|
6
|
+
gap: var(--multi-accordion-gap);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.multi-accordion_fill-width__Rnqso {
|
|
10
|
+
width: 100%;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.multi-accordion_gap_none__NrRxK {
|
|
14
|
+
--multi-accordion-gap: var(--click-container-gap-none);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.multi-accordion_gap_xxs__1FSFF {
|
|
18
|
+
--multi-accordion-gap: var(--click-container-gap-xxs);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.multi-accordion_gap_xs__oHQut {
|
|
22
|
+
--multi-accordion-gap: var(--click-container-gap-xs);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.multi-accordion_gap_sm__hxMme {
|
|
26
|
+
--multi-accordion-gap: var(--click-container-gap-sm);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.multi-accordion_gap_md__epg85 {
|
|
30
|
+
--multi-accordion-gap: var(--click-container-gap-md);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.multi-accordion_gap_lg__iYlYQ {
|
|
34
|
+
--multi-accordion-gap: var(--click-container-gap-lg);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.multi-accordion_gap_xl__1uarr {
|
|
38
|
+
--multi-accordion-gap: var(--click-container-gap-xl);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.multi-accordion_gap_xxl__m9X9V {
|
|
42
|
+
--multi-accordion-gap: var(--click-container-gap-xxl);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.multi-accordion__item__RHKu8 {
|
|
46
|
+
border: 1px solid var(--click-global-color-stroke-default);
|
|
47
|
+
border-radius: var(--border-radii-1);
|
|
48
|
+
background-color: var(--click-global-color-background-default);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.multi-accordion__item_no-border__ZtqMX {
|
|
52
|
+
border: none;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.multi-accordion__item_fill-width__zyq4f {
|
|
56
|
+
width: 100%;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.multi-accordion__trigger__etXVq {
|
|
60
|
+
display: flex;
|
|
61
|
+
width: 100%;
|
|
62
|
+
padding: var(--multi-accordion-trigger-padding);
|
|
63
|
+
align-items: center;
|
|
64
|
+
gap: var(--multi-accordion-trigger-gap);
|
|
65
|
+
border: none;
|
|
66
|
+
border-radius: inherit;
|
|
67
|
+
background-color: transparent;
|
|
68
|
+
color: var(--multi-accordion-label-default);
|
|
69
|
+
font: var(--multi-accordion-font-default);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.multi-accordion__trigger__etXVq:active {
|
|
73
|
+
color: var(--multi-accordion-label-active);
|
|
74
|
+
font: var(--multi-accordion-font-active);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.multi-accordion__trigger__etXVq:hover {
|
|
78
|
+
background: var(--click-global-color-stroke-default);
|
|
79
|
+
color: var(--multi-accordion-label-hover);
|
|
80
|
+
font: var(--multi-accordion-font-hover);
|
|
81
|
+
cursor: pointer;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.multi-accordion__trigger__etXVq [data-icon='accordion-status'] {
|
|
85
|
+
color: var(--global-color-stroke-intense);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.multi-accordion__trigger__etXVq[data-state='open'] {
|
|
89
|
+
border-bottom-left-radius: 0;
|
|
90
|
+
border-bottom-right-radius: 0;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
.multi-accordion__trigger__etXVq[data-state='open'] [data-icon='accordion-status'] {
|
|
94
|
+
color: var(--global-color-accent-default);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.multi-accordion__trigger_size_none__o4eWF {
|
|
98
|
+
--multi-accordion-trigger-padding: var(--click-container-space-none);
|
|
99
|
+
--multi-accordion-trigger-gap: var(--click-accordion-sm-space-gap);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.multi-accordion__trigger_size_sm__80VXp {
|
|
103
|
+
--multi-accordion-trigger-padding: var(--click-container-space-sm);
|
|
104
|
+
--multi-accordion-trigger-gap: var(--click-accordion-sm-space-gap);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.multi-accordion__trigger_size_md__uAE8q {
|
|
108
|
+
--multi-accordion-trigger-padding: var(--click-container-space-md);
|
|
109
|
+
--multi-accordion-trigger-gap: var(--click-accordion-md-space-gap);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
.multi-accordion__trigger_size_lg__VHN7C {
|
|
113
|
+
--multi-accordion-trigger-padding: var(--click-container-space-lg);
|
|
114
|
+
--multi-accordion-trigger-gap: var(--click-accordion-lg-space-gap);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.multi-accordion__trigger_font_sm__xnOLy {
|
|
118
|
+
--multi-accordion-font-default: var(--click-accordion-sm-typography-label-default);
|
|
119
|
+
--multi-accordion-font-hover: var(--click-accordion-sm-typography-label-hover);
|
|
120
|
+
--multi-accordion-font-active: var(--click-accordion-sm-typography-label-active);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.multi-accordion__trigger_font_md__hTIA8 {
|
|
124
|
+
--multi-accordion-font-default: var(--click-accordion-md-typography-label-default);
|
|
125
|
+
--multi-accordion-font-hover: var(--click-accordion-md-typography-label-hover);
|
|
126
|
+
--multi-accordion-font-active: var(--click-accordion-md-typography-label-active);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.multi-accordion__trigger_font_lg__yMSpQ {
|
|
130
|
+
--multi-accordion-font-default: var(--click-accordion-lg-typography-label-default);
|
|
131
|
+
--multi-accordion-font-hover: var(--click-accordion-lg-typography-label-hover);
|
|
132
|
+
--multi-accordion-font-active: var(--click-accordion-lg-typography-label-active);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
.multi-accordion__trigger_color_default__X7f4v {
|
|
136
|
+
--multi-accordion-label-default: var(--click-accordion-color-default-label-default);
|
|
137
|
+
--multi-accordion-label-hover: var(--click-accordion-color-default-label-hover);
|
|
138
|
+
--multi-accordion-label-active: var(--click-accordion-color-default-label-active);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.multi-accordion__trigger_color_link__hXDgW {
|
|
142
|
+
--multi-accordion-label-default: var(--click-accordion-color-link-label-default);
|
|
143
|
+
--multi-accordion-label-hover: var(--click-accordion-color-link-label-hover);
|
|
144
|
+
--multi-accordion-label-active: var(--click-accordion-color-link-label-active);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.multi-accordion__icon-wrapper__uhWrs {
|
|
148
|
+
display: flex;
|
|
149
|
+
justify-content: center;
|
|
150
|
+
align-items: center;
|
|
151
|
+
transition: transform 200ms cubic-bezier(0.87, 0, 0.13, 1);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.multi-accordion__trigger__etXVq[data-state='open'] .multi-accordion__icon-wrapper__uhWrs {
|
|
155
|
+
transform: rotate(90deg);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.multi-accordion__icons-wrapper__67uu- {
|
|
159
|
+
display: flex;
|
|
160
|
+
justify-content: center;
|
|
161
|
+
align-items: center;
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
.multi-accordion__content__Gz0po {
|
|
165
|
+
padding: var(--multi-accordion-content-padding);
|
|
166
|
+
padding-top: 0;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
.multi-accordion__content_padding_none__GgbED {
|
|
170
|
+
--multi-accordion-content-padding: var(--click-container-space-none);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
.multi-accordion__content_padding_sm__nmI7q {
|
|
174
|
+
--multi-accordion-content-padding: var(--click-container-space-sm);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.multi-accordion__content_padding_md__XD2Ki {
|
|
178
|
+
--multi-accordion-content-padding: var(--click-container-space-md);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.multi-accordion__content_padding_lg__W-njL {
|
|
182
|
+
--multi-accordion-content-padding: var(--click-container-space-lg);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.multi-accordion__title__kLWyH {
|
|
186
|
+
overflow: hidden;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/* stylelint-disable-next-line block-no-empty -- base element required by BEM */
|
|
190
|
+
.multi-accordion__status-icon__MNVgx {
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.multi-accordion__status-icon_completed__z5-XJ svg path {
|
|
194
|
+
fill: var(--global-color-accent-default) !important;
|
|
195
|
+
stroke: var(--global-color-background-default) !important;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.multi-accordion__status-icon_completed__z5-XJ svg path:first-of-type {
|
|
199
|
+
stroke: var(--global-color-accent-default) !important;
|
|
200
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
|
|
4
|
+
|
|
5
|
+
const styles = {
|
|
6
|
+
"multi-accordion": "multi-accordion__ntYTM",
|
|
7
|
+
"multi-accordion_fill-width": "multi-accordion_fill-width__Rnqso",
|
|
8
|
+
"multi-accordion_gap_none": "multi-accordion_gap_none__NrRxK",
|
|
9
|
+
"multi-accordion_gap_xxs": "multi-accordion_gap_xxs__1FSFF",
|
|
10
|
+
"multi-accordion_gap_xs": "multi-accordion_gap_xs__oHQut",
|
|
11
|
+
"multi-accordion_gap_sm": "multi-accordion_gap_sm__hxMme",
|
|
12
|
+
"multi-accordion_gap_md": "multi-accordion_gap_md__epg85",
|
|
13
|
+
"multi-accordion_gap_lg": "multi-accordion_gap_lg__iYlYQ",
|
|
14
|
+
"multi-accordion_gap_xl": "multi-accordion_gap_xl__1uarr",
|
|
15
|
+
"multi-accordion_gap_xxl": "multi-accordion_gap_xxl__m9X9V",
|
|
16
|
+
"multi-accordion__item": "multi-accordion__item__RHKu8",
|
|
17
|
+
"multi-accordion__item_no-border": "multi-accordion__item_no-border__ZtqMX",
|
|
18
|
+
"multi-accordion__item_fill-width": "multi-accordion__item_fill-width__zyq4f",
|
|
19
|
+
"multi-accordion__trigger": "multi-accordion__trigger__etXVq",
|
|
20
|
+
"multi-accordion__trigger_size_none": "multi-accordion__trigger_size_none__o4eWF",
|
|
21
|
+
"multi-accordion__trigger_size_sm": "multi-accordion__trigger_size_sm__80VXp",
|
|
22
|
+
"multi-accordion__trigger_size_md": "multi-accordion__trigger_size_md__uAE8q",
|
|
23
|
+
"multi-accordion__trigger_size_lg": "multi-accordion__trigger_size_lg__VHN7C",
|
|
24
|
+
"multi-accordion__trigger_font_sm": "multi-accordion__trigger_font_sm__xnOLy",
|
|
25
|
+
"multi-accordion__trigger_font_md": "multi-accordion__trigger_font_md__hTIA8",
|
|
26
|
+
"multi-accordion__trigger_font_lg": "multi-accordion__trigger_font_lg__yMSpQ",
|
|
27
|
+
"multi-accordion__trigger_color_default": "multi-accordion__trigger_color_default__X7f4v",
|
|
28
|
+
"multi-accordion__trigger_color_link": "multi-accordion__trigger_color_link__hXDgW",
|
|
29
|
+
"multi-accordion__icon-wrapper": "multi-accordion__icon-wrapper__uhWrs",
|
|
30
|
+
"multi-accordion__icons-wrapper": "multi-accordion__icons-wrapper__67uu-",
|
|
31
|
+
"multi-accordion__content": "multi-accordion__content__Gz0po",
|
|
32
|
+
"multi-accordion__content_padding_none": "multi-accordion__content_padding_none__GgbED",
|
|
33
|
+
"multi-accordion__content_padding_sm": "multi-accordion__content_padding_sm__nmI7q",
|
|
34
|
+
"multi-accordion__content_padding_md": "multi-accordion__content_padding_md__XD2Ki",
|
|
35
|
+
"multi-accordion__content_padding_lg": "multi-accordion__content_padding_lg__W-njL",
|
|
36
|
+
"multi-accordion__title": "multi-accordion__title__kLWyH",
|
|
37
|
+
"multi-accordion__status-icon": "multi-accordion__status-icon__MNVgx",
|
|
38
|
+
"multi-accordion__status-icon_completed": "multi-accordion__status-icon_completed__z5-XJ"
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
exports.default = styles;
|
|
42
|
+
//# sourceMappingURL=MultiAccordion.module.css.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiAccordion.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
+
require("./MultiAccordion.css");
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
4
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
5
|
|
|
5
6
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
7
|
const RadixAccordion = require('@radix-ui/react-accordion');
|
|
7
|
-
const styledComponents = require('styled-components');
|
|
8
8
|
const react = require('react');
|
|
9
|
+
const cva = require('../../lib/cva.cjs');
|
|
10
|
+
const MultiAccordion_module = require('./MultiAccordion.module.css.cjs');
|
|
9
11
|
const Icon = require('../Icon/index.cjs');
|
|
10
|
-
const Text = require('../Text/index.cjs');
|
|
11
12
|
const Container = require('../Container/index.cjs');
|
|
13
|
+
const Text = require('../Text/index.cjs');
|
|
12
14
|
const Spacer = require('../Spacer/index.cjs');
|
|
15
|
+
const classVarianceAuthority = require('class-variance-authority');
|
|
13
16
|
|
|
14
17
|
function _interopNamespace(e) {
|
|
15
18
|
if (e && e.__esModule) return e;
|
|
@@ -37,6 +40,28 @@ const MultiAccordionContext = react.createContext({
|
|
|
37
40
|
showBorder: true,
|
|
38
41
|
showCheck: false
|
|
39
42
|
});
|
|
43
|
+
const rootVariants = classVarianceAuthority.cva(MultiAccordion_module.default["multi-accordion"], {
|
|
44
|
+
variants: {
|
|
45
|
+
fillWidth: {
|
|
46
|
+
true: MultiAccordion_module.default["multi-accordion_fill-width"],
|
|
47
|
+
false: ""
|
|
48
|
+
},
|
|
49
|
+
gap: {
|
|
50
|
+
none: MultiAccordion_module.default["multi-accordion_gap_none"],
|
|
51
|
+
xxs: MultiAccordion_module.default["multi-accordion_gap_xxs"],
|
|
52
|
+
xs: MultiAccordion_module.default["multi-accordion_gap_xs"],
|
|
53
|
+
sm: MultiAccordion_module.default["multi-accordion_gap_sm"],
|
|
54
|
+
md: MultiAccordion_module.default["multi-accordion_gap_md"],
|
|
55
|
+
lg: MultiAccordion_module.default["multi-accordion_gap_lg"],
|
|
56
|
+
xl: MultiAccordion_module.default["multi-accordion_gap_xl"],
|
|
57
|
+
xxl: MultiAccordion_module.default["multi-accordion_gap_xxl"]
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
defaultVariants: {
|
|
61
|
+
fillWidth: true,
|
|
62
|
+
gap: "md"
|
|
63
|
+
}
|
|
64
|
+
});
|
|
40
65
|
const MultiAccordion = ({
|
|
41
66
|
size = "md",
|
|
42
67
|
children,
|
|
@@ -45,6 +70,7 @@ const MultiAccordion = ({
|
|
|
45
70
|
showBorder = true,
|
|
46
71
|
gap = "md",
|
|
47
72
|
markAsCompleted,
|
|
73
|
+
className,
|
|
48
74
|
...delegated
|
|
49
75
|
}) => {
|
|
50
76
|
const contextValue = {
|
|
@@ -54,8 +80,64 @@ const MultiAccordion = ({
|
|
|
54
80
|
showCheck,
|
|
55
81
|
markAsCompleted
|
|
56
82
|
};
|
|
57
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
83
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RadixAccordion__namespace.Root, { ...delegated, className: cva.cn(rootVariants({
|
|
84
|
+
fillWidth,
|
|
85
|
+
gap
|
|
86
|
+
}), className), children: /* @__PURE__ */ jsxRuntime.jsx(MultiAccordionContext.Provider, { value: contextValue, children }) });
|
|
58
87
|
};
|
|
88
|
+
const itemVariants = classVarianceAuthority.cva(MultiAccordion_module.default["multi-accordion__item"], {
|
|
89
|
+
variants: {
|
|
90
|
+
showBorder: {
|
|
91
|
+
true: "",
|
|
92
|
+
false: MultiAccordion_module.default["multi-accordion__item_no-border"]
|
|
93
|
+
},
|
|
94
|
+
fillWidth: {
|
|
95
|
+
true: MultiAccordion_module.default["multi-accordion__item_fill-width"],
|
|
96
|
+
false: ""
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
defaultVariants: {
|
|
100
|
+
showBorder: true,
|
|
101
|
+
fillWidth: true
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
const triggerVariants = classVarianceAuthority.cva(MultiAccordion_module.default["multi-accordion__trigger"], {
|
|
105
|
+
variants: {
|
|
106
|
+
size: {
|
|
107
|
+
none: MultiAccordion_module.default["multi-accordion__trigger_size_none"],
|
|
108
|
+
sm: MultiAccordion_module.default["multi-accordion__trigger_size_sm"],
|
|
109
|
+
md: MultiAccordion_module.default["multi-accordion__trigger_size_md"],
|
|
110
|
+
lg: MultiAccordion_module.default["multi-accordion__trigger_size_lg"]
|
|
111
|
+
},
|
|
112
|
+
font: {
|
|
113
|
+
sm: MultiAccordion_module.default["multi-accordion__trigger_font_sm"],
|
|
114
|
+
md: MultiAccordion_module.default["multi-accordion__trigger_font_md"],
|
|
115
|
+
lg: MultiAccordion_module.default["multi-accordion__trigger_font_lg"]
|
|
116
|
+
},
|
|
117
|
+
color: {
|
|
118
|
+
default: MultiAccordion_module.default["multi-accordion__trigger_color_default"],
|
|
119
|
+
link: MultiAccordion_module.default["multi-accordion__trigger_color_link"]
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
defaultVariants: {
|
|
123
|
+
size: "md",
|
|
124
|
+
font: "md",
|
|
125
|
+
color: "default"
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
const contentVariants = classVarianceAuthority.cva(MultiAccordion_module.default["multi-accordion__content"], {
|
|
129
|
+
variants: {
|
|
130
|
+
size: {
|
|
131
|
+
none: MultiAccordion_module.default["multi-accordion__content_padding_none"],
|
|
132
|
+
sm: MultiAccordion_module.default["multi-accordion__content_padding_sm"],
|
|
133
|
+
md: MultiAccordion_module.default["multi-accordion__content_padding_md"],
|
|
134
|
+
lg: MultiAccordion_module.default["multi-accordion__content_padding_lg"]
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
defaultVariants: {
|
|
138
|
+
size: "md"
|
|
139
|
+
}
|
|
140
|
+
});
|
|
59
141
|
const MultiAccordionItem = ({
|
|
60
142
|
value,
|
|
61
143
|
title,
|
|
@@ -65,6 +147,7 @@ const MultiAccordionItem = ({
|
|
|
65
147
|
gap,
|
|
66
148
|
children,
|
|
67
149
|
isCompleted = false,
|
|
150
|
+
className,
|
|
68
151
|
...props
|
|
69
152
|
}) => {
|
|
70
153
|
const {
|
|
@@ -81,18 +164,27 @@ const MultiAccordionItem = ({
|
|
|
81
164
|
}
|
|
82
165
|
};
|
|
83
166
|
const customSize = size === "none" ? "sm" : size;
|
|
84
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
167
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(RadixAccordion__namespace.Item, { value, ...props, className: cva.cn(itemVariants({
|
|
168
|
+
showBorder,
|
|
169
|
+
fillWidth
|
|
170
|
+
}), className), children: [
|
|
171
|
+
/* @__PURE__ */ jsxRuntime.jsxs(RadixAccordion__namespace.Trigger, { className: triggerVariants({
|
|
172
|
+
size,
|
|
173
|
+
font: customSize,
|
|
174
|
+
color: color ?? "default"
|
|
175
|
+
}), children: [
|
|
176
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: MultiAccordion_module.default["multi-accordion__icons-wrapper"], children: [
|
|
177
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: MultiAccordion_module.default["multi-accordion__icon-wrapper"], children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { name: "chevron-right", size: iconSize ?? customSize, "aria-label": "accordion icon" }) }),
|
|
88
178
|
icon ? /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { name: icon, size: iconSize ?? customSize }) : null
|
|
89
179
|
] }),
|
|
90
180
|
/* @__PURE__ */ jsxRuntime.jsxs(Container.Container, { isResponsive: false, gap: "sm", alignItems: "center", fillWidth: true, justifyContent: "space-between", component: "span", overflow: "hidden", children: [
|
|
91
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
92
|
-
showCheck && /* @__PURE__ */ jsxRuntime.jsx(
|
|
181
|
+
/* @__PURE__ */ jsxRuntime.jsx(Text.Text, { className: MultiAccordion_module.default["multi-accordion__title"], component: "span", size: customSize, fillWidth, children: title }),
|
|
182
|
+
showCheck && /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { className: cva.cn(MultiAccordion_module.default["multi-accordion__status-icon"], isCompleted && MultiAccordion_module.default["multi-accordion__status-icon_completed"]), name: isCompleted ? "check-in-circle" : "circle", size: iconSize ?? customSize, "aria-label": "accordion icon status", onClick: onClickStatus, "data-icon": "accordion-status", "data-testid": "accordion-status-icon" })
|
|
93
183
|
] })
|
|
94
184
|
] }),
|
|
95
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
185
|
+
/* @__PURE__ */ jsxRuntime.jsxs(RadixAccordion__namespace.Content, { className: contentVariants({
|
|
186
|
+
size
|
|
187
|
+
}), children: [
|
|
96
188
|
/* @__PURE__ */ jsxRuntime.jsx(Spacer.Spacer, { size: gap }),
|
|
97
189
|
children
|
|
98
190
|
] })
|
|
@@ -100,88 +192,6 @@ const MultiAccordionItem = ({
|
|
|
100
192
|
};
|
|
101
193
|
MultiAccordionItem.displayName = "MultiAccordion.Item";
|
|
102
194
|
MultiAccordion.Item = MultiAccordionItem;
|
|
103
|
-
const AccordionRoot = styledComponents.styled(RadixAccordion__namespace.Root).withConfig({
|
|
104
|
-
componentId: "sc-1lb3204-0"
|
|
105
|
-
})(["display:flex;flex-direction:column;justify-content:start;align-items:start;gap:", ";", ";"], ({
|
|
106
|
-
theme,
|
|
107
|
-
$gap
|
|
108
|
-
}) => theme.click.container.gap[$gap], ({
|
|
109
|
-
$fillWidth
|
|
110
|
-
}) => $fillWidth && "width: 100%");
|
|
111
|
-
const AccordionItem = styledComponents.styled(RadixAccordion__namespace.Item).withConfig({
|
|
112
|
-
componentId: "sc-1lb3204-1"
|
|
113
|
-
})(["", ";", ";"], ({
|
|
114
|
-
theme,
|
|
115
|
-
$showBorder
|
|
116
|
-
}) => `
|
|
117
|
-
border: ${$showBorder ? `1px solid ${theme.click.global.color.stroke.default}` : "none"};
|
|
118
|
-
border-radius: ${theme.border.radii[1]};
|
|
119
|
-
background-color: ${theme.click.global.color.background.default};
|
|
120
|
-
`, ({
|
|
121
|
-
$fillWidth
|
|
122
|
-
}) => $fillWidth && "width: 100%");
|
|
123
|
-
const AccordionTrigger = styledComponents.styled(RadixAccordion__namespace.Trigger).withConfig({
|
|
124
|
-
componentId: "sc-1lb3204-2"
|
|
125
|
-
})(["width:100%;border:none;padding:0;background-color:transparent;display:flex;align-items:center;", ";border-radius:inherit;&[data-state='open']{border-bottom-left-radius:0px;border-bottom-right-radius:0px;[data-icon='accordion-status']{color:", ";}}"], ({
|
|
126
|
-
theme,
|
|
127
|
-
$size = "md",
|
|
128
|
-
color = "default"
|
|
129
|
-
}) => {
|
|
130
|
-
const size = $size === "none" ? "sm" : $size;
|
|
131
|
-
return `
|
|
132
|
-
padding: ${theme.click.container.space[$size]};
|
|
133
|
-
gap: ${theme.click.accordion[size].space.gap};
|
|
134
|
-
color: ${theme.click.accordion.color[color].label.default};
|
|
135
|
-
font: ${theme.click.accordion[size].typography.label.default};
|
|
136
|
-
|
|
137
|
-
&:active {
|
|
138
|
-
color: ${theme.click.accordion.color[color].label.active};
|
|
139
|
-
font: ${theme.click.accordion[size].typography.label.active};
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
&:hover {
|
|
143
|
-
color: ${theme.click.accordion.color[color].label.hover};
|
|
144
|
-
background: ${theme.click.global.color.stroke.default};
|
|
145
|
-
font: ${theme.click.accordion[size].typography.label.hover};
|
|
146
|
-
cursor: pointer;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
[data-icon="accordion-status"] {
|
|
150
|
-
color: ${theme.global.color.stroke.intense};
|
|
151
|
-
}
|
|
152
|
-
`;
|
|
153
|
-
}, ({
|
|
154
|
-
theme
|
|
155
|
-
}) => theme.global.color.accent.default);
|
|
156
|
-
const AccordionIconWrapper = styledComponents.styled.div.withConfig({
|
|
157
|
-
componentId: "sc-1lb3204-3"
|
|
158
|
-
})(["display:flex;align-items:center;justify-content:center;transition:transform 200ms cubic-bezier(0.87,0,0.13,1);", "[data-state='open'] &{transform:rotate(90deg);}"], AccordionTrigger);
|
|
159
|
-
const AccordionIconsWrapper = styledComponents.styled.div.withConfig({
|
|
160
|
-
componentId: "sc-1lb3204-4"
|
|
161
|
-
})(["display:flex;align-items:center;justify-content:center;"]);
|
|
162
|
-
const CustomIcon = styledComponents.styled(Icon.Icon).withConfig({
|
|
163
|
-
componentId: "sc-1lb3204-5"
|
|
164
|
-
})(["", ""], ({
|
|
165
|
-
$isCompleted,
|
|
166
|
-
theme
|
|
167
|
-
}) => $isCompleted && `
|
|
168
|
-
svg path {
|
|
169
|
-
stroke: ${theme.global.color.background.default} !important;
|
|
170
|
-
&:first-of-type {
|
|
171
|
-
stroke: ${theme.global.color.accent.default} !important;
|
|
172
|
-
}
|
|
173
|
-
fill: ${theme.global.color.accent.default} !important;;
|
|
174
|
-
}
|
|
175
|
-
`);
|
|
176
|
-
const AccordionContent = styledComponents.styled(RadixAccordion__namespace.Content).withConfig({
|
|
177
|
-
componentId: "sc-1lb3204-6"
|
|
178
|
-
})(["padding:", ";padding-top:0;"], ({
|
|
179
|
-
theme,
|
|
180
|
-
$padding
|
|
181
|
-
}) => theme.click.container.space[$padding]);
|
|
182
|
-
const AccordionItemTitle = styledComponents.styled(Text.Text).withConfig({
|
|
183
|
-
componentId: "sc-1lb3204-7"
|
|
184
|
-
})(["overflow:hidden;"]);
|
|
185
195
|
|
|
186
196
|
exports.MultiAccordion = MultiAccordion;
|
|
187
197
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/MultiAccordion/MultiAccordion.tsx"],"sourcesContent":["import * as RadixAccordion from '@radix-ui/react-accordion';\nimport { styled } from 'styled-components';\nimport type { AssetSize } from '@/types';\nimport { Icon, type IconName } from '@/components/Icon';\n\nimport { Container } from '@/components/Container';\nimport { Spacer } from '@/components/Spacer';\nimport { Text } from '@/components/Text';\nimport {\n createContext,\n MouseEventHandler,\n ReactElement,\n ReactNode,\n useContext,\n} from 'react';\nimport { GapOptions, PaddingOptions } from '@/components/Container';\nimport { SizeType as SpacerSizeType } from '@/components/Spacer';\n\ntype Size = 'none' | 'sm' | 'md' | 'lg';\ntype Color = 'default' | 'link';\n\ntype MarkAsCompletedFunctionType = (value: string) => void | Promise<void>;\n\ninterface MultiAccordionCommonProps {\n /** The accordion items to render */\n children: React.ReactNode;\n /** The size variant of the accordion */\n size?: Size;\n /** Whether the accordion should fill the full width of its container */\n fillWidth?: boolean;\n /** The gap between accordion items */\n gap?: GapOptions;\n /** Whether to show a border around each accordion item */\n showBorder?: boolean;\n /** Whether to show a check/completion indicator on items */\n showCheck?: boolean;\n /** Callback function to mark an item as completed */\n markAsCompleted?: MarkAsCompletedFunctionType;\n}\n\nexport type MultiAccordionProps = MultiAccordionCommonProps &\n (\n | Omit<RadixAccordion.AccordionMultipleProps, 'children'>\n | Omit<RadixAccordion.AccordionSingleProps, 'children'>\n );\n\ninterface MultiAccordionContextProps {\n size: Size;\n fillWidth: boolean;\n showBorder: boolean;\n showCheck: boolean;\n markAsCompleted?: MarkAsCompletedFunctionType;\n}\n\nconst MultiAccordionContext = createContext<MultiAccordionContextProps>({\n size: 'md',\n fillWidth: true,\n showBorder: true,\n showCheck: false,\n});\n\nexport const MultiAccordion = ({\n size = 'md',\n children,\n fillWidth = true,\n showCheck = false,\n showBorder = true,\n gap = 'md',\n markAsCompleted,\n ...delegated\n}: MultiAccordionProps) => {\n const contextValue = {\n size,\n fillWidth,\n showBorder,\n showCheck,\n markAsCompleted,\n };\n\n return (\n <AccordionRoot\n $fillWidth={fillWidth}\n $gap={gap}\n {...delegated}\n >\n <MultiAccordionContext.Provider value={contextValue}>\n {children}\n </MultiAccordionContext.Provider>\n </AccordionRoot>\n );\n};\ninterface MultiAccordionItemProps extends Omit<\n RadixAccordion.AccordionItemProps,\n 'title'\n> {\n /** The title text or element displayed in the accordion item header */\n title: ReactNode;\n /** The color variant of the item */\n color?: Color;\n /** Optional icon to display next to the title */\n icon?: IconName;\n /** Size of the optional icon */\n iconSize?: AssetSize;\n /** Gap size between the header and content */\n gap?: SpacerSizeType;\n /** Whether this item is marked as completed */\n isCompleted?: boolean;\n}\n\nconst MultiAccordionItem = ({\n value,\n title,\n color,\n icon,\n iconSize,\n gap,\n children,\n isCompleted = false,\n ...props\n}: MultiAccordionItemProps): ReactElement => {\n const { fillWidth, size, showBorder, showCheck, markAsCompleted } =\n useContext(MultiAccordionContext);\n\n const onClickStatus: MouseEventHandler<HTMLOrSVGElement> = e => {\n e.preventDefault();\n if (typeof markAsCompleted === 'function') {\n markAsCompleted(value);\n }\n };\n\n const customSize = size === 'none' ? 'sm' : size;\n\n return (\n <AccordionItem\n value={value}\n $showBorder={showBorder}\n $fillWidth={fillWidth}\n {...props}\n >\n <AccordionTrigger\n $size={size}\n color={color}\n >\n <AccordionIconsWrapper>\n <AccordionIconWrapper>\n <Icon\n name=\"chevron-right\"\n size={iconSize ?? customSize}\n aria-label=\"accordion icon\"\n />\n </AccordionIconWrapper>\n {icon ? (\n <Icon\n name={icon}\n size={iconSize ?? customSize}\n />\n ) : null}\n </AccordionIconsWrapper>\n <Container\n isResponsive={false}\n gap=\"sm\"\n alignItems=\"center\"\n fillWidth\n justifyContent=\"space-between\"\n component=\"span\"\n overflow=\"hidden\"\n >\n <AccordionItemTitle\n component=\"span\"\n size={customSize}\n fillWidth={fillWidth}\n >\n {title}\n </AccordionItemTitle>\n {showCheck && (\n <CustomIcon\n name={isCompleted ? 'check-in-circle' : 'circle'}\n $isCompleted={isCompleted}\n size={iconSize ?? customSize}\n aria-label=\"accordion icon status\"\n onClick={onClickStatus}\n data-icon=\"accordion-status\"\n data-testid=\"accordion-status-icon\"\n />\n )}\n </Container>\n </AccordionTrigger>\n <AccordionContent $padding={size}>\n <Spacer size={gap} />\n {children}\n </AccordionContent>\n </AccordionItem>\n );\n};\n\nMultiAccordionItem.displayName = 'MultiAccordion.Item';\nMultiAccordion.Item = MultiAccordionItem;\n\ninterface StyledAccordionRootProps {\n $fillWidth: boolean;\n $gap: GapOptions;\n}\n\nconst AccordionRoot = styled(RadixAccordion.Root)<StyledAccordionRootProps>`\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: start;\n gap: ${({ theme, $gap }) => theme.click.container.gap[$gap]};\n ${({ $fillWidth }) => $fillWidth && 'width: 100%'};\n`;\n\ninterface StyledAccordionItemProps {\n $fillWidth: boolean;\n $showBorder: boolean;\n}\n\nconst AccordionItem = styled(RadixAccordion.Item)<StyledAccordionItemProps>`\n ${({ theme, $showBorder }) => `\n border: ${\n $showBorder ? `1px solid ${theme.click.global.color.stroke.default}` : 'none'\n };\n border-radius: ${theme.border.radii[1]};\n background-color: ${theme.click.global.color.background.default};\n `};\n ${({ $fillWidth }) => $fillWidth && 'width: 100%'};\n`;\n\ninterface StyledAccordionTriggerProps {\n $size?: Size;\n color?: Color;\n}\n\nconst AccordionTrigger = styled(RadixAccordion.Trigger)<StyledAccordionTriggerProps>`\n width: 100%;\n border: none;\n padding: 0;\n background-color: transparent;\n display: flex;\n align-items: center;\n ${({ theme, $size = 'md', color = 'default' }) => {\n const size: Size = $size === 'none' ? 'sm' : $size;\n\n return `\n padding: ${theme.click.container.space[$size]};\n gap: ${theme.click.accordion[size].space.gap};\n color: ${theme.click.accordion.color[color].label.default};\n font: ${theme.click.accordion[size].typography.label.default};\n\n &:active {\n color: ${theme.click.accordion.color[color].label.active};\n font: ${theme.click.accordion[size].typography.label.active};\n }\n\n &:hover {\n color: ${theme.click.accordion.color[color].label.hover};\n background: ${theme.click.global.color.stroke.default};\n font: ${theme.click.accordion[size].typography.label.hover};\n cursor: pointer;\n }\n\n [data-icon=\"accordion-status\"] {\n color: ${theme.global.color.stroke.intense};\n }\n `;\n }};\n border-radius: inherit;\n &[data-state='open'] {\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n [data-icon='accordion-status'] {\n color: ${({ theme }): string => theme.global.color.accent.default};\n }\n }\n`;\n\nconst AccordionIconWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n transition: transform 200ms cubic-bezier(0.87, 0, 0.13, 1);\n\n ${AccordionTrigger}[data-state='open'] & {\n transform: rotate(90deg);\n }\n`;\n\nconst AccordionIconsWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nconst CustomIcon = styled(Icon)<{ $isCompleted: boolean }>`\n ${({ $isCompleted, theme }) =>\n $isCompleted &&\n `\n svg path {\n stroke: ${theme.global.color.background.default} !important;\n &:first-of-type {\n stroke: ${theme.global.color.accent.default} !important;\n }\n fill: ${theme.global.color.accent.default} !important;;\n }\n `}\n`;\n\nconst AccordionContent = styled(RadixAccordion.Content)<{ $padding: PaddingOptions }>`\n padding: ${({ theme, $padding }): string => theme.click.container.space[$padding]};\n padding-top: 0;\n`;\n\nconst AccordionItemTitle = styled(Text)`\n overflow: hidden;\n`;\n"],"names":["MultiAccordionContext","createContext","size","fillWidth","showBorder","showCheck","MultiAccordion","children","gap","markAsCompleted","delegated","contextValue","jsx","MultiAccordionItem","value","title","color","icon","iconSize","isCompleted","props","useContext","onClickStatus","e","preventDefault","customSize","jsxs","Icon","Container","Spacer","displayName","Item","AccordionRoot","styled","RadixAccordion","Root","withConfig","componentId","theme","$gap","click","container","$fillWidth","AccordionItem","$showBorder","global","stroke","default","border","radii","background","AccordionTrigger","Trigger","$size","space","accordion","label","typography","active","hover","intense","accent","AccordionIconWrapper","div","AccordionIconsWrapper","CustomIcon","$isCompleted","AccordionContent","Content","$padding","AccordionItemTitle","Text"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/MultiAccordion/MultiAccordion.tsx"],"sourcesContent":["import * as RadixAccordion from '@radix-ui/react-accordion';\nimport type { AssetSize } from '@/types';\nimport { Icon, type IconName } from '@/components/Icon';\n\nimport { Container } from '@/components/Container';\nimport { Spacer } from '@/components/Spacer';\nimport { Text } from '@/components/Text';\nimport {\n createContext,\n MouseEventHandler,\n ReactElement,\n ReactNode,\n useContext,\n} from 'react';\nimport { GapOptions } from '@/components/Container';\nimport { SizeType as SpacerSizeType } from '@/components/Spacer';\nimport { cn, cva } from '@/lib/cva';\nimport styles from './MultiAccordion.module.css';\n\ntype Size = 'none' | 'sm' | 'md' | 'lg';\ntype Color = 'default' | 'link';\n\ntype MarkAsCompletedFunctionType = (value: string) => void | Promise<void>;\n\ninterface MultiAccordionCommonProps {\n /** The accordion items to render */\n children: React.ReactNode;\n /** The size variant of the accordion */\n size?: Size;\n /** Whether the accordion should fill the full width of its container */\n fillWidth?: boolean;\n /** The gap between accordion items */\n gap?: GapOptions;\n /** Whether to show a border around each accordion item */\n showBorder?: boolean;\n /** Whether to show a check/completion indicator on items */\n showCheck?: boolean;\n /** Callback function to mark an item as completed */\n markAsCompleted?: MarkAsCompletedFunctionType;\n}\n\nexport type MultiAccordionProps = MultiAccordionCommonProps &\n (\n | Omit<RadixAccordion.AccordionMultipleProps, 'children'>\n | Omit<RadixAccordion.AccordionSingleProps, 'children'>\n );\n\ninterface MultiAccordionContextProps {\n size: Size;\n fillWidth: boolean;\n showBorder: boolean;\n showCheck: boolean;\n markAsCompleted?: MarkAsCompletedFunctionType;\n}\n\nconst MultiAccordionContext = createContext<MultiAccordionContextProps>({\n size: 'md',\n fillWidth: true,\n showBorder: true,\n showCheck: false,\n});\n\nconst rootVariants = cva(styles['multi-accordion'], {\n variants: {\n fillWidth: {\n true: styles['multi-accordion_fill-width'],\n false: '',\n },\n gap: {\n none: styles['multi-accordion_gap_none'],\n xxs: styles['multi-accordion_gap_xxs'],\n xs: styles['multi-accordion_gap_xs'],\n sm: styles['multi-accordion_gap_sm'],\n md: styles['multi-accordion_gap_md'],\n lg: styles['multi-accordion_gap_lg'],\n xl: styles['multi-accordion_gap_xl'],\n xxl: styles['multi-accordion_gap_xxl'],\n },\n },\n defaultVariants: {\n fillWidth: true,\n gap: 'md',\n },\n});\n\nexport const MultiAccordion = ({\n size = 'md',\n children,\n fillWidth = true,\n showCheck = false,\n showBorder = true,\n gap = 'md',\n markAsCompleted,\n className,\n ...delegated\n}: MultiAccordionProps) => {\n const contextValue = {\n size,\n fillWidth,\n showBorder,\n showCheck,\n markAsCompleted,\n };\n\n return (\n <RadixAccordion.Root\n {...delegated}\n className={cn(rootVariants({ fillWidth, gap }), className)}\n >\n <MultiAccordionContext.Provider value={contextValue}>\n {children}\n </MultiAccordionContext.Provider>\n </RadixAccordion.Root>\n );\n};\ninterface MultiAccordionItemProps extends Omit<\n RadixAccordion.AccordionItemProps,\n 'title'\n> {\n /** The title text or element displayed in the accordion item header */\n title: ReactNode;\n /** The color variant of the item */\n color?: Color;\n /** Optional icon to display next to the title */\n icon?: IconName;\n /** Size of the optional icon */\n iconSize?: AssetSize;\n /** Gap size between the header and content */\n gap?: SpacerSizeType;\n /** Whether this item is marked as completed */\n isCompleted?: boolean;\n}\n\nconst itemVariants = cva(styles['multi-accordion__item'], {\n variants: {\n showBorder: {\n true: '',\n false: styles['multi-accordion__item_no-border'],\n },\n fillWidth: {\n true: styles['multi-accordion__item_fill-width'],\n false: '',\n },\n },\n defaultVariants: {\n showBorder: true,\n fillWidth: true,\n },\n});\n\nconst triggerVariants = cva(styles['multi-accordion__trigger'], {\n variants: {\n size: {\n none: styles['multi-accordion__trigger_size_none'],\n sm: styles['multi-accordion__trigger_size_sm'],\n md: styles['multi-accordion__trigger_size_md'],\n lg: styles['multi-accordion__trigger_size_lg'],\n },\n font: {\n sm: styles['multi-accordion__trigger_font_sm'],\n md: styles['multi-accordion__trigger_font_md'],\n lg: styles['multi-accordion__trigger_font_lg'],\n },\n color: {\n default: styles['multi-accordion__trigger_color_default'],\n link: styles['multi-accordion__trigger_color_link'],\n },\n },\n defaultVariants: {\n size: 'md',\n font: 'md',\n color: 'default',\n },\n});\n\nconst contentVariants = cva(styles['multi-accordion__content'], {\n variants: {\n size: {\n none: styles['multi-accordion__content_padding_none'],\n sm: styles['multi-accordion__content_padding_sm'],\n md: styles['multi-accordion__content_padding_md'],\n lg: styles['multi-accordion__content_padding_lg'],\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst MultiAccordionItem = ({\n value,\n title,\n color,\n icon,\n iconSize,\n gap,\n children,\n isCompleted = false,\n className,\n ...props\n}: MultiAccordionItemProps): ReactElement => {\n const { fillWidth, size, showBorder, showCheck, markAsCompleted } =\n useContext(MultiAccordionContext);\n\n const onClickStatus: MouseEventHandler<HTMLOrSVGElement> = e => {\n e.preventDefault();\n if (typeof markAsCompleted === 'function') {\n markAsCompleted(value);\n }\n };\n\n const customSize = size === 'none' ? 'sm' : size;\n\n return (\n <RadixAccordion.Item\n value={value}\n {...props}\n className={cn(itemVariants({ showBorder, fillWidth }), className)}\n >\n <RadixAccordion.Trigger\n className={triggerVariants({\n size,\n font: customSize,\n color: color ?? 'default',\n })}\n >\n <div className={styles['multi-accordion__icons-wrapper']}>\n <div className={styles['multi-accordion__icon-wrapper']}>\n <Icon\n name=\"chevron-right\"\n size={iconSize ?? customSize}\n aria-label=\"accordion icon\"\n />\n </div>\n {icon ? (\n <Icon\n name={icon}\n size={iconSize ?? customSize}\n />\n ) : null}\n </div>\n <Container\n isResponsive={false}\n gap=\"sm\"\n alignItems=\"center\"\n fillWidth\n justifyContent=\"space-between\"\n component=\"span\"\n overflow=\"hidden\"\n >\n <Text\n className={styles['multi-accordion__title']}\n component=\"span\"\n size={customSize}\n fillWidth={fillWidth}\n >\n {title}\n </Text>\n {showCheck && (\n <Icon\n className={cn(\n styles['multi-accordion__status-icon'],\n isCompleted && styles['multi-accordion__status-icon_completed']\n )}\n name={isCompleted ? 'check-in-circle' : 'circle'}\n size={iconSize ?? customSize}\n aria-label=\"accordion icon status\"\n onClick={onClickStatus}\n data-icon=\"accordion-status\"\n data-testid=\"accordion-status-icon\"\n />\n )}\n </Container>\n </RadixAccordion.Trigger>\n <RadixAccordion.Content className={contentVariants({ size })}>\n <Spacer size={gap} />\n {children}\n </RadixAccordion.Content>\n </RadixAccordion.Item>\n );\n};\n\nMultiAccordionItem.displayName = 'MultiAccordion.Item';\nMultiAccordion.Item = MultiAccordionItem;\n"],"names":["MultiAccordionContext","createContext","size","fillWidth","showBorder","showCheck","rootVariants","cva","styles","variants","true","false","gap","none","xxs","xs","sm","md","lg","xl","xxl","defaultVariants","MultiAccordion","children","markAsCompleted","className","delegated","contextValue","jsx","RadixAccordion","cn","itemVariants","triggerVariants","font","color","default","link","contentVariants","MultiAccordionItem","value","title","icon","iconSize","isCompleted","props","useContext","onClickStatus","e","preventDefault","customSize","jsxs","Icon","Container","Text","Spacer","displayName","Item"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,MAAMA,wBAAwBC,mBAAAA,CAA0C;AAAA,EACtEC,IAAAA,EAAM,IAAA;AAAA,EACNC,SAAAA,EAAW,IAAA;AAAA,EACXC,UAAAA,EAAY,IAAA;AAAA,EACZC,SAAAA,EAAW;AACb,CAAC,CAAA;AAED,MAAMC,YAAAA,GAAeC,0BAAAA,CAAIC,6BAAAA,CAAO,iBAAiB,CAAA,EAAG;AAAA,EAClDC,QAAAA,EAAU;AAAA,IACRN,SAAAA,EAAW;AAAA,MACTO,IAAAA,EAAMF,8BAAO,4BAA4B,CAAA;AAAA,MACzCG,KAAAA,EAAO;AAAA,KACT;AAAA,IACAC,GAAAA,EAAK;AAAA,MACHC,IAAAA,EAAML,8BAAO,0BAA0B,CAAA;AAAA,MACvCM,GAAAA,EAAKN,8BAAO,yBAAyB,CAAA;AAAA,MACrCO,EAAAA,EAAIP,8BAAO,wBAAwB,CAAA;AAAA,MACnCQ,EAAAA,EAAIR,8BAAO,wBAAwB,CAAA;AAAA,MACnCS,EAAAA,EAAIT,8BAAO,wBAAwB,CAAA;AAAA,MACnCU,EAAAA,EAAIV,8BAAO,wBAAwB,CAAA;AAAA,MACnCW,EAAAA,EAAIX,8BAAO,wBAAwB,CAAA;AAAA,MACnCY,GAAAA,EAAKZ,8BAAO,yBAAyB;AAAA;AACvC,GACF;AAAA,EACAa,eAAAA,EAAiB;AAAA,IACflB,SAAAA,EAAW,IAAA;AAAA,IACXS,GAAAA,EAAK;AAAA;AAET,CAAC,CAAA;AAEM,MAAMU,iBAAiBA,CAAC;AAAA,EAC7BpB,IAAAA,GAAO,IAAA;AAAA,EACPqB,QAAAA;AAAAA,EACApB,SAAAA,GAAY,IAAA;AAAA,EACZE,SAAAA,GAAY,KAAA;AAAA,EACZD,UAAAA,GAAa,IAAA;AAAA,EACbQ,GAAAA,GAAM,IAAA;AAAA,EACNY,eAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACA,GAAGC;AACgB,CAAA,KAAM;AACzB,EAAA,MAAMC,YAAAA,GAAe;AAAA,IACnBzB,IAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAmB;AAAAA,GACF;AAEA,EAAA,uBACEI,cAAA,CAACC,0BAAe,IAAA,EAAf,EACC,GAAIH,SAAAA,EACJ,SAAA,EAAWI,OAAGxB,YAAAA,CAAa;AAAA,IAAEH,SAAAA;AAAAA,IAAWS;AAAAA,GAAK,CAAA,EAAGa,SAAS,CAAA,EAEzD,QAAA,kBAAAG,cAAA,CAAC,qBAAA,CAAsB,QAAA,EAAtB,EAA+B,KAAA,EAAOD,YAAAA,EACpCJ,QAAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAmBA,MAAMQ,YAAAA,GAAexB,0BAAAA,CAAIC,6BAAAA,CAAO,uBAAuB,CAAA,EAAG;AAAA,EACxDC,QAAAA,EAAU;AAAA,IACRL,UAAAA,EAAY;AAAA,MACVM,IAAAA,EAAM,EAAA;AAAA,MACNC,KAAAA,EAAOH,8BAAO,iCAAiC;AAAA,KACjD;AAAA,IACAL,SAAAA,EAAW;AAAA,MACTO,IAAAA,EAAMF,8BAAO,kCAAkC,CAAA;AAAA,MAC/CG,KAAAA,EAAO;AAAA;AACT,GACF;AAAA,EACAU,eAAAA,EAAiB;AAAA,IACfjB,UAAAA,EAAY,IAAA;AAAA,IACZD,SAAAA,EAAW;AAAA;AAEf,CAAC,CAAA;AAED,MAAM6B,eAAAA,GAAkBzB,0BAAAA,CAAIC,6BAAAA,CAAO,0BAA0B,CAAA,EAAG;AAAA,EAC9DC,QAAAA,EAAU;AAAA,IACRP,IAAAA,EAAM;AAAA,MACJW,IAAAA,EAAML,8BAAO,oCAAoC,CAAA;AAAA,MACjDQ,EAAAA,EAAIR,8BAAO,kCAAkC,CAAA;AAAA,MAC7CS,EAAAA,EAAIT,8BAAO,kCAAkC,CAAA;AAAA,MAC7CU,EAAAA,EAAIV,8BAAO,kCAAkC;AAAA,KAC/C;AAAA,IACAyB,IAAAA,EAAM;AAAA,MACJjB,EAAAA,EAAIR,8BAAO,kCAAkC,CAAA;AAAA,MAC7CS,EAAAA,EAAIT,8BAAO,kCAAkC,CAAA;AAAA,MAC7CU,EAAAA,EAAIV,8BAAO,kCAAkC;AAAA,KAC/C;AAAA,IACA0B,KAAAA,EAAO;AAAA,MACLC,OAAAA,EAAS3B,8BAAO,wCAAwC,CAAA;AAAA,MACxD4B,IAAAA,EAAM5B,8BAAO,qCAAqC;AAAA;AACpD,GACF;AAAA,EACAa,eAAAA,EAAiB;AAAA,IACfnB,IAAAA,EAAM,IAAA;AAAA,IACN+B,IAAAA,EAAM,IAAA;AAAA,IACNC,KAAAA,EAAO;AAAA;AAEX,CAAC,CAAA;AAED,MAAMG,eAAAA,GAAkB9B,0BAAAA,CAAIC,6BAAAA,CAAO,0BAA0B,CAAA,EAAG;AAAA,EAC9DC,QAAAA,EAAU;AAAA,IACRP,IAAAA,EAAM;AAAA,MACJW,IAAAA,EAAML,8BAAO,uCAAuC,CAAA;AAAA,MACpDQ,EAAAA,EAAIR,8BAAO,qCAAqC,CAAA;AAAA,MAChDS,EAAAA,EAAIT,8BAAO,qCAAqC,CAAA;AAAA,MAChDU,EAAAA,EAAIV,8BAAO,qCAAqC;AAAA;AAClD,GACF;AAAA,EACAa,eAAAA,EAAiB;AAAA,IACfnB,IAAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAED,MAAMoC,qBAAqBA,CAAC;AAAA,EAC1BC,KAAAA;AAAAA,EACAC,KAAAA;AAAAA,EACAN,KAAAA;AAAAA,EACAO,IAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACA9B,GAAAA;AAAAA,EACAW,QAAAA;AAAAA,EACAoB,WAAAA,GAAc,KAAA;AAAA,EACdlB,SAAAA;AAAAA,EACA,GAAGmB;AACoB,CAAA,KAAoB;AAC3C,EAAA,MAAM;AAAA,IAAEzC,SAAAA;AAAAA,IAAWD,IAAAA;AAAAA,IAAME,UAAAA;AAAAA,IAAYC,SAAAA;AAAAA,IAAWmB;AAAAA,GAAgB,GAC9DqB,iBAAW7C,qBAAqB,CAAA;AAElC,EAAA,MAAM8C,gBAAqDC,CAAAA,CAAAA,KAAK;AAC9DA,IAAAA,CAAAA,CAAEC,cAAAA,EAAe;AACjB,IAAA,IAAI,OAAOxB,oBAAoB,UAAA,EAAY;AACzCA,MAAAA,eAAAA,CAAgBe,KAAK,CAAA;AAAA,IACvB;AAAA,EACF,CAAA;AAEA,EAAA,MAAMU,UAAAA,GAAa/C,IAAAA,KAAS,MAAA,GAAS,IAAA,GAAOA,IAAAA;AAE5C,EAAA,uBACEgD,eAAA,CAACrB,0BAAe,IAAA,EAAf,EACC,OACA,GAAIe,KAAAA,EACJ,SAAA,EAAWd,MAAAA,CAAGC,YAAAA,CAAa;AAAA,IAAE3B,UAAAA;AAAAA,IAAYD;AAAAA,GAAW,CAAA,EAAGsB,SAAS,CAAA,EAEhE,QAAA,EAAA;AAAA,oBAAAyB,eAAA,CAACrB,yBAAA,CAAe,OAAA,EAAf,EACC,SAAA,EAAWG,eAAAA,CAAgB;AAAA,MACzB9B,IAAAA;AAAAA,MACA+B,IAAAA,EAAMgB,UAAAA;AAAAA,MACNf,OAAOA,KAAAA,IAAS;AAAA,KACjB,CAAA,EAED,QAAA,EAAA;AAAA,sBAAAgB,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW1C,6BAAAA,CAAO,gCAAgC,CAAA,EACrD,QAAA,EAAA;AAAA,wBAAAoB,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWpB,6BAAAA,CAAO,+BAA+B,GACpD,QAAA,kBAAAoB,cAAA,CAACuB,SAAA,EAAA,EACC,IAAA,EAAK,eAAA,EACL,IAAA,EAAMT,QAAAA,IAAYO,UAAAA,EAClB,YAAA,EAAW,kBAAgB,CAAA,EAE/B,CAAA;AAAA,QACCR,IAAAA,kCACEU,SAAA,EAAA,EACC,IAAA,EAAMV,MACN,IAAA,EAAMC,QAAAA,IAAYO,YAAW,CAAA,GAE7B;AAAA,OAAA,EACN,CAAA;AAAA,sBACAC,eAAA,CAACE,mBAAA,EAAA,EACC,YAAA,EAAc,KAAA,EACd,KAAI,IAAA,EACJ,UAAA,EAAW,QAAA,EACX,SAAA,EAAS,MACT,cAAA,EAAe,eAAA,EACf,SAAA,EAAU,MAAA,EACV,UAAS,QAAA,EAET,QAAA,EAAA;AAAA,wBAAAxB,cAAA,CAACyB,SAAA,EAAA,EACC,SAAA,EAAW7C,6BAAAA,CAAO,wBAAwB,CAAA,EAC1C,WAAU,MAAA,EACV,IAAA,EAAMyC,UAAAA,EACN,SAAA,EAECT,QAAAA,EAAAA,KAAAA,EACH,CAAA;AAAA,QACCnC,SAAAA,oBACCuB,cAAA,CAACuB,SAAA,EAAA,EACC,SAAA,EAAWrB,MAAAA,CACTtB,6BAAAA,CAAO,8BAA8B,CAAA,EACrCmC,WAAAA,IAAenC,6BAAAA,CAAO,wCAAwC,CAChE,CAAA,EACA,IAAA,EAAMmC,WAAAA,GAAc,iBAAA,GAAoB,QAAA,EACxC,IAAA,EAAMD,QAAAA,IAAYO,UAAAA,EAClB,YAAA,EAAW,uBAAA,EACX,OAAA,EAASH,aAAAA,EACT,WAAA,EAAU,kBAAA,EACV,aAAA,EAAY,uBAAA,EAAuB;AAAA,OAAA,EAGzC;AAAA,KAAA,EACF,CAAA;AAAA,oBACAI,eAAA,CAACrB,yBAAA,CAAe,OAAA,EAAf,EAAuB,WAAWQ,eAAAA,CAAgB;AAAA,MAAEnC;AAAAA,KAAM,CAAA,EACzD,QAAA,EAAA;AAAA,sBAAA0B,cAAA,CAAC0B,aAAA,EAAA,EAAO,MAAM1C,GAAAA,EAAI,CAAA;AAAA,MACjBW;AAAAA,KAAAA,EACH;AAAA,GAAA,EACF,CAAA;AAEJ,CAAA;AAEAe,kBAAAA,CAAmBiB,WAAAA,GAAc,qBAAA;AACjCjC,cAAAA,CAAekC,IAAAA,GAAOlB,kBAAAA;;;;"}
|
|
@@ -8,6 +8,7 @@ const GenericMenu = require('../GenericMenu/index.cjs');
|
|
|
8
8
|
const styledComponents = require('styled-components');
|
|
9
9
|
const EmptyButton = require('../EmptyButton/index.cjs');
|
|
10
10
|
const PopoverArrow = require('../Assets/Icons/Popover-Arrow.cjs');
|
|
11
|
+
const PortalContext = require('../../providers/PortalContext.cjs');
|
|
11
12
|
const Icon = require('../Icon/index.cjs');
|
|
12
13
|
|
|
13
14
|
function _interopNamespace(e) {
|
|
@@ -87,7 +88,8 @@ const PopoverContent = ({
|
|
|
87
88
|
container,
|
|
88
89
|
...props
|
|
89
90
|
}) => {
|
|
90
|
-
|
|
91
|
+
const portalContainer = PortalContext.useResolvedPortalContainer(container);
|
|
92
|
+
return /* @__PURE__ */ jsxRuntime.jsx(RadixPopover__namespace.Portal, { forceMount, container: portalContainer, children: /* @__PURE__ */ jsxRuntime.jsxs(MenuPanel, { as: RadixPopover__namespace.Content, $type: "popover", $showClose: showClose, $showArrow: showArrow, sideOffset: 4, ...props, children: [
|
|
91
93
|
showClose && /* @__PURE__ */ jsxRuntime.jsx(CloseButton, { as: RadixPopover__namespace.Close, asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { name: "cross" }) }),
|
|
92
94
|
showArrow && /* @__PURE__ */ jsxRuntime.jsx(GenericMenu.Arrow, { asChild: true, as: RadixPopover__namespace.Arrow, width: 20, height: 10, children: /* @__PURE__ */ jsxRuntime.jsx(PopoverArrow.default, {}) }),
|
|
93
95
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import * as RadixPopover from '@radix-ui/react-popover';\nimport { Arrow, GenericMenuPanel } from '@/components/GenericMenu';\nimport { styled } from 'styled-components';\nimport { ReactNode } from 'react';\nimport { Icon } from '@/components/Icon';\nimport { EmptyButton } from '@/components/EmptyButton';\nimport Popover_Arrow from '@/components/Assets/Icons/Popover-Arrow';\n\nexport const Popover = ({ children, ...props }: RadixPopover.PopoverProps) => {\n return <RadixPopover.Root {...props}>{children}</RadixPopover.Root>;\n};\n\nconst Trigger = styled(RadixPopover.Trigger)`\n background: inherit;\n border: none;\n color: inherit;\n cursor: pointer;\n font: inherit;\n width: fit-content;\n`;\ninterface TriggerProps extends RadixPopover.PopoverTriggerProps {\n anchor?: ReactNode;\n}\n\nconst PopoverTrigger = ({ anchor, children, ...props }: TriggerProps) => {\n return (\n <>\n <Trigger\n asChild\n {...props}\n >\n <div>{children}</div>\n </Trigger>\n {anchor && <RadixPopover.Anchor asChild>{anchor}</RadixPopover.Anchor>}\n </>\n );\n};\nPopoverTrigger.displayName = 'PopoverTrigger';\nPopover.Trigger = PopoverTrigger;\n\ninterface PopoverContentProps extends RadixPopover.PopoverContentProps {\n /** Whether to show an arrow pointing to the trigger element */\n showArrow?: boolean;\n /** Whether to show a close button in the popover */\n showClose?: boolean;\n /** Forces the popover to mount in the DOM even when closed */\n forceMount?: true;\n /** Custom container element for the popover portal */\n container?: HTMLElement | null;\n}\n\nconst MenuPanel = styled(GenericMenuPanel)<{ $showClose?: boolean }>`\n display: block;\n padding: ${({ theme }) => theme.click.popover.space.y}\n ${({ theme }) => theme.click.popover.space.x};\n background-color: ${({ theme }) => theme.click.popover.color.panel.background.default};\n border: 1px solid ${({ theme }) => theme.click.popover.color.panel.stroke.default};\n border-radius: ${({ theme }) => theme.click.popover.radii.all};\n box-shadow: ${({ theme }) => theme.click.popover.shadow.default};\n\n ${({ $showClose }) => ($showClose ? 'padding-top: 1rem;' : '')};\n`;\n\nconst CloseButton = styled(EmptyButton)`\n position: absolute;\n top: ${({ theme }) => theme.click.popover.space.y};\n right: ${({ theme }) => theme.click.popover.space.x};\n width: ${({ theme }) => theme.click.popover.icon.size.width};\n height: ${({ theme }) => theme.click.popover.icon.size.height};\n`;\n\nconst PopoverContent = ({\n children,\n showArrow,\n showClose,\n forceMount,\n container,\n ...props\n}: PopoverContentProps) => {\n return (\n <RadixPopover.Portal\n forceMount={forceMount}\n container={
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import * as RadixPopover from '@radix-ui/react-popover';\nimport { Arrow, GenericMenuPanel } from '@/components/GenericMenu';\nimport { styled } from 'styled-components';\nimport { ReactNode } from 'react';\nimport { Icon } from '@/components/Icon';\nimport { EmptyButton } from '@/components/EmptyButton';\nimport Popover_Arrow from '@/components/Assets/Icons/Popover-Arrow';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\n\nexport const Popover = ({ children, ...props }: RadixPopover.PopoverProps) => {\n return <RadixPopover.Root {...props}>{children}</RadixPopover.Root>;\n};\n\nconst Trigger = styled(RadixPopover.Trigger)`\n background: inherit;\n border: none;\n color: inherit;\n cursor: pointer;\n font: inherit;\n width: fit-content;\n`;\ninterface TriggerProps extends RadixPopover.PopoverTriggerProps {\n anchor?: ReactNode;\n}\n\nconst PopoverTrigger = ({ anchor, children, ...props }: TriggerProps) => {\n return (\n <>\n <Trigger\n asChild\n {...props}\n >\n <div>{children}</div>\n </Trigger>\n {anchor && <RadixPopover.Anchor asChild>{anchor}</RadixPopover.Anchor>}\n </>\n );\n};\nPopoverTrigger.displayName = 'PopoverTrigger';\nPopover.Trigger = PopoverTrigger;\n\ninterface PopoverContentProps extends RadixPopover.PopoverContentProps {\n /** Whether to show an arrow pointing to the trigger element */\n showArrow?: boolean;\n /** Whether to show a close button in the popover */\n showClose?: boolean;\n /** Forces the popover to mount in the DOM even when closed */\n forceMount?: true;\n /** Custom container element for the popover portal */\n container?: HTMLElement | null;\n}\n\nconst MenuPanel = styled(GenericMenuPanel)<{ $showClose?: boolean }>`\n display: block;\n padding: ${({ theme }) => theme.click.popover.space.y}\n ${({ theme }) => theme.click.popover.space.x};\n background-color: ${({ theme }) => theme.click.popover.color.panel.background.default};\n border: 1px solid ${({ theme }) => theme.click.popover.color.panel.stroke.default};\n border-radius: ${({ theme }) => theme.click.popover.radii.all};\n box-shadow: ${({ theme }) => theme.click.popover.shadow.default};\n\n ${({ $showClose }) => ($showClose ? 'padding-top: 1rem;' : '')};\n`;\n\nconst CloseButton = styled(EmptyButton)`\n position: absolute;\n top: ${({ theme }) => theme.click.popover.space.y};\n right: ${({ theme }) => theme.click.popover.space.x};\n width: ${({ theme }) => theme.click.popover.icon.size.width};\n height: ${({ theme }) => theme.click.popover.icon.size.height};\n`;\n\nconst PopoverContent = ({\n children,\n showArrow,\n showClose,\n forceMount,\n container,\n ...props\n}: PopoverContentProps) => {\n const portalContainer = useResolvedPortalContainer(container);\n\n return (\n <RadixPopover.Portal\n forceMount={forceMount}\n container={portalContainer}\n >\n <MenuPanel\n as={RadixPopover.Content}\n $type=\"popover\"\n $showClose={showClose}\n $showArrow={showArrow}\n sideOffset={4}\n {...props}\n >\n {showClose && (\n <CloseButton\n as={RadixPopover.Close}\n asChild\n >\n <Icon name=\"cross\" />\n </CloseButton>\n )}\n {showArrow && (\n <Arrow\n asChild\n as={RadixPopover.Arrow}\n width={20}\n height={10}\n >\n <Popover_Arrow />\n </Arrow>\n )}\n {children}\n </MenuPanel>\n </RadixPopover.Portal>\n );\n};\nPopoverContent.displayName = 'PopoverContent';\nPopover.Content = PopoverContent;\n"],"names":["Popover","children","props","RadixPopover","Trigger","styled","withConfig","componentId","PopoverTrigger","anchor","jsxs","Fragment","jsx","displayName","MenuPanel","GenericMenuPanel","theme","click","popover","space","y","x","color","panel","background","default","stroke","radii","all","shadow","$showClose","CloseButton","EmptyButton","icon","size","width","height","PopoverContent","showArrow","showClose","forceMount","container","portalContainer","useResolvedPortalContainer","Content","Close","Icon","Arrow","Popover_Arrow"],"mappings":"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"}
|