@brightspot/ui 1.11.0 → 3.0.1-cms-ui-migration.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 +1 -1
- package/dist/components/action-bar/ActionBar.js +7 -7
- package/dist/components/action-bar/ActionBar.js.map +1 -1
- package/dist/components/action-bar/ActionItem.d.ts +5 -5
- package/dist/components/action-bar/ActionItem.d.ts.map +1 -1
- package/dist/components/action-bar/ActionItem.js +13 -13
- package/dist/components/action-bar/ActionItem.js.map +1 -1
- 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 +5 -5
- package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
- package/dist/components/dropdown/Dropdown.js +11 -16
- package/dist/components/dropdown/Dropdown.js.map +1 -1
- package/dist/components/dropdown/DropdownItem.d.ts +14 -6
- package/dist/components/dropdown/DropdownItem.d.ts.map +1 -1
- package/dist/components/dropdown/DropdownItem.js +21 -15
- package/dist/components/dropdown/DropdownItem.js.map +1 -1
- package/dist/components/dropdown/DropdownMenu.d.ts +4 -4
- package/dist/components/dropdown/DropdownMenu.d.ts.map +1 -1
- package/dist/components/dropdown/DropdownMenu.js +6 -6
- 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.js +10 -10
- 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 +4 -4
- package/dist/components/tabs/Tab.d.ts.map +1 -1
- package/dist/components/tabs/Tab.js +5 -5
- package/dist/components/tabs/Tab.js.map +1 -1
- package/dist/components/tabs/Tabs.d.ts +3 -3
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.js +20 -20
- package/dist/components/tabs/Tabs.js.map +1 -1
- 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 +7527 -2115
- package/dist/storybook/assets/{ActionBar.stories--nAeDC-G.js → ActionBar.stories-CXEvFUN5.js} +65 -65
- package/dist/storybook/assets/{ActionItem.stories-BHrGjk-P.js → ActionItem.stories-8-qQmVGz.js} +41 -41
- package/dist/storybook/assets/{Avatar.stories-Da-mRj6_.js → Avatar.stories-LOTCiTgV.js} +2 -2
- package/dist/storybook/assets/{AvatarGroup.stories-BQlaC_yl.js → AvatarGroup.stories-N17TVn4O.js} +5 -5
- package/dist/storybook/assets/{Badge.stories-DnVnOrnF.js → Badge.stories-2IRfk8Ri.js} +2 -2
- package/dist/storybook/assets/{Button-CFLAI1H9.js → Button-CQ2CjiFm.js} +1 -1
- package/dist/storybook/assets/{Button.stories-DxaBOjwv.js → Button.stories-DwyviUHj.js} +1 -1
- package/dist/storybook/assets/ButtonGroup.stories-D6nkkXxD.js +588 -0
- package/dist/storybook/assets/{Celebrate.stories-CuMm15Nr.js → Celebrate.stories-DtKNptXA.js} +7 -7
- package/dist/storybook/assets/Checkbox.stories--fetKLgV.js +141 -0
- package/dist/storybook/assets/{CircularProgress.stories-DRN8Mtvj.js → CircularProgress.stories-vK3MWdEg.js} +7 -7
- package/dist/storybook/assets/{ClipboardMixin.stories-DR7Ou2Av.js → ClipboardMixin.stories-BXOX2e9A.js} +31 -28
- package/dist/storybook/assets/{Color-6BZIO3FS-Die62Y0Z.js → Color-6BZIO3FS-DIO6ExZa.js} +1 -1
- package/dist/storybook/assets/{Colors.stories-bIq_ssbI.js → Colors.stories-Z-o0Dmyi.js} +1 -1
- package/dist/storybook/assets/{CombinedEffects.stories-CtKzOUZn.js → CombinedEffects.stories-BIvRmEL2.js} +33 -33
- package/dist/storybook/assets/{ComponentStatesMixin-DMLCk9fE.js → ComponentStatesMixin-BeLIKOsg.js} +1 -1
- package/dist/storybook/assets/{ComponentStatesMixin.stories-D8UI9o-d.js → ComponentStatesMixin.stories-u03jgLUU.js} +3 -3
- package/dist/storybook/assets/{CopyToClipboard.stories-ti6CpJNp.js → CopyToClipboard.stories-D23guAYu.js} +16 -16
- package/dist/storybook/assets/{Debounce.stories-DzZUSvbk.js → Debounce.stories-Bz3JaQJY.js} +9 -9
- package/dist/storybook/assets/{DocsRenderer-LL677BLK-CIRGv5IX.js → DocsRenderer-LL677BLK-CaEKjMeC.js} +3 -3
- package/dist/storybook/assets/{Dropdown.stories-Lt4cY0Re.js → Dropdown.stories-CNxtx8UX.js} +60 -60
- package/dist/storybook/assets/EmptyState.stories-Ck5T6q1T.js +318 -0
- package/dist/storybook/assets/{Events.stories-B1ddcgpT.js → Events.stories-Cx10pvVB.js} +1 -1
- package/dist/storybook/assets/{Heading.stories-DI4w61cf.js → Heading.stories-mbkSoA5r.js} +1 -1
- package/dist/storybook/assets/{HueRipple.stories-DjhoxxEw.js → HueRipple.stories-B-DDviMh.js} +11 -11
- package/dist/storybook/assets/Icon.stories-Dodo1jjZ.js +441 -0
- package/dist/storybook/assets/{IconButton.stories-KjN28hfc.js → IconButton.stories-eAU6vNiX.js} +126 -146
- package/dist/storybook/assets/{LinearProgress.stories-DcIpdz6R.js → LinearProgress.stories-BqAUCgwy.js} +7 -7
- package/dist/storybook/assets/{Pagination.stories-BBkLEwoP.js → Pagination.stories-CVK8mlEU.js} +6 -6
- package/dist/storybook/assets/{Popover.stories-DLv48c2h.js → Popover.stories-CC2R-jiv.js} +33 -62
- package/dist/storybook/assets/ReadyMixin-CAkCCAOH.js +1 -0
- package/dist/storybook/assets/{RovingTabindexMixin.stories-BWaFx9mu.js → RovingTabindexMixin.stories-Dgm5izU_.js} +6 -6
- package/dist/storybook/assets/{Rtc.stories-Ve7Bwo_l.js → Rtc.stories-D9uVCq71.js} +3 -3
- package/dist/storybook/assets/{ScrollShadow.stories-C6XmrRLm.js → ScrollShadow.stories-D5GJ6Zes.js} +2 -2
- package/dist/storybook/assets/{Switch.stories-Cf8WM1LG.js → Switch.stories-D7HV0v6i.js} +21 -21
- package/dist/storybook/assets/{Tab.stories-CEtdEtOx.js → Tab.stories-CwHBngmO.js} +33 -33
- package/dist/storybook/assets/{Tabs.stories-CIAO1bPO.js → Tabs.stories-D87ILflp.js} +2 -2
- package/dist/storybook/assets/{Throttle.stories-BqxVIb-r.js → Throttle.stories-C13Vl7yt.js} +10 -10
- package/dist/storybook/assets/{Tooltip.stories-B6fw6875.js → Tooltip.stories-BRmAKppC.js} +2 -2
- package/dist/storybook/assets/Upload.stories-CvceXasD.js +447 -0
- package/dist/storybook/assets/UploadItem.stories-BF6c7tVM.js +167 -0
- package/dist/storybook/assets/{Welcome.stories-CfJtSM19.js → Welcome.stories-Ciht_H8A.js} +1 -1
- package/dist/storybook/assets/{Widget.stories-CiOho7lO.js → Widget.stories-30UYw1gn.js} +13 -13
- package/dist/storybook/assets/{WithTooltip-65CFNBJE-PGcopp73.js → WithTooltip-65CFNBJE-Q8AG_oZS.js} +1 -1
- package/dist/storybook/assets/{blocks-dP2DwISI.js → blocks-DIrsUt2U.js} +5 -5
- package/dist/storybook/assets/{formatter-EIJCOSYU-CZSAC3tg.js → formatter-EIJCOSYU-BcNb3EA1.js} +1 -1
- package/dist/storybook/assets/if-defined-C1_PRAyA.js +1 -0
- package/dist/storybook/assets/iframe-BgFj0b5u.css +1 -0
- package/dist/storybook/assets/{iframe-DloIUNZz.js → iframe-D5Uwm8Zd.js} +191 -191
- package/dist/storybook/assets/{index-DKF0ypu5.js → index-BOlx3-q7.js} +1 -1
- package/dist/storybook/assets/{onFind-C0l4Gew0.js → onFind-Cp2DO8R2.js} +1 -1
- package/dist/storybook/assets/{onFind.stories-DOTt9puO.js → onFind.stories-BDK06xaW.js} +53 -77
- package/dist/storybook/assets/{onRemove.stories-CQ9ZC5dm.js → onRemove.stories-TSKvqih3.js} +6 -10
- package/dist/storybook/assets/{onVisible.stories-Cbj5_Vz0.js → onVisible.stories-DiOPobn8.js} +3 -3
- package/dist/storybook/assets/{style-map-DLXysq3r.js → style-map-Cy6U2K_U.js} +1 -1
- package/dist/storybook/assets/{syntaxhighlighter-ED5Y7EFY-Bjjbl9ca.js → syntaxhighlighter-ED5Y7EFY-NNCQVsSv.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 +3 -3
- package/dist/storybook/index.json +1 -1
- package/dist/storybook/project.json +1 -1
- package/dist/tailwind-plugin-badge.js +1 -1
- package/dist/tailwind-plugin-badge.ts +1 -1
- 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 +1 -1
- package/dist/tailwind-plugin-button.ts +1 -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-tabs.js +7 -0
- package/dist/tailwind-plugin-tabs.js.map +1 -1
- package/dist/tailwind-plugin-tabs.ts +7 -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 +42 -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 +8 -0
- package/dist/util/RovingTabindexMixin.d.ts.map +1 -1
- package/dist/util/RovingTabindexMixin.js +8 -8
- package/dist/util/RovingTabindexMixin.js.map +1 -1
- 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/adr/0001-retire-cms-ui-package-fold-under-src-legacy.md +78 -0
- package/docs/adr/0002-yarn-workspaces-preserve-cms-ui-deps.md +130 -0
- package/docs/adr/0003-bundle-equivalence-as-fold-acceptance-criterion.md +286 -0
- package/docs/components/ActionBar.md +6 -0
- package/docs/components/ActionItem.md +52 -27
- 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 +44 -19
- package/docs/components/DropdownItem.md +39 -26
- package/docs/components/DropdownMenu.md +9 -9
- 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 +11 -10
- package/docs/components/Popover.md +16 -0
- package/docs/components/README.md +5 -0
- package/docs/components/Switch.md +21 -16
- package/docs/components/Tab.md +8 -2
- package/docs/components/Tabs.md +8 -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 +9 -5
- package/src/legacy/tool-ui/src/main/webapp/dist/011a678e3efe41981754.png +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/1173.080a90c5923854fc48e6.js +2 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/1173.080a90c5923854fc48e6.js.LICENSE.txt +10 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/194137260531ee29a5f2.svg +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/1946.156c6821383df2638492.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/1950.3594aaa4f20df28f39d9.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/1e8408af1a34bdf61457.png +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/2111.3956b5196a514b2c0131.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/2111.a937b0cafa8cf7c039d2.css +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/2129.6b044e5564dd3dbb2f94.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/2314.420883b6638f35f40e70.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/2456.5bcfb782c2ec27de32ed.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/2537.e8f1359bedd328bf57f4.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/2565.4ca31a6a46de85cd3b31.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/270.3011484ff80f3093083a.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/2825.c1342ac2662d11fd4125.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/2947.f96d21c44c05980974ef.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/3532.c358dfbb2cde0f802c7f.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/3543.2d704cf9e170322468e7.js +2 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/3543.2d704cf9e170322468e7.js.LICENSE.txt +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/3611.61837ffa933f74502094.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/3790.74b7037d430ed0a47d0c.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/3995.afbec58662cafb46ec2c.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4017.c3ed1ca3be18b5c080c8.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4093.152620c022c3013502b7.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4114.57fe159e416e716f8cbc.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4168.a224af7c5c5f6f2ddd7b.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4374.37147747a254da8f5f8a.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4450.16dd5684292fd0a7ea7f.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4478.93f64e6a6ccb35a6c6d4.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/44b38a404dec4643c46b.png +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4582.243dbaa3d8a8648f6f40.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4709.4f6b707e225e481a928e.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4790.10d75f7c7f8e54ce83a1.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4795.034ebc93a67b7a3d6536.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4850.6b944738520f69c98070.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/4a4ee777ddc0d4cedee4.png +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/5001.a61ae5608398d5d98ab1.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/5030.1e8b82e1444067d492b1.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/5055.620ccb3717b4a6427f09.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/5098.33613009827cfc80aafb.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/5385.6656501b67424994820b.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/5598.d84773ca53126661bdca.js +2 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/5598.d84773ca53126661bdca.js.LICENSE.txt +11 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/5617.c81ecb679371ca302f1f.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/5718.449113ae2463a3bb8a83.js +2 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/5718.449113ae2463a3bb8a83.js.LICENSE.txt +8 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/6047.291dd2d4b3f79be2c64d.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/6086.7ca02b827506f29db590.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/6216.cf8adc1990ee1111f065.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/6497.b7d8dcbf0e7c8d8d538d.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/6565.0e5abc3bd344c53ae154.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/7033.4cd6efbe12e7aaa35745.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/7202.1e5b8f21215ea6eae20a.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/7361.793163ca71dfac69d9eb.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/75.e45c9aec6e7409bfe21d.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/7524.2990be869cf0a2988d17.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/7554.bb243c1fb06a125f6353.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/7718.a937b0cafa8cf7c039d2.css +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/7718.f5996ddd99f2353c7785.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/7741.0b2789c4e783af835763.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/7769.d47f40cc83035fc2392a.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/7863.2a1d1fd229778a47e10b.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/7923.8a92f55de8387f7a8a35.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/8684.7171c731d38a9873d6df.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/8752.3d02a0f42ec39786fdf0.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/8897.bfeed19f2a4acbb6d67c.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/8934.e90ceca8169fc25e4e1b.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/9277.88b2d89b3ba1c24e7f93.js +2 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/9277.88b2d89b3ba1c24e7f93.js.LICENSE.txt +9 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/9360.bb0352313d610cae11de.js +2 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/9360.bb0352313d610cae11de.js.LICENSE.txt +33 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/9561.64eab18c8c1bbc4ad8ec.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/9576.174d6a99544d17e7416d.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/983.eedba1cd484aa5bee0c4.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/Appetizeio.185641211f7c0e42a455.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/CISpectrum.74db7dc80b3a6797a167.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/Chart.223ea4ee9e3e32b67a26.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/ChartCompat.4dd096dd030942227ec6.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/CodeMirror.5ddffe054374f883d6f8.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/ImageEditor.14e3b3035666436f53a5.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/LocationMap.72a510c0f5ff236f596e.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/RTEProseMirror.7561297911cca56da5dd.js +500 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/RTEProseMirror.7561297911cca56da5dd.js.LICENSE.txt +8 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/RegionMap.63f3b2303ab369a05073.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/TimedContent.4bb4dc83ffbe4019dd7b.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/VideoEditor.11c89dda5cf125738a33.js +2 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/VideoEditor.11c89dda5cf125738a33.js.LICENSE.txt +23 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/c6e9c007f41bd4d26c20.png +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/iframeResizer.contentWindow.map +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/iframeResizer.contentWindow.min.js +2 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/iframeResizer.contentWindow.min.js.LICENSE.txt +7 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/lucide.woff2 +0 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/preview.d46d98e5ca9dba0a0f5a.js +1 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/v4.63bc3566a89786faeb89.js +92 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/v4.63bc3566a89786faeb89.js.LICENSE.txt +71 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/v4.a6f53058dbb04a69aa5c.css +3 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/v5.5e3fdf0f0b20b4e3c170.css +5 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/v5.702238fcabd666eba152.js +92 -0
- package/src/legacy/tool-ui/src/main/webapp/dist/v5.702238fcabd666eba152.js.LICENSE.txt +78 -0
- package/dist/storybook/assets/Icon.stories-CpziAhae.js +0 -264
- package/dist/storybook/assets/ReadyMixin-Cw2Dfbu2.js +0 -1
- package/dist/storybook/assets/if-defined-B1RdczOE.js +0 -1
- package/dist/storybook/assets/iframe-bJgLXZKK.css +0 -1
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
import{g,x as s}from"./iframe-D5Uwm8Zd.js";import{o as h}from"./style-map-Cy6U2K_U.js";import{L as u}from"./LucideDynamicLoader-jmdq8YDM.js";import"./preload-helper-PPVm8Dsz.js";const{events:x,args:v,argTypes:i}=g("btu-icon"),b=["xs","sm","md","lg","xl"],f=["ai","error","gray","primary","purple","rose","success","teal","warning"],C={title:"Components/Icon",component:"btu-icon",tags:["autodocs"],parameters:{docs:{subtitle:"An icon component using Lucide icons with built-in support for custom colors and sizes.",description:{component:`
|
|
2
|
+
<strong>When to use:</strong>
|
|
3
|
+
<ul>
|
|
4
|
+
<li>To visually reinforce actions, states, or categories</li>
|
|
5
|
+
<li>For navigation elements and buttons</li>
|
|
6
|
+
<li>To provide visual cues alongside text labels</li>
|
|
7
|
+
<li>For decorative elements that enhance understanding</li>
|
|
8
|
+
</ul>
|
|
9
|
+
|
|
10
|
+
<strong>When not to use:</strong>
|
|
11
|
+
<ul>
|
|
12
|
+
<li>As the sole means of conveying critical information without an accompanying label</li>
|
|
13
|
+
<li>When text would be clearer than an icon</li>
|
|
14
|
+
</ul>
|
|
15
|
+
|
|
16
|
+
<h3>Icon Library:</h3>
|
|
17
|
+
<p>All icons are from <a href="https://lucide.dev/icons/" target="_blank">Lucide</a>. Note that the Lucide library is updated regularly, but the Brightspot UI library uses <strong>Lucide v${u}</strong>. Keep this in mind when choosing icons for your project, as icon names and styles may differ between versions.</p>
|
|
18
|
+
`}},actions:{handles:x},controls:{expanded:!0}},args:{...v,symbol:"heart",size:"md"},argTypes:{...i,"--icon-size":{table:{disable:!0}},"--icon-fill":{table:{disable:!0}},"--icon-stroke-width":{table:{disable:!0}},"--icon-svg":{table:{disable:!0}},symbol:{...i.symbol,control:{type:"text"},description:'<a href="https://lucide.dev/icons/" target="_blank">Lucide</a> icon name. Note that only icons available in Lucide v'+u+" are supported.",table:{...i.symbol?.table,type:{summary:"string"}}},size:{...i.size,control:{type:"select"},options:b,description:"Icon size preset"},gradient:{...i.gradient,control:{type:"select"},options:f,description:"Gradient theme icon fill. When not set, icon inherits parent text color. **Cannot be combined with `emphasize`** — gradient takes precedence."},emphasize:{...i.emphasize,control:{type:"select"},options:["none","static","pulse"],mapping:{none:void 0,static:!0,pulse:"pulse"},description:'Emphasize mode. "static" renders a tonal circle with ring; "pulse" adds a one-shot ring animation. Color derives from currentColor (defaults to primary). **Cannot be combined with `gradient`** — gradient takes precedence and emphasize is ignored.'},customSize:{name:"--icon-size",control:{type:"text"},description:'Custom icon size - overrides the size preset (e.g., "3rem", "48px")',table:{category:"css properties"}},customFill:{name:"--icon-fill",control:{type:"text"},description:'An advanced option for creating filled-in icons via built-in CSS SVG styling. Works best with simple icons like "heart" or "star".',table:{category:"css properties"}},customStrokeWidth:{name:"--icon-stroke-width",control:{type:"range",min:.5,max:4,step:.25},description:"SVG stroke width as a unitless number in viewBox units; scales visually with icon size (default: 2).",table:{category:"css properties"}}},render:e=>{const t={};return e.customSize&&(t["--icon-size"]=e.customSize),e.customFill&&(t["--icon-fill"]=e.customFill),e.customStrokeWidth&&(t["--icon-stroke-width"]=e.customStrokeWidth),s`<btu-icon
|
|
19
|
+
symbol="${e.symbol}"
|
|
20
|
+
size="${e.size}"
|
|
21
|
+
gradient="${e.gradient||""}"
|
|
22
|
+
.emphasize=${e.emphasize||void 0}
|
|
23
|
+
style=${h(t)}
|
|
24
|
+
></btu-icon>`}},n={args:{}},o={render:()=>s`<div class="flex items-center gap-4">
|
|
25
|
+
<btu-icon symbol="heart" size="xs"></btu-icon>
|
|
26
|
+
<btu-icon symbol="heart" size="sm"></btu-icon>
|
|
27
|
+
<btu-icon symbol="heart" size="md"></btu-icon>
|
|
28
|
+
<btu-icon symbol="heart" size="lg"></btu-icon>
|
|
29
|
+
<btu-icon symbol="heart" size="xl"></btu-icon>
|
|
30
|
+
</div>`,parameters:{docs:{description:{story:"Icons come in five preset sizes: xs, sm, md, lg, and xl. Choose the size that best fits your design context."}}}},a={render:()=>s`<div class="flex items-center gap-6">
|
|
31
|
+
${[1,1.5,2,2.5,3].map(e=>s`<div class="flex flex-col items-center gap-2">
|
|
32
|
+
<btu-icon symbol="heart" size="xl" style="--icon-stroke-width: ${e}"></btu-icon>
|
|
33
|
+
<span class="text-xs font-bold">${e}</span>
|
|
34
|
+
</div>`)}
|
|
35
|
+
</div>`,parameters:{docs:{description:{story:"Control stroke thickness via the `--icon-stroke-width` CSS custom property. The value is a unitless number in SVG viewBox units (the icons use a 24×24 coordinate system). Because the stroke is defined in viewBox units, it scales proportionally with the icon — a stroke-width of 2 will appear visually thicker on a larger icon. Note: this property does not affect gradient icons, which use a static mask image where stroke-width is baked in."}}}},l={render:()=>s`<div class="flex flex-wrap items-center justify-between gap-4 px-4">
|
|
36
|
+
<div class="flex flex-col items-center gap-2">
|
|
37
|
+
<btu-icon symbol="zap" size="xl" gradient="primary"></btu-icon>
|
|
38
|
+
<span class="text-xs font-bold">primary</span>
|
|
39
|
+
</div>
|
|
40
|
+
<div class="flex flex-col items-center gap-2">
|
|
41
|
+
<btu-icon symbol="check-circle" size="xl" gradient="success"></btu-icon>
|
|
42
|
+
<span class="text-xs font-bold">success</span>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="flex flex-col items-center gap-2">
|
|
45
|
+
<btu-icon symbol="trash-2" size="xl" gradient="error"></btu-icon>
|
|
46
|
+
<span class="text-xs font-bold">error</span>
|
|
47
|
+
</div>
|
|
48
|
+
<div class="flex flex-col items-center gap-2">
|
|
49
|
+
<btu-icon symbol="alert-triangle" size="xl" gradient="warning"></btu-icon>
|
|
50
|
+
<span class="text-xs font-bold">warning</span>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="flex flex-col items-center gap-2">
|
|
53
|
+
<btu-icon symbol="sparkles" size="xl" gradient="ai"></btu-icon>
|
|
54
|
+
<span class="text-xs font-bold">ai</span>
|
|
55
|
+
</div>
|
|
56
|
+
<div class="flex flex-col items-center gap-2">
|
|
57
|
+
<btu-icon symbol="info" size="xl" gradient="purple"></btu-icon>
|
|
58
|
+
<span class="text-xs font-bold">purple</span>
|
|
59
|
+
</div>
|
|
60
|
+
<div class="flex flex-col items-center gap-2">
|
|
61
|
+
<btu-icon symbol="book" size="xl" gradient="teal"></btu-icon>
|
|
62
|
+
<span class="text-xs font-bold">teal</span>
|
|
63
|
+
</div>
|
|
64
|
+
<div class="flex flex-col items-center gap-2">
|
|
65
|
+
<btu-icon symbol="flower" size="xl" gradient="rose"></btu-icon>
|
|
66
|
+
<span class="text-xs font-bold">rose</span>
|
|
67
|
+
</div>
|
|
68
|
+
</div>`,parameters:{docs:{description:{story:"Icons support gradient fills using the following theme colors. Set the `gradient` attribute to one of the theme colors and watch the icon's color come to life! Note that gradient icons use mask-based rendering for smooth color transitions."}}}},r={render:()=>s`<div class="flex flex-col gap-6">
|
|
69
|
+
<div class="flex items-center gap-2">
|
|
70
|
+
<strong>Custom sizing:</strong>
|
|
71
|
+
<btu-icon symbol="trophy" size="md" style="--icon-size: 4rem" class="text-warning-500"></btu-icon>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
<div class="flex items-center gap-2">
|
|
75
|
+
<strong>Filled icons:</strong>
|
|
76
|
+
<div class="flex items-center gap-3">
|
|
77
|
+
<btu-icon symbol="star" size="xl" class="text-warning-500" style="--icon-fill: currentColor"></btu-icon>
|
|
78
|
+
<btu-icon symbol="heart" size="xl" class="text-error-600" style="--icon-fill: currentColor"></btu-icon>
|
|
79
|
+
</div>
|
|
80
|
+
</div>
|
|
81
|
+
|
|
82
|
+
<div class="flex flex-col gap-3">
|
|
83
|
+
<strong>RTL language support:</strong>
|
|
84
|
+
<div class="flex flex-col gap-3 rounded-lg border border-gray-200 bg-gray-50 p-4 text-gray-900">
|
|
85
|
+
<div class="flex items-center gap-2">
|
|
86
|
+
<span class="text-sm">Open panel</span>
|
|
87
|
+
<btu-icon symbol="panel-right-close" size="md"></btu-icon>
|
|
88
|
+
</div>
|
|
89
|
+
<div class="flex items-center gap-2" dir="rtl">
|
|
90
|
+
<span class="text-sm">افتح اللوحة</span>
|
|
91
|
+
<btu-icon symbol="panel-right-close" size="md" class="rtl:-scale-x-100"></btu-icon>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
|
|
96
|
+
<div class="flex items-center gap-2">
|
|
97
|
+
<strong>Unlabeled icon button (A11y concern!):</strong>
|
|
98
|
+
<button class="btu-button-error btu-button-fill-none btu-button-sm btu-button">
|
|
99
|
+
<btu-icon symbol="trash-2" size="md" class="text-gray-900"></btu-icon>
|
|
100
|
+
</button>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<div class="flex items-center gap-2">
|
|
104
|
+
<strong>Labeled via <code>aria-label</code> and <code>title</code>:</strong>
|
|
105
|
+
<button
|
|
106
|
+
class="btu-button-primary btu-button-sm btu-button"
|
|
107
|
+
aria-label="Favorite this item"
|
|
108
|
+
title="Favorite this item"
|
|
109
|
+
>
|
|
110
|
+
<btu-icon symbol="heart" size="md"></btu-icon>
|
|
111
|
+
</button>
|
|
112
|
+
</div>
|
|
113
|
+
|
|
114
|
+
<div class="flex items-center gap-2">
|
|
115
|
+
<strong>Labeled via accompanying text:</strong>
|
|
116
|
+
<button class="btu-button-primary btu-button-fill-none btu-button-sm btu-button">
|
|
117
|
+
<btu-icon symbol="heart" size="md"></btu-icon>
|
|
118
|
+
<span class="ml-1">Favorite</span>
|
|
119
|
+
</button>
|
|
120
|
+
</div>
|
|
121
|
+
</div>`,parameters:{docs:{description:{story:'\n- **Custom sizing** is available via the `--icon-size` CSS property for precise control.\n- You can create **filled icons** by setting the `--icon-fill: currentColor` CSS property. Note that this works best with simple icons like "heart" or "star".\n\n- **RTL language support:** Directional icons can be flipped for right-to-left languages using Tailwind\'s `rtl:-scale-x-100` utility class. This ensures icons like panels, arrows, and navigation elements point in the correct direction.\n\n**Accessibility best practices:**\n- If an icon conveys information and there is no visible text to accompany it (e.g., a delete button with only a trash can icon), add an `aria-label` attribute to the component to help users using screen readers understand its purpose.\n- If an icon is purely decorative (e.g. a sparkle icon, accompanying text that already conveys meaning), add `aria-hidden="true"` to the icon to hide it from screen readers.\n- You may consider adding a tooltip (via `title` attribute) to icon buttons for better discoverability.'}}}},c={render:()=>s`<div class="flex flex-col gap-8">
|
|
122
|
+
<div>
|
|
123
|
+
<div class="mb-2 text-sm font-semibold">Colors (via Tailwind text-* classes)</div>
|
|
124
|
+
<div class="flex items-center gap-6">
|
|
125
|
+
${[{symbol:"search",colorClass:"text-primary-600",label:"primary"},{symbol:"alert-circle",colorClass:"text-error-600",label:"error"},{symbol:"check-circle",colorClass:"text-success-600",label:"success"},{symbol:"settings",colorClass:"text-gray-500",label:"gray"},{symbol:"globe",colorClass:"text-teal-600",label:"teal"},{symbol:"alert-triangle",colorClass:"text-warning-600",label:"warning"}].map(({symbol:t,colorClass:m,label:p})=>s`
|
|
126
|
+
<div class="flex flex-col items-center gap-2">
|
|
127
|
+
<btu-icon symbol="${t}" size="lg" emphasize class="${m}"></btu-icon>
|
|
128
|
+
<span class="text-xs font-bold">${p}</span>
|
|
129
|
+
</div>
|
|
130
|
+
`)}
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
<div>
|
|
134
|
+
<div class="mb-2 text-sm font-semibold">Sizes (default primary)</div>
|
|
135
|
+
<div class="flex items-center gap-6">
|
|
136
|
+
${b.map(t=>s`
|
|
137
|
+
<div class="flex flex-col items-center gap-2">
|
|
138
|
+
<btu-icon symbol="heart" size="${t}" emphasize></btu-icon>
|
|
139
|
+
<span class="text-xs font-bold">${t}</span>
|
|
140
|
+
</div>
|
|
141
|
+
`)}
|
|
142
|
+
</div>
|
|
143
|
+
</div>
|
|
144
|
+
<div>
|
|
145
|
+
<div class="mb-2 text-sm font-semibold">Custom color via inline style</div>
|
|
146
|
+
<div class="flex items-center gap-6">
|
|
147
|
+
<btu-icon symbol="palette" size="lg" emphasize style="color: oklch(0.6 0.2 330)"></btu-icon>
|
|
148
|
+
<btu-icon symbol="flame" size="lg" emphasize style="color: oklch(0.65 0.25 30)"></btu-icon>
|
|
149
|
+
<btu-icon symbol="leaf" size="lg" emphasize style="color: oklch(0.55 0.2 145)"></btu-icon>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
</div>`,parameters:{docs:{description:{story:'The `emphasize` attribute renders a tonal circle with ring behind the icon. Colors are derived from `currentColor` via `oklch(from ...)` relative color syntax — set icon color with Tailwind `text-*` classes or inline `style="color: ..."`. Defaults to primary when no color is set. Dark mode and high-contrast mode adapt automatically via different oklch derivation parameters.\n\n**Note:** `emphasize` cannot be combined with `gradient` — they target conflicting rendering modes. When both are set, `gradient` takes precedence and `emphasize` is ignored.'}}}},d={render:()=>s`<div class="flex flex-col gap-8">
|
|
153
|
+
<div>
|
|
154
|
+
<div class="mb-2 text-sm font-semibold">Pulse animation (one-shot ring spring)</div>
|
|
155
|
+
<div class="flex items-center gap-6">
|
|
156
|
+
${[{symbol:"bell",colorClass:"text-primary-600",label:"notification"},{symbol:"alert-circle",colorClass:"text-error-600",label:"alert"},{symbol:"check-circle",colorClass:"text-success-600",label:"confirmed"}].map(({symbol:t,colorClass:m,label:p})=>s`
|
|
157
|
+
<div class="flex flex-col items-center gap-2">
|
|
158
|
+
<btu-icon symbol="${t}" size="lg" emphasize="pulse" class="${m}"></btu-icon>
|
|
159
|
+
<span class="text-xs font-bold">${p}</span>
|
|
160
|
+
</div>
|
|
161
|
+
`)}
|
|
162
|
+
</div>
|
|
163
|
+
</div>
|
|
164
|
+
<div>
|
|
165
|
+
<div class="mb-2 text-sm font-semibold">Pulse across sizes</div>
|
|
166
|
+
<div class="flex items-center gap-6">
|
|
167
|
+
${b.map(t=>s`
|
|
168
|
+
<div class="flex flex-col items-center gap-2">
|
|
169
|
+
<btu-icon symbol="heart" size="${t}" emphasize="pulse"></btu-icon>
|
|
170
|
+
<span class="text-xs font-bold">${t}</span>
|
|
171
|
+
</div>
|
|
172
|
+
`)}
|
|
173
|
+
</div>
|
|
174
|
+
</div>
|
|
175
|
+
</div>`,parameters:{docs:{description:{story:'Setting `emphasize="pulse"` adds a one-shot ring animation via a pseudo-element that scales outward and fades. The ring starts at the circle boundary and expands with ease-out timing. Respects `prefers-reduced-motion` (degrades to 0.01ms duration). Replays whenever the attribute is set to "pulse".\n\n**Note:** `emphasize` cannot be combined with `gradient` — they target conflicting rendering modes. When both are set, `gradient` takes precedence and `emphasize` is ignored.'}}}};n.parameters={...n.parameters,docs:{...n.parameters?.docs,source:{originalSource:`{
|
|
176
|
+
args: {}
|
|
177
|
+
}`,...n.parameters?.docs?.source}}};o.parameters={...o.parameters,docs:{...o.parameters?.docs,source:{originalSource:`{
|
|
178
|
+
render: () => html\`<div class="flex items-center gap-4">
|
|
179
|
+
<btu-icon symbol="heart" size="xs"></btu-icon>
|
|
180
|
+
<btu-icon symbol="heart" size="sm"></btu-icon>
|
|
181
|
+
<btu-icon symbol="heart" size="md"></btu-icon>
|
|
182
|
+
<btu-icon symbol="heart" size="lg"></btu-icon>
|
|
183
|
+
<btu-icon symbol="heart" size="xl"></btu-icon>
|
|
184
|
+
</div>\`,
|
|
185
|
+
parameters: {
|
|
186
|
+
docs: {
|
|
187
|
+
description: {
|
|
188
|
+
story: \`Icons come in five preset sizes: xs, sm, md, lg, and xl. Choose the size that best fits your design context.\`
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}`,...o.parameters?.docs?.source}}};a.parameters={...a.parameters,docs:{...a.parameters?.docs,source:{originalSource:`{
|
|
193
|
+
render: () => html\`<div class="flex items-center gap-6">
|
|
194
|
+
\${[1, 1.5, 2, 2.5, 3].map(w => html\`<div class="flex flex-col items-center gap-2">
|
|
195
|
+
<btu-icon symbol="heart" size="xl" style="--icon-stroke-width: \${w}"></btu-icon>
|
|
196
|
+
<span class="text-xs font-bold">\${w}</span>
|
|
197
|
+
</div>\`)}
|
|
198
|
+
</div>\`,
|
|
199
|
+
parameters: {
|
|
200
|
+
docs: {
|
|
201
|
+
description: {
|
|
202
|
+
story: \`Control stroke thickness via the \\\`--icon-stroke-width\\\` CSS custom property. The value is a unitless number in SVG viewBox units (the icons use a 24\\u00d724 coordinate system). Because the stroke is defined in viewBox units, it scales proportionally with the icon — a stroke-width of 2 will appear visually thicker on a larger icon. Note: this property does not affect gradient icons, which use a static mask image where stroke-width is baked in.\`
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}`,...a.parameters?.docs?.source}}};l.parameters={...l.parameters,docs:{...l.parameters?.docs,source:{originalSource:`{
|
|
207
|
+
render: () => html\`<div class="flex flex-wrap items-center justify-between gap-4 px-4">
|
|
208
|
+
<div class="flex flex-col items-center gap-2">
|
|
209
|
+
<btu-icon symbol="zap" size="xl" gradient="primary"></btu-icon>
|
|
210
|
+
<span class="text-xs font-bold">primary</span>
|
|
211
|
+
</div>
|
|
212
|
+
<div class="flex flex-col items-center gap-2">
|
|
213
|
+
<btu-icon symbol="check-circle" size="xl" gradient="success"></btu-icon>
|
|
214
|
+
<span class="text-xs font-bold">success</span>
|
|
215
|
+
</div>
|
|
216
|
+
<div class="flex flex-col items-center gap-2">
|
|
217
|
+
<btu-icon symbol="trash-2" size="xl" gradient="error"></btu-icon>
|
|
218
|
+
<span class="text-xs font-bold">error</span>
|
|
219
|
+
</div>
|
|
220
|
+
<div class="flex flex-col items-center gap-2">
|
|
221
|
+
<btu-icon symbol="alert-triangle" size="xl" gradient="warning"></btu-icon>
|
|
222
|
+
<span class="text-xs font-bold">warning</span>
|
|
223
|
+
</div>
|
|
224
|
+
<div class="flex flex-col items-center gap-2">
|
|
225
|
+
<btu-icon symbol="sparkles" size="xl" gradient="ai"></btu-icon>
|
|
226
|
+
<span class="text-xs font-bold">ai</span>
|
|
227
|
+
</div>
|
|
228
|
+
<div class="flex flex-col items-center gap-2">
|
|
229
|
+
<btu-icon symbol="info" size="xl" gradient="purple"></btu-icon>
|
|
230
|
+
<span class="text-xs font-bold">purple</span>
|
|
231
|
+
</div>
|
|
232
|
+
<div class="flex flex-col items-center gap-2">
|
|
233
|
+
<btu-icon symbol="book" size="xl" gradient="teal"></btu-icon>
|
|
234
|
+
<span class="text-xs font-bold">teal</span>
|
|
235
|
+
</div>
|
|
236
|
+
<div class="flex flex-col items-center gap-2">
|
|
237
|
+
<btu-icon symbol="flower" size="xl" gradient="rose"></btu-icon>
|
|
238
|
+
<span class="text-xs font-bold">rose</span>
|
|
239
|
+
</div>
|
|
240
|
+
</div>\`,
|
|
241
|
+
parameters: {
|
|
242
|
+
docs: {
|
|
243
|
+
description: {
|
|
244
|
+
story: \`Icons support gradient fills using the following theme colors. Set the \\\`gradient\\\` attribute to one of the theme colors and watch the icon's color come to life! Note that gradient icons use mask-based rendering for smooth color transitions.\`
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}`,...l.parameters?.docs?.source}}};r.parameters={...r.parameters,docs:{...r.parameters?.docs,source:{originalSource:`{
|
|
249
|
+
render: () => html\`<div class="flex flex-col gap-6">
|
|
250
|
+
<div class="flex items-center gap-2">
|
|
251
|
+
<strong>Custom sizing:</strong>
|
|
252
|
+
<btu-icon symbol="trophy" size="md" style="--icon-size: 4rem" class="text-warning-500"></btu-icon>
|
|
253
|
+
</div>
|
|
254
|
+
|
|
255
|
+
<div class="flex items-center gap-2">
|
|
256
|
+
<strong>Filled icons:</strong>
|
|
257
|
+
<div class="flex items-center gap-3">
|
|
258
|
+
<btu-icon symbol="star" size="xl" class="text-warning-500" style="--icon-fill: currentColor"></btu-icon>
|
|
259
|
+
<btu-icon symbol="heart" size="xl" class="text-error-600" style="--icon-fill: currentColor"></btu-icon>
|
|
260
|
+
</div>
|
|
261
|
+
</div>
|
|
262
|
+
|
|
263
|
+
<div class="flex flex-col gap-3">
|
|
264
|
+
<strong>RTL language support:</strong>
|
|
265
|
+
<div class="flex flex-col gap-3 rounded-lg border border-gray-200 bg-gray-50 p-4 text-gray-900">
|
|
266
|
+
<div class="flex items-center gap-2">
|
|
267
|
+
<span class="text-sm">Open panel</span>
|
|
268
|
+
<btu-icon symbol="panel-right-close" size="md"></btu-icon>
|
|
269
|
+
</div>
|
|
270
|
+
<div class="flex items-center gap-2" dir="rtl">
|
|
271
|
+
<span class="text-sm">افتح اللوحة</span>
|
|
272
|
+
<btu-icon symbol="panel-right-close" size="md" class="rtl:-scale-x-100"></btu-icon>
|
|
273
|
+
</div>
|
|
274
|
+
</div>
|
|
275
|
+
</div>
|
|
276
|
+
|
|
277
|
+
<div class="flex items-center gap-2">
|
|
278
|
+
<strong>Unlabeled icon button (A11y concern!):</strong>
|
|
279
|
+
<button class="btu-button-error btu-button-fill-none btu-button-sm btu-button">
|
|
280
|
+
<btu-icon symbol="trash-2" size="md" class="text-gray-900"></btu-icon>
|
|
281
|
+
</button>
|
|
282
|
+
</div>
|
|
283
|
+
|
|
284
|
+
<div class="flex items-center gap-2">
|
|
285
|
+
<strong>Labeled via <code>aria-label</code> and <code>title</code>:</strong>
|
|
286
|
+
<button
|
|
287
|
+
class="btu-button-primary btu-button-sm btu-button"
|
|
288
|
+
aria-label="Favorite this item"
|
|
289
|
+
title="Favorite this item"
|
|
290
|
+
>
|
|
291
|
+
<btu-icon symbol="heart" size="md"></btu-icon>
|
|
292
|
+
</button>
|
|
293
|
+
</div>
|
|
294
|
+
|
|
295
|
+
<div class="flex items-center gap-2">
|
|
296
|
+
<strong>Labeled via accompanying text:</strong>
|
|
297
|
+
<button class="btu-button-primary btu-button-fill-none btu-button-sm btu-button">
|
|
298
|
+
<btu-icon symbol="heart" size="md"></btu-icon>
|
|
299
|
+
<span class="ml-1">Favorite</span>
|
|
300
|
+
</button>
|
|
301
|
+
</div>
|
|
302
|
+
</div>\`,
|
|
303
|
+
parameters: {
|
|
304
|
+
docs: {
|
|
305
|
+
description: {
|
|
306
|
+
story: \`
|
|
307
|
+
- **Custom sizing** is available via the \\\`--icon-size\\\` CSS property for precise control.
|
|
308
|
+
- You can create **filled icons** by setting the \\\`--icon-fill: currentColor\\\` CSS property. Note that this works best with simple icons like "heart" or "star".
|
|
309
|
+
|
|
310
|
+
- **RTL language support:** Directional icons can be flipped for right-to-left languages using Tailwind's \\\`rtl:-scale-x-100\\\` utility class. This ensures icons like panels, arrows, and navigation elements point in the correct direction.
|
|
311
|
+
|
|
312
|
+
**Accessibility best practices:**
|
|
313
|
+
- If an icon conveys information and there is no visible text to accompany it (e.g., a delete button with only a trash can icon), add an \\\`aria-label\\\` attribute to the component to help users using screen readers understand its purpose.
|
|
314
|
+
- If an icon is purely decorative (e.g. a sparkle icon, accompanying text that already conveys meaning), add \\\`aria-hidden="true"\\\` to the icon to hide it from screen readers.
|
|
315
|
+
- You may consider adding a tooltip (via \\\`title\\\` attribute) to icon buttons for better discoverability.\`
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}`,...r.parameters?.docs?.source}}};c.parameters={...c.parameters,docs:{...c.parameters?.docs,source:{originalSource:`{
|
|
320
|
+
render: () => {
|
|
321
|
+
const colors = [{
|
|
322
|
+
symbol: 'search',
|
|
323
|
+
colorClass: 'text-primary-600',
|
|
324
|
+
label: 'primary'
|
|
325
|
+
}, {
|
|
326
|
+
symbol: 'alert-circle',
|
|
327
|
+
colorClass: 'text-error-600',
|
|
328
|
+
label: 'error'
|
|
329
|
+
}, {
|
|
330
|
+
symbol: 'check-circle',
|
|
331
|
+
colorClass: 'text-success-600',
|
|
332
|
+
label: 'success'
|
|
333
|
+
}, {
|
|
334
|
+
symbol: 'settings',
|
|
335
|
+
colorClass: 'text-gray-500',
|
|
336
|
+
label: 'gray'
|
|
337
|
+
}, {
|
|
338
|
+
symbol: 'globe',
|
|
339
|
+
colorClass: 'text-teal-600',
|
|
340
|
+
label: 'teal'
|
|
341
|
+
}, {
|
|
342
|
+
symbol: 'alert-triangle',
|
|
343
|
+
colorClass: 'text-warning-600',
|
|
344
|
+
label: 'warning'
|
|
345
|
+
}] as const;
|
|
346
|
+
return html\`<div class="flex flex-col gap-8">
|
|
347
|
+
<div>
|
|
348
|
+
<div class="mb-2 text-sm font-semibold">Colors (via Tailwind text-* classes)</div>
|
|
349
|
+
<div class="flex items-center gap-6">
|
|
350
|
+
\${colors.map(({
|
|
351
|
+
symbol,
|
|
352
|
+
colorClass,
|
|
353
|
+
label
|
|
354
|
+
}) => html\`
|
|
355
|
+
<div class="flex flex-col items-center gap-2">
|
|
356
|
+
<btu-icon symbol="\${symbol}" size="lg" emphasize class="\${colorClass}"></btu-icon>
|
|
357
|
+
<span class="text-xs font-bold">\${label}</span>
|
|
358
|
+
</div>
|
|
359
|
+
\`)}
|
|
360
|
+
</div>
|
|
361
|
+
</div>
|
|
362
|
+
<div>
|
|
363
|
+
<div class="mb-2 text-sm font-semibold">Sizes (default primary)</div>
|
|
364
|
+
<div class="flex items-center gap-6">
|
|
365
|
+
\${sizeOptions.map(size => html\`
|
|
366
|
+
<div class="flex flex-col items-center gap-2">
|
|
367
|
+
<btu-icon symbol="heart" size="\${size}" emphasize></btu-icon>
|
|
368
|
+
<span class="text-xs font-bold">\${size}</span>
|
|
369
|
+
</div>
|
|
370
|
+
\`)}
|
|
371
|
+
</div>
|
|
372
|
+
</div>
|
|
373
|
+
<div>
|
|
374
|
+
<div class="mb-2 text-sm font-semibold">Custom color via inline style</div>
|
|
375
|
+
<div class="flex items-center gap-6">
|
|
376
|
+
<btu-icon symbol="palette" size="lg" emphasize style="color: oklch(0.6 0.2 330)"></btu-icon>
|
|
377
|
+
<btu-icon symbol="flame" size="lg" emphasize style="color: oklch(0.65 0.25 30)"></btu-icon>
|
|
378
|
+
<btu-icon symbol="leaf" size="lg" emphasize style="color: oklch(0.55 0.2 145)"></btu-icon>
|
|
379
|
+
</div>
|
|
380
|
+
</div>
|
|
381
|
+
</div>\`;
|
|
382
|
+
},
|
|
383
|
+
parameters: {
|
|
384
|
+
docs: {
|
|
385
|
+
description: {
|
|
386
|
+
story: 'The \`emphasize\` attribute renders a tonal circle with ring behind the icon. Colors are derived from \`currentColor\` via \`oklch(from ...)\` relative color syntax — set icon color with Tailwind \`text-*\` classes or inline \`style="color: ..."\`. Defaults to primary when no color is set. Dark mode and high-contrast mode adapt automatically via different oklch derivation parameters.\\n\\n**Note:** \`emphasize\` cannot be combined with \`gradient\` — they target conflicting rendering modes. When both are set, \`gradient\` takes precedence and \`emphasize\` is ignored.'
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}`,...c.parameters?.docs?.source}}};d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
|
|
391
|
+
render: () => {
|
|
392
|
+
const colors = [{
|
|
393
|
+
symbol: 'bell',
|
|
394
|
+
colorClass: 'text-primary-600',
|
|
395
|
+
label: 'notification'
|
|
396
|
+
}, {
|
|
397
|
+
symbol: 'alert-circle',
|
|
398
|
+
colorClass: 'text-error-600',
|
|
399
|
+
label: 'alert'
|
|
400
|
+
}, {
|
|
401
|
+
symbol: 'check-circle',
|
|
402
|
+
colorClass: 'text-success-600',
|
|
403
|
+
label: 'confirmed'
|
|
404
|
+
}] as const;
|
|
405
|
+
return html\`<div class="flex flex-col gap-8">
|
|
406
|
+
<div>
|
|
407
|
+
<div class="mb-2 text-sm font-semibold">Pulse animation (one-shot ring spring)</div>
|
|
408
|
+
<div class="flex items-center gap-6">
|
|
409
|
+
\${colors.map(({
|
|
410
|
+
symbol,
|
|
411
|
+
colorClass,
|
|
412
|
+
label
|
|
413
|
+
}) => html\`
|
|
414
|
+
<div class="flex flex-col items-center gap-2">
|
|
415
|
+
<btu-icon symbol="\${symbol}" size="lg" emphasize="pulse" class="\${colorClass}"></btu-icon>
|
|
416
|
+
<span class="text-xs font-bold">\${label}</span>
|
|
417
|
+
</div>
|
|
418
|
+
\`)}
|
|
419
|
+
</div>
|
|
420
|
+
</div>
|
|
421
|
+
<div>
|
|
422
|
+
<div class="mb-2 text-sm font-semibold">Pulse across sizes</div>
|
|
423
|
+
<div class="flex items-center gap-6">
|
|
424
|
+
\${sizeOptions.map(size => html\`
|
|
425
|
+
<div class="flex flex-col items-center gap-2">
|
|
426
|
+
<btu-icon symbol="heart" size="\${size}" emphasize="pulse"></btu-icon>
|
|
427
|
+
<span class="text-xs font-bold">\${size}</span>
|
|
428
|
+
</div>
|
|
429
|
+
\`)}
|
|
430
|
+
</div>
|
|
431
|
+
</div>
|
|
432
|
+
</div>\`;
|
|
433
|
+
},
|
|
434
|
+
parameters: {
|
|
435
|
+
docs: {
|
|
436
|
+
description: {
|
|
437
|
+
story: 'Setting \`emphasize="pulse"\` adds a one-shot ring animation via a pseudo-element that scales outward and fades. The ring starts at the circle boundary and expands with ease-out timing. Respects \`prefers-reduced-motion\` (degrades to 0.01ms duration). Replays whenever the attribute is set to "pulse".\\n\\n**Note:** \`emphasize\` cannot be combined with \`gradient\` — they target conflicting rendering modes. When both are set, \`gradient\` takes precedence and \`emphasize\` is ignored.'
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
}`,...d.parameters?.docs?.source}}};const S=["Default","Sizes","StrokeWidths","GradientIcons","AdvancedUsage","Emphasize","EmphasizePulse"];export{r as AdvancedUsage,n as Default,c as Emphasize,d as EmphasizePulse,l as GradientIcons,o as Sizes,a as StrokeWidths,S as __namedExportsOrder,C as default};
|