@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
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{g as D,E as h,x as T}from"./iframe-
|
|
1
|
+
import{g as D,E as h,x as T}from"./iframe-Sf9RHZFu.js";import{o as A}from"./style-map-B99QiqCo.js";import"./preload-helper-PPVm8Dsz.js";const{events:V,args:k,argTypes:g}=D("btu-linear-progress"),W={title:"Components/Linear Progress",component:"btu-linear-progress",tags:["autodocs"],parameters:{docs:{subtitle:"A horizontal progress bar for showing task completion",description:{component:`
|
|
2
2
|
<h3>When to use:</h3>
|
|
3
3
|
<ul>
|
|
4
4
|
<li>To show progress of a specific task with known completion percentage</li>
|
|
5
5
|
<li>For file uploads, downloads, or processing steps</li>
|
|
6
6
|
<li>When progress needs to be communicated numerically</li>
|
|
7
7
|
</ul>
|
|
8
|
-
`}},actions:{handles:V},controls:{expanded:!0}},args:{...
|
|
8
|
+
`}},actions:{handles:V},controls:{expanded:!0}},args:{...k,color:"primary",thickness:8,progress:0,"initial-animation":!0},argTypes:{...g,"--progress-color":{table:{disable:!0}},"--track-color":{table:{disable:!0}},size:{table:{disable:!0}},customSize:{table:{disable:!0}},color:{...g.color,control:{type:"select"},options:["black","white","primary","teal","gray","purple","rose","error","warning","success"],description:"Theme color of the progress bar.",table:{category:"Attributes",defaultValue:{summary:"primary"}}},thickness:{...g.thickness,control:{type:"number",min:1,max:10},description:"Height of the progress bar.",table:{category:"Attributes",defaultValue:{summary:"8"}}},progress:{...g.progress,control:{type:"range",min:0,max:100,step:1},description:"Progress value between 0 and 100.",table:{category:"Attributes",defaultValue:{summary:"0"}}},label:{...g.label,control:{type:"text"},description:"Optional label text to display to the right of the progress bar.",table:{category:"Attributes",defaultValue:{summary:"undefined"}}},"initial-animation":{...g["initial-animation"],control:{type:"boolean"},description:"Whether to animate progress from 0 to target value when component first becomes visible in viewport. Defaults to true.",table:{category:"Attributes",defaultValue:{summary:"true"}}},ariaLabel:{...g.ariaLabel,control:{type:"text"},description:'Optional aria-label attribute for screen readers. Describes what the progress indicator represents (e.g., "File upload progress").',table:{category:"Attributes",defaultValue:{summary:"undefined"}}},ariaLabelledBy:{...g.ariaLabelledBy,control:{type:"text"},description:"Optional aria-labelledby attribute for screen readers. References the ID of an element that labels the progress indicator.",table:{category:"Attributes",defaultValue:{summary:"undefined"}}},ariaValueText:{...g.ariaValueText,control:{type:"text"},description:"Optional aria-valuetext attribute for screen readers. Provides human-readable text alternative for the progress value.",table:{category:"Attributes",defaultValue:{summary:"undefined"}}},completionAnnouncement:{...g.completionAnnouncement,control:{type:"text"},description:"Optional message to announce to screen readers when progress reaches 100%. If not provided, no announcement will be made on completion.",table:{category:"Attributes",defaultValue:{summary:"undefined"}}},customColor:{name:"--progress-color",control:{type:"color"},description:"Custom progress bar color - overrides the theme color",table:{category:"css properties"}},customTrackColor:{name:"--track-color",control:{type:"color"},description:"Custom track/background color - overrides default gray-100",table:{category:"css properties"}}},render:e=>{const t={};return e.customColor&&(t["--progress-color"]=e.customColor),e.customTrackColor&&(t["--track-color"]=e.customTrackColor),T`<btu-linear-progress
|
|
9
9
|
color="${e.color}"
|
|
10
10
|
thickness="${e.thickness}"
|
|
11
11
|
progress="${e.progress}"
|
|
@@ -26,7 +26,7 @@ Animated progress bars.
|
|
|
26
26
|
|
|
27
27
|
Top: continuous percentage increments.
|
|
28
28
|
|
|
29
|
-
Bottom: step-based progress with 20% increments every 3 seconds and \`aria-valuetext\` for accessibility (e.g., "3 of 5 files uploaded").`}}}},y={render:()=>{let e;const t=()=>{const n=document.createElement("div"),o=document.createElement("div");o.className="flex flex-col mb-4 items-center";const s=document.createElement("h3");s.className="text-lg font-semibold mb-2",s.textContent="Scroll within the container to see progress bars animate in";const r=document.createElement("button");r.textContent="Reset",r.className="px-4 py-2 bg-primary-500 text-white rounded hover:bg-primary-600",r.onclick=()=>{e.innerHTML="",e.appendChild(t())},o.appendChild(s),o.appendChild(r),n.appendChild(o);const l=document.createElement("div");l.style.height="150px",l.style.overflowY="auto",l.style.border="1px solid #e5e7eb",l.style.borderRadius="4px",l.style.padding="1rem";const a=document.createElement("div");a.className="flex flex-col gap-8",a.style.minHeight="150vh";const i=document.createElement("btu-linear-progress");i.progress=30,i.color="primary",i.label="30%",a.appendChild(i);const p=document.createElement("div");p.style.marginTop="30vh";const d=document.createElement("btu-linear-progress");d.progress=50,d.color="teal",d.label="50%",p.appendChild(d),a.appendChild(p);const b=document.createElement("div");b.style.marginTop="30vh";const m=document.createElement("btu-linear-progress");m.progress=75,m.color="purple",m.label="75%",b.appendChild(m),a.appendChild(b);const u=document.createElement("div");u.style.marginTop="30vh";const c=document.createElement("btu-linear-progress");return c.progress=100,c.color="success",c.label="100%",u.appendChild(c),a.appendChild(u),l.appendChild(a),n.appendChild(l),n};return e=t(),e},parameters:{docs:{description:{story:'Demonstrates the viewport animation - progress bars animate from 0 to their target value when they become visible. Scroll within the container to see each progress bar animate in. Click "Reset" to restart.'}}}},C={render:()=>{const e=document.createElement("div");e.className="flex flex-col items-start gap-4";let t=0;const n=document.createElement("btu-linear-progress");n.progress=0,n.color="primary",n.label="0%";const o=document.createElement("div");o.className="text-sm text-gray-600",o.textContent="Status: In Progress...";const s=document.createElement("div");s.className="text-xs text-gray-500 mt-2",s.textContent="Event Log: (waiting for completion)",n.addEventListener("btu-progress-complete",()=>{o.textContent="Status: Complete! ✓",o.className="text-sm text-green-600 font-semibold",s.textContent=`Event Log: btu-progress-complete fired at ${new Date().toLocaleTimeString()}`,s.className="text-xs text-green-600 mt-2"});let r=!1;const l=setInterval(()=>{r||(t=t+1,n.progress=t,n.label=`${t}%`,t<100&&(o.textContent="Status: In Progress...",o.className="text-sm text-gray-600"),t===100&&(r=!0,setTimeout(()=>{t=0,r=!1},3e3)))},50),a=new MutationObserver(i=>{i.forEach(p=>{p.removedNodes.forEach(d=>{(d===e||d.contains(e))&&(clearInterval(l),a.disconnect())})})});return setTimeout(()=>{e.parentNode&&a.observe(e.parentNode,{childList:!0})},0),e.appendChild(n),e.appendChild(o),e.appendChild(s),e},parameters:{docs:{description:{story:"Demonstrates the btu-progress-complete event that fires when progress reaches 100%. The event fires each time progress completes a cycle."}}}},E={render:()=>{const e=document.createElement("div");e.className="flex flex-col gap-8";const t=document.createElement("div");t.className="flex flex-col gap-2";const n=document.createElement("h4");n.className="text-sm font-semibold text-gray-900",n.textContent="Progress bar with aria-label";const o=document.createElement("p");o.className="text-xs text-gray-600 mb-2",o.textContent='Screen readers announce: "Page loading progress"';const s=document.createElement("btu-linear-progress");s.progress=40,s.color="primary",s.ariaLabel="Page loading progress",t.appendChild(n),t.appendChild(o),t.appendChild(s);const r=document.createElement("div");r.className="flex flex-col gap-2";const l=document.createElement("h4");l.className="text-sm font-semibold text-gray-900",l.textContent="With custom aria-valuetext";const a=document.createElement("p");a.className="text-xs text-gray-600 mb-2",a.textContent='Screen readers announce: "File upload progress, 3 of 5 files uploaded"';const i=document.createElement("btu-linear-progress");i.progress=60,i.color="teal",i.label="3/5 files",i.ariaLabel="File upload progress",i.ariaValueText="3 of 5 files uploaded",r.appendChild(l),r.appendChild(a),r.appendChild(i);const p=document.createElement("div");p.className="flex flex-col gap-2";const d=document.createElement("h4");d.className="text-sm font-semibold text-gray-900",d.textContent="With completion announcement";const b=document.createElement("p");b.className="text-xs text-gray-600 mb-2",b.textContent='Screen readers auto-announce when complete: "Installation complete!"';const m=document.createElement("div");m.className="text-xs text-gray-500 mt-2",m.textContent="Announcement status: (waiting...)";let u=0;const c=document.createElement("btu-linear-progress");c.progress=0,c.color="success",c.label="0%",c.ariaLabel="Installation progress",c.completionAnnouncement="Installation complete!",c.addEventListener("btu-progress-complete",()=>{m.textContent='Announcement status: "Installation complete!" announced at '+new Date().toLocaleTimeString(),m.className="text-xs text-green-600 mt-2"});const w=setInterval(()=>{u<100?(u+=2,c.progress=u,c.label=`${u}%`,c.ariaValueText=`${u} percent complete`):clearInterval(w)},100);p.appendChild(d),p.appendChild(b),p.appendChild(c),p.appendChild(m);const N=new MutationObserver(
|
|
29
|
+
Bottom: step-based progress with 20% increments every 3 seconds and \`aria-valuetext\` for accessibility (e.g., "3 of 5 files uploaded").`}}}},y={render:()=>{let e;const t=()=>{const n=document.createElement("div"),o=document.createElement("div");o.className="flex flex-col mb-4 items-center";const s=document.createElement("h3");s.className="text-lg font-semibold mb-2",s.textContent="Scroll within the container to see progress bars animate in";const r=document.createElement("button");r.textContent="Reset",r.className="px-4 py-2 bg-primary-500 text-white rounded hover:bg-primary-600",r.onclick=()=>{e.innerHTML="",e.appendChild(t())},o.appendChild(s),o.appendChild(r),n.appendChild(o);const l=document.createElement("div");l.style.height="150px",l.style.overflowY="auto",l.style.border="1px solid #e5e7eb",l.style.borderRadius="4px",l.style.padding="1rem";const a=document.createElement("div");a.className="flex flex-col gap-8",a.style.minHeight="150vh";const i=document.createElement("btu-linear-progress");i.progress=30,i.color="primary",i.label="30%",a.appendChild(i);const p=document.createElement("div");p.style.marginTop="30vh";const d=document.createElement("btu-linear-progress");d.progress=50,d.color="teal",d.label="50%",p.appendChild(d),a.appendChild(p);const b=document.createElement("div");b.style.marginTop="30vh";const m=document.createElement("btu-linear-progress");m.progress=75,m.color="purple",m.label="75%",b.appendChild(m),a.appendChild(b);const u=document.createElement("div");u.style.marginTop="30vh";const c=document.createElement("btu-linear-progress");return c.progress=100,c.color="success",c.label="100%",u.appendChild(c),a.appendChild(u),l.appendChild(a),n.appendChild(l),n};return e=t(),e},parameters:{docs:{description:{story:'Demonstrates the viewport animation - progress bars animate from 0 to their target value when they become visible. Scroll within the container to see each progress bar animate in. Click "Reset" to restart.'}}}},C={render:()=>{const e=document.createElement("div");e.className="flex flex-col items-start gap-4";let t=0;const n=document.createElement("btu-linear-progress");n.progress=0,n.color="primary",n.label="0%";const o=document.createElement("div");o.className="text-sm text-gray-600",o.textContent="Status: In Progress...";const s=document.createElement("div");s.className="text-xs text-gray-500 mt-2",s.textContent="Event Log: (waiting for completion)",n.addEventListener("btu-linear-progress-complete",()=>{o.textContent="Status: Complete! ✓",o.className="text-sm text-green-600 font-semibold",s.textContent=`Event Log: btu-linear-progress-complete fired at ${new Date().toLocaleTimeString()}`,s.className="text-xs text-green-600 mt-2"});let r=!1;const l=setInterval(()=>{r||(t=t+1,n.progress=t,n.label=`${t}%`,t<100&&(o.textContent="Status: In Progress...",o.className="text-sm text-gray-600"),t===100&&(r=!0,setTimeout(()=>{t=0,r=!1},3e3)))},50),a=new MutationObserver(i=>{i.forEach(p=>{p.removedNodes.forEach(d=>{(d===e||d.contains(e))&&(clearInterval(l),a.disconnect())})})});return setTimeout(()=>{e.parentNode&&a.observe(e.parentNode,{childList:!0})},0),e.appendChild(n),e.appendChild(o),e.appendChild(s),e},parameters:{docs:{description:{story:"Demonstrates the btu-linear-progress-complete event that fires when progress reaches 100%. The event fires each time progress completes a cycle."}}}},E={render:()=>{const e=document.createElement("div");e.className="flex flex-col gap-8";const t=document.createElement("div");t.className="flex flex-col gap-2";const n=document.createElement("h4");n.className="text-sm font-semibold text-gray-900",n.textContent="Progress bar with aria-label";const o=document.createElement("p");o.className="text-xs text-gray-600 mb-2",o.textContent='Screen readers announce: "Page loading progress"';const s=document.createElement("btu-linear-progress");s.progress=40,s.color="primary",s.ariaLabel="Page loading progress",t.appendChild(n),t.appendChild(o),t.appendChild(s);const r=document.createElement("div");r.className="flex flex-col gap-2";const l=document.createElement("h4");l.className="text-sm font-semibold text-gray-900",l.textContent="With custom aria-valuetext";const a=document.createElement("p");a.className="text-xs text-gray-600 mb-2",a.textContent='Screen readers announce: "File upload progress, 3 of 5 files uploaded"';const i=document.createElement("btu-linear-progress");i.progress=60,i.color="teal",i.label="3/5 files",i.ariaLabel="File upload progress",i.ariaValueText="3 of 5 files uploaded",r.appendChild(l),r.appendChild(a),r.appendChild(i);const p=document.createElement("div");p.className="flex flex-col gap-2";const d=document.createElement("h4");d.className="text-sm font-semibold text-gray-900",d.textContent="With completion announcement";const b=document.createElement("p");b.className="text-xs text-gray-600 mb-2",b.textContent='Screen readers auto-announce when complete: "Installation complete!"';const m=document.createElement("div");m.className="text-xs text-gray-500 mt-2",m.textContent="Announcement status: (waiting...)";let u=0;const c=document.createElement("btu-linear-progress");c.progress=0,c.color="success",c.label="0%",c.ariaLabel="Installation progress",c.completionAnnouncement="Installation complete!",c.addEventListener("btu-linear-progress-complete",()=>{m.textContent='Announcement status: "Installation complete!" announced at '+new Date().toLocaleTimeString(),m.className="text-xs text-green-600 mt-2"});const w=setInterval(()=>{u<100?(u+=2,c.progress=u,c.label=`${u}%`,c.ariaValueText=`${u} percent complete`):clearInterval(w)},100);p.appendChild(d),p.appendChild(b),p.appendChild(c),p.appendChild(m);const N=new MutationObserver(I=>{I.forEach(S=>{S.removedNodes.forEach(L=>{(L===e||L.contains(e))&&(clearInterval(w),N.disconnect())})})});return setTimeout(()=>{e.parentNode&&N.observe(e.parentNode,{childList:!0})},0),e.appendChild(t),e.appendChild(r),e.appendChild(p),e},parameters:{docs:{description:{story:`
|
|
30
30
|
Demonstrates accessibility best practices for screen reader users:
|
|
31
31
|
|
|
32
32
|
**1. Basic usage:** Set \`ariaLabel\` to describe what's progressing.
|
|
@@ -222,10 +222,10 @@ Bottom: step-based progress with 20% increments every 3 seconds and \\\`aria-val
|
|
|
222
222
|
const eventLog = document.createElement('div');
|
|
223
223
|
eventLog.className = 'text-xs text-gray-500 mt-2';
|
|
224
224
|
eventLog.textContent = 'Event Log: (waiting for completion)';
|
|
225
|
-
progressEl.addEventListener('btu-progress-complete', () => {
|
|
225
|
+
progressEl.addEventListener('btu-linear-progress-complete', () => {
|
|
226
226
|
statusDiv.textContent = 'Status: Complete! ✓';
|
|
227
227
|
statusDiv.className = 'text-sm text-green-600 font-semibold';
|
|
228
|
-
eventLog.textContent = \`Event Log: btu-progress-complete fired at \${new Date().toLocaleTimeString()}\`;
|
|
228
|
+
eventLog.textContent = \`Event Log: btu-linear-progress-complete fired at \${new Date().toLocaleTimeString()}\`;
|
|
229
229
|
eventLog.className = 'text-xs text-green-600 mt-2';
|
|
230
230
|
});
|
|
231
231
|
let isWaiting = false;
|
|
@@ -273,7 +273,7 @@ Bottom: step-based progress with 20% increments every 3 seconds and \\\`aria-val
|
|
|
273
273
|
parameters: {
|
|
274
274
|
docs: {
|
|
275
275
|
description: {
|
|
276
|
-
story: 'Demonstrates the btu-progress-complete event that fires when progress reaches 100%. The event fires each time progress completes a cycle.'
|
|
276
|
+
story: 'Demonstrates the btu-linear-progress-complete event that fires when progress reaches 100%. The event fires each time progress completes a cycle.'
|
|
277
277
|
}
|
|
278
278
|
}
|
|
279
279
|
}
|
|
@@ -337,7 +337,7 @@ Bottom: step-based progress with 20% increments every 3 seconds and \\\`aria-val
|
|
|
337
337
|
progress3.label = '0%';
|
|
338
338
|
progress3.ariaLabel = 'Installation progress';
|
|
339
339
|
progress3.completionAnnouncement = 'Installation complete!';
|
|
340
|
-
progress3.addEventListener('btu-progress-complete', () => {
|
|
340
|
+
progress3.addEventListener('btu-linear-progress-complete', () => {
|
|
341
341
|
announceLog.textContent = 'Announcement status: "Installation complete!" announced at ' + new Date().toLocaleTimeString();
|
|
342
342
|
announceLog.className = 'text-xs text-green-600 mt-2';
|
|
343
343
|
});
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import{g as m,x as u}from"./iframe-Sf9RHZFu.js";import{o as g}from"./style-map-B99QiqCo.js";import"./preload-helper-PPVm8Dsz.js";const{events:b,args:h,argTypes:y}=m("btu-pagination"),c=e=>{const t={};return e.customBackgroundColor&&(t["--pagination-color-background"]=e.customBackgroundColor),e.customForegroundColor&&(t["--pagination-color-foreground"]=e.customForegroundColor),t},$={title:"Components/Pagination",component:"btu-pagination",tags:["autodocs"],parameters:{docs:{subtitle:"A component for navigating through paged content",description:{component:`
|
|
2
|
+
<h3>When to use:</h3>
|
|
3
|
+
<ul>
|
|
4
|
+
<li>To navigate through large sets of data</li>
|
|
5
|
+
<li>For search results, tables, and lists</li>
|
|
6
|
+
<li>In widgets and calendar views</li>
|
|
7
|
+
</ul>
|
|
8
|
+
|
|
9
|
+
<h3>Variants:</h3>
|
|
10
|
+
<ul>
|
|
11
|
+
<li><strong>Widget</strong> (default): Built-in page size dropdown + total display + navigation</li>
|
|
12
|
+
<li><strong>Search</strong>: With page jumper dropdown (auto-managed by Pagination)</li>
|
|
13
|
+
<li><strong>Widget Small</strong>: Without first/last page buttons</li>
|
|
14
|
+
<li><strong>Calendar</strong>: Custom page-size slot (consumer-managed) + jumper slot</li>
|
|
15
|
+
</ul>
|
|
16
|
+
|
|
17
|
+
<h3>Page size modes:</h3>
|
|
18
|
+
<ul>
|
|
19
|
+
<li><strong>Built-in</strong>: No <code>slot="page-size"</code> — Pagination renders its own <code>btu-dropdown</code> from <code>page-size-options</code> and manages everything automatically.</li>
|
|
20
|
+
<li><strong>Custom</strong>: Provide <code>slot="page-size"</code> — built-in dropdown is suppressed. Consumer owns all behavior (events, label sync, etc.).</li>
|
|
21
|
+
</ul>
|
|
22
|
+
`}},actions:{handles:b},controls:{expanded:!0}},args:{...h,"total-items":200,"boundary-buttons":!0,"hide-on-single-page":!0,"page-size-changer":!0},argTypes:{...y,"--pagination-color-background":{table:{disable:!0}},"--pagination-color-foreground":{table:{disable:!0}},customBackgroundColor:{name:"--pagination-color-background",control:{type:"color"},description:"Custom background color for buttons and dropdowns",table:{category:"css properties"}},customForegroundColor:{name:"--pagination-color-foreground",control:{type:"color"},description:"Custom foreground (text/icon) color",table:{category:"css properties"}}},render:e=>u`
|
|
23
|
+
<btu-pagination
|
|
24
|
+
total-items="${e["total-items"]??200}"
|
|
25
|
+
page="${e.page??1}"
|
|
26
|
+
page-size="${e["page-size"]??0}"
|
|
27
|
+
page-size-options="${e["page-size-options"]??"10, 20, 50"}"
|
|
28
|
+
?disabled="${e.disabled}"
|
|
29
|
+
?loading="${e.loading}"
|
|
30
|
+
.hideOnSinglePage=${e["hide-on-single-page"]??!0}
|
|
31
|
+
.pageSizeChanger=${e["page-size-changer"]??!0}
|
|
32
|
+
.boundaryButtons=${e["boundary-buttons"]??!0}
|
|
33
|
+
.pageJumper=${e["page-jumper"]??!1}
|
|
34
|
+
?hide-total-count=${e["hide-total-count"]}
|
|
35
|
+
style=${g(c(e))}
|
|
36
|
+
></btu-pagination>
|
|
37
|
+
`},a={args:{},parameters:{docs:{description:{story:"Default Widget variant with page size selector, total display, and full navigation controls."}}}},o={args:{"total-items":500,"page-size-options":"10, 25, 50, 100","page-jumper":!0},parameters:{docs:{description:{story:'Search variant with `page-jumper` enabled. The built-in dropdown renders "Page 1" through "Page N" and updates automatically when page size or total items change.'}}}},s={args:{"total-items":100,"boundary-buttons":!1},parameters:{docs:{description:{story:"Compact widget variant without first/last page buttons. Suitable for tight spaces."}}}},i={args:{"total-items":52},render:e=>u`
|
|
38
|
+
<btu-pagination
|
|
39
|
+
total-items="${e["total-items"]??52}"
|
|
40
|
+
page="${e.page??1}"
|
|
41
|
+
page-size="1"
|
|
42
|
+
?disabled="${e.disabled}"
|
|
43
|
+
?loading="${e.loading}"
|
|
44
|
+
.hideOnSinglePage=${e["hide-on-single-page"]??!0}
|
|
45
|
+
.pageSizeChanger=${!1}
|
|
46
|
+
.boundaryButtons=${e["boundary-buttons"]??!0}
|
|
47
|
+
?hide-total-count=${e["hide-total-count"]}
|
|
48
|
+
style=${g(c(e))}
|
|
49
|
+
>
|
|
50
|
+
<btu-dropdown
|
|
51
|
+
slot="page-size"
|
|
52
|
+
label="Week"
|
|
53
|
+
variant="secondary"
|
|
54
|
+
size="sm"
|
|
55
|
+
aria-label="View type"
|
|
56
|
+
@btu-dropdown-item-select=${t=>{t.currentTarget.label=t.detail.label}}
|
|
57
|
+
>
|
|
58
|
+
<btu-dropdown-menu>
|
|
59
|
+
<btu-dropdown-item label="Week" value="week" selected></btu-dropdown-item>
|
|
60
|
+
<btu-dropdown-item label="Month" value="month"></btu-dropdown-item>
|
|
61
|
+
</btu-dropdown-menu>
|
|
62
|
+
</btu-dropdown>
|
|
63
|
+
<button
|
|
64
|
+
slot="jumper"
|
|
65
|
+
class="btu-button-sm btu-button"
|
|
66
|
+
@click=${t=>{const n=t.target.closest("btu-pagination");n&&(n.page=1)}}
|
|
67
|
+
>
|
|
68
|
+
Today
|
|
69
|
+
</button>
|
|
70
|
+
</btu-pagination>
|
|
71
|
+
`,parameters:{docs:{description:{story:'Calendar variant using `slot="page-size"` with a consumer-managed `btu-dropdown` for week/month selection and `slot="jumper"` for a Today button. The page-size dropdown is fully consumer-owned — Pagination does not manage its events or label.'}}}},r={args:{"total-items":200,loading:!0},parameters:{docs:{description:{story:"Loading state shows a spinner and dims the navigation controls. The `aria-busy` attribute is set on the live region."}}}},l={args:{"total-items":200,disabled:!0,page:3},parameters:{docs:{description:{story:"Disabled state prevents all interaction. All buttons and dropdowns receive the native `disabled` attribute."}}}},d={render:()=>{const e=t=>{const n=t.target;n.loading=!0,setTimeout(()=>{n.loading=!1},1e3)};return u`
|
|
72
|
+
<div class="flex flex-col gap-4">
|
|
73
|
+
<div class="flex items-center gap-2">
|
|
74
|
+
<label for="total-input" class="text-sm font-medium">Total Items:</label>
|
|
75
|
+
<input
|
|
76
|
+
id="total-input"
|
|
77
|
+
type="number"
|
|
78
|
+
value="200"
|
|
79
|
+
min="0"
|
|
80
|
+
class="w-24 rounded border px-2 py-1 text-sm"
|
|
81
|
+
@input=${t=>{const n=t.target,p=n.closest(".flex.flex-col")?.querySelector("btu-pagination");p&&(p.totalItems=parseInt(n.value,10)||0)}}
|
|
82
|
+
/>
|
|
83
|
+
</div>
|
|
84
|
+
<btu-pagination
|
|
85
|
+
total-items="200"
|
|
86
|
+
@btu-pagination-change=${e}
|
|
87
|
+
@btu-pagination-page-size-change=${e}
|
|
88
|
+
></btu-pagination>
|
|
89
|
+
</div>
|
|
90
|
+
`},parameters:{docs:{description:{story:"Interactive example demonstrating dynamic `totalItems` changes at runtime. Navigation triggers a simulated 1s loading state."}}}};a.parameters={...a.parameters,docs:{...a.parameters?.docs,source:{originalSource:`{
|
|
91
|
+
args: {},
|
|
92
|
+
parameters: {
|
|
93
|
+
docs: {
|
|
94
|
+
description: {
|
|
95
|
+
story: 'Default Widget variant with page size selector, total display, and full navigation controls.'
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}`,...a.parameters?.docs?.source}}};o.parameters={...o.parameters,docs:{...o.parameters?.docs,source:{originalSource:`{
|
|
100
|
+
args: {
|
|
101
|
+
'total-items': 500,
|
|
102
|
+
'page-size-options': '10, 25, 50, 100',
|
|
103
|
+
'page-jumper': true
|
|
104
|
+
},
|
|
105
|
+
parameters: {
|
|
106
|
+
docs: {
|
|
107
|
+
description: {
|
|
108
|
+
story: 'Search variant with \`page-jumper\` enabled. The built-in dropdown renders "Page 1" through "Page N" and updates automatically when page size or total items change.'
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}`,...o.parameters?.docs?.source}}};s.parameters={...s.parameters,docs:{...s.parameters?.docs,source:{originalSource:`{
|
|
113
|
+
args: {
|
|
114
|
+
'total-items': 100,
|
|
115
|
+
'boundary-buttons': false
|
|
116
|
+
},
|
|
117
|
+
parameters: {
|
|
118
|
+
docs: {
|
|
119
|
+
description: {
|
|
120
|
+
story: 'Compact widget variant without first/last page buttons. Suitable for tight spaces.'
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}`,...s.parameters?.docs?.source}}};i.parameters={...i.parameters,docs:{...i.parameters?.docs,source:{originalSource:`{
|
|
125
|
+
args: {
|
|
126
|
+
'total-items': 52
|
|
127
|
+
},
|
|
128
|
+
render: args => html\`
|
|
129
|
+
<btu-pagination
|
|
130
|
+
total-items="\${args['total-items'] ?? 52}"
|
|
131
|
+
page="\${args.page ?? 1}"
|
|
132
|
+
page-size="1"
|
|
133
|
+
?disabled="\${args.disabled}"
|
|
134
|
+
?loading="\${args.loading}"
|
|
135
|
+
.hideOnSinglePage=\${args['hide-on-single-page'] ?? true}
|
|
136
|
+
.pageSizeChanger=\${false}
|
|
137
|
+
.boundaryButtons=\${args['boundary-buttons'] ?? true}
|
|
138
|
+
?hide-total-count=\${args['hide-total-count']}
|
|
139
|
+
style=\${styleMap(paginationStyles(args))}
|
|
140
|
+
>
|
|
141
|
+
<btu-dropdown
|
|
142
|
+
slot="page-size"
|
|
143
|
+
label="Week"
|
|
144
|
+
variant="secondary"
|
|
145
|
+
size="sm"
|
|
146
|
+
aria-label="View type"
|
|
147
|
+
@btu-dropdown-item-select=\${(e: CustomEvent<{
|
|
148
|
+
label: string;
|
|
149
|
+
value: string;
|
|
150
|
+
selected: boolean;
|
|
151
|
+
}>) => {
|
|
152
|
+
;
|
|
153
|
+
(e.currentTarget as HTMLElement & {
|
|
154
|
+
label: string;
|
|
155
|
+
}).label = e.detail.label;
|
|
156
|
+
}}
|
|
157
|
+
>
|
|
158
|
+
<btu-dropdown-menu>
|
|
159
|
+
<btu-dropdown-item label="Week" value="week" selected></btu-dropdown-item>
|
|
160
|
+
<btu-dropdown-item label="Month" value="month"></btu-dropdown-item>
|
|
161
|
+
</btu-dropdown-menu>
|
|
162
|
+
</btu-dropdown>
|
|
163
|
+
<button
|
|
164
|
+
slot="jumper"
|
|
165
|
+
class="btu-button-sm btu-button"
|
|
166
|
+
@click=\${(e: Event) => {
|
|
167
|
+
const pagination = (e.target as HTMLElement).closest('btu-pagination');
|
|
168
|
+
if (pagination) pagination.page = 1;
|
|
169
|
+
}}
|
|
170
|
+
>
|
|
171
|
+
Today
|
|
172
|
+
</button>
|
|
173
|
+
</btu-pagination>
|
|
174
|
+
\`,
|
|
175
|
+
parameters: {
|
|
176
|
+
docs: {
|
|
177
|
+
description: {
|
|
178
|
+
story: 'Calendar variant using \`slot="page-size"\` with a consumer-managed \`btu-dropdown\` for week/month selection and \`slot="jumper"\` for a Today button. The page-size dropdown is fully consumer-owned — Pagination does not manage its events or label.'
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}`,...i.parameters?.docs?.source}}};r.parameters={...r.parameters,docs:{...r.parameters?.docs,source:{originalSource:`{
|
|
183
|
+
args: {
|
|
184
|
+
'total-items': 200,
|
|
185
|
+
loading: true
|
|
186
|
+
},
|
|
187
|
+
parameters: {
|
|
188
|
+
docs: {
|
|
189
|
+
description: {
|
|
190
|
+
story: 'Loading state shows a spinner and dims the navigation controls. The \`aria-busy\` attribute is set on the live region.'
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}`,...r.parameters?.docs?.source}}};l.parameters={...l.parameters,docs:{...l.parameters?.docs,source:{originalSource:`{
|
|
195
|
+
args: {
|
|
196
|
+
'total-items': 200,
|
|
197
|
+
disabled: true,
|
|
198
|
+
page: 3
|
|
199
|
+
},
|
|
200
|
+
parameters: {
|
|
201
|
+
docs: {
|
|
202
|
+
description: {
|
|
203
|
+
story: 'Disabled state prevents all interaction. All buttons and dropdowns receive the native \`disabled\` attribute.'
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}`,...l.parameters?.docs?.source}}};d.parameters={...d.parameters,docs:{...d.parameters?.docs,source:{originalSource:`{
|
|
208
|
+
render: () => {
|
|
209
|
+
const simulateLoading = (e: CustomEvent) => {
|
|
210
|
+
const pagination = e.target as HTMLElement & {
|
|
211
|
+
loading: boolean;
|
|
212
|
+
};
|
|
213
|
+
pagination.loading = true;
|
|
214
|
+
setTimeout(() => {
|
|
215
|
+
pagination.loading = false;
|
|
216
|
+
}, 1000);
|
|
217
|
+
};
|
|
218
|
+
return html\`
|
|
219
|
+
<div class="flex flex-col gap-4">
|
|
220
|
+
<div class="flex items-center gap-2">
|
|
221
|
+
<label for="total-input" class="text-sm font-medium">Total Items:</label>
|
|
222
|
+
<input
|
|
223
|
+
id="total-input"
|
|
224
|
+
type="number"
|
|
225
|
+
value="200"
|
|
226
|
+
min="0"
|
|
227
|
+
class="w-24 rounded border px-2 py-1 text-sm"
|
|
228
|
+
@input=\${(e: Event) => {
|
|
229
|
+
const input = e.target as HTMLInputElement;
|
|
230
|
+
const pagination = (input.closest('.flex.flex-col') as HTMLElement)?.querySelector('btu-pagination') as HTMLElement & {
|
|
231
|
+
totalItems: number;
|
|
232
|
+
};
|
|
233
|
+
if (pagination) pagination.totalItems = parseInt(input.value, 10) || 0;
|
|
234
|
+
}}
|
|
235
|
+
/>
|
|
236
|
+
</div>
|
|
237
|
+
<btu-pagination
|
|
238
|
+
total-items="200"
|
|
239
|
+
@btu-pagination-change=\${simulateLoading}
|
|
240
|
+
@btu-pagination-page-size-change=\${simulateLoading}
|
|
241
|
+
></btu-pagination>
|
|
242
|
+
</div>
|
|
243
|
+
\`;
|
|
244
|
+
},
|
|
245
|
+
parameters: {
|
|
246
|
+
docs: {
|
|
247
|
+
description: {
|
|
248
|
+
story: 'Interactive example demonstrating dynamic \`totalItems\` changes at runtime. Navigation triggers a simulated 1s loading state.'
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}`,...d.parameters?.docs?.source}}};const z=["Default","Search","WidgetSmall","Calendar","Loading","Disabled","DynamicTotal"];export{i as Calendar,a as Default,l as Disabled,d as DynamicTotal,r as Loading,o as Search,s as WidgetSmall,z as __namedExportsOrder,$ as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{g as
|
|
1
|
+
import{g as p,x as l}from"./iframe-Sf9RHZFu.js";import{o as a}from"./if-defined-CgfCxQoV.js";import{o as c}from"./style-map-B99QiqCo.js";import"./preload-helper-PPVm8Dsz.js";const{events:d,args:u,argTypes:t}=p("btu-popover"),h={title:"Components/Popover",component:"btu-popover",tags:["autodocs"],parameters:{docs:{subtitle:"Rich interactive content anchored to a trigger element",description:{component:`
|
|
2
2
|
\`btu-popover\` displays rich interactive content anchored to a trigger element using CSS anchor positioning and the native Popover API.
|
|
3
3
|
|
|
4
4
|
<h3>When to use:</h3>
|
|
@@ -24,18 +24,18 @@ import{g as a,x as r}from"./iframe-BqvwP3or.js";import{o as c}from"./if-defined-
|
|
|
24
24
|
<li>Focus restored to trigger on close</li>
|
|
25
25
|
<li>Add <code>autofocus</code> to an element inside <code>slot="content"</code> for auto-focus on open</li>
|
|
26
26
|
</ul>
|
|
27
|
-
`}},actions:{handles:
|
|
27
|
+
`}},actions:{handles:d},controls:{expanded:!0}},args:{...u,position:"bottom",trigger:"click",delay:300,open:!1},argTypes:{...t,position:{...t.position,control:{type:"select"},options:["top","bottom","left","right"]},trigger:{...t.trigger,control:{type:"select"},options:["click","hover","focus"]},delay:{...t.delay,control:{type:"number"},description:"Show delay in ms (hover trigger only)"},offset:{...t.offset,control:{type:"select"},options:["sm","md","lg","xl"],description:"Gap between trigger and popover (sm=4px, md=8px, lg=12px, xl=16px)"},open:{...t.open,control:{type:"boolean"},description:"Programmatic open/close (reflected)"},customBg:{name:"--popover-color-background",description:"Background color",control:{type:"color"},table:{category:"css properties",defaultValue:{summary:"white"}}},customTitleColor:{name:"--popover-color-title",description:"Title text color",control:{type:"color"},table:{category:"css properties",defaultValue:{summary:"oklch(var(--btu-theme-gray-900))"}}},customContentColor:{name:"--popover-color-content",description:"Content text color",control:{type:"color"},table:{category:"css properties",defaultValue:{summary:"oklch(var(--btu-theme-gray-900))"}}},customRadius:{name:"--popover-border-radius",description:"Border radius",control:{type:"select"},options:["0px","0.125rem","0.25rem","0.375rem","0.5rem","0.75rem","1rem","1.5rem","9999px"],labels:{"0px":"none (0px)","0.125rem":"sm (0.125rem)","0.25rem":"DEFAULT (0.25rem)","0.375rem":"md (0.375rem)","0.5rem":"lg (0.5rem)","0.75rem":"xl (0.75rem)","1rem":"2xl (1rem)","1.5rem":"3xl (1.5rem)","9999px":"full (9999px)"},table:{category:"css properties",defaultValue:{summary:"0.5rem (lg)"}}}},render:o=>{const e={};return o.customBg&&(e["--popover-color-background"]=o.customBg),o.customTitleColor&&(e["--popover-color-title"]=o.customTitleColor),o.customContentColor&&(e["--popover-color-content"]=o.customContentColor),o.customRadius&&(e["--popover-border-radius"]=o.customRadius),l`
|
|
28
28
|
<div style="display: flex; justify-content: center; padding: 6rem 2rem;">
|
|
29
|
-
<div style=${
|
|
29
|
+
<div style=${c(e)}>
|
|
30
30
|
<btu-popover
|
|
31
31
|
position="${o.position}"
|
|
32
32
|
trigger="${o.trigger}"
|
|
33
33
|
delay="${o.delay}"
|
|
34
|
-
offset="${
|
|
34
|
+
offset="${a(o.offset)}"
|
|
35
35
|
?no-arrow="${o.noArrow}"
|
|
36
36
|
?open="${o.open}"
|
|
37
37
|
>
|
|
38
|
-
<button class="
|
|
38
|
+
<button class="btu-button-gray btu-button-sm btu-button" slot="trigger">
|
|
39
39
|
${o.trigger==="hover"?"Hover me":o.trigger==="focus"?"Focus me":"Click me"}
|
|
40
40
|
</button>
|
|
41
41
|
<div slot="content">
|
|
@@ -48,51 +48,28 @@ import{g as a,x as r}from"./iframe-BqvwP3or.js";import{o as c}from"./if-defined-
|
|
|
48
48
|
</btu-popover>
|
|
49
49
|
</div>
|
|
50
50
|
</div>
|
|
51
|
-
`}},
|
|
52
|
-
.popover-trigger {
|
|
53
|
-
display: inline-flex;
|
|
54
|
-
align-items: center;
|
|
55
|
-
justify-content: center;
|
|
56
|
-
padding: 0.5rem 1rem;
|
|
57
|
-
border-radius: 0.375rem;
|
|
58
|
-
background-color: oklch(var(--btu-theme-gray-100));
|
|
59
|
-
color: oklch(var(--btu-theme-gray-700));
|
|
60
|
-
font-weight: 500;
|
|
61
|
-
font-size: 0.875rem;
|
|
62
|
-
cursor: pointer;
|
|
63
|
-
user-select: none;
|
|
64
|
-
border: 1px solid oklch(var(--btu-theme-gray-200));
|
|
65
|
-
}
|
|
66
|
-
.popover-trigger:hover {
|
|
67
|
-
background-color: oklch(var(--btu-theme-gray-200));
|
|
68
|
-
}
|
|
69
|
-
`,n={args:{noArrow:!1,offset:void 0},decorators:[o=>r`<style>
|
|
70
|
-
${p}</style
|
|
71
|
-
>${o()}`]},i={render:()=>r`
|
|
72
|
-
<style>
|
|
73
|
-
${p}
|
|
74
|
-
</style>
|
|
51
|
+
`}},n={args:{noArrow:!1,offset:void 0}},r={render:()=>l`
|
|
75
52
|
<div style="display: flex; gap: 2rem; justify-content: center; padding: 6rem 2rem; flex-wrap: wrap;">
|
|
76
53
|
<btu-popover position="top">
|
|
77
|
-
<button class="
|
|
54
|
+
<button class="btu-button-primary btu-button-sm btu-button" slot="trigger">Top</button>
|
|
78
55
|
<div slot="content">Popover positioned above the trigger</div>
|
|
79
56
|
</btu-popover>
|
|
80
57
|
<btu-popover position="bottom">
|
|
81
|
-
<button class="
|
|
58
|
+
<button class="btu-button-primary btu-button-sm btu-button" slot="trigger">Bottom</button>
|
|
82
59
|
<div slot="content">Popover positioned below the trigger</div>
|
|
83
60
|
</btu-popover>
|
|
84
61
|
<btu-popover position="left">
|
|
85
|
-
<button class="
|
|
62
|
+
<button class="btu-button-primary btu-button-sm btu-button" slot="trigger">Left</button>
|
|
86
63
|
<div slot="content">Popover positioned left of the trigger</div>
|
|
87
64
|
</btu-popover>
|
|
88
65
|
<btu-popover position="right">
|
|
89
|
-
<button class="
|
|
66
|
+
<button class="btu-button-primary btu-button-sm btu-button" slot="trigger">Right</button>
|
|
90
67
|
<div slot="content">Popover positioned right of the trigger</div>
|
|
91
68
|
</btu-popover>
|
|
92
69
|
</div>
|
|
93
|
-
`,parameters:{docs:{description:{story:"Popovers support four positions: `top`, `bottom`, `left`, and `right`. Each auto-flips if constrained by the viewport."}}}},
|
|
70
|
+
`,parameters:{docs:{description:{story:"Popovers support four positions: `top`, `bottom`, `left`, and `right`. Each auto-flips if constrained by the viewport."}}}},i={render:()=>l`
|
|
94
71
|
<style>
|
|
95
|
-
|
|
72
|
+
.popover-custom-content {
|
|
96
73
|
display: flex;
|
|
97
74
|
flex-direction: column;
|
|
98
75
|
gap: 12px;
|
|
@@ -141,20 +118,20 @@ import{g as a,x as r}from"./iframe-BqvwP3or.js";import{o as c}from"./if-defined-
|
|
|
141
118
|
</style>
|
|
142
119
|
<div style="display: flex; gap: 2rem; justify-content: center; padding: 6rem 2rem; flex-wrap: wrap;">
|
|
143
120
|
<btu-popover position="bottom">
|
|
144
|
-
<button class="btu-button btu-button
|
|
121
|
+
<button class="btu-button-error btu-button" slot="trigger">Delete item</button>
|
|
145
122
|
<div slot="content">
|
|
146
123
|
<div class="popover-custom-content">
|
|
147
124
|
<h3>Confirm Delete</h3>
|
|
148
125
|
<p>Are you sure you want to delete this item? This action cannot be undone.</p>
|
|
149
126
|
<div class="actions">
|
|
150
|
-
<button class="btu-button btu-button-
|
|
151
|
-
<button class="btu-button
|
|
127
|
+
<button class="btu-button-warning btu-button-xs btu-button">Cancel</button>
|
|
128
|
+
<button class="btu-button-error btu-button-xs btu-button-fill-none btu-button">Delete</button>
|
|
152
129
|
</div>
|
|
153
130
|
</div>
|
|
154
131
|
</div>
|
|
155
132
|
</btu-popover>
|
|
156
133
|
<btu-popover trigger="hover" delay="200" position="bottom">
|
|
157
|
-
<button class="btu-button btu-button
|
|
134
|
+
<button class="btu-button-primary btu-button" slot="trigger">Hover for chart data</button>
|
|
158
135
|
<div slot="content">
|
|
159
136
|
<div
|
|
160
137
|
style="font-weight: 500; font-size: 0.75rem; line-height: 1.125rem; color: oklch(var(--btu-theme-gray-900)); margin-bottom: 8px;"
|
|
@@ -182,9 +159,9 @@ import{g as a,x as r}from"./iframe-BqvwP3or.js";import{o as c}from"./if-defined-
|
|
|
182
159
|
</div>
|
|
183
160
|
</btu-popover>
|
|
184
161
|
</div>
|
|
185
|
-
`,parameters:{docs:{description:{story:"Two examples of rich popover content: a confirmation dialog with action buttons (click trigger), and a chart legend with colored series data (hover trigger)."}}}},
|
|
162
|
+
`,parameters:{docs:{description:{story:"Two examples of rich popover content: a confirmation dialog with action buttons (click trigger), and a chart legend with colored series data (hover trigger)."}}}},s={render:()=>l`
|
|
186
163
|
<style>
|
|
187
|
-
|
|
164
|
+
.custom-popover-trigger {
|
|
188
165
|
display: inline-flex;
|
|
189
166
|
align-items: center;
|
|
190
167
|
justify-content: center;
|
|
@@ -228,30 +205,24 @@ import{g as a,x as r}from"./iframe-BqvwP3or.js";import{o as c}from"./if-defined-
|
|
|
228
205
|
args: {
|
|
229
206
|
noArrow: false,
|
|
230
207
|
offset: undefined
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
\${triggerStyle}</style
|
|
234
|
-
>\${story()}\`]
|
|
235
|
-
}`,...n.parameters?.docs?.source}}};i.parameters={...i.parameters,docs:{...i.parameters?.docs,source:{originalSource:`{
|
|
208
|
+
}
|
|
209
|
+
}`,...n.parameters?.docs?.source}}};r.parameters={...r.parameters,docs:{...r.parameters?.docs,source:{originalSource:`{
|
|
236
210
|
render: () => html\`
|
|
237
|
-
<style>
|
|
238
|
-
\${triggerStyle}
|
|
239
|
-
</style>
|
|
240
211
|
<div style="display: flex; gap: 2rem; justify-content: center; padding: 6rem 2rem; flex-wrap: wrap;">
|
|
241
212
|
<btu-popover position="top">
|
|
242
|
-
<button class="
|
|
213
|
+
<button class="btu-button-primary btu-button-sm btu-button" slot="trigger">Top</button>
|
|
243
214
|
<div slot="content">Popover positioned above the trigger</div>
|
|
244
215
|
</btu-popover>
|
|
245
216
|
<btu-popover position="bottom">
|
|
246
|
-
<button class="
|
|
217
|
+
<button class="btu-button-primary btu-button-sm btu-button" slot="trigger">Bottom</button>
|
|
247
218
|
<div slot="content">Popover positioned below the trigger</div>
|
|
248
219
|
</btu-popover>
|
|
249
220
|
<btu-popover position="left">
|
|
250
|
-
<button class="
|
|
221
|
+
<button class="btu-button-primary btu-button-sm btu-button" slot="trigger">Left</button>
|
|
251
222
|
<div slot="content">Popover positioned left of the trigger</div>
|
|
252
223
|
</btu-popover>
|
|
253
224
|
<btu-popover position="right">
|
|
254
|
-
<button class="
|
|
225
|
+
<button class="btu-button-primary btu-button-sm btu-button" slot="trigger">Right</button>
|
|
255
226
|
<div slot="content">Popover positioned right of the trigger</div>
|
|
256
227
|
</btu-popover>
|
|
257
228
|
</div>
|
|
@@ -263,10 +234,10 @@ import{g as a,x as r}from"./iframe-BqvwP3or.js";import{o as c}from"./if-defined-
|
|
|
263
234
|
}
|
|
264
235
|
}
|
|
265
236
|
}
|
|
266
|
-
}`,...
|
|
237
|
+
}`,...r.parameters?.docs?.source}}};i.parameters={...i.parameters,docs:{...i.parameters?.docs,source:{originalSource:`{
|
|
267
238
|
render: () => html\`
|
|
268
239
|
<style>
|
|
269
|
-
|
|
240
|
+
.popover-custom-content {
|
|
270
241
|
display: flex;
|
|
271
242
|
flex-direction: column;
|
|
272
243
|
gap: 12px;
|
|
@@ -315,20 +286,20 @@ import{g as a,x as r}from"./iframe-BqvwP3or.js";import{o as c}from"./if-defined-
|
|
|
315
286
|
</style>
|
|
316
287
|
<div style="display: flex; gap: 2rem; justify-content: center; padding: 6rem 2rem; flex-wrap: wrap;">
|
|
317
288
|
<btu-popover position="bottom">
|
|
318
|
-
<button class="btu-button btu-button
|
|
289
|
+
<button class="btu-button-error btu-button" slot="trigger">Delete item</button>
|
|
319
290
|
<div slot="content">
|
|
320
291
|
<div class="popover-custom-content">
|
|
321
292
|
<h3>Confirm Delete</h3>
|
|
322
293
|
<p>Are you sure you want to delete this item? This action cannot be undone.</p>
|
|
323
294
|
<div class="actions">
|
|
324
|
-
<button class="btu-button btu-button-
|
|
325
|
-
<button class="btu-button
|
|
295
|
+
<button class="btu-button-warning btu-button-xs btu-button">Cancel</button>
|
|
296
|
+
<button class="btu-button-error btu-button-xs btu-button-fill-none btu-button">Delete</button>
|
|
326
297
|
</div>
|
|
327
298
|
</div>
|
|
328
299
|
</div>
|
|
329
300
|
</btu-popover>
|
|
330
301
|
<btu-popover trigger="hover" delay="200" position="bottom">
|
|
331
|
-
<button class="btu-button btu-button
|
|
302
|
+
<button class="btu-button-primary btu-button" slot="trigger">Hover for chart data</button>
|
|
332
303
|
<div slot="content">
|
|
333
304
|
<div
|
|
334
305
|
style="font-weight: 500; font-size: 0.75rem; line-height: 1.125rem; color: oklch(var(--btu-theme-gray-900)); margin-bottom: 8px;"
|
|
@@ -364,10 +335,10 @@ import{g as a,x as r}from"./iframe-BqvwP3or.js";import{o as c}from"./if-defined-
|
|
|
364
335
|
}
|
|
365
336
|
}
|
|
366
337
|
}
|
|
367
|
-
}`,...
|
|
338
|
+
}`,...i.parameters?.docs?.source}}};s.parameters={...s.parameters,docs:{...s.parameters?.docs,source:{originalSource:`{
|
|
368
339
|
render: () => html\`
|
|
369
340
|
<style>
|
|
370
|
-
|
|
341
|
+
.custom-popover-trigger {
|
|
371
342
|
display: inline-flex;
|
|
372
343
|
align-items: center;
|
|
373
344
|
justify-content: center;
|
|
@@ -420,4 +391,4 @@ import{g as a,x as r}from"./iframe-BqvwP3or.js";import{o as c}from"./if-defined-
|
|
|
420
391
|
}
|
|
421
392
|
}
|
|
422
393
|
}
|
|
423
|
-
}`,...
|
|
394
|
+
}`,...s.parameters?.docs?.source}}};const f=["Default","Positions","RichContent","AdvancedUsage"];export{s as AdvancedUsage,n as Default,r as Positions,i as RichContent,f as __namedExportsOrder,h as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./iframe-Sf9RHZFu.js";const l=t=>{class n extends t{connectedCallback(){super.connectedCallback(),Promise.resolve().then(()=>this.emit("btu-element-connected",{}),e=>this.emit("btu-element-error",{error:e}))}disconnectedCallback(){super.disconnectedCallback(),this.emit("btu-element-disconnected")}emit(e,c){const a=new CustomEvent(e,{bubbles:!0,cancelable:!1,composed:!0,detail:c});return this.dispatchEvent(a)}}return n},d=t=>{class n extends t{connectedCallback(){const e=()=>{super.connectedCallback()};document.readyState!=="loading"?e():document.addEventListener("DOMContentLoaded",()=>e())}}return n};export{l as E,d as R};
|