@brightspot/ui 1.10.0 → 3.0.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/action-bar/ActionBar.d.ts +163 -0
- package/dist/components/action-bar/ActionBar.d.ts.map +1 -0
- package/dist/components/action-bar/ActionBar.js +479 -0
- package/dist/components/action-bar/ActionBar.js.map +1 -0
- package/dist/components/action-bar/ActionItem.d.ts +103 -0
- package/dist/components/action-bar/ActionItem.d.ts.map +1 -0
- package/dist/components/action-bar/ActionItem.js +237 -0
- package/dist/components/action-bar/ActionItem.js.map +1 -0
- package/dist/components/avatar/AvatarGroup.d.ts +3 -0
- package/dist/components/avatar/AvatarGroup.d.ts.map +1 -1
- package/dist/components/avatar/AvatarGroup.js +3 -0
- package/dist/components/avatar/AvatarGroup.js.map +1 -1
- package/dist/components/badge/Badge.d.ts +3 -1
- package/dist/components/badge/Badge.d.ts.map +1 -1
- package/dist/components/badge/Badge.js +2 -0
- package/dist/components/badge/Badge.js.map +1 -1
- package/dist/components/button-group/ButtonGroup.d.ts +138 -0
- package/dist/components/button-group/ButtonGroup.d.ts.map +1 -0
- package/dist/components/button-group/ButtonGroup.js +436 -0
- package/dist/components/button-group/ButtonGroup.js.map +1 -0
- package/dist/components/checkbox/Checkbox.d.ts +107 -0
- package/dist/components/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/checkbox/Checkbox.js +224 -0
- package/dist/components/checkbox/Checkbox.js.map +1 -0
- package/dist/components/circular-progress/CircularProgress.d.ts +2 -2
- package/dist/components/circular-progress/CircularProgress.js +2 -2
- package/dist/components/copy-to-clipboard/CopyToClipboard.d.ts +7 -2
- package/dist/components/copy-to-clipboard/CopyToClipboard.d.ts.map +1 -1
- package/dist/components/copy-to-clipboard/CopyToClipboard.js +10 -5
- package/dist/components/copy-to-clipboard/CopyToClipboard.js.map +1 -1
- package/dist/components/dropdown/Dropdown.d.ts +8 -6
- package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
- package/dist/components/dropdown/Dropdown.js +33 -22
- package/dist/components/dropdown/Dropdown.js.map +1 -1
- package/dist/components/dropdown/DropdownItem.d.ts +28 -7
- package/dist/components/dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/components/dropdown/DropdownItem.js +41 -16
- package/dist/components/dropdown/DropdownItem.js.map +1 -1
- package/dist/components/dropdown/DropdownMenu.d.ts +6 -8
- package/dist/components/dropdown/DropdownMenu.d.ts.map +1 -1
- package/dist/components/dropdown/DropdownMenu.js +22 -37
- package/dist/components/dropdown/DropdownMenu.js.map +1 -1
- package/dist/components/empty-state/EmptyState.css +4 -0
- package/dist/components/empty-state/EmptyState.d.ts +103 -0
- package/dist/components/empty-state/EmptyState.d.ts.map +1 -0
- package/dist/components/empty-state/EmptyState.js +209 -0
- package/dist/components/empty-state/EmptyState.js.map +1 -0
- package/dist/components/icon/Icon.d.ts +23 -10
- package/dist/components/icon/Icon.d.ts.map +1 -1
- package/dist/components/icon/Icon.js +40 -9
- package/dist/components/icon/Icon.js.map +1 -1
- package/dist/components/icon-button/IconButton.d.ts +7 -21
- package/dist/components/icon-button/IconButton.d.ts.map +1 -1
- package/dist/components/icon-button/IconButton.js +12 -18
- package/dist/components/icon-button/IconButton.js.map +1 -1
- package/dist/components/linear-progress/LinearProgress.d.ts +2 -2
- package/dist/components/linear-progress/LinearProgress.js +2 -2
- package/dist/components/pagination/Pagination.d.ts +33 -4
- package/dist/components/pagination/Pagination.d.ts.map +1 -1
- package/dist/components/pagination/Pagination.js +88 -24
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/popover/Popover.d.ts +6 -0
- package/dist/components/popover/Popover.d.ts.map +1 -1
- package/dist/components/popover/Popover.js +6 -0
- package/dist/components/popover/Popover.js.map +1 -1
- package/dist/components/switch/Switch.d.ts +5 -1
- package/dist/components/switch/Switch.d.ts.map +1 -1
- package/dist/components/switch/Switch.js +10 -6
- package/dist/components/switch/Switch.js.map +1 -1
- package/dist/components/tabs/Tab.d.ts +108 -0
- package/dist/components/tabs/Tab.d.ts.map +1 -0
- package/dist/components/tabs/Tab.js +152 -0
- package/dist/components/tabs/Tab.js.map +1 -0
- package/dist/components/tabs/Tabs.d.ts +126 -0
- package/dist/components/tabs/Tabs.d.ts.map +1 -0
- package/dist/components/tabs/Tabs.js +390 -0
- package/dist/components/tabs/Tabs.js.map +1 -0
- package/dist/components/upload/Upload.d.ts +157 -0
- package/dist/components/upload/Upload.d.ts.map +1 -0
- package/dist/components/upload/Upload.js +538 -0
- package/dist/components/upload/Upload.js.map +1 -0
- package/dist/components/upload/UploadItem.d.ts +73 -0
- package/dist/components/upload/UploadItem.d.ts.map +1 -0
- package/dist/components/upload/UploadItem.js +180 -0
- package/dist/components/upload/UploadItem.js.map +1 -0
- package/dist/components/widget/Widget.d.ts +1 -6
- package/dist/components/widget/Widget.d.ts.map +1 -1
- package/dist/components/widget/Widget.js +1 -6
- package/dist/components/widget/Widget.js.map +1 -1
- package/dist/custom-elements.json +8445 -1989
- package/dist/storybook/assets/ActionBar.stories-DRIVI-W2.js +408 -0
- package/dist/storybook/assets/ActionItem.stories-5qlgxYNB.js +203 -0
- package/dist/storybook/assets/{Avatar.stories-B26mRkkZ.js → Avatar.stories-B3VkhRhP.js} +2 -2
- package/dist/storybook/assets/{AvatarGroup.stories-J7lVGsMY.js → AvatarGroup.stories-DOfim2NY.js} +5 -5
- package/dist/storybook/assets/{Badge.stories-BpTIV61M.js → Badge.stories-B04VNAcc.js} +2 -2
- package/dist/storybook/assets/{Button-Dg-fIrzT.js → Button-CILTcGRT.js} +1 -1
- package/dist/storybook/assets/{Button.stories-gPKRVbxk.js → Button.stories-CzWAltrX.js} +1 -1
- package/dist/storybook/assets/ButtonGroup.stories-1uAJf79o.js +588 -0
- package/dist/storybook/assets/{Celebrate.stories-DbY-sKEe.js → Celebrate.stories-BEqj0VnW.js} +7 -7
- package/dist/storybook/assets/Checkbox.stories-DXAGFS0M.js +141 -0
- package/dist/storybook/assets/{CircularProgress.stories-DeH5JYX_.js → CircularProgress.stories-D4rftw22.js} +7 -7
- package/dist/storybook/assets/{ClipboardMixin.stories-C-lZ4uuw.js → ClipboardMixin.stories-z2n2HWt1.js} +31 -28
- package/dist/storybook/assets/{Color-6BZIO3FS-Cu6zVIuG.js → Color-6BZIO3FS-C6KyMgZz.js} +1 -1
- package/dist/storybook/assets/{Colors.stories-D6XYMrTD.js → Colors.stories-CX-Ny3B_.js} +1 -1
- package/dist/storybook/assets/{CombinedEffects.stories-jFekKTYg.js → CombinedEffects.stories-BkqtiVHp.js} +33 -33
- package/dist/storybook/assets/{ComponentStatesMixin-g50hRCPT.js → ComponentStatesMixin-DLd0feFg.js} +1 -1
- package/dist/storybook/assets/{ComponentStatesMixin.stories-D3Q5pR38.js → ComponentStatesMixin.stories-D6Yc5Jgl.js} +3 -3
- package/dist/storybook/assets/{CopyToClipboard.stories-COZZ1VC2.js → CopyToClipboard.stories-B-omwDDJ.js} +16 -16
- package/dist/storybook/assets/{Debounce.stories-Dl10LAnx.js → Debounce.stories-B2vE5QIx.js} +9 -9
- package/dist/storybook/assets/{DocsRenderer-LL677BLK-CFLtMbUx.js → DocsRenderer-LL677BLK-DNUlRvMg.js} +3 -3
- package/dist/storybook/assets/{Dropdown.stories-Drwq-0Z2.js → Dropdown.stories-_bx4WDLr.js} +95 -68
- package/dist/storybook/assets/EmptyState.stories-CGMbmo77.js +318 -0
- package/dist/storybook/assets/{Events.stories-dODeR-g-.js → Events.stories-CkQYKcoZ.js} +1 -1
- package/dist/storybook/assets/{Heading.stories-CH7_-_q3.js → Heading.stories-BU5Do_od.js} +1 -1
- package/dist/storybook/assets/{HueRipple.stories-CH1Y739k.js → HueRipple.stories-Di2zmxo3.js} +11 -11
- package/dist/storybook/assets/Icon.stories-Dk4ZXhhJ.js +441 -0
- package/dist/storybook/assets/{IconButton.stories-DuzqvcnN.js → IconButton.stories-BSCiXPXa.js} +126 -146
- package/dist/storybook/assets/{LinearProgress.stories-C7IdnJd3.js → LinearProgress.stories-BGxPZuni.js} +7 -7
- package/dist/storybook/assets/Pagination.stories-z3Zq8b4f.js +252 -0
- package/dist/storybook/assets/{Popover.stories-Ca1F-wrI.js → Popover.stories-C9GxWcax.js} +33 -62
- package/dist/storybook/assets/ReadyMixin-CQw8N6P9.js +1 -0
- package/dist/storybook/assets/RovingTabindexMixin.stories-ByxLBi6m.js +192 -0
- package/dist/storybook/assets/{Rtc.stories-BVJc1vCA.js → Rtc.stories-DQJlCXWR.js} +3 -3
- package/dist/storybook/assets/ScrollShadow.stories-gjTIAbUA.js +17 -0
- package/dist/storybook/assets/{Switch.stories-BEEHP8mD.js → Switch.stories-BEeqPZiP.js} +21 -21
- package/dist/storybook/assets/Tab.stories-DpB3I-WZ.js +218 -0
- package/dist/storybook/assets/Tabs.stories-C6mG6Xi7.js +211 -0
- package/dist/storybook/assets/{Throttle.stories-C4xsYeAb.js → Throttle.stories-x9tpGeQh.js} +10 -10
- package/dist/storybook/assets/{Tooltip.stories-Ccm4AnSv.js → Tooltip.stories-CqcLqdmc.js} +2 -2
- package/dist/storybook/assets/Upload.stories-CMaAbCSH.js +447 -0
- package/dist/storybook/assets/UploadItem.stories-GB98L3JQ.js +167 -0
- package/dist/storybook/assets/{Welcome.stories-Degjk-M0.js → Welcome.stories-6h9cUZ7v.js} +1 -1
- package/dist/storybook/assets/{Widget.stories-OKnZ9sDs.js → Widget.stories-DiA1PR6Y.js} +13 -13
- package/dist/storybook/assets/{WithTooltip-65CFNBJE-CXL3TyJ2.js → WithTooltip-65CFNBJE-DTsHhBb_.js} +2 -2
- package/dist/storybook/assets/{blocks-DLdUKG_W.js → blocks-IXdn9TGW.js} +5 -5
- package/dist/storybook/assets/{formatter-EIJCOSYU-29NCxjfM.js → formatter-EIJCOSYU-Cum4J6N4.js} +1 -1
- package/dist/storybook/assets/if-defined-CgfCxQoV.js +1 -0
- package/dist/storybook/assets/iframe-BgFj0b5u.css +1 -0
- package/dist/storybook/assets/{iframe-BqvwP3or.js → iframe-Sf9RHZFu.js} +200 -200
- package/dist/storybook/assets/{index-BIyTv1BF.js → index-D605PvQH.js} +1 -1
- package/dist/storybook/assets/onFind-C41m8c_a.js +1 -0
- package/dist/storybook/assets/{onFind.stories-D64-QZqf.js → onFind.stories-MOTfGlJd.js} +53 -77
- package/dist/storybook/assets/{onRemove.stories-BICsnIJL.js → onRemove.stories-DX58Bf6f.js} +6 -10
- package/dist/storybook/assets/{onVisible.stories-DpDZP9_5.js → onVisible.stories-NNFeFeD8.js} +3 -3
- package/dist/storybook/assets/style-map-B99QiqCo.js +1 -0
- package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-Bz_DuQj8.js → syntaxhighlighter-ED5Y7EFY-BqQ-o9mS.js} +1 -1
- package/dist/storybook/box-illustration.svg +51 -0
- package/dist/storybook/cloud-illustration.svg +49 -0
- package/dist/storybook/docs-illustration.svg +92 -0
- 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-action-bar.d.ts +2 -0
- package/dist/tailwind-plugin-action-bar.d.ts.map +1 -0
- package/dist/tailwind-plugin-action-bar.js +120 -0
- package/dist/tailwind-plugin-action-bar.js.map +1 -0
- package/dist/tailwind-plugin-action-bar.ts +134 -0
- package/dist/tailwind-plugin-badge.js +5 -6
- package/dist/tailwind-plugin-badge.js.map +1 -1
- package/dist/tailwind-plugin-badge.ts +5 -6
- package/dist/tailwind-plugin-button-group.d.ts +2 -0
- package/dist/tailwind-plugin-button-group.d.ts.map +1 -0
- package/dist/tailwind-plugin-button-group.js +215 -0
- package/dist/tailwind-plugin-button-group.js.map +1 -0
- package/dist/tailwind-plugin-button-group.ts +238 -0
- package/dist/tailwind-plugin-button.js +2 -1
- package/dist/tailwind-plugin-button.js.map +1 -1
- package/dist/tailwind-plugin-button.ts +2 -1
- package/dist/tailwind-plugin-checkbox.d.ts +2 -0
- package/dist/tailwind-plugin-checkbox.d.ts.map +1 -0
- package/dist/tailwind-plugin-checkbox.js +246 -0
- package/dist/tailwind-plugin-checkbox.js.map +1 -0
- package/dist/tailwind-plugin-checkbox.ts +281 -0
- package/dist/tailwind-plugin-empty-state.d.ts +2 -0
- package/dist/tailwind-plugin-empty-state.d.ts.map +1 -0
- package/dist/tailwind-plugin-empty-state.js +113 -0
- package/dist/tailwind-plugin-empty-state.js.map +1 -0
- package/dist/tailwind-plugin-empty-state.ts +124 -0
- package/dist/tailwind-plugin-icon.js +122 -18
- package/dist/tailwind-plugin-icon.js.map +1 -1
- package/dist/tailwind-plugin-icon.ts +131 -18
- package/dist/tailwind-plugin-loader.js +3 -3
- package/dist/tailwind-plugin-loader.ts +3 -3
- package/dist/tailwind-plugin-pagination.js +13 -23
- package/dist/tailwind-plugin-pagination.js.map +1 -1
- package/dist/tailwind-plugin-pagination.ts +15 -25
- package/dist/tailwind-plugin-tabs.d.ts +2 -0
- package/dist/tailwind-plugin-tabs.d.ts.map +1 -0
- package/dist/tailwind-plugin-tabs.js +158 -0
- package/dist/tailwind-plugin-tabs.js.map +1 -0
- package/dist/tailwind-plugin-tabs.ts +169 -0
- package/dist/tailwind-plugin-upload.d.ts +2 -0
- package/dist/tailwind-plugin-upload.d.ts.map +1 -0
- package/dist/tailwind-plugin-upload.js +322 -0
- package/dist/tailwind-plugin-upload.js.map +1 -0
- package/dist/tailwind-plugin-upload.ts +362 -0
- package/dist/tailwind.config.d.ts.map +1 -1
- package/dist/tailwind.config.js +1 -0
- package/dist/tailwind.config.js.map +1 -1
- package/dist/tailwind.config.ts +1 -0
- package/dist/util/ClipboardMixin.d.ts +7 -2
- package/dist/util/ClipboardMixin.d.ts.map +1 -1
- package/dist/util/ClipboardMixin.js +15 -13
- package/dist/util/ClipboardMixin.js.map +1 -1
- package/dist/util/ComponentStatesMixin.d.ts +2 -1
- package/dist/util/ComponentStatesMixin.d.ts.map +1 -1
- package/dist/util/ComponentStatesMixin.js +4 -0
- package/dist/util/ComponentStatesMixin.js.map +1 -1
- package/dist/util/EventEmitterMixin.d.ts +58 -4
- package/dist/util/EventEmitterMixin.d.ts.map +1 -1
- package/dist/util/EventEmitterMixin.js +5 -2
- package/dist/util/EventEmitterMixin.js.map +1 -1
- package/dist/util/ProgressMixin.d.ts +9 -2
- package/dist/util/ProgressMixin.d.ts.map +1 -1
- package/dist/util/ProgressMixin.js +22 -18
- package/dist/util/ProgressMixin.js.map +1 -1
- package/dist/util/RovingTabindexMixin.d.ts +46 -0
- package/dist/util/RovingTabindexMixin.d.ts.map +1 -0
- package/dist/util/RovingTabindexMixin.js +83 -0
- package/dist/util/RovingTabindexMixin.js.map +1 -0
- package/dist/util/TetherLayout.d.ts.map +1 -1
- package/dist/util/TetherLayout.js +3 -0
- package/dist/util/TetherLayout.js.map +1 -1
- package/dist/util/TooltipMixin.d.ts.map +1 -1
- package/dist/util/TooltipMixin.js +5 -4
- package/dist/util/TooltipMixin.js.map +1 -1
- package/dist/util/upload.d.ts +53 -0
- package/dist/util/upload.d.ts.map +1 -0
- package/dist/util/upload.js +113 -0
- package/dist/util/upload.js.map +1 -0
- package/docs/components/ActionBar.md +77 -0
- package/docs/components/ActionItem.md +101 -0
- package/docs/components/Avatar.md +42 -12
- package/docs/components/AvatarGroup.md +4 -3
- package/docs/components/Badge.md +13 -1
- package/docs/components/ButtonGroup.md +91 -0
- package/docs/components/Checkbox.md +91 -0
- package/docs/components/CircularProgress.md +41 -12
- package/docs/components/CopyToClipboard.md +13 -11
- package/docs/components/Dropdown.md +51 -26
- package/docs/components/DropdownItem.md +44 -27
- package/docs/components/DropdownMenu.md +14 -14
- package/docs/components/EmptyState.md +75 -0
- package/docs/components/Icon.md +22 -14
- package/docs/components/IconButton.md +46 -21
- package/docs/components/LinearProgress.md +43 -4
- package/docs/components/Pagination.md +38 -34
- package/docs/components/Popover.md +16 -0
- package/docs/components/README.md +9 -0
- package/docs/components/Switch.md +21 -16
- package/docs/components/Tab.md +79 -0
- package/docs/components/Tabs.md +85 -0
- package/docs/components/Upload.md +112 -0
- package/docs/components/UploadItem.md +61 -0
- package/docs/components/Widget.md +12 -6
- package/package.json +4 -2
- package/dist/storybook/assets/Icon.stories-CPjM-jTU.js +0 -264
- package/dist/storybook/assets/Pagination.stories-C4cLjS_9.js +0 -272
- package/dist/storybook/assets/ReadyMixin-DNZ5dCsZ.js +0 -1
- package/dist/storybook/assets/ScrollShadow.stories-C3W5o9ZW.js +0 -17
- package/dist/storybook/assets/if-defined-BZFPaJjl.js +0 -1
- package/dist/storybook/assets/iframe-C5bIZMJ5.css +0 -1
- package/dist/storybook/assets/onFind-1l3EPW-I.js +0 -1
- package/dist/storybook/assets/style-map-CBrSnxRe.js +0 -1
package/docs/components/Icon.md
CHANGED
|
@@ -23,11 +23,18 @@
|
|
|
23
23
|
|
|
24
24
|
### Fields
|
|
25
25
|
|
|
26
|
-
| Name
|
|
27
|
-
|
|
|
28
|
-
| `size`
|
|
29
|
-
| `symbol`
|
|
30
|
-
| `gradient`
|
|
26
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
27
|
+
| ----------- | ------- | -------------------------------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
28
|
+
| `size` | | `'xs' \| 'sm' \| 'md' \| 'lg' \| 'xl'` | `'md'` | Size of the icon.
- 'xs': Extra small (0.75rem)
- 'sm': Small (1rem)
- 'md': Medium (1.25rem, default)
- 'lg': Large (1.5rem)
- 'xl': Extra large (1.75rem) | |
|
|
29
|
+
| `symbol` | | `string` | `'circle-dashed'` | Lucide icon name to display.
See https\://lucide.dev/icons/ for available icons. | |
|
|
30
|
+
| `gradient` | | `IconGradientColor \| undefined` | | Theme color to use for gradient fill.
When set, icon displays with gradient. When undefined, icon inherits parent text color. | |
|
|
31
|
+
| `emphasize` | | `boolean \| 'pulse' \| undefined` | | Emphasize mode — renders a tonal circle with ring behind the icon.
Colors are derived from \`currentColor\` via oklch relative color syntax.
Defaults to primary; override with Tailwind \`text-\*\` classes or \`style="color: ..."\`.
Set as a boolean for the static circle, or \`"pulse"\` for a one-shot ring animation.
Not intended for use with \`gradient\` — the two features target
conflicting rendering modes. | |
|
|
32
|
+
|
|
33
|
+
### Methods
|
|
34
|
+
|
|
35
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
36
|
+
| ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
|
|
37
|
+
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
|
|
31
38
|
|
|
32
39
|
### Events
|
|
33
40
|
|
|
@@ -37,20 +44,21 @@
|
|
|
37
44
|
|
|
38
45
|
### Attributes
|
|
39
46
|
|
|
40
|
-
| Name
|
|
41
|
-
|
|
|
42
|
-
| `size`
|
|
43
|
-
| `symbol`
|
|
44
|
-
| `gradient`
|
|
47
|
+
| Name | Field | Inherited From |
|
|
48
|
+
| ----------- | --------- | -------------- |
|
|
49
|
+
| `size` | size | |
|
|
50
|
+
| `symbol` | symbol | |
|
|
51
|
+
| `gradient` | gradient | |
|
|
52
|
+
| `emphasize` | emphasize | |
|
|
45
53
|
|
|
46
54
|
### CSS Properties
|
|
47
55
|
|
|
48
56
|
| Name | Default | Description |
|
|
49
57
|
| --------------------- | ------- | --------------------------------------------------------------------------------------------------- |
|
|
50
|
-
| `--
|
|
51
|
-
| `--
|
|
52
|
-
| `--
|
|
53
|
-
| `--
|
|
58
|
+
| `--icon-size` | | Icon size (overrides size default) |
|
|
59
|
+
| `--icon-stroke-width` | | SVG stroke width as a unitless number in viewBox units; scales visually with icon size (default: 2) |
|
|
60
|
+
| `--icon-fill` | | Icon fill color for filled icons (e.g., "currentColor") |
|
|
61
|
+
| `--icon-svg` | | SVG data URI for mask-based rendering |
|
|
54
62
|
|
|
55
63
|
<hr/>
|
|
56
64
|
|
|
@@ -18,22 +18,36 @@
|
|
|
18
18
|
|
|
19
19
|
### Fields
|
|
20
20
|
|
|
21
|
-
| Name
|
|
22
|
-
|
|
|
23
|
-
| `name`
|
|
24
|
-
| `type`
|
|
25
|
-
| `
|
|
26
|
-
| `size`
|
|
27
|
-
| `destructive`
|
|
28
|
-
| `disabled`
|
|
21
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
22
|
+
| ------------------ | ------- | ---------------------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
23
|
+
| `name` | | `string \| undefined` | | Optional name for the button which can be used to identify the button in a callback. | |
|
|
24
|
+
| `type` | | `IconButtonType` | `'primary'` | Specifies the type of icon-button, controlling the visual style. | |
|
|
25
|
+
| `symbol` | | `string \| undefined` | | Lucide icon symbol. | |
|
|
26
|
+
| `size` | | `IconButtonSize` | `'md'` | Specifies the size of icon-button. | |
|
|
27
|
+
| `destructive` | | `boolean` | `false` | Specifies an icon-button will be used to take any destructive action overriding the
default color used for the icon-button type with the error color. | |
|
|
28
|
+
| `disabled` | | `boolean` | `false` | Disables the button, preventing interaction and indicating an inactive state. | |
|
|
29
|
+
| `tooltip` | | `string` | `''` | Tooltip text content. Set to empty string to remove the tooltip. | TooltipMixin |
|
|
30
|
+
| `tooltipPosition` | | `'top' \| 'bottom' \| 'left' \| 'right'` | `'top'` | Position relative to the host element. Auto-flips when constrained by the viewport. | TooltipMixin |
|
|
31
|
+
| `tooltipDelay` | | `number` | `300` | Show delay in milliseconds (hover trigger only). | TooltipMixin |
|
|
32
|
+
| `tooltipOffset` | | `TooltipOffset \| null` | `null` | Gap between host and tooltip (sm=4px, md=8px, lg=12px, xl=16px). | TooltipMixin |
|
|
33
|
+
| `tooltipNoArrow` | | `boolean` | `false` | Hide the arrow pseudo-element. | TooltipMixin |
|
|
34
|
+
| `tooltipTrigger` | | `string` | `'hover focus'` | Space-separated trigger types: 'hover', 'focus', 'click'. | TooltipMixin |
|
|
35
|
+
| `_onMouseLeave` | private | | | | TooltipMixin |
|
|
36
|
+
| `_onFocusIn` | private | | | | TooltipMixin |
|
|
37
|
+
| `_onFocusOut` | private | | | | TooltipMixin |
|
|
38
|
+
| `_onClick` | private | | | | TooltipMixin |
|
|
39
|
+
| `_onNativeToggle` | private | | | | TooltipMixin |
|
|
40
|
+
| `_onKeyDown` | private | | | | TooltipMixin |
|
|
41
|
+
| `_onDocumentClick` | private | `((e: MouseEvent) => void) \| null` | `null` | | TooltipMixin |
|
|
29
42
|
|
|
30
43
|
### Methods
|
|
31
44
|
|
|
32
|
-
| Name | Privacy | Description
|
|
33
|
-
| --------------------- | ------- |
|
|
34
|
-
| `_relayTooltipAttrs` | private |
|
|
35
|
-
| `_handleClick` | private |
|
|
36
|
-
| `_buildButtonClasses` | private |
|
|
45
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
46
|
+
| --------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
|
|
47
|
+
| `_relayTooltipAttrs` | private | | | `void` | |
|
|
48
|
+
| `_handleClick` | private | | | `void` | |
|
|
49
|
+
| `_buildButtonClasses` | private | | | `string` | |
|
|
50
|
+
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
|
|
37
51
|
|
|
38
52
|
### Events
|
|
39
53
|
|
|
@@ -44,14 +58,25 @@
|
|
|
44
58
|
|
|
45
59
|
### Attributes
|
|
46
60
|
|
|
47
|
-
| Name
|
|
48
|
-
|
|
|
49
|
-
| `name`
|
|
50
|
-
| `type`
|
|
51
|
-
| `
|
|
52
|
-
| `size`
|
|
53
|
-
| `destructive`
|
|
54
|
-
| `disabled`
|
|
61
|
+
| Name | Field | Inherited From |
|
|
62
|
+
| ------------------ | --------------- | -------------- |
|
|
63
|
+
| `name` | name | |
|
|
64
|
+
| `type` | type | |
|
|
65
|
+
| `symbol` | symbol | |
|
|
66
|
+
| `size` | size | |
|
|
67
|
+
| `destructive` | destructive | |
|
|
68
|
+
| `disabled` | disabled | |
|
|
69
|
+
| `tooltip` | tooltip | TooltipMixin |
|
|
70
|
+
| `tooltipPosition` | tooltipPosition | TooltipMixin |
|
|
71
|
+
| `tooltipDelay` | tooltipDelay | TooltipMixin |
|
|
72
|
+
| `tooltipOffset` | tooltipOffset | TooltipMixin |
|
|
73
|
+
| `tooltipNoArrow` | tooltipNoArrow | TooltipMixin |
|
|
74
|
+
| `tooltipTrigger` | tooltipTrigger | TooltipMixin |
|
|
75
|
+
| `tooltip-position` | tooltipPosition | TooltipMixin |
|
|
76
|
+
| `tooltip-delay` | tooltipDelay | TooltipMixin |
|
|
77
|
+
| `tooltip-offset` | tooltipOffset | TooltipMixin |
|
|
78
|
+
| `tooltip-no-arrow` | tooltipNoArrow | TooltipMixin |
|
|
79
|
+
| `tooltip-trigger` | tooltipTrigger | TooltipMixin |
|
|
55
80
|
|
|
56
81
|
<hr/>
|
|
57
82
|
|
|
@@ -16,12 +16,51 @@
|
|
|
16
16
|
| `EventEmitterMixin` | /src/util/EventEmitterMixin.js | |
|
|
17
17
|
| `ReadyMixin` | /src/util/ReadyMixin.js | |
|
|
18
18
|
|
|
19
|
+
### Fields
|
|
20
|
+
|
|
21
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
22
|
+
| ------------------------- | ------- | -------------------------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
23
|
+
| `color` | | `ProgressColors` | `'primary'` | Color theme of the progress indicator.
Supports: black, white, primary, teal, gray, purple, rose, error, warning, success | ProgressMixin |
|
|
24
|
+
| `thickness` | | `number \| undefined` | | Stroke width of the progress indicator. | ProgressMixin |
|
|
25
|
+
| `_progress` | private | `number` | `0` | | ProgressMixin |
|
|
26
|
+
| `progress` | | | | Progress value for determinate variant. Clamped to 0–100. | ProgressMixin |
|
|
27
|
+
| `label` | | `string \| undefined` | | Optional label text to display with the progress indicator. | ProgressMixin |
|
|
28
|
+
| `initialAnimation` | | `boolean` | `true` | Whether to animate progress from 0 to target value when component first becomes visible. | ProgressMixin |
|
|
29
|
+
| `ariaLabel` | | `string \| null` | `null` | Optional aria-label attribute for screen readers.
Describes what the progress indicator represents. | ProgressMixin |
|
|
30
|
+
| `ariaLabelledBy` | | `string \| null` | `null` | Optional aria-labelledby attribute for screen readers.
References the ID of an element that labels the progress indicator. | ProgressMixin |
|
|
31
|
+
| `ariaValueText` | | `string \| null` | `null` | Optional aria-valuetext attribute for screen readers.
Provides human-readable text alternative for progress value. | ProgressMixin |
|
|
32
|
+
| `completionAnnouncement` | | `string \| undefined` | | Optional message to announce to screen readers when progress reaches 100%.
If not provided, no announcement will be made on completion. | ProgressMixin |
|
|
33
|
+
| `_isAnimationInitialized` | private | `boolean` | `false` | | ProgressMixin |
|
|
34
|
+
| `_intersectionObserver` | private | `IntersectionObserver \| undefined` | | | ProgressMixin |
|
|
35
|
+
| `_hasCompletedAt100` | private | `boolean` | `false` | | ProgressMixin |
|
|
36
|
+
| `_hostTag` | private | `'btu-linear-progress' \| 'btu-circular-progress'` | | | ProgressMixin |
|
|
37
|
+
|
|
38
|
+
### Methods
|
|
39
|
+
|
|
40
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
41
|
+
| ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
|
|
42
|
+
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
|
|
43
|
+
|
|
19
44
|
### Events
|
|
20
45
|
|
|
21
|
-
| Name
|
|
22
|
-
|
|
|
23
|
-
| `btu-progress-ready` | `CustomEvent` | Fired after first render and initialization | |
|
|
24
|
-
| `btu-progress-complete` | `CustomEvent` | Fired when progress reaches 100 | |
|
|
46
|
+
| Name | Type | Description | Inherited From |
|
|
47
|
+
| ------------------------------ | ------------- | ------------------------------------------- | -------------- |
|
|
48
|
+
| `btu-linear-progress-ready` | `CustomEvent` | Fired after first render and initialization | |
|
|
49
|
+
| `btu-linear-progress-complete` | `CustomEvent` | Fired when progress reaches 100 | |
|
|
50
|
+
|
|
51
|
+
### Attributes
|
|
52
|
+
|
|
53
|
+
| Name | Field | Inherited From |
|
|
54
|
+
| ------------------------- | ---------------------- | -------------- |
|
|
55
|
+
| `color` | color | ProgressMixin |
|
|
56
|
+
| `thickness` | thickness | ProgressMixin |
|
|
57
|
+
| `progress` | progress | ProgressMixin |
|
|
58
|
+
| `label` | label | ProgressMixin |
|
|
59
|
+
| `initial-animation` | initialAnimation | ProgressMixin |
|
|
60
|
+
| `aria-label` | ariaLabel | ProgressMixin |
|
|
61
|
+
| `aria-labelledby` | ariaLabelledBy | ProgressMixin |
|
|
62
|
+
| `aria-valuetext` | ariaValueText | ProgressMixin |
|
|
63
|
+
| `completion-announcement` | completionAnnouncement | ProgressMixin |
|
|
25
64
|
|
|
26
65
|
### CSS Properties
|
|
27
66
|
|
|
@@ -17,35 +17,38 @@
|
|
|
17
17
|
|
|
18
18
|
### Fields
|
|
19
19
|
|
|
20
|
-
| Name | Privacy | Type | Default | Description
|
|
21
|
-
| ------------------------ | ------- | --------------------- | -------------- |
|
|
22
|
-
| `page` | | `number` | `1` | Current page number (1-based)
|
|
23
|
-
| `pageSize` | | `number` | `0` | Number of items per page
|
|
24
|
-
| `disabled` | | `boolean` | `false` | Disables all pagination controls
|
|
25
|
-
| `loading` | | `boolean` | `false` | Shows loading spinner and dims controls
|
|
26
|
-
| `hideOnSinglePage` | | `boolean` | `true` | Hide controls when there is only one page
|
|
27
|
-
| `pageSizeChanger` | | `boolean` | `true` | Show the page size dropdown
|
|
28
|
-
| `pageSizeOptions` | | `string` | `'10, 20, 50'` | Comma-separated page size options
|
|
29
|
-
| `totalItems` | | `number` | `0` | Total number of items across all pages
|
|
30
|
-
| `boundaryButtons` | | `boolean` | `true` | Show first and last page buttons
|
|
31
|
-
| `hideTotalCount` | | `boolean` | `false` | Hide the item count display (e.g., "1-10 of 200")
|
|
32
|
-
| `
|
|
33
|
-
| `
|
|
34
|
-
| `
|
|
35
|
-
| `
|
|
36
|
-
| `
|
|
20
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
21
|
+
| ------------------------ | ------- | --------------------- | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
|
|
22
|
+
| `page` | | `number` | `1` | Current page number (1-based) | |
|
|
23
|
+
| `pageSize` | | `number` | `0` | Number of items per page | |
|
|
24
|
+
| `disabled` | | `boolean` | `false` | Disables all pagination controls | |
|
|
25
|
+
| `loading` | | `boolean` | `false` | Shows loading spinner and dims controls | |
|
|
26
|
+
| `hideOnSinglePage` | | `boolean` | `true` | Hide controls when there is only one page | |
|
|
27
|
+
| `pageSizeChanger` | | `boolean` | `true` | Show the page size dropdown | |
|
|
28
|
+
| `pageSizeOptions` | | `string` | `'10, 20, 50'` | Comma-separated page size options | |
|
|
29
|
+
| `totalItems` | | `number` | `0` | Total number of items across all pages | |
|
|
30
|
+
| `boundaryButtons` | | `boolean` | `true` | Show first and last page buttons | |
|
|
31
|
+
| `hideTotalCount` | | `boolean` | `false` | Hide the item count display (e.g., "1-10 of 200") | |
|
|
32
|
+
| `pageJumper` | | `boolean` | `false` | Show the page jumper dropdown. Intended for moderate page counts (under \~100 pages).
For large datasets, use a custom \`slot="jumper"\` with a virtualized or input-based control. | |
|
|
33
|
+
| `label` | | `string \| undefined` | | Accessible label for the pagination nav landmark | |
|
|
34
|
+
| `_parsedPageSizeOptions` | private | `number[]` | | | |
|
|
35
|
+
| `_totalPages` | private | `number` | | | |
|
|
36
|
+
| `_startItem` | private | `number` | | | |
|
|
37
|
+
| `_endItem` | private | `number` | | | |
|
|
37
38
|
|
|
38
39
|
### Methods
|
|
39
40
|
|
|
40
|
-
| Name
|
|
41
|
-
|
|
|
42
|
-
| `_setupSlots`
|
|
43
|
-
| `_goToFirstPage`
|
|
44
|
-
| `_goToPreviousPage`
|
|
45
|
-
| `_goToNextPage`
|
|
46
|
-
| `_goToLastPage`
|
|
47
|
-
| `_manageBoundaryFocus`
|
|
48
|
-
| `
|
|
41
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
42
|
+
| -------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
|
|
43
|
+
| `_setupSlots` | private | | | `void` | |
|
|
44
|
+
| `_goToFirstPage` | private | | `e: Event` | `void` | |
|
|
45
|
+
| `_goToPreviousPage` | private | | `e: Event` | `void` | |
|
|
46
|
+
| `_goToNextPage` | private | | `e: Event` | `void` | |
|
|
47
|
+
| `_goToLastPage` | private | | `e: Event` | `void` | |
|
|
48
|
+
| `_manageBoundaryFocus` | private | | `clickedButton: IconButton` | `void` | |
|
|
49
|
+
| `_onBuiltinPageSizeSelect` | private | | `e: Event` | `void` | |
|
|
50
|
+
| `_onBuiltinJumperSelect` | private | | `e: Event` | `void` | |
|
|
51
|
+
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
|
|
49
52
|
|
|
50
53
|
### Events
|
|
51
54
|
|
|
@@ -69,21 +72,22 @@
|
|
|
69
72
|
| `total-items` | totalItems | |
|
|
70
73
|
| `boundary-buttons` | boundaryButtons | |
|
|
71
74
|
| `hide-total-count` | hideTotalCount | |
|
|
75
|
+
| `page-jumper` | pageJumper | |
|
|
72
76
|
| `label` | label | |
|
|
73
77
|
|
|
74
78
|
### CSS Properties
|
|
75
79
|
|
|
76
|
-
| Name | Default | Description
|
|
77
|
-
| ------------------------------- | ------- |
|
|
78
|
-
| `--pagination-color-background` | | Background color for
|
|
79
|
-
| `--pagination-color-foreground` | | Text/icon color
|
|
80
|
+
| Name | Default | Description |
|
|
81
|
+
| ------------------------------- | ------- | --------------------------------------------------- |
|
|
82
|
+
| `--pagination-color-background` | | Background color for dropdowns, buttons, and jumper |
|
|
83
|
+
| `--pagination-color-foreground` | | Text/icon color |
|
|
80
84
|
|
|
81
85
|
### Slots
|
|
82
86
|
|
|
83
|
-
| Name | Description
|
|
84
|
-
| ----------- |
|
|
85
|
-
| `page-size` | Custom page-size selector (replaces built-in
|
|
86
|
-
| `jumper` | Custom jumper content (
|
|
87
|
+
| Name | Description |
|
|
88
|
+
| ----------- | ---------------------------------------------------------------------------------------------- |
|
|
89
|
+
| `page-size` | Custom page-size selector (replaces built-in dropdown). Consumer manages all behavior. |
|
|
90
|
+
| `jumper` | Custom jumper content (replaces built-in page jumper dropdown). Consumer manages all behavior. |
|
|
87
91
|
|
|
88
92
|
<hr/>
|
|
89
93
|
|
|
@@ -34,6 +34,12 @@
|
|
|
34
34
|
| `_onNativeToggle` | private | | | | |
|
|
35
35
|
| `_onKeyDown` | private | | | | |
|
|
36
36
|
|
|
37
|
+
### Methods
|
|
38
|
+
|
|
39
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
40
|
+
| ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
|
|
41
|
+
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
|
|
42
|
+
|
|
37
43
|
### Events
|
|
38
44
|
|
|
39
45
|
| Name | Type | Description | Inherited From |
|
|
@@ -54,6 +60,16 @@
|
|
|
54
60
|
| `panel-label` | panelLabel | |
|
|
55
61
|
| `no-arrow` | noArrow | |
|
|
56
62
|
|
|
63
|
+
### CSS Properties
|
|
64
|
+
|
|
65
|
+
| Name | Default | Description |
|
|
66
|
+
| ---------------------------- | ------- | ------------------------------------------------------------------------------------- |
|
|
67
|
+
| `--popover-color-background` | | Panel background color (default: var(--btu-theme-white)) |
|
|
68
|
+
| `--popover-color-content` | | Panel text color (default: oklch(var(--btu-theme-gray-900))) |
|
|
69
|
+
| `--popover-border-radius` | | Panel corner radius (default: theme borderRadius.lg) |
|
|
70
|
+
| `--popover-offset` | | Gap between trigger and panel (default: 8px; see btu-popover-offset-{sm\|md\|lg\|xl}) |
|
|
71
|
+
| `--popover-arrow-size` | | Width/height of the pointer arrow (default: 8px) |
|
|
72
|
+
|
|
57
73
|
### Slots
|
|
58
74
|
|
|
59
75
|
| Name | Description |
|
|
@@ -4,20 +4,29 @@ This directory contains auto-generated API documentation for all Brightspot UI w
|
|
|
4
4
|
|
|
5
5
|
## Components
|
|
6
6
|
|
|
7
|
+
- [`<btu-action-bar>` - ActionBar](ActionBar.md)
|
|
8
|
+
- [`<btu-action-item>` - ActionItem](ActionItem.md)
|
|
7
9
|
- [`<btu-avatar>` - Avatar](Avatar.md)
|
|
8
10
|
- [`<btu-avatar-group>` - AvatarGroup](AvatarGroup.md)
|
|
9
11
|
- [`<btu-badge>` - Badge](Badge.md)
|
|
12
|
+
- [`<btu-button-group>` - ButtonGroup](ButtonGroup.md)
|
|
13
|
+
- [`<btu-checkbox>` - Checkbox](Checkbox.md)
|
|
10
14
|
- [`<btu-circular-progress>` - CircularProgress](CircularProgress.md)
|
|
11
15
|
- [`<btu-copy-to-clipboard>` - CopyToClipboard](CopyToClipboard.md)
|
|
12
16
|
- [`<btu-dropdown>` - Dropdown](Dropdown.md)
|
|
13
17
|
- [`<btu-dropdown-item>` - DropdownItem](DropdownItem.md)
|
|
14
18
|
- [`<btu-dropdown-menu>` - DropdownMenu](DropdownMenu.md)
|
|
19
|
+
- [`<btu-empty-state>` - EmptyState](EmptyState.md)
|
|
15
20
|
- [`<btu-icon>` - Icon](Icon.md)
|
|
16
21
|
- [`<btu-icon-button>` - IconButton](IconButton.md)
|
|
17
22
|
- [`<btu-linear-progress>` - LinearProgress](LinearProgress.md)
|
|
18
23
|
- [`<btu-pagination>` - Pagination](Pagination.md)
|
|
19
24
|
- [`<btu-popover>` - Popover](Popover.md)
|
|
20
25
|
- [`<btu-switch>` - Switch](Switch.md)
|
|
26
|
+
- [`<btu-tab>` - Tab](Tab.md)
|
|
27
|
+
- [`<btu-tabs>` - Tabs](Tabs.md)
|
|
28
|
+
- [`<btu-upload>` - Upload](Upload.md)
|
|
29
|
+
- [`<btu-upload-item>` - UploadItem](UploadItem.md)
|
|
21
30
|
- [`<btu-widget>` - Widget](Widget.md)
|
|
22
31
|
|
|
23
32
|
---
|
|
@@ -17,25 +17,26 @@
|
|
|
17
17
|
|
|
18
18
|
### Fields
|
|
19
19
|
|
|
20
|
-
| Name | Privacy | Type
|
|
21
|
-
| --------------- | ------- |
|
|
22
|
-
| `size` | | `'
|
|
23
|
-
| `label` | | `string \| undefined`
|
|
24
|
-
| `description` | | `string \| undefined`
|
|
25
|
-
| `checked` | | `boolean`
|
|
26
|
-
| `disabled` | | `boolean`
|
|
27
|
-
| `name` | | `string \| undefined`
|
|
28
|
-
| `labelPosition` | | `'start' \| 'end'`
|
|
29
|
-
| `onIcon` | | `string \| undefined`
|
|
30
|
-
| `offIcon` | | `string \| undefined`
|
|
20
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
21
|
+
| --------------- | ------- | ---------------------- | ------- | ----------------------------------------------------------------------------------- | -------------- |
|
|
22
|
+
| `size` | | `'sm' \| 'md' \| 'lg'` | `'sm'` | Controls the physical dimensions of the switch and the associated label typography. | |
|
|
23
|
+
| `label` | | `string \| undefined` | | The primary text displayed next to the toggle. | |
|
|
24
|
+
| `description` | | `string \| undefined` | | Optional helper text or secondary information displayed below the label. | |
|
|
25
|
+
| `checked` | | `boolean` | `false` | The current state of the switch (on/off). | |
|
|
26
|
+
| `disabled` | | `boolean` | `false` | If true, the toggle is non-interactive and visually muted. | |
|
|
27
|
+
| `name` | | `string \| undefined` | | Name of the control for form participation. | |
|
|
28
|
+
| `labelPosition` | | `'start' \| 'end'` | `'end'` | Determines if the label appears to the left or right of the switch. | |
|
|
29
|
+
| `onIcon` | | `string \| undefined` | | Lucide icon name shown on the track when the switch is checked (on). | |
|
|
30
|
+
| `offIcon` | | `string \| undefined` | | Lucide icon name shown on the track when the switch is unchecked (off). | |
|
|
31
31
|
|
|
32
32
|
### Methods
|
|
33
33
|
|
|
34
|
-
| Name | Privacy | Description
|
|
35
|
-
| ---------------- | ------- |
|
|
36
|
-
| `_onInputChange` | private |
|
|
37
|
-
| `_onFocus` | private |
|
|
38
|
-
| `_toggleInput` | private |
|
|
34
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
35
|
+
| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
|
|
36
|
+
| `_onInputChange` | private | | `e: Event` | `void` | |
|
|
37
|
+
| `_onFocus` | private | | | `void` | |
|
|
38
|
+
| `_toggleInput` | private | | | `void` | |
|
|
39
|
+
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
|
|
39
40
|
|
|
40
41
|
### Events
|
|
41
42
|
|
|
@@ -67,6 +68,10 @@
|
|
|
67
68
|
| `--switch-color-track-off` | | Background color when the toggle is unchecked (default: var(--btu-theme-gray-300)) |
|
|
68
69
|
| `--switch-color-knob` | | Color of the sliding circular handle (default: var(--btu-theme-white)) |
|
|
69
70
|
| `--switch-label-spacing` | | Distance between the switch and the text label (default: 0.75rem) |
|
|
71
|
+
| `--switch-track-width` | | Track width (default: sm 1.75rem, md 2.25rem, lg 2.75rem) |
|
|
72
|
+
| `--switch-track-height` | | Track height (default: sm 1rem, md 1.25rem, lg 1.5rem) |
|
|
73
|
+
| `--switch-knob-size` | | Knob diameter (default: sm 0.75rem, md 1rem, lg 1.25rem) |
|
|
74
|
+
| `--switch-knob-padding` | | Space between knob and track edges (default: 0.125rem) |
|
|
70
75
|
| `--switch-track-icon-size` | | Size of the track icons (default: sm 0.5rem, md 0.625rem, lg 0.75rem) |
|
|
71
76
|
|
|
72
77
|
<hr/>
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# `src/components/tabs/Tab.ts`:
|
|
2
|
+
|
|
3
|
+
## class: `Tab`, `btu-tab`
|
|
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
|
+
### Static Fields
|
|
19
|
+
|
|
20
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
21
|
+
| --------- | ------- | ---- | ------- | ----------- | -------------- |
|
|
22
|
+
| `tagName` | | | | | |
|
|
23
|
+
|
|
24
|
+
### Fields
|
|
25
|
+
|
|
26
|
+
| Name | Privacy | Type | Default | Description | Inherited From |
|
|
27
|
+
| -------------- | ------- | ------------------------- | ----------- | ----------------------------------------------------------------------------------------------------- | -------------- |
|
|
28
|
+
| `name` | | `string \| undefined` | | Value that identifies this tab and links it to panel elements that share the same \`name\` attribute. | |
|
|
29
|
+
| `label` | | `string \| undefined` | | Text displayed in the tab. | |
|
|
30
|
+
| `description` | | `string \| undefined` | | Accessibility description for screen readers. | |
|
|
31
|
+
| `disabled` | | `boolean` | `false` | Whether the tab is disabled and non-interactive. | |
|
|
32
|
+
| `symbol` | | `string \| undefined` | | Lucide icon symbol to display. | |
|
|
33
|
+
| `iconPosition` | | `'leading' \| 'trailing'` | `'leading'` | Placement of the icon relative to the label. | |
|
|
34
|
+
| `iconOnly` | | `boolean` | `false` | When true, hides the label visually while maintaining accessibility. | |
|
|
35
|
+
| `error` | | `boolean` | `false` | When true, displays an error badge on the tab. | |
|
|
36
|
+
| `badge` | | `string \| undefined` | | Displays a badge with the given value alongside the label. | |
|
|
37
|
+
|
|
38
|
+
### Methods
|
|
39
|
+
|
|
40
|
+
| Name | Privacy | Description | Parameters | Return | Inherited From |
|
|
41
|
+
| ------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | --------- | ----------------- |
|
|
42
|
+
| `emit` | | Dispatches a type-safe CustomEvent with standardized configuration.

All events are configured with:
- bubbles: true (event propagates up the DOM tree)
- cancelable: false (event cannot be cancelled)
- composed: true (event crosses shadow DOM boundaries) | `type: K, detail: UnpackCustomEvent<CustomEventMap[K]>` | `boolean` | EventEmitterMixin |
|
|
43
|
+
|
|
44
|
+
### Events
|
|
45
|
+
|
|
46
|
+
| Name | Type | Description | Inherited From |
|
|
47
|
+
| ---------------- | ----------------------------- | ---------------------------------------------------- | -------------- |
|
|
48
|
+
| `btu-tab-ready` | `CustomEvent` | Fired after first render | |
|
|
49
|
+
| `btu-tab-change` | `CustomEvent<{name: string}>` | Fired when a non-disabled tab with a name is clicked | |
|
|
50
|
+
|
|
51
|
+
### Attributes
|
|
52
|
+
|
|
53
|
+
| Name | Field | Inherited From |
|
|
54
|
+
| --------------- | ------------ | -------------- |
|
|
55
|
+
| `name` | name | |
|
|
56
|
+
| `label` | label | |
|
|
57
|
+
| `description` | description | |
|
|
58
|
+
| `disabled` | disabled | |
|
|
59
|
+
| `symbol` | symbol | |
|
|
60
|
+
| `icon-position` | iconPosition | |
|
|
61
|
+
| `icon-only` | iconOnly | |
|
|
62
|
+
| `error` | error | |
|
|
63
|
+
| `badge` | badge | |
|
|
64
|
+
|
|
65
|
+
### CSS Properties
|
|
66
|
+
|
|
67
|
+
| Name | Default | Description |
|
|
68
|
+
| -------------------------- | ------- | ---------------------------------------------------------------- |
|
|
69
|
+
| `--badge-color-background` | | Background color of the count indicator badge (default: gray-50) |
|
|
70
|
+
| `--badge-color-foreground` | | Text color of the count indicator badge (default: gray-700) |
|
|
71
|
+
|
|
72
|
+
<hr/>
|
|
73
|
+
|
|
74
|
+
## Exports
|
|
75
|
+
|
|
76
|
+
| Kind | Name | Declaration | Module | Package |
|
|
77
|
+
| --------------------------- | --------- | ----------- | -------------------------- | ------- |
|
|
78
|
+
| `js` | `default` | Tab | src/components/tabs/Tab.ts | |
|
|
79
|
+
| `custom-element-definition` | `btu-tab` | Tab | src/components/tabs/Tab.ts | |
|