@brightspot/ui 6.8.1 → 6.8.2
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/CHANGELOG.md +661 -0
- package/README.md +18 -2
- package/dist/storybook/CHANGELOG.md +661 -0
- package/dist/storybook/README.md +195 -0
- package/dist/storybook/assets/{ActionBar.stories-BOXYJYXy.js → ActionBar.stories-TlhuCumU.js} +1 -1
- package/dist/storybook/assets/{ActionItem-WoDvowFu.js → ActionItem-CjtyGLd5.js} +1 -1
- package/dist/storybook/assets/{ActionItem.stories-CVFoWP54.js → ActionItem.stories-BVlNQvfP.js} +1 -1
- package/dist/storybook/assets/{AiSparkle.stories-Psv9jNpy.js → AiSparkle.stories-DMzc8JUe.js} +2 -2
- package/dist/storybook/assets/{Avatar-CIQcHS8b.js → Avatar-C6Li1sPI.js} +1 -1
- package/dist/storybook/assets/{Avatar.stories-BE2Xn8fx.js → Avatar.stories-COj6XrPn.js} +1 -1
- package/dist/storybook/assets/{AvatarGroup-Chs0VKPg.js → AvatarGroup-DgxRTZBe.js} +1 -1
- package/dist/storybook/assets/{AvatarGroup.stories-2ar6gCeX.js → AvatarGroup.stories-Dh3e7iN2.js} +1 -1
- package/dist/storybook/assets/{Badge-AV20mCMJ.js → Badge-bWrvpEgX.js} +1 -1
- package/dist/storybook/assets/{Badge.stories-w9LqNw0A.js → Badge.stories-KXpmEXpt.js} +1 -1
- package/dist/storybook/assets/{Banner.stories-Clhh1bBs.js → Banner.stories-Cnhm3dXK.js} +1 -1
- package/dist/storybook/assets/{Button-B7fn_wd5.js → Button-DE0s-gat.js} +1 -1
- package/dist/storybook/assets/{Button.stories-5h4M8nd2.js → Button.stories-Cwg1YZEb.js} +1 -1
- package/dist/storybook/assets/{ButtonGroup-BmndBsBy.js → ButtonGroup-CoLI5nGO.js} +1 -1
- package/dist/storybook/assets/{ButtonGroup.stories-CR1H4H7u.js → ButtonGroup.stories-VhnKPP1n.js} +1 -1
- package/dist/storybook/assets/{Card.stories-Bz5vXq5y.js → Card.stories-BgpL90zB.js} +1 -1
- package/dist/storybook/assets/{Celebrate.stories-Bu3CNw0k.js → Celebrate.stories-D3NJgYcX.js} +1 -1
- package/dist/storybook/assets/{Checkbox-BALsanB1.js → Checkbox-BC1T_KxW.js} +1 -1
- package/dist/storybook/assets/{Checkbox.stories-BdvCht5c.js → Checkbox.stories-AFQNz7dQ.js} +1 -1
- package/dist/storybook/assets/{CircularProgress-BeE2fWON.js → CircularProgress-eqVb2jUD.js} +1 -1
- package/dist/storybook/assets/{CircularProgress.stories-CL8Lc6eU.js → CircularProgress.stories-B6t8VhmJ.js} +1 -1
- package/dist/storybook/assets/{ClipboardMixin-C6wcbXIO.js → ClipboardMixin-DcxrOy5B.js} +1 -1
- package/dist/storybook/assets/{ClipboardMixin.stories-BsjzC7wd.js → ClipboardMixin.stories-BqtQMjmS.js} +1 -1
- package/dist/storybook/assets/{Color-6BZIO3FS-Dsd6EVV9.js → Color-6BZIO3FS-CDluohEc.js} +1 -1
- package/dist/storybook/assets/{Colors.stories-CkCdNN9Y.js → Colors.stories-CqTniDIa.js} +1 -1
- package/dist/storybook/assets/{CombinedEffects.stories-QG78pIiG.js → CombinedEffects.stories-FwW0chy5.js} +1 -1
- package/dist/storybook/assets/{ComponentStatesMixin-CG-Dx_Vk.js → ComponentStatesMixin-hUqOL2aW.js} +1 -1
- package/dist/storybook/assets/{ComponentStatesMixin.stories-B1yuAqua.js → ComponentStatesMixin.stories-CwGoq685.js} +1 -1
- package/dist/storybook/assets/{CopyToClipboard.stories-CyKcumJ9.js → CopyToClipboard.stories-DUGjgtQx.js} +1 -1
- package/dist/storybook/assets/{Debounce.stories-BuNskQ33.js → Debounce.stories-CrWfXhKS.js} +1 -1
- package/dist/storybook/assets/{DocsRenderer-LL677BLK-BrPyc8XX.js → DocsRenderer-LL677BLK-9e51z9Xc.js} +3 -3
- package/dist/storybook/assets/{Dropdown.stories-DHXeP07z.js → Dropdown.stories-BsBxV0wp.js} +1 -1
- package/dist/storybook/assets/{DropdownMenu-WoWnJiQk.js → DropdownMenu-B-LvOIGj.js} +1 -1
- package/dist/storybook/assets/{EmptyState.stories-BRoVusey.js → EmptyState.stories-CJ1w8Tp2.js} +1 -1
- package/dist/storybook/assets/{EscaAvatar.stories-CWAE-4Uz.js → EscaAvatar.stories-BoLLSj9q.js} +2 -2
- package/dist/storybook/assets/{Events.stories-D-npDwlx.js → Events.stories-C3sTBwPJ.js} +1 -1
- package/dist/storybook/assets/{Heading.stories-D7hmvFEN.js → Heading.stories-jmXDRBmM.js} +1 -1
- package/dist/storybook/assets/{HueRipple.stories-Dx3ozdHi.js → HueRipple.stories-BPx5aSYd.js} +1 -1
- package/dist/storybook/assets/{Icon-DPQKiWDz.js → Icon-CWyJRQf7.js} +1 -1
- package/dist/storybook/assets/{Icon.stories-CVsQvcwd.js → Icon.stories-iYBxmv2x.js} +1 -1
- package/dist/storybook/assets/{IconButton-Dp4Z06bL.js → IconButton-Di5Rgs7F.js} +1 -1
- package/dist/storybook/assets/{IconButton.stories-DTbfHfcQ.js → IconButton.stories-DENLoxVk.js} +1 -1
- package/dist/storybook/assets/{LinearProgress-DG3tPlGH.js → LinearProgress-D9ngIVlv.js} +1 -1
- package/dist/storybook/assets/{LinearProgress.stories-VIU6OqYd.js → LinearProgress.stories-u90B_VJR.js} +1 -1
- package/dist/storybook/assets/{Message-BzkpGg8z.js → Message-nFAa55c_.js} +1 -1
- package/dist/storybook/assets/{Message.stories-C9bzoQes.js → Message.stories-B4rpz5rI.js} +1 -1
- package/dist/storybook/assets/{OnFindMixin-CeeYfx9k.js → OnFindMixin-oL1bvTFj.js} +1 -1
- package/dist/storybook/assets/{OnFindMixin.stories-Dq06nuVf.js → OnFindMixin.stories-CdeS5sFA.js} +1 -1
- package/dist/storybook/assets/{Pagination-CnWa6AX5.js → Pagination-CSWcjuDU.js} +1 -1
- package/dist/storybook/assets/{Pagination.stories-BsH2eN2W.js → Pagination.stories-Da2WzJkv.js} +1 -1
- package/dist/storybook/assets/{Popover.stories-CLnzpgEE.js → Popover.stories-CVljlVHc.js} +1 -1
- package/dist/storybook/assets/{ProgressMixin-D1atDw3n.js → ProgressMixin-CeSrn0_P.js} +1 -1
- package/dist/storybook/assets/{Radio-B6Aq6K0V.js → Radio-rvfGhZwK.js} +1 -1
- package/dist/storybook/assets/{Radio.stories-BCVbISmb.js → Radio.stories-B0wHdJuc.js} +1 -1
- package/dist/storybook/assets/{RadioGroup.stories-B-TGP_-v.js → RadioGroup.stories-D8krOSlP.js} +1 -1
- package/dist/storybook/assets/{ReadyMixin-C8HW2nGE.js → ReadyMixin-CvX_eidU.js} +1 -1
- package/dist/storybook/assets/{RovingTabindexMixin-DI5rmyR7.js → RovingTabindexMixin-9z8lwaM9.js} +1 -1
- package/dist/storybook/assets/{RovingTabindexMixin.stories-DVKCC_R7.js → RovingTabindexMixin.stories-Y8vBWjJp.js} +1 -1
- package/dist/storybook/assets/{Rtc.stories-bBYHOszW.js → Rtc.stories-D3Y-z8y_.js} +1 -1
- package/dist/storybook/assets/{ScrollShadow.stories-BIK8YINt.js → ScrollShadow.stories-1KD0lWHX.js} +1 -1
- package/dist/storybook/assets/{Switch.stories-COEk74kM.js → Switch.stories-Bsqvm_HE.js} +1 -1
- package/dist/storybook/assets/{Tab.stories-Dbt9JvSx.js → Tab.stories-CzcTisNs.js} +1 -1
- package/dist/storybook/assets/{Tabs-BIScOPS0.js → Tabs-DdpYNZSW.js} +1 -1
- package/dist/storybook/assets/{Tabs.stories-CodKgVf2.js → Tabs.stories-UOS3V0J4.js} +1 -1
- package/dist/storybook/assets/{Throttle.stories-BhIqWWrQ.js → Throttle.stories-C8jgzh6e.js} +1 -1
- package/dist/storybook/assets/{Tooltip.stories-DKD8nBM1.js → Tooltip.stories-B5BoI0cH.js} +1 -1
- package/dist/storybook/assets/{TooltipMixin-CRNNusJ7.js → TooltipMixin-CVKslCDt.js} +1 -1
- package/dist/storybook/assets/{Upload.stories-WTO15ST1.js → Upload.stories-BsQDCDqo.js} +1 -1
- package/dist/storybook/assets/{UploadItem-DejgZ5A0.js → UploadItem-CYQqNwUF.js} +1 -1
- package/dist/storybook/assets/{UploadItem.stories-Pk3ghOcI.js → UploadItem.stories-_le7XBTV.js} +1 -1
- package/dist/storybook/assets/{Welcome.stories-DrNnxvt9.js → Welcome.stories-rramKkhd.js} +33 -3
- package/dist/storybook/assets/{Widget.stories-CYC5Qdac.js → Widget.stories-DtbAaklk.js} +1 -1
- package/dist/storybook/assets/{WithTooltip-65CFNBJE-DK6PZNaa.js → WithTooltip-65CFNBJE-DK6GcBuR.js} +1 -1
- package/dist/storybook/assets/{blocks-Dzcxb014.js → blocks-DHnzPh43.js} +5 -5
- package/dist/storybook/assets/{formatter-EIJCOSYU-PioIuXjk.js → formatter-EIJCOSYU-qig-qWlG.js} +1 -1
- package/dist/storybook/assets/if-defined-DerKRcyC.js +1 -0
- package/dist/storybook/assets/{iframe-Byo_x5o2.js → iframe-DlBK9Drk.js} +3 -3
- package/dist/storybook/assets/{index-gox-Wle0.js → index-CItQyB37.js} +1 -1
- package/dist/storybook/assets/{lottie_svg-3t2UJxjZ.js → lottie_svg-C3v6xdng.js} +1 -1
- package/dist/storybook/assets/{onFind-BWiaccUj.js → onFind-Ci35eu2y.js} +1 -1
- package/dist/storybook/assets/{onFind.stories-CC_XTN2G.js → onFind.stories-BmbwWWo1.js} +1 -1
- package/dist/storybook/assets/{onRemove.stories-CXxpL4ud.js → onRemove.stories-DFWCIgE4.js} +1 -1
- package/dist/storybook/assets/{onVisible.stories-DKA9cexx.js → onVisible.stories-B-onpgE-.js} +1 -1
- package/dist/storybook/assets/{property-_few0Xe5.js → property-Bmq4RTSP.js} +1 -1
- package/dist/storybook/assets/{ref-BaIdO8Sk.js → ref-BhKk4SDh.js} +1 -1
- package/dist/storybook/assets/state-DVIUS0Gf.js +1 -0
- package/dist/storybook/assets/{style-map-DxZm5Cj7.js → style-map-DE4G47KD.js} +1 -1
- package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-B0_bSGZz.js → syntaxhighlighter-ED5Y7EFY-Dfgnal1d.js} +1 -1
- package/dist/storybook/custom-elements.json +11835 -0
- package/dist/storybook/docs/components/ActionBar.md +55 -0
- package/dist/storybook/docs/components/ActionItem.md +50 -0
- package/dist/storybook/docs/components/AiSparkle.md +33 -0
- package/dist/storybook/docs/components/Avatar.md +45 -0
- package/dist/storybook/docs/components/AvatarGroup.md +34 -0
- package/dist/storybook/docs/components/Badge.md +47 -0
- package/dist/storybook/docs/components/Banner.md +35 -0
- package/dist/storybook/docs/components/ButtonGroup.md +65 -0
- package/dist/storybook/docs/components/Card.md +67 -0
- package/dist/storybook/docs/components/Checkbox.md +49 -0
- package/dist/storybook/docs/components/CircularProgress.md +40 -0
- package/dist/storybook/docs/components/CopyToClipboard.md +51 -0
- package/dist/storybook/docs/components/Dropdown.md +74 -0
- package/dist/storybook/docs/components/DropdownItem.md +45 -0
- package/dist/storybook/docs/components/DropdownMenu.md +41 -0
- package/dist/storybook/docs/components/EmptyState.md +62 -0
- package/dist/storybook/docs/components/EscaAvatar.md +40 -0
- package/dist/storybook/docs/components/Icon.md +40 -0
- package/dist/storybook/docs/components/IconButton.md +36 -0
- package/dist/storybook/docs/components/LinearProgress.md +37 -0
- package/dist/storybook/docs/components/Message.md +50 -0
- package/dist/storybook/docs/components/Pagination.md +70 -0
- package/dist/storybook/docs/components/Popover.md +59 -0
- package/dist/storybook/docs/components/README.md +48 -0
- package/dist/storybook/docs/components/Radio.md +55 -0
- package/dist/storybook/docs/components/RadioGroup.md +34 -0
- package/dist/storybook/docs/components/Switch.md +48 -0
- package/dist/storybook/docs/components/Tab.md +40 -0
- package/dist/storybook/docs/components/Tabs.md +49 -0
- package/dist/storybook/docs/components/Upload.md +63 -0
- package/dist/storybook/docs/components/UploadItem.md +30 -0
- package/dist/storybook/docs/components/Widget.md +88 -0
- package/dist/storybook/docs/dari-elements.md +55 -0
- package/dist/storybook/iframe.html +1 -1
- package/dist/storybook/index.html +29 -2
- package/dist/storybook/llms-full.txt +1721 -0
- package/dist/storybook/llms.txt +65 -0
- package/dist/storybook/project.json +1 -1
- package/dist/storybook/robots.txt +7 -0
- package/dist/storybook/sb-addons/storybook-3/manager-bundle.js +1 -1
- package/dist/storybook/sitemap.xml +90 -0
- package/docs/components/ActionBar.md +41 -64
- package/docs/components/ActionItem.md +50 -96
- package/docs/components/AiSparkle.md +23 -60
- package/docs/components/Avatar.md +45 -88
- package/docs/components/AvatarGroup.md +24 -44
- package/docs/components/Badge.md +34 -62
- package/docs/components/Banner.md +25 -39
- package/docs/components/ButtonGroup.md +65 -99
- package/docs/components/Card.md +67 -83
- package/docs/components/Checkbox.md +49 -91
- package/docs/components/CircularProgress.md +40 -84
- package/docs/components/CopyToClipboard.md +35 -40
- package/docs/components/Dropdown.md +74 -120
- package/docs/components/DropdownItem.md +45 -81
- package/docs/components/DropdownMenu.md +30 -70
- package/docs/components/EmptyState.md +45 -62
- package/docs/components/EscaAvatar.md +30 -61
- package/docs/components/Icon.md +29 -62
- package/docs/components/IconButton.md +36 -83
- package/docs/components/LinearProgress.md +28 -70
- package/docs/components/Message.md +38 -63
- package/docs/components/Pagination.md +70 -100
- package/docs/components/Popover.md +46 -79
- package/docs/components/README.md +34 -40
- package/docs/components/Radio.md +55 -105
- package/docs/components/RadioGroup.md +26 -55
- package/docs/components/Switch.md +48 -84
- package/docs/components/Tab.md +30 -70
- package/docs/components/Tabs.md +49 -86
- package/docs/components/Upload.md +63 -112
- package/docs/components/UploadItem.md +22 -53
- package/docs/components/Widget.md +66 -67
- package/llms.txt +63 -0
- package/package.json +8 -6
- package/dist/storybook/assets/if-defined-DL7cQU7O.js +0 -1
- package/dist/storybook/assets/state-BBcPmYaV.js +0 -1
|
@@ -1,99 +1,65 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
|
18
|
-
|
|
|
19
|
-
| `
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
|
24
|
-
|
|
|
25
|
-
| `
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
|
31
|
-
|
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
-
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
|
46
|
-
|
|
|
47
|
-
| `
|
|
48
|
-
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
|
53
|
-
|
|
|
54
|
-
|
|
|
55
|
-
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
|
61
|
-
|
|
|
62
|
-
| `
|
|
63
|
-
| `
|
|
64
|
-
| `
|
|
65
|
-
| `
|
|
66
|
-
| `disabled` | disabled | |
|
|
67
|
-
| `selection` | selection | |
|
|
68
|
-
| `value` | value | |
|
|
69
|
-
| `name` | name | |
|
|
70
|
-
|
|
71
|
-
### CSS Properties
|
|
72
|
-
|
|
73
|
-
| Name | Default | Description |
|
|
74
|
-
| ---------------------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
75
|
-
| `--button-group-gap` | | Space between buttons when variant="spaced" (default: spacing.sm) |
|
|
76
|
-
| `--button-group-border-radius` | | Corner radius of outer edges when variant="connected" (default: 0.5rem) |
|
|
77
|
-
| `--button-group-border-color` | | Internal divider color between connected buttons (default: gray-300) |
|
|
78
|
-
| `--button-group-selection-bg` | | Background of a toggled/selected child (default: child's --button-tint-subtle) |
|
|
79
|
-
| `--button-group-selection-color` | | Text/icon color of a toggled/selected child (default: child's --button-tint-strong) |
|
|
80
|
-
| `--button-group-shimmer-highlight` | | Highlight color of the selection shimmer effect (default: child's --button-tint-highlight) Reads the following CSS custom properties from each child button (set by the button plugin per color variant — see tailwind-plugin-button.ts): |
|
|
81
|
-
| `--button-tint-subtle` | | Subtle tint of the child button's color family (read-only here) |
|
|
82
|
-
| `--button-tint-strong` | | Strong tint of the child button's color family (read-only here) |
|
|
83
|
-
| `--button-tint-highlight` | | Highlight tint of the child button's color family (read-only here) |
|
|
84
|
-
|
|
85
|
-
### Slots
|
|
86
|
-
|
|
87
|
-
| Name | Description |
|
|
88
|
-
| ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
89
|
-
| | One or more \`\<button class="btu-button …">\` or \`\<btu-icon-button>\` elements to display in the group. The \`connected\` variant rounds the outer corners on the real \`\<button>\`, so anchors styled as \`.btu-button\` slotted directly will not get rounded corners. Use \`\<button>\` for grouped controls. |
|
|
90
|
-
| `end` | Pushes the child to the end of the group via auto-margin (vertical: bottom, horizontal: right) |
|
|
91
|
-
|
|
92
|
-
<hr/>
|
|
93
|
-
|
|
94
|
-
## Exports
|
|
95
|
-
|
|
96
|
-
| Kind | Name | Declaration | Module | Package |
|
|
97
|
-
| --------------------------- | ------------------ | ----------- | ------------------------------------------ | ------- |
|
|
98
|
-
| `js` | `default` | ButtonGroup | src/components/button-group/ButtonGroup.ts | |
|
|
99
|
-
| `custom-element-definition` | `btu-button-group` | ButtonGroup | src/components/button-group/ButtonGroup.ts | |
|
|
1
|
+
# `<btu-button-group>`
|
|
2
|
+
|
|
3
|
+
A semantic container for grouping related buttons together.
|
|
4
|
+
|
|
5
|
+
Supports connected (joined) and spaced layouts, horizontal and vertical
|
|
6
|
+
orientation, group-level size and disabled propagation, and optional
|
|
7
|
+
toggle/selection modes (single-select or multi-select).
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
import '@brightspot/ui/components/button-group/ButtonGroup.js'
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Interactive examples: https://ui.brightspot.com/?path=/docs/components-button-group--docs
|
|
14
|
+
|
|
15
|
+
## Attributes
|
|
16
|
+
|
|
17
|
+
| Attribute | Property | Type | Default | Description |
|
|
18
|
+
| --- | --- | --- | --- | --- |
|
|
19
|
+
| `label` | `label` | `string` | `''` | Accessible name for the group, announced by assistive devices via aria-label. |
|
|
20
|
+
| `orientation` | `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Layout direction of the buttons. |
|
|
21
|
+
| `variant` | `variant` | `'connected' \| 'spaced'` | `'connected'` | `connected` collapses shared borders for a joined appearance. `spaced` renders buttons with a gap. |
|
|
22
|
+
| `size` | `size` | `'sm' \| 'md' \| 'lg'` | `'md'` | Propagates a uniform size to all child buttons. |
|
|
23
|
+
| `disabled` | `disabled` | `boolean` | `false` | When true, disables all child buttons as a group. |
|
|
24
|
+
| `selection` | `selection` | `'none' \| 'single' \| 'multiple'` | `'none'` | Enables toggle/selection behavior. `single` allows one active button; `multiple` allows many. |
|
|
25
|
+
| `value` | `value` | `string` | `''` | Reflects the currently selected button value(s). For `single`, the value of the active button. For `multiple`, a comma-delimited list of active values. |
|
|
26
|
+
| `name` | `name` | `string` | `''` | When set, creates hidden input(s) for native form participation. |
|
|
27
|
+
|
|
28
|
+
## Events
|
|
29
|
+
|
|
30
|
+
| Event | Detail | Description |
|
|
31
|
+
| --- | --- | --- |
|
|
32
|
+
| `btu-button-group-ready` | | Fired after first render and initialization |
|
|
33
|
+
| `btu-button-group-change` | `{value: string}` | Fired when selection changes (single/multiple modes only) |
|
|
34
|
+
| `btu-icon-button-click` | `{name: string \| undefined}` | Bubbles from child btu-icon-button elements when clicked |
|
|
35
|
+
|
|
36
|
+
## Slots
|
|
37
|
+
|
|
38
|
+
| Slot | Description |
|
|
39
|
+
| --- | --- |
|
|
40
|
+
| (default) | One or more `<button class="btu-button …">` or `<btu-icon-button>` elements to display in the group. The `connected` variant rounds the outer corners on the real `<button>`, so anchors styled as `.btu-button` slotted directly will not get rounded corners. Use `<button>` for grouped controls. |
|
|
41
|
+
| `end` | Pushes the child to the end of the group via auto-margin (vertical: bottom, horizontal: right) |
|
|
42
|
+
|
|
43
|
+
## CSS custom properties
|
|
44
|
+
|
|
45
|
+
| Property | Description |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| `--button-group-gap` | Space between buttons when variant="spaced" (default: spacing.sm) |
|
|
48
|
+
| `--button-group-border-radius` | Corner radius of outer edges when variant="connected" (default: 0.5rem) |
|
|
49
|
+
| `--button-group-border-color` | Internal divider color between connected buttons (default: gray-300) |
|
|
50
|
+
| `--button-group-selection-bg` | Background of a toggled/selected child (default: child's --button-tint-subtle) |
|
|
51
|
+
| `--button-group-selection-color` | Text/icon color of a toggled/selected child (default: child's --button-tint-strong) |
|
|
52
|
+
| `--button-group-shimmer-highlight` | Highlight color of the selection shimmer effect (default: child's --button-tint-highlight) Reads the following CSS custom properties from each child button (set by the button plugin per color variant — see tailwind-plugin-button.ts): |
|
|
53
|
+
| `--button-tint-subtle` | Subtle tint of the child button's color family (read-only here) |
|
|
54
|
+
| `--button-tint-strong` | Strong tint of the child button's color family (read-only here) |
|
|
55
|
+
| `--button-tint-highlight` | Highlight tint of the child button's color family (read-only here) |
|
|
56
|
+
|
|
57
|
+
## CSS states
|
|
58
|
+
|
|
59
|
+
| State | Description |
|
|
60
|
+
| --- | --- |
|
|
61
|
+
| `:state(btu-connected)` | Applied when variant="connected", targetable via :state(btu-connected) |
|
|
62
|
+
| `:state(btu-spaced)` | Applied when variant="spaced", targetable via :state(btu-spaced) |
|
|
63
|
+
| `:state(btu-horizontal)` | Applied when orientation="horizontal", targetable via :state(btu-horizontal) |
|
|
64
|
+
| `:state(btu-vertical)` | Applied when orientation="vertical", targetable via :state(btu-vertical) |
|
|
65
|
+
| `:state(btu-disabled)` | Applied when the group is disabled, targetable via :state(btu-disabled) |
|
package/docs/components/Card.md
CHANGED
|
@@ -1,83 +1,67 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
| `
|
|
37
|
-
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
| `
|
|
54
|
-
| `
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
|
60
|
-
|
|
|
61
|
-
| `--card-
|
|
62
|
-
| `--card-
|
|
63
|
-
| `--card-
|
|
64
|
-
| `--card-
|
|
65
|
-
| `--card-img-
|
|
66
|
-
| `--card-
|
|
67
|
-
|
|
68
|
-
### Slots
|
|
69
|
-
|
|
70
|
-
| Name | Description |
|
|
71
|
-
| ------------------ | ------------------------------------------------------------------------------- |
|
|
72
|
-
| `action` | Intended for a single action in the top-right corner of the card. |
|
|
73
|
-
| `secondary-action` | Intended for a single action next to the title. |
|
|
74
|
-
| `fields` | Intended for additional metadata fields displayed below the title & description |
|
|
75
|
-
|
|
76
|
-
<hr/>
|
|
77
|
-
|
|
78
|
-
## Exports
|
|
79
|
-
|
|
80
|
-
| Kind | Name | Declaration | Module | Package |
|
|
81
|
-
| --------------------------- | ---------- | ----------- | --------------------------- | ------- |
|
|
82
|
-
| `js` | `default` | Card | src/components/card/Card.ts | |
|
|
83
|
-
| `custom-element-definition` | `btu-card` | Card | src/components/card/Card.ts | |
|
|
1
|
+
# `<btu-card>`
|
|
2
|
+
|
|
3
|
+
A flexible content container for presenting and organizing information.
|
|
4
|
+
|
|
5
|
+
The layout is driven by composition:
|
|
6
|
+
|
|
7
|
+
- a direct `<img>` or `<btu-icon>` child renders the media layout (image area);
|
|
8
|
+
the icon shows in the image area as the fallback.
|
|
9
|
+
- neither child renders a text-only card.
|
|
10
|
+
- the `compact` attribute renders a quick-start tile; only a
|
|
11
|
+
featured `<btu-icon>` and the `action` slot are used.
|
|
12
|
+
|
|
13
|
+
Composable children, all relocated into the layout automatically:
|
|
14
|
+
- `<img>` — the thumbnail.
|
|
15
|
+
- `<btu-icon>` — the featured icon (compact) or the media image fallback (shown
|
|
16
|
+
when no `<img>` is provided or it fails to load; defaults to `file-text`). The card sizes it.
|
|
17
|
+
- `<btu-badge>` — a status badge.
|
|
18
|
+
- `slot="action"` / `slot="secondary-action"` — a control in the top-right corner
|
|
19
|
+
or next to the title. A `<btu-checkbox>` there stays visible and toggles the
|
|
20
|
+
selected styling (listen for the bubbling `btu-checkbox-change` event); buttons
|
|
21
|
+
reveal on hover/focus.
|
|
22
|
+
|
|
23
|
+
Cards are full-width by default and rely on the parent layout (grid or flex) to
|
|
24
|
+
control their size.
|
|
25
|
+
|
|
26
|
+
```js
|
|
27
|
+
import '@brightspot/ui/components/card/Card.js'
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Interactive examples: https://ui.brightspot.com/?path=/docs/components-card--docs
|
|
31
|
+
|
|
32
|
+
## Attributes
|
|
33
|
+
|
|
34
|
+
| Attribute | Property | Type | Default | Description |
|
|
35
|
+
| --- | --- | --- | --- | --- |
|
|
36
|
+
| `heading` | `heading` | `string` | `''` | Heading text displayed on the card. |
|
|
37
|
+
| `heading-level` | `headingLevel` | `number` | `2` | Heading level (1-6) for the card heading element. Drives the semantic h1–h6 tag. Invalid values log a warning and fall back to the default (2). |
|
|
38
|
+
| `description` | `description` | `string \| undefined` | | Supporting body text. Truncated to 3 lines via CSS. |
|
|
39
|
+
| `compact` | `compact` | `boolean` | `false` | Renders the card as a compact quick-start tile. Badge, image, fields, and secondary-action children are ignored in this case. |
|
|
40
|
+
| `disabled` | `disabled` | `boolean` | `false` | Whether the card is disabled. |
|
|
41
|
+
| `href` | `href` | `string \| undefined` | | Navigation URL for the entire card surface. When set, the card renders as a link. |
|
|
42
|
+
|
|
43
|
+
## Events
|
|
44
|
+
|
|
45
|
+
| Event | Detail | Description |
|
|
46
|
+
| --- | --- | --- |
|
|
47
|
+
| `btu-card-ready` | | Fired after first render and initialization |
|
|
48
|
+
|
|
49
|
+
## Slots
|
|
50
|
+
|
|
51
|
+
| Slot | Description |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| `action` | Intended for a single action in the top-right corner of the card. |
|
|
54
|
+
| `secondary-action` | Intended for a single action next to the title. |
|
|
55
|
+
| `fields` | Intended for additional metadata fields displayed below the title & description |
|
|
56
|
+
|
|
57
|
+
## CSS custom properties
|
|
58
|
+
|
|
59
|
+
| Property | Description |
|
|
60
|
+
| --- | --- |
|
|
61
|
+
| `--card-min-width` | Minimum width of the card (default: 160px) |
|
|
62
|
+
| `--card-background` | Background color (default: var(--btu-theme-white)) |
|
|
63
|
+
| `--card-border` | Border style (default: 1px solid gray-200) |
|
|
64
|
+
| `--card-radius` | Corner rounding (default: 8px) |
|
|
65
|
+
| `--card-img-ratio` | Fixed aspect ratio for the thumbnail when an `<img>` child is present (default: 16 / 9) |
|
|
66
|
+
| `--card-img-fit` | Object-fit mode for the `<img>` child thumbnail (default: contain) |
|
|
67
|
+
| `--card-icon-background` | Background color behind the composed icon (compact card and media-image fallback) (default: gray-100) |
|
|
@@ -1,91 +1,49 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
|
21
|
-
|
|
|
22
|
-
| `
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
25
|
-
| `
|
|
26
|
-
| `
|
|
27
|
-
| `
|
|
28
|
-
| `
|
|
29
|
-
| `
|
|
30
|
-
| `
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
|
35
|
-
|
|
|
36
|
-
| `
|
|
37
|
-
| `
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
|
45
|
-
|
|
|
46
|
-
| `
|
|
47
|
-
| `
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
| Name | Type | Description | Inherited From |
|
|
52
|
-
| --------------------- | ----------------------------------- | ---------------------------------------------------------- | -------------- |
|
|
53
|
-
| `btu-checkbox-ready` | `CustomEvent` | Fired after the checkbox is first rendered and initialized | |
|
|
54
|
-
| `btu-checkbox-change` | `CustomEvent<{ checked: boolean }>` | Fired when the user toggles the checked state | |
|
|
55
|
-
|
|
56
|
-
### Attributes
|
|
57
|
-
|
|
58
|
-
| Name | Field | Inherited From |
|
|
59
|
-
| --------------- | ------------- | -------------- |
|
|
60
|
-
| `label` | label | |
|
|
61
|
-
| `description` | description | |
|
|
62
|
-
| `size` | size | |
|
|
63
|
-
| `checked` | checked | |
|
|
64
|
-
| `indeterminate` | indeterminate | |
|
|
65
|
-
| `disabled` | disabled | |
|
|
66
|
-
| `invalid` | invalid | |
|
|
67
|
-
| `error` | error | |
|
|
68
|
-
| `required` | required | |
|
|
69
|
-
| `name` | name | |
|
|
70
|
-
| `value` | value | |
|
|
71
|
-
|
|
72
|
-
### CSS Properties
|
|
73
|
-
|
|
74
|
-
| Name | Default | Description |
|
|
75
|
-
| -------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
76
|
-
| `--checkbox-color-primary` | | Background and border color when checked or indeterminate, and tinted background/border on unchecked hover (default: oklch(var(--btu-theme-primary-700))) |
|
|
77
|
-
| `--checkbox-color-border` | | Border color in the unchecked state (default: oklch(var(--btu-theme-gray-300))) |
|
|
78
|
-
| `--checkbox-color-error` | | Border and text color in the error state (default: oklch(var(--btu-theme-error-600))) |
|
|
79
|
-
| `--checkbox-border-radius` | | Corner rounding of the checkbox square (default: 4px) |
|
|
80
|
-
| `--checkbox-label-spacing` | | Distance between the checkbox and the label (default: 0.75rem) |
|
|
81
|
-
| `--checkbox-box-size` | | \[Internal] Width and height of the checkbox square, set by the size variant (sm: 1rem, md: 1.25rem). Use the \`size\` attribute instead of overriding directly — the icon must scale in tandem. |
|
|
82
|
-
| `--checkbox-icon-size` | | \[Internal] Width and height of the icon inside the box, set by the size variant (sm: 0.75rem, md: 0.875rem). Use the \`size\` attribute instead of overriding directly. |
|
|
83
|
-
|
|
84
|
-
<hr/>
|
|
85
|
-
|
|
86
|
-
## Exports
|
|
87
|
-
|
|
88
|
-
| Kind | Name | Declaration | Module | Package |
|
|
89
|
-
| --------------------------- | -------------- | ----------- | ----------------------------------- | ------- |
|
|
90
|
-
| `js` | `default` | Checkbox | src/components/checkbox/Checkbox.ts | |
|
|
91
|
-
| `custom-element-definition` | `btu-checkbox` | Checkbox | src/components/checkbox/Checkbox.ts | |
|
|
1
|
+
# `<btu-checkbox>`
|
|
2
|
+
|
|
3
|
+
A checkbox component for selecting one or more options from a set.
|
|
4
|
+
|
|
5
|
+
Uses a hidden native checkbox internally for accessibility and form
|
|
6
|
+
participation. Styled via the `btu-checkbox` Tailwind plugin classes.
|
|
7
|
+
The component manages its own `className` — do not modify it externally
|
|
8
|
+
after initialization (classes present at connection time are preserved).
|
|
9
|
+
|
|
10
|
+
```js
|
|
11
|
+
import '@brightspot/ui/components/checkbox/Checkbox.js'
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Interactive examples: https://ui.brightspot.com/?path=/docs/components-checkbox--docs
|
|
15
|
+
|
|
16
|
+
## Attributes
|
|
17
|
+
|
|
18
|
+
| Attribute | Property | Type | Default | Description |
|
|
19
|
+
| --- | --- | --- | --- | --- |
|
|
20
|
+
| `label` | `label` | `string \| undefined` | | The text label displayed next to the checkbox. |
|
|
21
|
+
| `description` | `description` | `string \| undefined` | | Optional helper text displayed below the label. |
|
|
22
|
+
| `size` | `size` | `'sm' \| 'md'` | `'sm'` | Controls the scale of the checkbox and associated typography. |
|
|
23
|
+
| `checked` | `checked` | `boolean` | `false` | Whether the checkbox is currently selected. |
|
|
24
|
+
| `indeterminate` | `indeterminate` | `boolean` | `false` | Whether the checkbox is in a partially selected state. Sets `aria-checked='mixed'` and activates the native `:indeterminate` pseudo-class. Cleared automatically when the user clicks the checkbox. |
|
|
25
|
+
| `disabled` | `disabled` | `boolean` | `false` | If true, the checkbox is non-interactive and visually muted. |
|
|
26
|
+
| `invalid` | `invalid` | `boolean` | `false` | If true, displays error styling on the checkbox. |
|
|
27
|
+
| `error` | `error` | `string \| undefined` | | Error message text displayed below the checkbox when validation fails. Setting this also activates error styling without needing to set invalid. |
|
|
28
|
+
| `required` | `required` | `boolean` | `false` | Marks the field as mandatory for form submission. |
|
|
29
|
+
| `name` | `name` | `string \| undefined` | | Name of the form control submitted with the form data. |
|
|
30
|
+
| `value` | `value` | `string` | `'on'` | Value associated with the checkbox when submitted. |
|
|
31
|
+
|
|
32
|
+
## Events
|
|
33
|
+
|
|
34
|
+
| Event | Detail | Description |
|
|
35
|
+
| --- | --- | --- |
|
|
36
|
+
| `btu-checkbox-ready` | | Fired after the checkbox is first rendered and initialized |
|
|
37
|
+
| `btu-checkbox-change` | `{ checked: boolean }` | Fired when the user toggles the checked state |
|
|
38
|
+
|
|
39
|
+
## CSS custom properties
|
|
40
|
+
|
|
41
|
+
| Property | Description |
|
|
42
|
+
| --- | --- |
|
|
43
|
+
| `--checkbox-color-primary` | Background and border color when checked or indeterminate, and tinted background/border on unchecked hover (default: oklch(var(--btu-theme-primary-700))) |
|
|
44
|
+
| `--checkbox-color-border` | Border color in the unchecked state (default: oklch(var(--btu-theme-gray-300))) |
|
|
45
|
+
| `--checkbox-color-error` | Border and text color in the error state (default: oklch(var(--btu-theme-error-600))) |
|
|
46
|
+
| `--checkbox-border-radius` | Corner rounding of the checkbox square (default: 4px) |
|
|
47
|
+
| `--checkbox-label-spacing` | Distance between the checkbox and the label (default: 0.75rem) |
|
|
48
|
+
| `--checkbox-box-size` | [Internal] Width and height of the checkbox square, set by the size variant (sm: 1rem, md: 1.25rem). Use the `size` attribute instead of overriding directly — the icon must scale in tandem. |
|
|
49
|
+
| `--checkbox-icon-size` | [Internal] Width and height of the icon inside the box, set by the size variant (sm: 0.75rem, md: 0.875rem). Use the `size` attribute instead of overriding directly. |
|