@brightspot/ui 1.6.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/dropdown/Dropdown.d.ts +172 -0
- package/dist/components/dropdown/Dropdown.d.ts.map +1 -0
- package/dist/components/dropdown/Dropdown.js +407 -0
- package/dist/components/dropdown/Dropdown.js.map +1 -0
- package/dist/components/dropdown/DropdownItem.d.ts +108 -0
- package/dist/components/dropdown/DropdownItem.d.ts.map +1 -0
- package/dist/components/dropdown/DropdownItem.js +210 -0
- package/dist/components/dropdown/DropdownItem.js.map +1 -0
- package/dist/components/dropdown/DropdownMenu.d.ts +117 -0
- package/dist/components/dropdown/DropdownMenu.d.ts.map +1 -0
- package/dist/components/dropdown/DropdownMenu.js +295 -0
- package/dist/components/dropdown/DropdownMenu.js.map +1 -0
- package/dist/components/icon-button/IconButton.d.ts +85 -0
- package/dist/components/icon-button/IconButton.d.ts.map +1 -0
- package/dist/components/icon-button/IconButton.js +171 -0
- package/dist/components/icon-button/IconButton.js.map +1 -0
- package/dist/components/pagination/Pagination.d.ts +0 -1
- package/dist/components/pagination/Pagination.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.js +22 -22
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/custom-elements.json +1212 -1
- package/dist/storybook/assets/Avatar.stories-XfJUoW42.js +213 -0
- package/dist/storybook/assets/{AvatarGroup.stories-BBkQuFKk.js → AvatarGroup.stories-CPkv0mVI.js} +1 -1
- package/dist/storybook/assets/{Badge.stories-mFZsls7i.js → Badge.stories-Z42hQyzK.js} +3 -3
- package/dist/storybook/assets/{Button.stories-CAWX17L1.js → Button.stories-DTcnCrp-.js} +1 -1
- package/dist/storybook/assets/{CircularProgress.stories-DBVt4Cg2.js → CircularProgress.stories-B59nHh_k.js} +6 -6
- package/dist/storybook/assets/{ClipboardMixin.stories-BH9E-OI6.js → ClipboardMixin.stories-C6DraZ93.js} +1 -1
- package/dist/storybook/assets/{Color-6BZIO3FS-CVnTzq2p.js → Color-6BZIO3FS-BuNGIaf5.js} +1 -1
- package/dist/storybook/assets/{Colors.stories-BFYmP0LL.js → Colors.stories-B3Capc8F.js} +1 -1
- package/dist/storybook/assets/{ComponentStatesMixin-Cu7YXkU8.js → ComponentStatesMixin-DRalOmcW.js} +1 -1
- package/dist/storybook/assets/{ComponentStatesMixin.stories-CAvyYt0H.js → ComponentStatesMixin.stories-TKD7YrVe.js} +1 -1
- package/dist/storybook/assets/{CopyToClipboard.stories-DbJZsp_L.js → CopyToClipboard.stories-Bv8jZ7TL.js} +1 -1
- package/dist/storybook/assets/{Debounce.stories-BiFiH1K9.js → Debounce.stories-CLwXI3OZ.js} +1 -1
- package/dist/storybook/assets/{DocsRenderer-LL677BLK-Bq6G4eeC.js → DocsRenderer-LL677BLK-DjMDalQg.js} +6 -6
- package/dist/storybook/assets/Dropdown.stories-D7X0Dbnt.js +697 -0
- package/dist/storybook/assets/{Events.stories-BsDBxh8_.js → Events.stories-Dgn1N8jT.js} +1 -1
- package/dist/storybook/assets/{Heading.stories-zGzWgHVO.js → Heading.stories-BcciQ3Ug.js} +1 -1
- package/dist/storybook/assets/{Icon.stories-B4T6sSwf.js → Icon.stories-BWqJoZUM.js} +11 -11
- package/dist/storybook/assets/IconButton.stories-BrMDAi9q.js +748 -0
- package/dist/storybook/assets/{LinearProgress.stories-qzqmUUwY.js → LinearProgress.stories-INijWBr_.js} +7 -7
- package/dist/storybook/assets/LucideDynamicLoader-jmdq8YDM.js +1 -0
- package/dist/storybook/assets/{Pagination.stories-B6Q-7taJ.js → Pagination.stories-CrExaWpC.js} +1 -1
- package/dist/storybook/assets/{Popover.stories-CGkU0SGv.js → Popover.stories-Bh6IUPG_.js} +5 -5
- package/dist/storybook/assets/{ReadyMixin-3YCzoG6W.js → ReadyMixin-C1lZU7vt.js} +1 -1
- package/dist/storybook/assets/{Rtc.stories-Y1MYTWAt.js → Rtc.stories-BHqFwgR7.js} +1 -1
- package/dist/storybook/assets/{ScrollShadow.stories-B9kSpLT1.js → ScrollShadow.stories-DnIj5cZF.js} +1 -1
- package/dist/storybook/assets/{Throttle.stories-BgvLDrS3.js → Throttle.stories-Dilsv90H.js} +1 -1
- package/dist/storybook/assets/Tooltip.stories-Dnb76OXa.js +143 -0
- package/dist/storybook/assets/{Widget.stories--JpqVyJe.js → Widget.stories-Cl-3dv15.js} +13 -13
- package/dist/storybook/assets/{WithTooltip-65CFNBJE-DNbD9hAX.js → WithTooltip-65CFNBJE-Bq21jhKM.js} +1 -1
- package/dist/storybook/assets/{formatter-EIJCOSYU-Cy8KIxab.js → formatter-EIJCOSYU-CwrejIu0.js} +1 -1
- package/dist/storybook/assets/if-defined-D1UQmdjo.js +1 -0
- package/dist/storybook/assets/iframe-CNxIA3cQ.css +1 -0
- package/dist/storybook/assets/{iframe-Dz6CxatW.js → iframe-CsKt54V3.js} +154 -154
- package/dist/storybook/assets/{index-CebChkmF.js → index-DQ0xe06s.js} +1 -1
- package/dist/storybook/assets/{onFind.stories-nHDImx0x.js → onFind.stories-CGeGoVR6.js} +1 -1
- package/dist/storybook/assets/{onRemove.stories-CBxYVPwd.js → onRemove.stories-DXOwfv14.js} +1 -1
- package/dist/storybook/assets/{onVisible.stories-D4Qewc9Y.js → onVisible.stories-DNzXceKW.js} +1 -1
- package/dist/storybook/assets/{style-map-BgW9piaW.js → style-map-kcS06w9f.js} +1 -1
- package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-CROW1475.js → syntaxhighlighter-ED5Y7EFY-BnpaJz4a.js} +1 -1
- package/dist/storybook/iframe.html +2 -2
- package/dist/storybook/index.json +1 -1
- package/dist/storybook/project.json +1 -1
- package/dist/tailwind-plugin-button.js +10 -0
- package/dist/tailwind-plugin-button.js.map +1 -1
- package/dist/tailwind-plugin-button.ts +10 -0
- package/dist/tailwind-plugin-dropdown.d.ts +2 -0
- package/dist/tailwind-plugin-dropdown.d.ts.map +1 -0
- package/dist/tailwind-plugin-dropdown.js +223 -0
- package/dist/tailwind-plugin-dropdown.js.map +1 -0
- package/dist/tailwind-plugin-dropdown.ts +249 -0
- package/dist/tailwind-plugin-pagination.js +9 -21
- package/dist/tailwind-plugin-pagination.js.map +1 -1
- package/dist/tailwind-plugin-pagination.ts +10 -21
- package/dist/util/EventEmitterMixin.d.ts +17 -0
- package/dist/util/EventEmitterMixin.d.ts.map +1 -1
- package/dist/util/EventEmitterMixin.js.map +1 -1
- package/docs/components/Avatar.md +62 -0
- package/docs/components/AvatarGroup.md +52 -0
- package/docs/components/Badge.md +58 -0
- package/docs/components/CircularProgress.md +55 -0
- package/docs/components/CopyToClipboard.md +54 -0
- package/docs/components/Dropdown.md +100 -0
- package/docs/components/DropdownItem.md +64 -0
- package/docs/components/DropdownMenu.md +81 -0
- package/docs/components/Icon.md +61 -0
- package/docs/components/IconButton.md +63 -0
- package/docs/components/LinearProgress.md +40 -0
- package/docs/components/Pagination.md +95 -0
- package/docs/components/Popover.md +71 -0
- package/docs/components/README.md +25 -0
- package/docs/components/Widget.md +79 -0
- package/package.json +3 -2
- package/dist/storybook/assets/Avatar.stories-CafEcy4T.js +0 -214
- package/dist/storybook/assets/Tooltip.stories-POo1M-ew.js +0 -143
- package/dist/storybook/assets/if-defined-CngSGyRu.js +0 -1
- package/dist/storybook/assets/iframe-DiT9Iz2T.css +0 -1
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import plugin from 'tailwindcss/plugin'
|
|
2
|
+
import type { CSSRuleObject } from 'tailwindcss/types/config'
|
|
3
|
+
declare let module: any
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Dropdown menu component styling.
|
|
7
|
+
*
|
|
8
|
+
* Class Names:
|
|
9
|
+
*
|
|
10
|
+
* btu-dropdown-panel - Panel container with popover positioning
|
|
11
|
+
* btu-dropdown-item - Menu item row
|
|
12
|
+
* btu-dropdown-item-selected - Selected/checked item highlight
|
|
13
|
+
* btu-dropdown-item-disabled - Disabled item styling (no pointer-events: none)
|
|
14
|
+
* btu-dropdown-divider - Horizontal separator between item groups
|
|
15
|
+
* btu-dropdown-subhead - Group heading label
|
|
16
|
+
* btu-dropdown-header - Menu header bar
|
|
17
|
+
* btu-dropdown-checkbox - Checkbox indicator
|
|
18
|
+
* btu-dropdown-favorite - Favorite star button
|
|
19
|
+
* btu-dropdown-shortcut - Keyboard shortcut text
|
|
20
|
+
* btu-dropdown-chevron - Trigger chevron icon
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
module.exports = plugin(function ({ addComponents, config, theme }) {
|
|
24
|
+
const itemFontSize = config('theme.fontSize.sm')?.[0] ?? '0.875rem'
|
|
25
|
+
const itemLineHeight = config('theme.fontSize.sm')?.[1] ?? '1.25rem'
|
|
26
|
+
const subheadFontSize = config('theme.fontSize.xs')?.[0] ?? '0.75rem'
|
|
27
|
+
|
|
28
|
+
const components: CSSRuleObject = {
|
|
29
|
+
/* ─── Panel ─── */
|
|
30
|
+
'.btu-dropdown-panel': {
|
|
31
|
+
backgroundColor: 'var(--dropdown-panel-background, var(--btu-theme-white))',
|
|
32
|
+
border: '1px solid var(--dropdown-panel-border-color, oklch(var(--btu-theme-gray-200)))',
|
|
33
|
+
borderRadius: `var(--dropdown-panel-border-radius, ${theme('borderRadius.lg')})`,
|
|
34
|
+
boxShadow: theme('boxShadow.lg'),
|
|
35
|
+
padding: '0.25rem 0',
|
|
36
|
+
overflow: 'auto',
|
|
37
|
+
maxHeight: 'min(20rem, 50vh)',
|
|
38
|
+
|
|
39
|
+
/* High-contrast border */
|
|
40
|
+
':root.is-moreContrast &': {
|
|
41
|
+
borderColor: 'var(--dropdown-panel-border-color, oklch(var(--btu-theme-gray-400)))',
|
|
42
|
+
},
|
|
43
|
+
'@media screen and (prefers-contrast: more) and (forced-colors: none)': {
|
|
44
|
+
':root:not(.is-normalContrast) &': {
|
|
45
|
+
borderColor: 'var(--dropdown-panel-border-color, oklch(var(--btu-theme-gray-400)))',
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
/* Exit state — hidden */
|
|
50
|
+
opacity: '0',
|
|
51
|
+
|
|
52
|
+
/* Transitions with allow-discrete for display/overlay */
|
|
53
|
+
transition: `opacity 150ms ease`,
|
|
54
|
+
'@supports (transition-behavior: allow-discrete)': {
|
|
55
|
+
transition: `opacity 150ms ease, display 150ms allow-discrete, overlay 150ms allow-discrete`,
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
/* Reduced motion */
|
|
59
|
+
'@media (prefers-reduced-motion: reduce)': {
|
|
60
|
+
transition: 'opacity 0.01ms ease',
|
|
61
|
+
'@supports (transition-behavior: allow-discrete)': {
|
|
62
|
+
transition: 'opacity 0.01ms ease, display 0.01ms allow-discrete, overlay 0.01ms allow-discrete',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
/* Entry state — visible (popover open) */
|
|
67
|
+
'.btu-dropdown-panel:popover-open': {
|
|
68
|
+
opacity: '1',
|
|
69
|
+
},
|
|
70
|
+
/* Starting style for entry animation */
|
|
71
|
+
'@starting-style': {
|
|
72
|
+
'.btu-dropdown-panel:popover-open': {
|
|
73
|
+
opacity: '0',
|
|
74
|
+
},
|
|
75
|
+
} as any,
|
|
76
|
+
|
|
77
|
+
/* ─── Header ─── */
|
|
78
|
+
'.btu-dropdown-header': {
|
|
79
|
+
display: 'flex',
|
|
80
|
+
alignItems: 'center',
|
|
81
|
+
padding: '0.5rem 0.75rem',
|
|
82
|
+
fontSize: subheadFontSize,
|
|
83
|
+
fontWeight: theme('fontWeight.semibold'),
|
|
84
|
+
color: 'oklch(var(--btu-theme-gray-900))',
|
|
85
|
+
borderBottom: '1px solid var(--dropdown-divider-color, oklch(var(--btu-theme-gray-200)))',
|
|
86
|
+
marginBottom: '0.25rem',
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
/* ─── Empty state ─── */
|
|
90
|
+
'.btu-dropdown-empty': {
|
|
91
|
+
display: 'flex',
|
|
92
|
+
alignItems: 'center',
|
|
93
|
+
justifyContent: 'center',
|
|
94
|
+
padding: '1rem',
|
|
95
|
+
fontSize: itemFontSize,
|
|
96
|
+
color: 'var(--dropdown-empty-color, oklch(var(--btu-theme-gray-400)))',
|
|
97
|
+
},
|
|
98
|
+
|
|
99
|
+
/* ─── Item ─── */
|
|
100
|
+
'.btu-dropdown-item': {
|
|
101
|
+
display: 'flex',
|
|
102
|
+
alignItems: 'center',
|
|
103
|
+
gap: '0.5rem',
|
|
104
|
+
padding: '0.375rem 0.75rem',
|
|
105
|
+
fontSize: `var(--dropdown-item-font-size, ${itemFontSize})`,
|
|
106
|
+
lineHeight: itemLineHeight,
|
|
107
|
+
color: 'var(--dropdown-item-color, oklch(var(--btu-theme-gray-700)))',
|
|
108
|
+
backgroundColor: 'var(--dropdown-item-background, transparent)',
|
|
109
|
+
cursor: 'pointer',
|
|
110
|
+
userSelect: 'none',
|
|
111
|
+
outline: 'none',
|
|
112
|
+
whiteSpace: 'nowrap',
|
|
113
|
+
|
|
114
|
+
'&:hover': {
|
|
115
|
+
backgroundColor: 'var(--dropdown-item-hover-background, oklch(var(--btu-theme-gray-100)))',
|
|
116
|
+
color: 'var(--dropdown-item-hover-color, oklch(var(--btu-theme-gray-900)))',
|
|
117
|
+
},
|
|
118
|
+
'&:focus-visible': {
|
|
119
|
+
backgroundColor: 'var(--dropdown-item-hover-background, oklch(var(--btu-theme-gray-100)))',
|
|
120
|
+
color: 'var(--dropdown-item-hover-color, oklch(var(--btu-theme-gray-900)))',
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
'.btu-dropdown-item-selected': {
|
|
125
|
+
backgroundColor: 'var(--dropdown-item-selected-background, oklch(var(--btu-theme-primary-50)))',
|
|
126
|
+
color: 'var(--dropdown-item-selected-color, oklch(var(--btu-theme-primary-700)))',
|
|
127
|
+
'&:hover': {
|
|
128
|
+
backgroundColor: 'var(--dropdown-item-selected-background, oklch(var(--btu-theme-primary-50)))',
|
|
129
|
+
color: 'var(--dropdown-item-selected-color, oklch(var(--btu-theme-primary-700)))',
|
|
130
|
+
},
|
|
131
|
+
'&:focus-visible': {
|
|
132
|
+
backgroundColor: 'var(--dropdown-item-selected-background, oklch(var(--btu-theme-primary-50)))',
|
|
133
|
+
color: 'var(--dropdown-item-selected-color, oklch(var(--btu-theme-primary-700)))',
|
|
134
|
+
},
|
|
135
|
+
},
|
|
136
|
+
|
|
137
|
+
'.btu-dropdown-item-disabled': {
|
|
138
|
+
opacity: '0.5',
|
|
139
|
+
cursor: 'default',
|
|
140
|
+
|
|
141
|
+
':root.is-moreContrast &': {
|
|
142
|
+
opacity: '0.4',
|
|
143
|
+
},
|
|
144
|
+
'@media screen and (prefers-contrast: more) and (forced-colors: none)': {
|
|
145
|
+
':root:not(.is-normalContrast) &': {
|
|
146
|
+
opacity: '0.4',
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
|
|
151
|
+
/* ─── Checkbox indicator ─── */
|
|
152
|
+
'.btu-dropdown-checkbox': {
|
|
153
|
+
display: 'inline-flex',
|
|
154
|
+
alignItems: 'center',
|
|
155
|
+
justifyContent: 'center',
|
|
156
|
+
width: '1rem',
|
|
157
|
+
height: '1rem',
|
|
158
|
+
flexShrink: '0',
|
|
159
|
+
borderRadius: theme('borderRadius.sm'),
|
|
160
|
+
border: '1px solid oklch(var(--btu-theme-gray-300))',
|
|
161
|
+
backgroundColor: 'transparent',
|
|
162
|
+
color: 'transparent',
|
|
163
|
+
},
|
|
164
|
+
'.btu-dropdown-checkbox-checked': {
|
|
165
|
+
backgroundColor: 'oklch(var(--btu-theme-primary-600))',
|
|
166
|
+
borderColor: 'oklch(var(--btu-theme-primary-600))',
|
|
167
|
+
color: 'var(--btu-theme-white)',
|
|
168
|
+
},
|
|
169
|
+
|
|
170
|
+
/* ─── Divider ─── */
|
|
171
|
+
'.btu-dropdown-divider': {
|
|
172
|
+
borderTop: '1px solid var(--dropdown-divider-color, oklch(var(--btu-theme-gray-200)))',
|
|
173
|
+
margin: '0.25rem 0',
|
|
174
|
+
},
|
|
175
|
+
|
|
176
|
+
/* ─── Subhead ─── */
|
|
177
|
+
'.btu-dropdown-subhead': {
|
|
178
|
+
padding: '0.5rem 0.75rem 0.25rem',
|
|
179
|
+
fontSize: subheadFontSize,
|
|
180
|
+
fontWeight: theme('fontWeight.semibold'),
|
|
181
|
+
color: 'oklch(var(--btu-theme-gray-500))',
|
|
182
|
+
textTransform: 'uppercase',
|
|
183
|
+
letterSpacing: '0.05em',
|
|
184
|
+
lineHeight: '1rem',
|
|
185
|
+
},
|
|
186
|
+
|
|
187
|
+
/* ─── Favorite star ─── */
|
|
188
|
+
'button.btu-dropdown-favorite': {
|
|
189
|
+
flexShrink: '0',
|
|
190
|
+
marginLeft: 'auto',
|
|
191
|
+
color: 'oklch(var(--btu-theme-gray-400))',
|
|
192
|
+
'&:hover': {
|
|
193
|
+
color: 'oklch(var(--btu-theme-warning-500))',
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
'button.btu-dropdown-favorite-active': {
|
|
197
|
+
color: 'oklch(var(--btu-theme-warning-500))',
|
|
198
|
+
},
|
|
199
|
+
|
|
200
|
+
/* ─── Shortcut text ─── */
|
|
201
|
+
'.btu-dropdown-shortcut': {
|
|
202
|
+
marginLeft: 'auto',
|
|
203
|
+
fontSize: subheadFontSize,
|
|
204
|
+
color: 'oklch(var(--btu-theme-gray-400))',
|
|
205
|
+
},
|
|
206
|
+
|
|
207
|
+
/* ─── Disabled trigger ─── */
|
|
208
|
+
'btu-dropdown[disabled]': {
|
|
209
|
+
opacity: '0.5',
|
|
210
|
+
pointerEvents: 'none',
|
|
211
|
+
},
|
|
212
|
+
|
|
213
|
+
/* ─── Chevron ─── */
|
|
214
|
+
'.btu-dropdown-chevron': {
|
|
215
|
+
transition: 'transform 200ms ease',
|
|
216
|
+
flexShrink: '0',
|
|
217
|
+
},
|
|
218
|
+
/* Icon-only trigger with chevron: override square sizing so both icons fit */
|
|
219
|
+
'.btu-button-text-hidden:has(.btu-dropdown-chevron)': {
|
|
220
|
+
width: 'auto',
|
|
221
|
+
gap: '0.5rem',
|
|
222
|
+
},
|
|
223
|
+
'btu-dropdown[open] .btu-dropdown-chevron': {
|
|
224
|
+
transform: 'rotate(180deg)',
|
|
225
|
+
},
|
|
226
|
+
|
|
227
|
+
/* ─── Item icon container ─── */
|
|
228
|
+
'.btu-dropdown-item-icon': {
|
|
229
|
+
display: 'inline-flex',
|
|
230
|
+
flexShrink: '0',
|
|
231
|
+
},
|
|
232
|
+
|
|
233
|
+
/* ─── Item label ─── */
|
|
234
|
+
'.btu-dropdown-item-label': {
|
|
235
|
+
flex: '1',
|
|
236
|
+
overflow: 'hidden',
|
|
237
|
+
textOverflow: 'ellipsis',
|
|
238
|
+
},
|
|
239
|
+
|
|
240
|
+
/* ─── Selected check mark (non-checkbox mode) ─── */
|
|
241
|
+
'.btu-dropdown-check': {
|
|
242
|
+
display: 'inline-flex',
|
|
243
|
+
flexShrink: '0',
|
|
244
|
+
color: 'oklch(var(--btu-theme-primary-600))',
|
|
245
|
+
},
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
addComponents(components)
|
|
249
|
+
})
|
|
@@ -52,7 +52,7 @@ module.exports = plugin(function ({ addComponents, config }) {
|
|
|
52
52
|
'& .btu-pagination-total': {
|
|
53
53
|
opacity: '0.5',
|
|
54
54
|
},
|
|
55
|
-
'& .btu-pagination-controls >
|
|
55
|
+
'& .btu-pagination-controls > btu-icon-button': {
|
|
56
56
|
opacity: '0.5',
|
|
57
57
|
},
|
|
58
58
|
'& .btu-pagination-controls > btu-circular-progress': {
|
|
@@ -112,41 +112,29 @@ module.exports = plugin(function ({ addComponents, config }) {
|
|
|
112
112
|
marginLeft: 'auto',
|
|
113
113
|
border: '1px solid oklch(var(--btu-theme-gray-300))',
|
|
114
114
|
borderRadius: '0.5rem',
|
|
115
|
-
'& > :first-
|
|
115
|
+
'& > btu-icon-button:first-of-type > .btu-button': {
|
|
116
116
|
borderTopLeftRadius: 'calc(0.5rem - 1px)',
|
|
117
117
|
borderBottomLeftRadius: 'calc(0.5rem - 1px)',
|
|
118
118
|
},
|
|
119
|
-
'& > :last-
|
|
119
|
+
'& > btu-icon-button:last-of-type > .btu-button': {
|
|
120
120
|
borderTopRightRadius: 'calc(0.5rem - 1px)',
|
|
121
121
|
borderBottomRightRadius: 'calc(0.5rem - 1px)',
|
|
122
122
|
},
|
|
123
|
-
'& > :focus-visible': {
|
|
123
|
+
'& > btu-icon-button > .btu-button:focus-visible': {
|
|
124
124
|
zIndex: '1',
|
|
125
125
|
outline: 'none',
|
|
126
126
|
boxShadow: '0 0 0 1px oklch(var(--btu-theme-primary-400)), 0 0 0 4px oklch(var(--btu-theme-primary-100))',
|
|
127
127
|
borderRadius: 'calc(0.5rem - 1px)',
|
|
128
128
|
},
|
|
129
|
-
'& > :focus-within': {
|
|
130
|
-
zIndex: '1',
|
|
131
|
-
outline: 'none',
|
|
132
|
-
boxShadow: '0 0 0 1px oklch(var(--btu-theme-primary-400)), 0 0 0 4px oklch(var(--btu-theme-primary-100))',
|
|
133
|
-
borderRadius: 'calc(0.5rem - 1px)',
|
|
134
|
-
'& :focus-visible': {
|
|
135
|
-
outline: 'none',
|
|
136
|
-
boxShadow: 'none',
|
|
137
|
-
},
|
|
138
|
-
},
|
|
139
129
|
},
|
|
140
|
-
'.btu-pagination-controls > .btu-button': {
|
|
130
|
+
'.btu-pagination-controls > btu-icon-button > .btu-button': {
|
|
141
131
|
'--button-border-radius': '0',
|
|
142
132
|
'--button-color': 'var(--pagination-color-background, var(--btu-theme-white, #fff))',
|
|
133
|
+
'--button-text-color': 'var(--pagination-color-foreground, oklch(var(--btu-theme-gray-700)))',
|
|
143
134
|
borderRight: '1px solid oklch(var(--btu-theme-gray-200))',
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
'&:disabled': {
|
|
148
|
-
color: 'oklch(var(--btu-theme-gray-400))',
|
|
149
|
-
},
|
|
135
|
+
},
|
|
136
|
+
'.btu-pagination-controls > btu-icon-button:last-of-type > .btu-button': {
|
|
137
|
+
borderRight: 'none',
|
|
150
138
|
},
|
|
151
139
|
'.btu-pagination-jumper': {
|
|
152
140
|
display: 'inline-flex',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tailwind-plugin-pagination.js","sourceRoot":"","sources":["../src/tailwind-plugin-pagination.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAA;AAGvC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,gDAAgD;AAChD,MAAM,cAAc,GAAG,wPAAwP,CAAA;AAE/Q,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE;IACzD,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAA;IAClE,MAAM,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAAA;IAEjE,aAAa,CAAC;QACZ,iBAAiB,EAAE;YACjB,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,sEAAsE;SAC9E;QAED,wBAAwB,EAAE;YACxB,OAAO,EAAE,MAAM;SAChB;QAED,0BAA0B,EAAE;YAC1B,OAAO,EAAE,KAAK;YACd,aAAa,EAAE,MAAM;SACtB;QAED,yBAAyB,EAAE;YACzB,aAAa,EAAE,MAAM;YACrB,gCAAgC,EAAE;gBAChC,OAAO,EAAE,KAAK;aACf;YACD,yBAAyB,EAAE;gBACzB,OAAO,EAAE,KAAK;aACf;YACD,
|
|
1
|
+
{"version":3,"file":"tailwind-plugin-pagination.js","sourceRoot":"","sources":["../src/tailwind-plugin-pagination.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,7 +60,7 @@ module.exports = plugin(function ({ addComponents, config }) {
|
|
|
60
60
|
'& .btu-pagination-total': {
|
|
61
61
|
opacity: '0.5',
|
|
62
62
|
},
|
|
63
|
-
'& .btu-pagination-controls >
|
|
63
|
+
'& .btu-pagination-controls > btu-icon-button': {
|
|
64
64
|
opacity: '0.5',
|
|
65
65
|
},
|
|
66
66
|
'& .btu-pagination-controls > btu-circular-progress': {
|
|
@@ -126,42 +126,31 @@ module.exports = plugin(function ({ addComponents, config }) {
|
|
|
126
126
|
marginLeft: 'auto',
|
|
127
127
|
border: '1px solid oklch(var(--btu-theme-gray-300))',
|
|
128
128
|
borderRadius: '0.5rem',
|
|
129
|
-
'& > :first-
|
|
129
|
+
'& > btu-icon-button:first-of-type > .btu-button': {
|
|
130
130
|
borderTopLeftRadius: 'calc(0.5rem - 1px)',
|
|
131
131
|
borderBottomLeftRadius: 'calc(0.5rem - 1px)',
|
|
132
132
|
},
|
|
133
|
-
'& > :last-
|
|
133
|
+
'& > btu-icon-button:last-of-type > .btu-button': {
|
|
134
134
|
borderTopRightRadius: 'calc(0.5rem - 1px)',
|
|
135
135
|
borderBottomRightRadius: 'calc(0.5rem - 1px)',
|
|
136
136
|
},
|
|
137
|
-
'& > :focus-visible': {
|
|
137
|
+
'& > btu-icon-button > .btu-button:focus-visible': {
|
|
138
138
|
zIndex: '1',
|
|
139
139
|
outline: 'none',
|
|
140
140
|
boxShadow: '0 0 0 1px oklch(var(--btu-theme-primary-400)), 0 0 0 4px oklch(var(--btu-theme-primary-100))',
|
|
141
141
|
borderRadius: 'calc(0.5rem - 1px)',
|
|
142
142
|
},
|
|
143
|
-
'& > :focus-within': {
|
|
144
|
-
zIndex: '1',
|
|
145
|
-
outline: 'none',
|
|
146
|
-
boxShadow: '0 0 0 1px oklch(var(--btu-theme-primary-400)), 0 0 0 4px oklch(var(--btu-theme-primary-100))',
|
|
147
|
-
borderRadius: 'calc(0.5rem - 1px)',
|
|
148
|
-
'& :focus-visible': {
|
|
149
|
-
outline: 'none',
|
|
150
|
-
boxShadow: 'none',
|
|
151
|
-
},
|
|
152
|
-
},
|
|
153
143
|
},
|
|
154
144
|
|
|
155
|
-
'.btu-pagination-controls > .btu-button': {
|
|
145
|
+
'.btu-pagination-controls > btu-icon-button > .btu-button': {
|
|
156
146
|
'--button-border-radius': '0',
|
|
157
147
|
'--button-color': 'var(--pagination-color-background, var(--btu-theme-white, #fff))',
|
|
148
|
+
'--button-text-color': 'var(--pagination-color-foreground, oklch(var(--btu-theme-gray-700)))',
|
|
158
149
|
borderRight: '1px solid oklch(var(--btu-theme-gray-200))',
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
'
|
|
163
|
-
color: 'oklch(var(--btu-theme-gray-400))',
|
|
164
|
-
},
|
|
150
|
+
},
|
|
151
|
+
|
|
152
|
+
'.btu-pagination-controls > btu-icon-button:last-of-type > .btu-button': {
|
|
153
|
+
borderRight: 'none',
|
|
165
154
|
},
|
|
166
155
|
|
|
167
156
|
'.btu-pagination-jumper': {
|
|
@@ -49,6 +49,23 @@ export interface CustomEventMap {
|
|
|
49
49
|
page: number;
|
|
50
50
|
pageSize: number;
|
|
51
51
|
}>;
|
|
52
|
+
'btu-icon-button-ready': CustomEvent<unknown>;
|
|
53
|
+
'btu-icon-button-click': CustomEvent<{
|
|
54
|
+
name: string | undefined;
|
|
55
|
+
}>;
|
|
56
|
+
'btu-dropdown-ready': CustomEvent<unknown>;
|
|
57
|
+
'btu-dropdown-show': CustomEvent<unknown>;
|
|
58
|
+
'btu-dropdown-hide': CustomEvent<unknown>;
|
|
59
|
+
'btu-dropdown-menu-ready': CustomEvent<unknown>;
|
|
60
|
+
'btu-dropdown-item-ready': CustomEvent<unknown>;
|
|
61
|
+
'btu-dropdown-item-select': CustomEvent<{
|
|
62
|
+
label: string;
|
|
63
|
+
selected: boolean;
|
|
64
|
+
}>;
|
|
65
|
+
'btu-dropdown-item-favorite': CustomEvent<{
|
|
66
|
+
label: string;
|
|
67
|
+
favorited: boolean;
|
|
68
|
+
}>;
|
|
52
69
|
}
|
|
53
70
|
interface CombinedEventMap extends HTMLElementEventMap, CustomEventMap {
|
|
54
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventEmitterMixin.d.ts","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAEhC,KAAK,WAAW,CAAC,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AACxD,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAEtE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7C,0BAA0B,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAChD,mBAAmB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;IAClD,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,yBAAyB,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACvD,wBAAwB,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAA;IACpE,wBAAwB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC9C,2BAA2B,EAAE,WAAW,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5D,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACvC,sBAAsB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC5C,qBAAqB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC3C,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACtC,oBAAoB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC1C,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC7C,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IACxC,6BAA6B,EAAE,WAAW,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IAClE,+BAA+B,EAAE,WAAW,CAAC;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IACrE,sBAAsB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAC5C,uBAAuB,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxE,iCAAiC,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"EventEmitterMixin.d.ts","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventEmitterMixin.js","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"EventEmitterMixin.js","sourceRoot":"","sources":["../../src/util/EventEmitterMixin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAiEhC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAoC,UAAa,EAAE,EAAE;IACpF,MAAM,sBAAuB,SAAQ,UAAU;QAC7C;;;;WAIG;QACH,iBAAiB;YACf,KAAK,CAAC,iBAAiB,EAAE,CAAA;YACzB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC,EAC5C,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CACnD,CAAA;QACH,CAAC;QAED;;;;WAIG;QACH,oBAAoB;YAClB,KAAK,CAAC,oBAAoB,EAAE,CAAA;YAC5B,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QACvC,CAAC;QAED;;;;;;;;;;;;;;;;WAgBG;QACH,IAAI,CAAiC,IAAO,EAAE,MAA6C;YACzF,OAAO,IAAI,CAAC,aAAa,CACvB,IAAI,WAAW,CAAC,IAAI,EAAE;gBACpB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,IAAI;gBACd,MAAM;aACP,CAAC,CACH,CAAA;QACH,CAAC;KACF;IACD,OAAO,sBAAqE,CAAA;AAC9E,CAAC,CAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# `src/components/avatar/Avatar.ts`:
|
|
2
|
+
|
|
3
|
+
## class: `Avatar`, `btu-avatar`
|
|
4
|
+
|
|
5
|
+
### Superclass
|
|
6
|
+
|
|
7
|
+
| Name | Module | Package |
|
|
8
|
+
| ------------ | ------ | ------- |
|
|
9
|
+
| `LitElement` | | lit |
|
|
10
|
+
|
|
11
|
+
### Mixins
|
|
12
|
+
|
|
13
|
+
| Name | Module | Package |
|
|
14
|
+
| ------------------- | ------------------------------ | ------- |
|
|
15
|
+
| `TooltipMixin` | /src/util/TooltipMixin.js | |
|
|
16
|
+
| `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
|
|
17
|
+
| `ReadyMixin` | /src/util/ReadyMixin.js | |
|
|
18
|
+
|
|
19
|
+
### Fields
|
|
20
|
+
|
|
21
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
22
|
+
| ---------- | ------- | ----------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
23
|
+
| `src` | | `string` | `''` | Image source URL | |
|
|
24
|
+
| `alt` | | `string` | `''` | Alt text for the image | |
|
|
25
|
+
| `fallback` | | `string` | `''` | Fallback text (typically user initials) | |
|
|
26
|
+
| `size` | | `'xs' \| 'sm' \| 'md' \| 'lg' \| 'xl' \| 'xxl'` | `'md'` | Size variant.
- 'xs': Extra small (1.5rem)
- 'sm': Small (2.25rem)
- 'md': Medium (2.5rem) - default
- 'lg': Large (3rem)
- 'xl': Extra large (3.5rem)
- 'xxl': Extra extra large (4rem) | |
|
|
27
|
+
|
|
28
|
+
### Events
|
|
29
|
+
|
|
30
|
+
| Name | Type | Description | Inherited From |
|
|
31
|
+
| ------------------------- | ------------------------------------------ | ------------------------------------------- | -------------- |
|
|
32
|
+
| `btu-avatar-ready` | `CustomEvent` | Fired after first render and initialization | |
|
|
33
|
+
| `btu-avatar-image-loaded` | `CustomEvent<{src: string}>` | Fired when image successfully loads | |
|
|
34
|
+
| `btu-avatar-image-error` | `CustomEvent<{src: string, error: Event}>` | Fired when image fails to load | |
|
|
35
|
+
|
|
36
|
+
### Attributes
|
|
37
|
+
|
|
38
|
+
| Name | Field | Inherited From |
|
|
39
|
+
| ---------- | -------- | -------------- |
|
|
40
|
+
| `src` | src | |
|
|
41
|
+
| `alt` | alt | |
|
|
42
|
+
| `fallback` | fallback | |
|
|
43
|
+
| `size` | size | |
|
|
44
|
+
|
|
45
|
+
### CSS Properties
|
|
46
|
+
|
|
47
|
+
| Name | Default | Description |
|
|
48
|
+
| -------------------------- | ------- | ----------------------------------------------- |
|
|
49
|
+
| `--avatar-size` | | Custom size (overrides size prop) |
|
|
50
|
+
| `--avatar-bg-color` | | Fallback background color (default: purple-600) |
|
|
51
|
+
| `--avatar-corner-rounding` | | How rounded is the avatar (default: circle) |
|
|
52
|
+
| `--avatar-ring-color` | | Optional ring border color |
|
|
53
|
+
| `--avatar-ring-width` | | Ring border width (default: 2px) |
|
|
54
|
+
|
|
55
|
+
<hr/>
|
|
56
|
+
|
|
57
|
+
## Exports
|
|
58
|
+
|
|
59
|
+
| Kind | Name | Declaration | Module | Package |
|
|
60
|
+
| --------------------------- | ------------ | ----------- | ------------------------------- | ------- |
|
|
61
|
+
| `js` | `default` | Avatar | src/components/avatar/Avatar.ts | |
|
|
62
|
+
| `custom-element-definition` | `btu-avatar` | Avatar | src/components/avatar/Avatar.ts | |
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# `src/components/avatar/AvatarGroup.ts`:
|
|
2
|
+
|
|
3
|
+
## class: `AvatarGroup`, `btu-avatar-group`
|
|
4
|
+
|
|
5
|
+
### Superclass
|
|
6
|
+
|
|
7
|
+
| Name | Module | Package |
|
|
8
|
+
| ------------ | ------ | ------- |
|
|
9
|
+
| `LitElement` | | lit |
|
|
10
|
+
|
|
11
|
+
### Mixins
|
|
12
|
+
|
|
13
|
+
| Name | Module | Package |
|
|
14
|
+
| ------------------- | ------------------------------ | ------- |
|
|
15
|
+
| `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
|
|
16
|
+
| `ReadyMixin` | /src/util/ReadyMixin.js | |
|
|
17
|
+
|
|
18
|
+
### Fields
|
|
19
|
+
|
|
20
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
21
|
+
| ------ | ------- | ---------------------- | ------- | ------------------------------------------------------------------- | -------------- |
|
|
22
|
+
| `max` | | `number \| undefined` | | Maximum number of visible avatars. Remaining avatars shown as "+N" | |
|
|
23
|
+
| `size` | | `'xs' \| 'sm' \| 'md'` | `'md'` | Size variant for all child avatars (unless individually overridden) | |
|
|
24
|
+
|
|
25
|
+
### Methods
|
|
26
|
+
|
|
27
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
28
|
+
| ---------------- | ------- | --------------------------------------------------------------------------------------------------------------------------- | ---------- | ------ | -------------- |
|
|
29
|
+
| `processAvatars` | | Process all avatar children: apply size, handle overflow
Call this method when avatars are dynamically added or removed | | `void` | |
|
|
30
|
+
|
|
31
|
+
### Events
|
|
32
|
+
|
|
33
|
+
| Name | Type | Description | Inherited From |
|
|
34
|
+
| --------------------------- | ------------------------------- | ---------------------------------------------- | -------------- |
|
|
35
|
+
| `btu-avatar-group-ready` | `CustomEvent` | Fired after first render and initialization | |
|
|
36
|
+
| `btu-avatar-group-overflow` | `CustomEvent<{hidden: number}>` | Fired when avatars are hidden due to max limit | |
|
|
37
|
+
|
|
38
|
+
### Attributes
|
|
39
|
+
|
|
40
|
+
| Name | Field | Inherited From |
|
|
41
|
+
| ------ | ----- | -------------- |
|
|
42
|
+
| `max` | max | |
|
|
43
|
+
| `size` | size | |
|
|
44
|
+
|
|
45
|
+
<hr/>
|
|
46
|
+
|
|
47
|
+
## Exports
|
|
48
|
+
|
|
49
|
+
| Kind | Name | Declaration | Module | Package |
|
|
50
|
+
| --------------------------- | ------------------ | ----------- | ------------------------------------ | ------- |
|
|
51
|
+
| `js` | `default` | AvatarGroup | src/components/avatar/AvatarGroup.ts | |
|
|
52
|
+
| `custom-element-definition` | `btu-avatar-group` | AvatarGroup | src/components/avatar/AvatarGroup.ts | |
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# `src/components/badge/Badge.ts`:
|
|
2
|
+
|
|
3
|
+
## class: `Badge`, `btu-badge`
|
|
4
|
+
|
|
5
|
+
### Superclass
|
|
6
|
+
|
|
7
|
+
| Name | Module | Package |
|
|
8
|
+
| ------------ | ------ | ------- |
|
|
9
|
+
| `LitElement` | | lit |
|
|
10
|
+
|
|
11
|
+
### Mixins
|
|
12
|
+
|
|
13
|
+
| Name | Module | Package |
|
|
14
|
+
| ------------------- | ------------------------------ | ------- |
|
|
15
|
+
| `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
|
|
16
|
+
| `ReadyMixin` | /src/util/ReadyMixin.js | |
|
|
17
|
+
|
|
18
|
+
### Fields
|
|
19
|
+
|
|
20
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
21
|
+
| --------- | ------- | ---------------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
22
|
+
| `variant` | | `'info' \| 'primary' \| 'error' \| 'success' \| 'warning'` | `'info'` | Style of the badge.
- 'info': Informational (default)
- 'primary': Primary action or emphasis
- 'error': Error or danger state
- 'success': Success or completion state
- 'warning': Warning or caution state | |
|
|
23
|
+
| `dot` | | `boolean` | `false` | Should a dot be displayed before the label? | |
|
|
24
|
+
| `size` | | `string` | `'sm'` | Size variant.
- 'sm': Small (default)
- 'md': Medium
- 'lg': Large | |
|
|
25
|
+
|
|
26
|
+
### Events
|
|
27
|
+
|
|
28
|
+
| Name | Type | Description | Inherited From |
|
|
29
|
+
| ----------------- | ------------- | ------------------------------------------- | -------------- |
|
|
30
|
+
| `btu-badge-ready` | `CustomEvent` | Fired after first render and initialization | |
|
|
31
|
+
|
|
32
|
+
### Attributes
|
|
33
|
+
|
|
34
|
+
| Name | Field | Inherited From |
|
|
35
|
+
| --------- | ------- | -------------- |
|
|
36
|
+
| `variant` | variant | |
|
|
37
|
+
| `dot` | dot | |
|
|
38
|
+
| `size` | size | |
|
|
39
|
+
|
|
40
|
+
### CSS Properties
|
|
41
|
+
|
|
42
|
+
| Name | Default | Description |
|
|
43
|
+
| -------------------------- | ------- | ------------------------------------------------------------ |
|
|
44
|
+
| `--badge-color-foreground` | | Text color (overrides theme color) |
|
|
45
|
+
| `--badge-color-background` | | Background color (overrides theme color) |
|
|
46
|
+
| `--badge-radius-size` | | Border radius size (overrides shape default, default: 999px) |
|
|
47
|
+
| `--badge-px` | | Horizontal padding (overrides size default) |
|
|
48
|
+
| `--badge-py` | | Vertical padding (overrides size default) |
|
|
49
|
+
| `--badge-dot-size` | | Size of the dot affordance (default: 6px) |
|
|
50
|
+
|
|
51
|
+
<hr/>
|
|
52
|
+
|
|
53
|
+
## Exports
|
|
54
|
+
|
|
55
|
+
| Kind | Name | Declaration | Module | Package |
|
|
56
|
+
| --------------------------- | ----------- | ----------- | ----------------------------- | ------- |
|
|
57
|
+
| `js` | `default` | Badge | src/components/badge/Badge.ts | |
|
|
58
|
+
| `custom-element-definition` | `btu-badge` | Badge | src/components/badge/Badge.ts | |
|