@psnext/design-system 2.3.0 → 2.4.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/DESIGN.md +466 -4
- package/README.md +3 -3
- package/SKILL.md +83 -5
- package/bin/install-agent-skill.mjs +39 -7
- package/dist/Header.cjs +151 -20
- package/dist/Header.cjs.map +1 -1
- package/dist/Header.js +151 -20
- package/dist/Header.js.map +1 -1
- package/dist/Icon.cjs +40 -8
- package/dist/Icon.cjs.map +1 -1
- package/dist/Icon.js +40 -8
- package/dist/Icon.js.map +1 -1
- package/dist/MultiColumn.cjs +354 -0
- package/dist/MultiColumn.cjs.map +1 -0
- package/dist/MultiColumn.js +335 -0
- package/dist/MultiColumn.js.map +1 -0
- package/dist/Sidebar.cjs +4 -3
- package/dist/Sidebar.cjs.map +1 -1
- package/dist/Sidebar.js +4 -3
- package/dist/Sidebar.js.map +1 -1
- package/dist/index.cjs +5 -1
- package/dist/index.d.cts +5 -5
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index10.d.cts +6 -6
- package/dist/index10.d.ts +6 -6
- package/dist/index11.d.cts +3 -3
- package/dist/index11.d.cts.map +1 -1
- package/dist/index11.d.ts +3 -3
- package/dist/index11.d.ts.map +1 -1
- package/dist/index12.d.cts +12 -12
- package/dist/index12.d.cts.map +1 -1
- package/dist/index12.d.ts +13 -13
- package/dist/index13.d.cts +6 -6
- package/dist/index13.d.cts.map +1 -1
- package/dist/index13.d.ts +6 -6
- package/dist/index13.d.ts.map +1 -1
- package/dist/index14.d.cts +5 -5
- package/dist/index14.d.ts +5 -5
- package/dist/index15.d.cts +3 -3
- package/dist/index15.d.cts.map +1 -1
- package/dist/index15.d.ts +3 -3
- package/dist/index15.d.ts.map +1 -1
- package/dist/index16.d.cts +2 -2
- package/dist/index16.d.cts.map +1 -1
- package/dist/index16.d.ts +2 -2
- package/dist/index16.d.ts.map +1 -1
- package/dist/index17.d.cts +4 -4
- package/dist/index17.d.cts.map +1 -1
- package/dist/index17.d.ts +4 -4
- package/dist/index18.d.cts +11 -11
- package/dist/index18.d.cts.map +1 -1
- package/dist/index18.d.ts +11 -11
- package/dist/index18.d.ts.map +1 -1
- package/dist/index19.d.cts +10 -10
- package/dist/index19.d.cts.map +1 -1
- package/dist/index19.d.ts +10 -10
- package/dist/index19.d.ts.map +1 -1
- package/dist/index2.d.cts +8 -8
- package/dist/index2.d.cts.map +1 -1
- package/dist/index2.d.ts +9 -9
- package/dist/index2.d.ts.map +1 -1
- package/dist/index20.d.cts +16 -16
- package/dist/index20.d.cts.map +1 -1
- package/dist/index20.d.ts +16 -16
- package/dist/index20.d.ts.map +1 -1
- package/dist/index21.d.cts +4 -4
- package/dist/index21.d.cts.map +1 -1
- package/dist/index21.d.ts +4 -4
- package/dist/index21.d.ts.map +1 -1
- package/dist/index22.d.cts +11 -11
- package/dist/index22.d.ts +11 -11
- package/dist/index23.d.cts +16 -16
- package/dist/index23.d.cts.map +1 -1
- package/dist/index23.d.ts +16 -16
- package/dist/index23.d.ts.map +1 -1
- package/dist/index24.d.cts +10 -10
- package/dist/index24.d.cts.map +1 -1
- package/dist/index24.d.ts +11 -11
- package/dist/index24.d.ts.map +1 -1
- package/dist/index25.d.cts +2 -2
- package/dist/index25.d.ts +2 -2
- package/dist/index25.d.ts.map +1 -1
- package/dist/index26.d.cts +13 -13
- package/dist/index26.d.cts.map +1 -1
- package/dist/index26.d.ts +14 -14
- package/dist/index26.d.ts.map +1 -1
- package/dist/index27.d.cts +7 -7
- package/dist/index27.d.cts.map +1 -1
- package/dist/index27.d.ts +7 -7
- package/dist/index27.d.ts.map +1 -1
- package/dist/index28.d.cts +6 -6
- package/dist/index28.d.cts.map +1 -1
- package/dist/index28.d.ts +5 -5
- package/dist/index28.d.ts.map +1 -1
- package/dist/index29.d.cts +4 -4
- package/dist/index29.d.ts +4 -4
- package/dist/index29.d.ts.map +1 -1
- package/dist/index3.d.cts +13 -13
- package/dist/index3.d.cts.map +1 -1
- package/dist/index3.d.ts +13 -13
- package/dist/index30.d.cts +41 -12
- package/dist/index30.d.cts.map +1 -1
- package/dist/index30.d.ts +42 -13
- package/dist/index30.d.ts.map +1 -1
- package/dist/index31.d.cts +5 -5
- package/dist/index31.d.cts.map +1 -1
- package/dist/index31.d.ts +6 -6
- package/dist/index31.d.ts.map +1 -1
- package/dist/index32.d.cts +5 -5
- package/dist/index32.d.cts.map +1 -1
- package/dist/index32.d.ts +6 -6
- package/dist/index33.d.cts +10 -10
- package/dist/index33.d.cts.map +1 -1
- package/dist/index33.d.ts +11 -11
- package/dist/index33.d.ts.map +1 -1
- package/dist/index34.d.cts +5 -5
- package/dist/index34.d.cts.map +1 -1
- package/dist/index34.d.ts +5 -5
- package/dist/index34.d.ts.map +1 -1
- package/dist/index35.d.cts +16 -16
- package/dist/index35.d.cts.map +1 -1
- package/dist/index35.d.ts +17 -17
- package/dist/index35.d.ts.map +1 -1
- package/dist/index36.d.cts +3 -3
- package/dist/index36.d.cts.map +1 -1
- package/dist/index36.d.ts +3 -3
- package/dist/index36.d.ts.map +1 -1
- package/dist/index37.d.cts +5 -5
- package/dist/index37.d.ts +3 -3
- package/dist/index38.d.cts +2 -2
- package/dist/index38.d.cts.map +1 -1
- package/dist/index38.d.ts +2 -2
- package/dist/index39.d.cts +17 -17
- package/dist/index39.d.cts.map +1 -1
- package/dist/index39.d.ts +17 -17
- package/dist/index39.d.ts.map +1 -1
- package/dist/index4.d.cts +2 -2
- package/dist/index4.d.ts +2 -2
- package/dist/index4.d.ts.map +1 -1
- package/dist/index40.d.cts +5 -5
- package/dist/index40.d.cts.map +1 -1
- package/dist/index40.d.ts +6 -6
- package/dist/index40.d.ts.map +1 -1
- package/dist/index41.d.cts +11 -11
- package/dist/index41.d.cts.map +1 -1
- package/dist/index41.d.ts +11 -11
- package/dist/index41.d.ts.map +1 -1
- package/dist/index42.d.cts +8 -8
- package/dist/index42.d.cts.map +1 -1
- package/dist/index42.d.ts +8 -8
- package/dist/index43.d.cts +9 -9
- package/dist/index43.d.cts.map +1 -1
- package/dist/index43.d.ts +9 -9
- package/dist/index43.d.ts.map +1 -1
- package/dist/index45.d.cts +8 -8
- package/dist/index45.d.cts.map +1 -1
- package/dist/index45.d.ts +8 -8
- package/dist/index45.d.ts.map +1 -1
- package/dist/index46.d.cts +2 -2
- package/dist/index46.d.cts.map +1 -1
- package/dist/index46.d.ts +2 -2
- package/dist/index46.d.ts.map +1 -1
- package/dist/index47.d.cts +4 -4
- package/dist/index47.d.cts.map +1 -1
- package/dist/index47.d.ts +4 -4
- package/dist/index47.d.ts.map +1 -1
- package/dist/index48.d.cts +4 -4
- package/dist/index48.d.cts.map +1 -1
- package/dist/index48.d.ts +4 -4
- package/dist/index48.d.ts.map +1 -1
- package/dist/index49.d.cts +3 -3
- package/dist/index49.d.ts +3 -3
- package/dist/index5.d.cts +7 -7
- package/dist/index5.d.ts +7 -7
- package/dist/index50.d.cts +11 -11
- package/dist/index50.d.cts.map +1 -1
- package/dist/index50.d.ts +11 -11
- package/dist/index50.d.ts.map +1 -1
- package/dist/index51.d.cts +9 -9
- package/dist/index51.d.cts.map +1 -1
- package/dist/index51.d.ts +9 -9
- package/dist/index51.d.ts.map +1 -1
- package/dist/index52.d.cts +5 -5
- package/dist/index52.d.ts +5 -5
- package/dist/index53.d.cts +27 -27
- package/dist/index53.d.cts.map +1 -1
- package/dist/index53.d.ts +28 -28
- package/dist/index53.d.ts.map +1 -1
- package/dist/index54.d.cts +5 -5
- package/dist/index54.d.ts +5 -5
- package/dist/index54.d.ts.map +1 -1
- package/dist/index55.d.cts +2 -2
- package/dist/index55.d.cts.map +1 -1
- package/dist/index55.d.ts +2 -2
- package/dist/index55.d.ts.map +1 -1
- package/dist/index56.d.cts +2 -2
- package/dist/index56.d.cts.map +1 -1
- package/dist/index56.d.ts +2 -2
- package/dist/index56.d.ts.map +1 -1
- package/dist/index57.d.cts +2 -2
- package/dist/index57.d.cts.map +1 -1
- package/dist/index57.d.ts +2 -2
- package/dist/index57.d.ts.map +1 -1
- package/dist/index58.d.cts +4 -4
- package/dist/index58.d.cts.map +1 -1
- package/dist/index58.d.ts +4 -4
- package/dist/index58.d.ts.map +1 -1
- package/dist/index59.d.cts +9 -9
- package/dist/index59.d.ts +9 -9
- package/dist/index59.d.ts.map +1 -1
- package/dist/index6.d.cts +5 -5
- package/dist/index6.d.cts.map +1 -1
- package/dist/index6.d.ts +6 -6
- package/dist/index60.d.cts +9 -9
- package/dist/index60.d.ts +9 -9
- package/dist/index60.d.ts.map +1 -1
- package/dist/index61.d.cts +8 -8
- package/dist/index61.d.cts.map +1 -1
- package/dist/index61.d.ts +7 -7
- package/dist/index61.d.ts.map +1 -1
- package/dist/index62.d.cts +4 -4
- package/dist/index62.d.cts.map +1 -1
- package/dist/index62.d.ts +5 -5
- package/dist/index63.d.cts +2 -2
- package/dist/index63.d.ts +2 -2
- package/dist/index64.d.cts +4 -4
- package/dist/index64.d.ts +7 -7
- package/dist/index64.d.ts.map +1 -1
- package/dist/index65.d.cts +3 -3
- package/dist/index65.d.ts +4 -4
- package/dist/index66.d.cts +4 -4
- package/dist/index66.d.ts +5 -5
- package/dist/index67.d.cts +83 -11
- package/dist/index67.d.cts.map +1 -1
- package/dist/index67.d.ts +83 -11
- package/dist/index67.d.ts.map +1 -1
- package/dist/index68.d.cts +12 -30
- package/dist/index68.d.cts.map +1 -1
- package/dist/index68.d.ts +12 -30
- package/dist/index68.d.ts.map +1 -1
- package/dist/index69.d.cts +28 -27
- package/dist/index69.d.cts.map +1 -1
- package/dist/index69.d.ts +29 -28
- package/dist/index69.d.ts.map +1 -1
- package/dist/index7.d.cts +8 -8
- package/dist/index7.d.cts.map +1 -1
- package/dist/index7.d.ts +8 -8
- package/dist/index7.d.ts.map +1 -1
- package/dist/index70.d.cts +33 -78
- package/dist/index70.d.cts.map +1 -1
- package/dist/index70.d.ts +33 -78
- package/dist/index70.d.ts.map +1 -1
- package/dist/index71.d.cts +77 -260
- package/dist/index71.d.cts.map +1 -1
- package/dist/index71.d.ts +77 -260
- package/dist/index71.d.ts.map +1 -1
- package/dist/index72.d.cts +278 -0
- package/dist/index72.d.cts.map +1 -0
- package/dist/index72.d.ts +278 -0
- package/dist/index72.d.ts.map +1 -0
- package/dist/index8.d.cts +4 -4
- package/dist/index8.d.cts.map +1 -1
- package/dist/index8.d.ts +5 -5
- package/dist/index9.d.cts +2 -2
- package/dist/index9.d.cts.map +1 -1
- package/dist/index9.d.ts +2 -2
- package/dist/index9.d.ts.map +1 -1
- package/dist/layouts/Container/index.cjs +2 -1
- package/dist/layouts/Container/index.cjs.map +1 -1
- package/dist/layouts/Container/index.js +1 -1
- package/dist/layouts/MultiColumn/index.cjs +5 -0
- package/dist/layouts/MultiColumn/index.d.cts +2 -0
- package/dist/layouts/MultiColumn/index.d.ts +2 -0
- package/dist/layouts/MultiColumn/index.js +2 -0
- package/dist/layouts/PageBackground/index.d.cts +1 -1
- package/dist/layouts/PageBackground/index.d.ts +1 -1
- package/dist/layouts/Stack/index.cjs +2 -1
- package/dist/layouts/Stack/index.cjs.map +1 -1
- package/dist/layouts/Stack/index.d.cts +1 -1
- package/dist/layouts/Stack/index.d.ts +1 -1
- package/dist/layouts/Stack/index.js +1 -1
- package/dist/layouts/TwoColumn/index.cjs +2 -1
- package/dist/layouts/TwoColumn/index.cjs.map +1 -1
- package/dist/layouts/TwoColumn/index.d.cts +1 -1
- package/dist/layouts/TwoColumn/index.d.ts +1 -1
- package/dist/layouts/TwoColumn/index.js +1 -1
- package/dist/layouts/index.cjs +4 -0
- package/dist/layouts/index.d.cts +5 -4
- package/dist/layouts/index.d.ts +5 -4
- package/dist/layouts/index.js +2 -1
- package/dist/patterns/DataTable/index.cjs +6 -2
- package/dist/patterns/DataTable/index.cjs.map +1 -1
- package/dist/patterns/DataTable/index.d.cts +3 -3
- package/dist/patterns/DataTable/index.d.cts.map +1 -1
- package/dist/patterns/DataTable/index.d.ts +3 -3
- package/dist/patterns/DataTable/index.d.ts.map +1 -1
- package/dist/patterns/DataTable/index.js +6 -2
- package/dist/patterns/DataTable/index.js.map +1 -1
- package/dist/patterns/Footer/index.d.cts +7 -7
- package/dist/patterns/Footer/index.d.cts.map +1 -1
- package/dist/patterns/Footer/index.d.ts +7 -7
- package/dist/patterns/Footer/index.d.ts.map +1 -1
- package/dist/patterns/Header/index.d.cts +1 -1
- package/dist/patterns/Header/index.d.ts +1 -1
- package/dist/patterns/MediaObject/index.cjs +1 -1
- package/dist/patterns/MediaObject/index.d.cts +11 -11
- package/dist/patterns/MediaObject/index.d.ts +12 -12
- package/dist/patterns/MediaObject/index.js +1 -1
- package/dist/patterns/NavRail/index.cjs +4 -2
- package/dist/patterns/NavRail/index.cjs.map +1 -1
- package/dist/patterns/NavRail/index.js +4 -2
- package/dist/patterns/NavRail/index.js.map +1 -1
- package/dist/patterns/SectionCard/index.d.cts +2 -2
- package/dist/patterns/SectionCard/index.d.ts +2 -2
- package/dist/patterns/SectionHeading/index.d.cts +2 -2
- package/dist/patterns/index.d.cts +1 -1
- package/dist/patterns/index.d.ts +1 -1
- package/dist/primitives/Accordion/index.cjs +6 -2
- package/dist/primitives/Accordion/index.cjs.map +1 -1
- package/dist/primitives/Accordion/index.js +6 -2
- package/dist/primitives/Accordion/index.js.map +1 -1
- package/dist/primitives/Alert/index.cjs +2 -1
- package/dist/primitives/Alert/index.cjs.map +1 -1
- package/dist/primitives/Alert/index.js +1 -1
- package/dist/primitives/AlertDialog/index.cjs +1 -1
- package/dist/primitives/AlertDialog/index.js +1 -1
- package/dist/primitives/AspectRatio/index.cjs +1 -1
- package/dist/primitives/AspectRatio/index.js +1 -1
- package/dist/primitives/Avatar/index.cjs +1 -1
- package/dist/primitives/Avatar/index.js +1 -1
- package/dist/primitives/Badge/index.cjs +3 -2
- package/dist/primitives/Badge/index.cjs.map +1 -1
- package/dist/primitives/Badge/index.js +2 -2
- package/dist/primitives/Breadcrumb/index.cjs +7 -3
- package/dist/primitives/Breadcrumb/index.cjs.map +1 -1
- package/dist/primitives/Breadcrumb/index.js +7 -3
- package/dist/primitives/Breadcrumb/index.js.map +1 -1
- package/dist/primitives/Button/index.cjs +3 -2
- package/dist/primitives/Button/index.cjs.map +1 -1
- package/dist/primitives/Button/index.js +2 -2
- package/dist/primitives/ButtonGroup/index.cjs +3 -2
- package/dist/primitives/ButtonGroup/index.cjs.map +1 -1
- package/dist/primitives/ButtonGroup/index.js +2 -2
- package/dist/primitives/Calendar/index.cjs +12 -11
- package/dist/primitives/Calendar/index.cjs.map +1 -1
- package/dist/primitives/Calendar/index.js +12 -11
- package/dist/primitives/Calendar/index.js.map +1 -1
- package/dist/primitives/Card/index.cjs +2 -1
- package/dist/primitives/Card/index.cjs.map +1 -1
- package/dist/primitives/Card/index.js +1 -1
- package/dist/primitives/Carousel/index.cjs +4 -3
- package/dist/primitives/Carousel/index.cjs.map +1 -1
- package/dist/primitives/Carousel/index.js +4 -3
- package/dist/primitives/Carousel/index.js.map +1 -1
- package/dist/primitives/Checkbox/index.cjs +9 -2
- package/dist/primitives/Checkbox/index.cjs.map +1 -1
- package/dist/primitives/Checkbox/index.js +9 -2
- package/dist/primitives/Checkbox/index.js.map +1 -1
- package/dist/primitives/CheckboxTree/index.cjs +6 -2
- package/dist/primitives/CheckboxTree/index.cjs.map +1 -1
- package/dist/primitives/CheckboxTree/index.js +6 -2
- package/dist/primitives/CheckboxTree/index.js.map +1 -1
- package/dist/primitives/Collapsible/index.cjs +1 -1
- package/dist/primitives/Collapsible/index.js +1 -1
- package/dist/primitives/Command/index.cjs +6 -2
- package/dist/primitives/Command/index.cjs.map +1 -1
- package/dist/primitives/Command/index.js +6 -2
- package/dist/primitives/Command/index.js.map +1 -1
- package/dist/primitives/ContextMenu/index.cjs +14 -4
- package/dist/primitives/ContextMenu/index.cjs.map +1 -1
- package/dist/primitives/ContextMenu/index.js +14 -4
- package/dist/primitives/ContextMenu/index.js.map +1 -1
- package/dist/primitives/Credits/index.cjs +8 -3
- package/dist/primitives/Credits/index.cjs.map +1 -1
- package/dist/primitives/Credits/index.js +7 -3
- package/dist/primitives/Credits/index.js.map +1 -1
- package/dist/primitives/Dialog/index.cjs +3 -2
- package/dist/primitives/Dialog/index.cjs.map +1 -1
- package/dist/primitives/Dialog/index.js +3 -2
- package/dist/primitives/Dialog/index.js.map +1 -1
- package/dist/primitives/DropdownMenu/index.cjs +14 -4
- package/dist/primitives/DropdownMenu/index.cjs.map +1 -1
- package/dist/primitives/DropdownMenu/index.js +14 -4
- package/dist/primitives/DropdownMenu/index.js.map +1 -1
- package/dist/primitives/Empty/index.cjs +1 -1
- package/dist/primitives/Empty/index.js +1 -1
- package/dist/primitives/Field/index.cjs +1 -1
- package/dist/primitives/Field/index.js +1 -1
- package/dist/primitives/Form/index.cjs +1 -1
- package/dist/primitives/Form/index.js +1 -1
- package/dist/primitives/Heading/index.cjs +2 -1
- package/dist/primitives/Heading/index.cjs.map +1 -1
- package/dist/primitives/Heading/index.js +1 -1
- package/dist/primitives/HoverCard/index.cjs +1 -1
- package/dist/primitives/HoverCard/index.js +1 -1
- package/dist/primitives/InfoBanner/index.cjs +6 -3
- package/dist/primitives/InfoBanner/index.cjs.map +1 -1
- package/dist/primitives/InfoBanner/index.js +5 -3
- package/dist/primitives/InfoBanner/index.js.map +1 -1
- package/dist/primitives/Input/index.cjs +2 -1
- package/dist/primitives/Input/index.cjs.map +1 -1
- package/dist/primitives/Input/index.js +1 -1
- package/dist/primitives/InputGroup/index.cjs +1 -1
- package/dist/primitives/InputGroup/index.js +1 -1
- package/dist/primitives/InputOtp/index.cjs +3 -2
- package/dist/primitives/InputOtp/index.cjs.map +1 -1
- package/dist/primitives/InputOtp/index.js +3 -2
- package/dist/primitives/InputOtp/index.js.map +1 -1
- package/dist/primitives/Item/index.cjs +2 -2
- package/dist/primitives/Item/index.js +2 -2
- package/dist/primitives/Label/index.cjs +1 -1
- package/dist/primitives/Label/index.js +1 -1
- package/dist/primitives/Link/index.cjs +3 -2
- package/dist/primitives/Link/index.cjs.map +1 -1
- package/dist/primitives/Link/index.js +2 -2
- package/dist/primitives/Menubar/index.cjs +14 -4
- package/dist/primitives/Menubar/index.cjs.map +1 -1
- package/dist/primitives/Menubar/index.js +14 -4
- package/dist/primitives/Menubar/index.js.map +1 -1
- package/dist/primitives/NativeSelect/index.cjs +6 -3
- package/dist/primitives/NativeSelect/index.cjs.map +1 -1
- package/dist/primitives/NativeSelect/index.js +5 -3
- package/dist/primitives/NativeSelect/index.js.map +1 -1
- package/dist/primitives/NavigationMenu/index.cjs +5 -3
- package/dist/primitives/NavigationMenu/index.cjs.map +1 -1
- package/dist/primitives/NavigationMenu/index.js +5 -3
- package/dist/primitives/NavigationMenu/index.js.map +1 -1
- package/dist/primitives/Pagination/index.cjs +6 -2
- package/dist/primitives/Pagination/index.cjs.map +1 -1
- package/dist/primitives/Pagination/index.js +6 -2
- package/dist/primitives/Pagination/index.js.map +1 -1
- package/dist/primitives/Popover/index.cjs +1 -1
- package/dist/primitives/Popover/index.js +1 -1
- package/dist/primitives/Progress/index.cjs +1 -1
- package/dist/primitives/Progress/index.js +1 -1
- package/dist/primitives/RadioGroup/index.cjs +6 -2
- package/dist/primitives/RadioGroup/index.cjs.map +1 -1
- package/dist/primitives/RadioGroup/index.js +6 -2
- package/dist/primitives/RadioGroup/index.js.map +1 -1
- package/dist/primitives/Resizable/index.cjs +6 -2
- package/dist/primitives/Resizable/index.cjs.map +1 -1
- package/dist/primitives/Resizable/index.js +6 -2
- package/dist/primitives/Resizable/index.js.map +1 -1
- package/dist/primitives/ScrollArea/index.cjs +1 -1
- package/dist/primitives/ScrollArea/index.js +1 -1
- package/dist/primitives/Select/index.cjs +18 -5
- package/dist/primitives/Select/index.cjs.map +1 -1
- package/dist/primitives/Select/index.js +18 -5
- package/dist/primitives/Select/index.js.map +1 -1
- package/dist/primitives/Separator/index.cjs +1 -1
- package/dist/primitives/Separator/index.js +1 -1
- package/dist/primitives/Sheet/index.cjs +6 -2
- package/dist/primitives/Sheet/index.cjs.map +1 -1
- package/dist/primitives/Sheet/index.js +6 -2
- package/dist/primitives/Sheet/index.js.map +1 -1
- package/dist/primitives/Slider/index.cjs +1 -1
- package/dist/primitives/Slider/index.js +1 -1
- package/dist/primitives/Sonner/index.cjs +22 -6
- package/dist/primitives/Sonner/index.cjs.map +1 -1
- package/dist/primitives/Sonner/index.js +22 -6
- package/dist/primitives/Sonner/index.js.map +1 -1
- package/dist/primitives/Spinner/index.cjs +4 -2
- package/dist/primitives/Spinner/index.cjs.map +1 -1
- package/dist/primitives/Spinner/index.js +4 -2
- package/dist/primitives/Spinner/index.js.map +1 -1
- package/dist/primitives/Switch/index.cjs +1 -1
- package/dist/primitives/Switch/index.js +1 -1
- package/dist/primitives/Tabs/index.cjs +2 -2
- package/dist/primitives/Tabs/index.js +2 -2
- package/dist/primitives/Text/index.cjs +2 -1
- package/dist/primitives/Text/index.cjs.map +1 -1
- package/dist/primitives/Text/index.js +1 -1
- package/dist/primitives/Textarea/index.cjs +2 -1
- package/dist/primitives/Textarea/index.cjs.map +1 -1
- package/dist/primitives/Textarea/index.js +1 -1
- package/dist/primitives/Toggle/index.cjs +3 -2
- package/dist/primitives/Toggle/index.cjs.map +1 -1
- package/dist/primitives/Toggle/index.js +2 -2
- package/dist/primitives/ToggleGroup/index.cjs +1 -1
- package/dist/primitives/ToggleGroup/index.js +1 -1
- package/dist/primitives/Tooltip/index.cjs +1 -1
- package/dist/primitives/Tooltip/index.js +1 -1
- package/dist/primitives/index.cjs +1 -1
- package/dist/primitives/index.js +1 -1
- package/package.json +2 -1
package/dist/Sidebar.js
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { t as cn } from "./cn.js";
|
|
2
|
+
import { t as Icon } from "./Icon.js";
|
|
2
3
|
import { Button } from "./primitives/Button/index.js";
|
|
3
4
|
import { Separator as Separator$1 } from "./primitives/Separator/index.js";
|
|
4
5
|
import { Input } from "./primitives/Input/index.js";
|
|
5
6
|
import { Tooltip as Tooltip$1, TooltipContent, TooltipProvider, TooltipTrigger } from "./primitives/Tooltip/index.js";
|
|
6
7
|
import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from "./primitives/Sheet/index.js";
|
|
7
8
|
import { Skeleton } from "./primitives/Skeleton/index.js";
|
|
9
|
+
import { cva } from "class-variance-authority";
|
|
8
10
|
import * as React from "react";
|
|
11
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
12
|
import { PanelLeftIcon } from "lucide-react";
|
|
10
13
|
import { Slot } from "radix-ui";
|
|
11
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
-
import { cva } from "class-variance-authority";
|
|
13
14
|
//#region src/utils/use-mobile.ts
|
|
14
15
|
const MOBILE_BREAKPOINT = 768;
|
|
15
16
|
function useIsMobile() {
|
|
@@ -171,7 +172,7 @@ function SidebarTrigger({ className, onClick, ...props }) {
|
|
|
171
172
|
toggleSidebar();
|
|
172
173
|
},
|
|
173
174
|
...props,
|
|
174
|
-
children: [/* @__PURE__ */ jsx(
|
|
175
|
+
children: [/* @__PURE__ */ jsx(Icon, { as: PanelLeftIcon }), /* @__PURE__ */ jsx("span", {
|
|
175
176
|
className: "sr-only",
|
|
176
177
|
children: "Toggle Sidebar"
|
|
177
178
|
})]
|
package/dist/Sidebar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sidebar.js","names":["Separator","Tooltip"],"sources":["../src/utils/use-mobile.ts","../src/primitives/Sidebar/Sidebar.tsx"],"sourcesContent":["import * as React from \"react\";\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined);\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n };\n mql.addEventListener(\"change\", onChange);\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n return () => mql.removeEventListener(\"change\", onChange);\n }, []);\n\n return !!isMobile;\n}\n","\"use client\";\n\nimport { type VariantProps, cva } from \"class-variance-authority\";\nimport { PanelLeftIcon } from \"lucide-react\";\nimport { Slot } from \"radix-ui\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/primitives/Button\";\nimport { Input } from \"@/primitives/Input\";\nimport { Separator } from \"@/primitives/Separator\";\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from \"@/primitives/Sheet\";\nimport { Skeleton } from \"@/primitives/Skeleton\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"@/primitives/Tooltip\";\nimport { useIsMobile } from \"@/utils\";\nimport { cn } from \"@/utils\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = \"16rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\ntype SidebarContextProps = {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\n/** Hook to read/control sidebar state (open, toggle, mobile); must be used inside `SidebarProvider`. */\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n}\n\n/** Context provider that owns the sidebar open/collapsed state and the toggle keyboard shortcut. Wrap your layout in this. */\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Initial open state when uncontrolled. */\n defaultOpen?: boolean;\n /** Controlled open state; pair with `onOpenChange`. */\n open?: boolean;\n /** Called when the open state changes (controlled mode). */\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-muted-bg flex min-h-svh w-full\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\n/** The sidebar panel itself: renders as a fixed desktop rail or a mobile Sheet, driven by `SidebarProvider` state. */\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Which edge the sidebar sits on. */\n side?: \"left\" | \"right\";\n /** Visual treatment: standard rail, a floating card, or an inset surface. */\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n /** How the sidebar collapses: slide off-canvas, shrink to an icon rail, or never collapse. */\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"bg-muted-bg text-primary-txt flex h-full w-(--sidebar-width) flex-col\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-muted-bg text-primary-txt w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-primary-txt hidden md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\",\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"bg-muted-bg group-data-[variant=floating]:border-primary-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-8 group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/** Icon button that toggles the sidebar open/collapsed. */\nfunction SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"size-7\", className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\n/** Thin draggable rail along the sidebar edge that toggles it on click. */\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"hover:after:bg-primary-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-1 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offcanvas]:bg-muted-bg group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** The main content region that sits beside the sidebar. */\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"bg-primary-bg relative flex w-full flex-1 flex-col\",\n \"md:peer-data-[variant=inset]:m-0.5 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-12 md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-0.5\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Sidebar-styled text input, e.g. for a search field in the header. */\nfunction SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\"bg-primary-bg h-8 w-full shadow-none\", className)}\n {...props}\n />\n );\n}\n\n/** Top region of the sidebar, typically a brand mark or workspace switcher. */\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\n/** Bottom region of the sidebar, typically a user menu or settings link. */\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\n/** Horizontal divider between sidebar sections, inset to match the sidebar padding. */\nfunction SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"bg-primary-border mx-0.5 w-auto\", className)}\n {...props}\n />\n );\n}\n\n/** Scrollable middle region of the sidebar that holds the groups and menus. */\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** A labelled section within the sidebar content. */\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n );\n}\n\n/** Heading for a `SidebarGroup`; hidden when the sidebar is collapsed to icons. */\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Render as the child element (Radix Slot) instead of a `div`. */\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"div\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n \"text-primary-txt/70 ring-focus flex h-8 shrink-0 items-center rounded-6 px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-1 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Small action button anchored to the top-right of a `SidebarGroup` (e.g. an add button). */\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n /** Render as the child element (Radix Slot) instead of a `button`. */\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n \"text-primary-txt ring-focus hover:bg-secondary-bg hover:text-primary-txt absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-6 p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-1 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Wrapper for the body of a `SidebarGroup`, below its label. */\nfunction SidebarGroupContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n );\n}\n\n/** `ul` list container for sidebar menu items. */\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\n/** `li` row within a `SidebarMenu`; holds a button plus optional action/badge. */\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n );\n}\n\n/** Style variants for `SidebarMenuButton` — `variant` (default | outline) and `size` (default | sm | lg). */\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-6 p-2 text-left text-sm outline-hidden ring-focus transition-[width,height,padding] hover:bg-secondary-bg/50 hover:text-primary-txt focus-visible:ring-2 active:bg-secondary-bg active:text-primary-txt disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-2 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-secondary-bg data-[active=true]:font-medium data-[active=true]:text-primary-txt data-[state=open]:hover:bg-secondary-bg/50 data-[state=open]:hover:text-primary-txt group-data-[collapsible=icon]:size-2! group-data-[collapsible=icon]:p-0.5! [&>span:last-child]:truncate [&>svg]:size-1 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-secondary-bg/50 hover:text-primary-txt\",\n outline:\n \"bg-primary-bg shadow-[0_0_0_1px_var(--primary-border)] hover:bg-secondary-bg/50 hover:text-primary-txt hover:shadow-[0_0_0_1px_var(--secondary-bg)]\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\n/** The primary clickable item in a sidebar menu; shows a tooltip when collapsed to icons. */\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & {\n /** Render as the child element (Radix Slot), e.g. to wrap a link. */\n asChild?: boolean;\n /** Marks the item as the current/active route. */\n isActive?: boolean;\n /** Tooltip shown when the sidebar is collapsed to icons; string or `TooltipContent` props. */\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot.Root : \"button\";\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\n/** Secondary action button anchored to the right of a menu item (e.g. a kebab menu). */\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n /** Render as the child element (Radix Slot) instead of a `button`. */\n asChild?: boolean;\n /** Only reveal the action on row hover/focus instead of always showing it. */\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n \"text-primary-txt ring-focus hover:bg-secondary-bg hover:text-primary-txt peer-hover/menu-button:text-primary-txt absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-6 p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-1 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"peer-data-[active=true]/menu-button:text-primary-txt group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Count/status badge anchored to the right of a menu item. */\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"text-primary-txt pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-6 px-1 text-xs font-medium tabular-nums select-none\",\n \"peer-hover/menu-button:text-primary-txt peer-data-[active=true]/menu-button:text-primary-txt\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Loading placeholder for a menu item, with a random text width for a natural skeleton. */\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Also render a square icon placeholder before the text. */\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-2 rounded-6 px-2\", className)}\n {...props}\n >\n {showIcon && <Skeleton className=\"size-4 rounded-6\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\n/** Nested `ul` list of sub-items under a menu item; hidden when collapsed to icons. */\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"border-primary-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** `li` row within a `SidebarMenuSub`. */\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n );\n}\n\n/** Clickable link for a sub-menu item (renders as an `a` by default). */\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n /** Render as the child element (Radix Slot) instead of an `a`. */\n asChild?: boolean;\n /** Text size of the sub-button. */\n size?: \"sm\" | \"md\";\n /** Marks the sub-item as the current/active route. */\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"a\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"text-primary-txt ring-focus hover:bg-secondary-bg/50 hover:text-primary-txt active:bg-secondary-bg active:text-primary-txt [&>svg]:text-primary-txt flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-6 px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-1 [&>svg]:shrink-0\",\n \"data-[active=true]:bg-secondary-bg data-[active=true]:font-medium data-[active=true]:text-primary-txt\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"],"mappings":";;;;;;;;;;;;;AAEA,MAAM,oBAAoB;AAE1B,SAAgB,cAAc;CAC5B,MAAM,CAAC,UAAU,eAAe,MAAM,SAA8B,KAAA,CAAS;CAE7E,MAAM,gBAAgB;EACpB,MAAM,MAAM,OAAO,WAAW,eAAe,oBAAoB,EAAE,IAAI;EACvE,MAAM,iBAAiB;GACrB,YAAY,OAAO,aAAa,iBAAiB;EACnD;EACA,IAAI,iBAAiB,UAAU,QAAQ;EACvC,YAAY,OAAO,aAAa,iBAAiB;EACjD,aAAa,IAAI,oBAAoB,UAAU,QAAQ;CACzD,GAAG,CAAC,CAAC;CAEL,OAAO,CAAC,CAAC;AACX;;;ACFA,MAAM,sBAAsB;AAC5B,MAAM,yBAAyB,OAAU,KAAK;AAC9C,MAAM,gBAAgB;AACtB,MAAM,uBAAuB;AAC7B,MAAM,qBAAqB;AAC3B,MAAM,4BAA4B;AAYlC,MAAM,iBAAiB,MAAM,cAA0C,IAAI;;AAG3E,SAAS,aAAa;CACpB,MAAM,UAAU,MAAM,WAAW,cAAc;CAC/C,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,mDAAmD;CAGrE,OAAO;AACT;;AAGA,SAAS,gBAAgB,EACvB,cAAc,MACd,MAAM,UACN,cAAc,aACd,WACA,OACA,UACA,GAAG,SAQF;CACD,MAAM,WAAW,YAAY;CAC7B,MAAM,CAAC,YAAY,iBAAiB,MAAM,SAAS,KAAK;CAIxD,MAAM,CAAC,OAAO,YAAY,MAAM,SAAS,WAAW;CACpD,MAAM,OAAO,YAAY;CACzB,MAAM,UAAU,MAAM,aACnB,UAAmD;EAClD,MAAM,YAAY,OAAO,UAAU,aAAa,MAAM,IAAI,IAAI;EAC9D,IAAI,aACF,YAAY,SAAS;OAErB,SAAS,SAAS;EAIpB,SAAS,SAAS,GAAG,oBAAoB,GAAG,UAAU,oBAAoB;CAC5E,GACA,CAAC,aAAa,IAAI,CACpB;CAGA,MAAM,gBAAgB,MAAM,kBAAkB;EAC5C,OAAO,WAAW,eAAe,SAAS,CAAC,IAAI,IAAI,SAAS,SAAS,CAAC,IAAI;CAC5E,GAAG;EAAC;EAAU;EAAS;CAAa,CAAC;CAGrC,MAAM,gBAAgB;EACpB,MAAM,iBAAiB,UAAyB;GAC9C,IAAI,MAAM,QAAQ,8BAA8B,MAAM,WAAW,MAAM,UAAU;IAC/E,MAAM,eAAe;IACrB,cAAc;GAChB;EACF;EAEA,OAAO,iBAAiB,WAAW,aAAa;EAChD,aAAa,OAAO,oBAAoB,WAAW,aAAa;CAClE,GAAG,CAAC,aAAa,CAAC;CAIlB,MAAM,QAAQ,OAAO,aAAa;CAElC,MAAM,eAAe,MAAM,eAClB;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EAAC;EAAO;EAAM;EAAS;EAAU;EAAY;EAAe;CAAa,CAC3E;CAEA,OACE,oBAAC,eAAe,UAAhB;EAAyB,OAAO;YAC9B,oBAAC,iBAAD;GAAiB,eAAe;aAC9B,oBAAC,OAAD;IACE,aAAU;IACV,OACE;KACE,mBAAmB;KACnB,wBAAwB;KACxB,GAAG;IACL;IAEF,WAAW,GACT,oFACA,SACF;IACA,GAAI;IAEH;GACE,CAAA;EACU,CAAA;CACM,CAAA;AAE7B;;AAGA,SAAS,QAAQ,EACf,OAAO,QACP,UAAU,WACV,cAAc,aACd,WACA,UACA,GAAG,SAQF;CACD,MAAM,EAAE,UAAU,OAAO,YAAY,kBAAkB,WAAW;CAElE,IAAI,gBAAgB,QAClB,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GACT,yEACA,SACF;EACA,GAAI;EAEH;CACE,CAAA;CAIT,IAAI,UACF,OACE,oBAAC,OAAD;EAAO,MAAM;EAAY,cAAc;EAAe,GAAI;YACxD,qBAAC,cAAD;GACE,gBAAa;GACb,aAAU;GACV,eAAY;GACZ,WAAU;GACV,OACE,EACE,mBAAmB,qBACrB;GAEI;aAVR,CAYE,qBAAC,aAAD;IAAa,WAAU;cAAvB,CACE,oBAAC,YAAD,EAAA,UAAY,UAAmB,CAAA,GAC/B,oBAAC,kBAAD,EAAA,UAAkB,+BAA8C,CAAA,CACrD;OACb,oBAAC,OAAD;IAAK,WAAU;IAA+B;GAAc,CAAA,CAChD;;CACT,CAAA;CAIX,OACE,qBAAC,OAAD;EACE,WAAU;EACV,cAAY;EACZ,oBAAkB,UAAU,cAAc,cAAc;EACxD,gBAAc;EACd,aAAW;EACX,aAAU;YANZ,CASE,oBAAC,OAAD;GACE,aAAU;GACV,WAAW,GACT,2FACA,0CACA,sCACA,YAAY,cAAc,YAAY,UAClC,qFACA,wDACN;EACD,CAAA,GACD,oBAAC,OAAD;GACE,aAAU;GACV,WAAW,GACT,wHACA,SAAS,SACL,mFACA,oFAEJ,YAAY,cAAc,YAAY,UAClC,6FACA,2HACJ,SACF;GACA,GAAI;aAEJ,oBAAC,OAAD;IACE,gBAAa;IACb,aAAU;IACV,WAAU;IAET;GACE,CAAA;EACF,CAAA,CACF;;AAET;;AAGA,SAAS,eAAe,EAAE,WAAW,SAAS,GAAG,SAA8C;CAC7F,MAAM,EAAE,kBAAkB,WAAW;CAErC,OACE,qBAAC,QAAD;EACE,gBAAa;EACb,aAAU;EACV,SAAQ;EACR,MAAK;EACL,WAAW,GAAG,UAAU,SAAS;EACjC,UAAU,UAAU;GAClB,UAAU,KAAK;GACf,cAAc;EAChB;EACA,GAAI;YAVN,CAYE,oBAAC,eAAD,CAAgB,CAAA,GAChB,oBAAC,QAAD;GAAM,WAAU;aAAU;EAAoB,CAAA,CACxC;;AAEZ;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAyC;CAC5E,MAAM,EAAE,kBAAkB,WAAW;CAErC,OACE,oBAAC,UAAD;EACE,gBAAa;EACb,aAAU;EACV,cAAW;EACX,UAAU;EACV,SAAS;EACT,OAAM;EACN,WAAW,GACT,iPACA,4EACA,0HACA,4JACA,6DACA,6DACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAuC;CAC3E,OACE,oBAAC,QAAD;EACE,aAAU;EACV,WAAW,GACT,sDACA,uNACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,aAAa,EAAE,WAAW,GAAG,SAA6C;CACjF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,wCAAwC,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;CAC3E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,2BAA2B,SAAS;EAClD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,cAAc,EAAE,WAAW,GAAG,SAAsC;CAC3E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,2BAA2B,SAAS;EAClD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAiD;CACzF,OACE,oBAACA,aAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,mCAAmC,SAAS;EAC1D,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,eAAe,EAAE,WAAW,GAAG,SAAsC;CAC5E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GACT,kGACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,aAAa,EAAE,WAAW,GAAG,SAAsC;CAC1E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,6CAA6C,SAAS;EACpE,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,kBAAkB,EACzB,WACA,UAAU,OACV,GAAG,SAIF;CAGD,OACE,oBAHW,UAAU,KAAK,OAAO,OAGjC;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GACT,6NACA,+EACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,mBAAmB,EAC1B,WACA,UAAU,OACV,GAAG,SAIF;CAGD,OACE,oBAHW,UAAU,KAAK,OAAO,UAGjC;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GACT,+PAEA,iDACA,wCACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,oBAAoB,EAAE,WAAW,GAAG,SAAsC;CACjF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,kBAAkB,SAAS;EACzC,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAqC;CACxE,OACE,oBAAC,MAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,sCAAsC,SAAS;EAC7D,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAqC;CAC5E,OACE,oBAAC,MAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,4BAA4B,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;;AAGA,MAAM,4BAA4B,IAChC,qvBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SACE;EACJ;EACA,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,MAAM;CACR;AACF,CACF;;AAGA,SAAS,kBAAkB,EACzB,UAAU,OACV,WAAW,OACX,UAAU,WACV,OAAO,WACP,SACA,WACA,GAAG,SAQ+C;CAClD,MAAM,OAAO,UAAU,KAAK,OAAO;CACnC,MAAM,EAAE,UAAU,UAAU,WAAW;CAEvC,MAAM,SACJ,oBAAC,MAAD;EACE,aAAU;EACV,gBAAa;EACb,aAAW;EACX,eAAa;EACb,WAAW,GAAG,0BAA0B;GAAE;GAAS;EAAK,CAAC,GAAG,SAAS;EACrE,GAAI;CACL,CAAA;CAGH,IAAI,CAAC,SACH,OAAO;CAGT,IAAI,OAAO,YAAY,UACrB,UAAU,EACR,UAAU,QACZ;CAGF,OACE,qBAACC,WAAD,EAAA,UAAA,CACE,oBAAC,gBAAD;EAAgB,SAAA;YAAS;CAAuB,CAAA,GAChD,oBAAC,gBAAD;EACE,MAAK;EACL,OAAM;EACN,QAAQ,UAAU,eAAe;EACjC,GAAI;CACL,CAAA,CACM,EAAA,CAAA;AAEb;;AAGA,SAAS,kBAAkB,EACzB,WACA,UAAU,OACV,cAAc,OACd,GAAG,SAMF;CAGD,OACE,oBAHW,UAAU,KAAK,OAAO,UAGjC;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GACT,uSAEA,iDACA,yCACA,gDACA,2CACA,wCACA,eACE,8KACF,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GACT,kKACA,gGACA,yCACA,gDACA,2CACA,wCACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,oBAAoB,EAC3B,WACA,WAAW,OACX,GAAG,SAIF;CAED,MAAM,QAAQ,MAAM,cAAc;EAChC,OAAO,GAAG,KAAK,MAAM,KAAK,OAAO,IAAI,EAAE,IAAI,GAAG;CAChD,GAAG,CAAC,CAAC;CAEL,OACE,qBAAC,OAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,8CAA8C,SAAS;EACrE,GAAI;YAJN,CAMG,YAAY,oBAAC,UAAD;GAAU,WAAU;GAAmB,gBAAa;EAAsB,CAAA,GACvF,oBAAC,UAAD;GACE,WAAU;GACV,gBAAa;GACb,OACE,EACE,oBAAoB,MACtB;EAEH,CAAA,CACE;;AAET;;AAGA,SAAS,eAAe,EAAE,WAAW,GAAG,SAAqC;CAC3E,OACE,oBAAC,MAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GACT,kGACA,wCACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAqC;CAC/E,OACE,oBAAC,MAAD;EACE,aAAU;EACV,gBAAa;EACb,WAAW,GAAG,gCAAgC,SAAS;EACvD,GAAI;CACL,CAAA;AAEL;;AAGA,SAAS,qBAAqB,EAC5B,UAAU,OACV,OAAO,MACP,WAAW,OACX,WACA,GAAG,SAQF;CAGD,OACE,oBAHW,UAAU,KAAK,OAAO,KAGjC;EACE,aAAU;EACV,gBAAa;EACb,aAAW;EACX,eAAa;EACb,WAAW,GACT,ubACA,yGACA,SAAS,QAAQ,WACjB,SAAS,QAAQ,WACjB,wCACA,SACF;EACA,GAAI;CACL,CAAA;AAEL"}
|
|
1
|
+
{"version":3,"file":"Sidebar.js","names":["Separator","Tooltip"],"sources":["../src/utils/use-mobile.ts","../src/primitives/Sidebar/Sidebar.tsx"],"sourcesContent":["import * as React from \"react\";\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined);\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n };\n mql.addEventListener(\"change\", onChange);\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n return () => mql.removeEventListener(\"change\", onChange);\n }, []);\n\n return !!isMobile;\n}\n","\"use client\";\n\nimport { Icon } from \"@/primitives/Icon\";\nimport { type VariantProps, cva } from \"class-variance-authority\";\nimport { PanelLeftIcon } from \"lucide-react\";\nimport { Slot } from \"radix-ui\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/primitives/Button\";\nimport { Input } from \"@/primitives/Input\";\nimport { Separator } from \"@/primitives/Separator\";\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from \"@/primitives/Sheet\";\nimport { Skeleton } from \"@/primitives/Skeleton\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"@/primitives/Tooltip\";\nimport { useIsMobile } from \"@/utils\";\nimport { cn } from \"@/utils\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = \"16rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\ntype SidebarContextProps = {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\n/** Hook to read/control sidebar state (open, toggle, mobile); must be used inside `SidebarProvider`. */\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n}\n\n/** Context provider that owns the sidebar open/collapsed state and the toggle keyboard shortcut. Wrap your layout in this. */\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Initial open state when uncontrolled. */\n defaultOpen?: boolean;\n /** Controlled open state; pair with `onOpenChange`. */\n open?: boolean;\n /** Called when the open state changes (controlled mode). */\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-muted-bg flex min-h-svh w-full\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\n/** The sidebar panel itself: renders as a fixed desktop rail or a mobile Sheet, driven by `SidebarProvider` state. */\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Which edge the sidebar sits on. */\n side?: \"left\" | \"right\";\n /** Visual treatment: standard rail, a floating card, or an inset surface. */\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n /** How the sidebar collapses: slide off-canvas, shrink to an icon rail, or never collapse. */\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"bg-muted-bg text-primary-txt flex h-full w-(--sidebar-width) flex-col\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-muted-bg text-primary-txt w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-primary-txt hidden md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\",\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"bg-muted-bg group-data-[variant=floating]:border-primary-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-8 group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/** Icon button that toggles the sidebar open/collapsed. */\nfunction SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"size-7\", className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <Icon as={PanelLeftIcon} />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\n/** Thin draggable rail along the sidebar edge that toggles it on click. */\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"hover:after:bg-primary-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-1 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offcanvas]:bg-muted-bg group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** The main content region that sits beside the sidebar. */\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"bg-primary-bg relative flex w-full flex-1 flex-col\",\n \"md:peer-data-[variant=inset]:m-0.5 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-12 md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-0.5\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Sidebar-styled text input, e.g. for a search field in the header. */\nfunction SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\"bg-primary-bg h-8 w-full shadow-none\", className)}\n {...props}\n />\n );\n}\n\n/** Top region of the sidebar, typically a brand mark or workspace switcher. */\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\n/** Bottom region of the sidebar, typically a user menu or settings link. */\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\n/** Horizontal divider between sidebar sections, inset to match the sidebar padding. */\nfunction SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"bg-primary-border mx-0.5 w-auto\", className)}\n {...props}\n />\n );\n}\n\n/** Scrollable middle region of the sidebar that holds the groups and menus. */\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** A labelled section within the sidebar content. */\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n );\n}\n\n/** Heading for a `SidebarGroup`; hidden when the sidebar is collapsed to icons. */\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Render as the child element (Radix Slot) instead of a `div`. */\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"div\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n \"text-primary-txt/70 ring-focus flex h-8 shrink-0 items-center rounded-6 px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-1 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Small action button anchored to the top-right of a `SidebarGroup` (e.g. an add button). */\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n /** Render as the child element (Radix Slot) instead of a `button`. */\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n \"text-primary-txt ring-focus hover:bg-secondary-bg hover:text-primary-txt absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-6 p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-1 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Wrapper for the body of a `SidebarGroup`, below its label. */\nfunction SidebarGroupContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n );\n}\n\n/** `ul` list container for sidebar menu items. */\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\n/** `li` row within a `SidebarMenu`; holds a button plus optional action/badge. */\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n );\n}\n\n/** Style variants for `SidebarMenuButton` — `variant` (default | outline) and `size` (default | sm | lg). */\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-6 p-2 text-left text-sm outline-hidden ring-focus transition-[width,height,padding] hover:bg-secondary-bg/50 hover:text-primary-txt focus-visible:ring-2 active:bg-secondary-bg active:text-primary-txt disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-2 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-secondary-bg data-[active=true]:font-medium data-[active=true]:text-primary-txt data-[state=open]:hover:bg-secondary-bg/50 data-[state=open]:hover:text-primary-txt group-data-[collapsible=icon]:size-2! group-data-[collapsible=icon]:p-0.5! [&>span:last-child]:truncate [&>svg]:size-1 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-secondary-bg/50 hover:text-primary-txt\",\n outline:\n \"bg-primary-bg shadow-[0_0_0_1px_var(--primary-border)] hover:bg-secondary-bg/50 hover:text-primary-txt hover:shadow-[0_0_0_1px_var(--secondary-bg)]\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\n/** The primary clickable item in a sidebar menu; shows a tooltip when collapsed to icons. */\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & {\n /** Render as the child element (Radix Slot), e.g. to wrap a link. */\n asChild?: boolean;\n /** Marks the item as the current/active route. */\n isActive?: boolean;\n /** Tooltip shown when the sidebar is collapsed to icons; string or `TooltipContent` props. */\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot.Root : \"button\";\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\n/** Secondary action button anchored to the right of a menu item (e.g. a kebab menu). */\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n /** Render as the child element (Radix Slot) instead of a `button`. */\n asChild?: boolean;\n /** Only reveal the action on row hover/focus instead of always showing it. */\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n \"text-primary-txt ring-focus hover:bg-secondary-bg hover:text-primary-txt peer-hover/menu-button:text-primary-txt absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-6 p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-1 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"peer-data-[active=true]/menu-button:text-primary-txt group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Count/status badge anchored to the right of a menu item. */\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"text-primary-txt pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-6 px-1 text-xs font-medium tabular-nums select-none\",\n \"peer-hover/menu-button:text-primary-txt peer-data-[active=true]/menu-button:text-primary-txt\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Loading placeholder for a menu item, with a random text width for a natural skeleton. */\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Also render a square icon placeholder before the text. */\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-2 rounded-6 px-2\", className)}\n {...props}\n >\n {showIcon && <Skeleton className=\"size-4 rounded-6\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\n/** Nested `ul` list of sub-items under a menu item; hidden when collapsed to icons. */\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"border-primary-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** `li` row within a `SidebarMenuSub`. */\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n );\n}\n\n/** Clickable link for a sub-menu item (renders as an `a` by default). */\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n /** Render as the child element (Radix Slot) instead of an `a`. */\n asChild?: boolean;\n /** Text size of the sub-button. */\n size?: \"sm\" | \"md\";\n /** Marks the sub-item as the current/active route. */\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"a\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"text-primary-txt ring-focus hover:bg-secondary-bg/50 hover:text-primary-txt active:bg-secondary-bg active:text-primary-txt [&>svg]:text-primary-txt flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-6 px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-1 [&>svg]:shrink-0\",\n \"data-[active=true]:bg-secondary-bg data-[active=true]:font-medium data-[active=true]:text-primary-txt\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"],"mappings":"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"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_cn = require("./cn.cjs");
|
|
3
3
|
const require_Sidebar = require("./Sidebar.cjs");
|
|
4
|
+
const require_Icon = require("./Icon.cjs");
|
|
4
5
|
const require_primitives_Accordion_index = require("./primitives/Accordion/index.cjs");
|
|
5
6
|
const require_primitives_Alert_index = require("./primitives/Alert/index.cjs");
|
|
6
7
|
const require_primitives_Spinner_index = require("./primitives/Spinner/index.cjs");
|
|
@@ -31,7 +32,6 @@ const require_primitives_Field_index = require("./primitives/Field/index.cjs");
|
|
|
31
32
|
const require_primitives_Form_index = require("./primitives/Form/index.cjs");
|
|
32
33
|
const require_primitives_Heading_index = require("./primitives/Heading/index.cjs");
|
|
33
34
|
const require_primitives_HoverCard_index = require("./primitives/HoverCard/index.cjs");
|
|
34
|
-
const require_Icon = require("./Icon.cjs");
|
|
35
35
|
const require_primitives_InfoBanner_index = require("./primitives/InfoBanner/index.cjs");
|
|
36
36
|
const require_primitives_Input_index = require("./primitives/Input/index.cjs");
|
|
37
37
|
const require_primitives_Textarea_index = require("./primitives/Textarea/index.cjs");
|
|
@@ -66,6 +66,7 @@ const require_primitives_Toggle_index = require("./primitives/Toggle/index.cjs")
|
|
|
66
66
|
const require_primitives_ToggleGroup_index = require("./primitives/ToggleGroup/index.cjs");
|
|
67
67
|
require("./primitives/index.cjs");
|
|
68
68
|
const require_layouts_Container_index = require("./layouts/Container/index.cjs");
|
|
69
|
+
const require_MultiColumn = require("./MultiColumn.cjs");
|
|
69
70
|
const require_layouts_PageBackground_index = require("./layouts/PageBackground/index.cjs");
|
|
70
71
|
const require_layouts_Stack_index = require("./layouts/Stack/index.cjs");
|
|
71
72
|
const require_layouts_TwoColumn_index = require("./layouts/TwoColumn/index.cjs");
|
|
@@ -269,6 +270,8 @@ exports.MenubarSub = require_primitives_Menubar_index.MenubarSub;
|
|
|
269
270
|
exports.MenubarSubContent = require_primitives_Menubar_index.MenubarSubContent;
|
|
270
271
|
exports.MenubarSubTrigger = require_primitives_Menubar_index.MenubarSubTrigger;
|
|
271
272
|
exports.MenubarTrigger = require_primitives_Menubar_index.MenubarTrigger;
|
|
273
|
+
exports.MultiColumn = require_MultiColumn.MultiColumn;
|
|
274
|
+
exports.MultiColumnItem = require_MultiColumn.MultiColumnItem;
|
|
272
275
|
exports.NativeSelect = require_primitives_NativeSelect_index.NativeSelect;
|
|
273
276
|
exports.NavRail = require_patterns_NavRail_index.NavRail;
|
|
274
277
|
exports.NavRailItem = require_patterns_NavRail_index.NavRailItem;
|
|
@@ -403,6 +406,7 @@ exports.headingVariants = require_primitives_Heading_index.headingVariants;
|
|
|
403
406
|
exports.infoBannerVariants = require_primitives_InfoBanner_index.infoBannerVariants;
|
|
404
407
|
exports.inputVariants = require_primitives_Input_index.inputVariants;
|
|
405
408
|
exports.linkVariants = require_primitives_Link_index.linkVariants;
|
|
409
|
+
exports.multiColumnVariants = require_MultiColumn.multiColumnVariants;
|
|
406
410
|
exports.nativeSelectVariants = require_primitives_NativeSelect_index.nativeSelectVariants;
|
|
407
411
|
exports.navigationMenuTriggerStyle = require_primitives_NavigationMenu_index.navigationMenuTriggerStyle;
|
|
408
412
|
exports.stackVariants = require_layouts_Stack_index.stackVariants;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime26 from "react/jsx-runtime";
|
|
2
2
|
import { Accordion } from "radix-ui";
|
|
3
3
|
|
|
4
4
|
//#region src/primitives/Accordion/Accordion.d.ts
|
|
@@ -10,24 +10,24 @@ declare function Accordion$1({
|
|
|
10
10
|
}: React.ComponentProps<typeof Accordion.Root> & {
|
|
11
11
|
/** Visual style: `line` (divider rows) or `bordered` (rounded border with inset rows). */
|
|
12
12
|
variant?: "line" | "bordered";
|
|
13
|
-
}):
|
|
13
|
+
}): react_jsx_runtime26.JSX.Element;
|
|
14
14
|
/** A single collapsible section; identified by its required `value`. */
|
|
15
15
|
declare function AccordionItem({
|
|
16
16
|
className,
|
|
17
17
|
...props
|
|
18
|
-
}: React.ComponentProps<typeof Accordion.Item>):
|
|
18
|
+
}: React.ComponentProps<typeof Accordion.Item>): react_jsx_runtime26.JSX.Element;
|
|
19
19
|
/** The clickable header that toggles its section open or closed. */
|
|
20
20
|
declare function AccordionTrigger({
|
|
21
21
|
className,
|
|
22
22
|
children,
|
|
23
23
|
...props
|
|
24
|
-
}: React.ComponentProps<typeof Accordion.Trigger>):
|
|
24
|
+
}: React.ComponentProps<typeof Accordion.Trigger>): react_jsx_runtime26.JSX.Element;
|
|
25
25
|
/** The animated collapsible panel revealed when its section is open. */
|
|
26
26
|
declare function AccordionContent({
|
|
27
27
|
className,
|
|
28
28
|
children,
|
|
29
29
|
...props
|
|
30
|
-
}: React.ComponentProps<typeof Accordion.Content>):
|
|
30
|
+
}: React.ComponentProps<typeof Accordion.Content>): react_jsx_runtime26.JSX.Element;
|
|
31
31
|
//#endregion
|
|
32
32
|
export { AccordionTrigger as i, AccordionContent as n, AccordionItem as r, Accordion$1 as t };
|
|
33
33
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/primitives/Accordion/Accordion.tsx"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/primitives/Accordion/Accordion.tsx"],"mappings":";;;;;iBAMS,WAAA;;;;GAIN,KAAA,CAAM,sBAAsB,SAAA,CAAmB;;EAJzC,OAAA,CAAA,EAAA,MAAS,GAAA,UAAA;CAAA,CAAA,EAOjB,mBAAA,CAAA,GAAA,CAAA,OAPiB;;iBAyBT,aAAA,CAvBP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0BC,KAAA,CAAM,cA1BP,CAAA,OA0B6B,SAAA,CAAmB,IA1BhD,CAAA,CAAA,EA0BqD,mBAAA,CAAA,GAAA,CAAA,OA1BrD;;iBAwCO,gBAAA,CAtCA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA0CN,KAAA,CAAM,cA1CA,CAAA,OA0CsB,SAAA,CAAmB,OA1CzC,CAAA,CAAA,EA0CiD,mBAAA,CAAA,GAAA,CAAA,OA1CjD;;AAGR,iBA8DQ,gBAAA,CA9DR;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAkEE,KAAA,CAAM,cAlER,CAAA,OAkE8B,SAAA,CAAmB,OAlEjD,CAAA,CAAA,EAkEyD,mBAAA,CAAA,GAAA,CAAA,OAlEzD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import * as react_jsx_runtime196 from "react/jsx-runtime";
|
|
1
2
|
import { Accordion } from "radix-ui";
|
|
2
|
-
import * as react_jsx_runtime307 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/primitives/Accordion/Accordion.d.ts
|
|
5
5
|
/** A vertically stacked set of collapsible sections built on Radix Accordion. */
|
|
@@ -10,24 +10,24 @@ declare function Accordion$1({
|
|
|
10
10
|
}: React.ComponentProps<typeof Accordion.Root> & {
|
|
11
11
|
/** Visual style: `line` (divider rows) or `bordered` (rounded border with inset rows). */
|
|
12
12
|
variant?: "line" | "bordered";
|
|
13
|
-
}):
|
|
13
|
+
}): react_jsx_runtime196.JSX.Element;
|
|
14
14
|
/** A single collapsible section; identified by its required `value`. */
|
|
15
15
|
declare function AccordionItem({
|
|
16
16
|
className,
|
|
17
17
|
...props
|
|
18
|
-
}: React.ComponentProps<typeof Accordion.Item>):
|
|
18
|
+
}: React.ComponentProps<typeof Accordion.Item>): react_jsx_runtime196.JSX.Element;
|
|
19
19
|
/** The clickable header that toggles its section open or closed. */
|
|
20
20
|
declare function AccordionTrigger({
|
|
21
21
|
className,
|
|
22
22
|
children,
|
|
23
23
|
...props
|
|
24
|
-
}: React.ComponentProps<typeof Accordion.Trigger>):
|
|
24
|
+
}: React.ComponentProps<typeof Accordion.Trigger>): react_jsx_runtime196.JSX.Element;
|
|
25
25
|
/** The animated collapsible panel revealed when its section is open. */
|
|
26
26
|
declare function AccordionContent({
|
|
27
27
|
className,
|
|
28
28
|
children,
|
|
29
29
|
...props
|
|
30
|
-
}: React.ComponentProps<typeof Accordion.Content>):
|
|
30
|
+
}: React.ComponentProps<typeof Accordion.Content>): react_jsx_runtime196.JSX.Element;
|
|
31
31
|
//#endregion
|
|
32
32
|
export { AccordionTrigger as i, AccordionContent as n, AccordionItem as r, Accordion$1 as t };
|
|
33
33
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/primitives/Accordion/Accordion.tsx"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/primitives/Accordion/Accordion.tsx"],"mappings":";;;;;iBAMS,WAAA;;;;GAIN,KAAA,CAAM,sBAAsB,SAAA,CAAmB;;EAJzC,OAAA,CAAA,EAAA,MAAS,GAAA,UAAA;CAAA,CAAA,EAOjB,oBAAA,CAAA,GAAA,CAAA,OAPiB;;iBAyBT,aAAA,CAvBP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0BC,KAAA,CAAM,cA1BP,CAAA,OA0B6B,SAAA,CAAmB,IA1BhD,CAAA,CAAA,EA0BqD,oBAAA,CAAA,GAAA,CAAA,OA1BrD;;iBAwCO,gBAAA,CAtCA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA0CN,KAAA,CAAM,cA1CA,CAAA,OA0CsB,SAAA,CAAmB,OA1CzC,CAAA,CAAA,EA0CiD,oBAAA,CAAA,GAAA,CAAA,OA1CjD;;AAGR,iBA8DQ,gBAAA,CA9DR;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAkEE,KAAA,CAAM,cAlER,CAAA,OAkE8B,SAAA,CAAmB,OAlEjD,CAAA,CAAA,EAkEyD,oBAAA,CAAA,GAAA,CAAA,OAlEzD"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { t as cn } from "./cn.js";
|
|
2
2
|
import { C as SidebarTrigger, S as SidebarSeparator, T as useIsMobile, _ as SidebarMenuSub, a as SidebarGroupAction, b as SidebarProvider, c as SidebarHeader, d as SidebarMenu, f as SidebarMenuAction, g as SidebarMenuSkeleton, h as SidebarMenuItem, i as SidebarGroup, l as SidebarInput, m as SidebarMenuButton, n as SidebarContent, o as SidebarGroupContent, p as SidebarMenuBadge, r as SidebarFooter, s as SidebarGroupLabel, t as Sidebar, u as SidebarInset, v as SidebarMenuSubButton, w as useSidebar, x as SidebarRail, y as SidebarMenuSubItem } from "./Sidebar.js";
|
|
3
|
+
import { n as ICON_NAMES, t as Icon } from "./Icon.js";
|
|
3
4
|
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "./primitives/Accordion/index.js";
|
|
4
5
|
import { Alert, AlertAction, AlertContent, AlertDescription, AlertTitle } from "./primitives/Alert/index.js";
|
|
5
6
|
import { Spinner } from "./primitives/Spinner/index.js";
|
|
@@ -30,7 +31,6 @@ import { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLab
|
|
|
30
31
|
import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField } from "./primitives/Form/index.js";
|
|
31
32
|
import { Heading, headingVariants } from "./primitives/Heading/index.js";
|
|
32
33
|
import { HoverCard, HoverCardContent, HoverCardTrigger } from "./primitives/HoverCard/index.js";
|
|
33
|
-
import { n as ICON_NAMES, t as Icon } from "./Icon.js";
|
|
34
34
|
import { InfoBanner, infoBannerVariants } from "./primitives/InfoBanner/index.js";
|
|
35
35
|
import { Input, inputVariants } from "./primitives/Input/index.js";
|
|
36
36
|
import { Textarea, textareaVariants } from "./primitives/Textarea/index.js";
|
|
@@ -65,9 +65,10 @@ import { Toggle, toggleVariants } from "./primitives/Toggle/index.js";
|
|
|
65
65
|
import { ToggleGroup, ToggleGroupItem } from "./primitives/ToggleGroup/index.js";
|
|
66
66
|
import "./primitives/index.js";
|
|
67
67
|
import { Container, containerVariants } from "./layouts/Container/index.js";
|
|
68
|
+
import { n as MultiColumnItem, r as multiColumnVariants, t as MultiColumn } from "./MultiColumn.js";
|
|
68
69
|
import { PageBackground } from "./layouts/PageBackground/index.js";
|
|
69
70
|
import { Stack, stackVariants } from "./layouts/Stack/index.js";
|
|
70
71
|
import { TwoColumn, TwoColumnAside, TwoColumnMain, twoColumnVariants } from "./layouts/TwoColumn/index.js";
|
|
71
72
|
import "./layouts/index.js";
|
|
72
73
|
import "./contexts/index.js";
|
|
73
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertContent, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxTree, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Container, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Credits, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Heading, HoverCard, HoverCardContent, HoverCardTrigger, ICON_NAMES, Icon, InfoBanner, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, Logo, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NativeSelect, NavRail, NavRailItem, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuTrigger, NavRailSeparator, NavRailUser, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, PageBackground, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichCheckbox, RichRadioItem, RichSwitchGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SkeletonAvatar, SkeletonLine, SkeletonObject, Slider, Spinner, Stack, Switch, SwitchGroup, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsCounter, TabsList, TabsTrigger, Text, Textarea, ThemeContext, ThemeProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TwoColumn, TwoColumnAside, TwoColumnMain, badgeVariants, buttonGroupVariants, buttonVariants, cardVariants, cn, containerVariants, creditsVariants, emptyVariants, headingVariants, infoBannerVariants, inputVariants, linkVariants, nativeSelectVariants, navigationMenuTriggerStyle, stackVariants, tabsListVariants, tabsTriggerVariants, textVariants, textareaVariants, toggleVariants, twoColumnVariants, useFormField, useIsMobile, useSidebar, useTheme };
|
|
74
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertContent, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxTree, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Container, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Credits, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Heading, HoverCard, HoverCardContent, HoverCardTrigger, ICON_NAMES, Icon, InfoBanner, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, Logo, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MultiColumn, MultiColumnItem, NativeSelect, NavRail, NavRailItem, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuTrigger, NavRailSeparator, NavRailUser, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, PageBackground, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichCheckbox, RichRadioItem, RichSwitchGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SkeletonAvatar, SkeletonLine, SkeletonObject, Slider, Spinner, Stack, Switch, SwitchGroup, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsCounter, TabsList, TabsTrigger, Text, Textarea, ThemeContext, ThemeProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TwoColumn, TwoColumnAside, TwoColumnMain, badgeVariants, buttonGroupVariants, buttonVariants, cardVariants, cn, containerVariants, creditsVariants, emptyVariants, headingVariants, infoBannerVariants, inputVariants, linkVariants, multiColumnVariants, nativeSelectVariants, navigationMenuTriggerStyle, stackVariants, tabsListVariants, tabsTriggerVariants, textVariants, textareaVariants, toggleVariants, twoColumnVariants, useFormField, useIsMobile, useSidebar, useTheme };
|
package/dist/index10.d.cts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as Separator } from "./index9.cjs";
|
|
2
|
-
import * as
|
|
3
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime129 from "react/jsx-runtime";
|
|
3
|
+
import * as class_variance_authority_types12 from "class-variance-authority/types";
|
|
4
4
|
import { VariantProps } from "class-variance-authority";
|
|
5
5
|
|
|
6
6
|
//#region src/primitives/ButtonGroup/ButtonGroup.d.ts
|
|
7
7
|
declare const buttonGroupVariants: (props?: ({
|
|
8
8
|
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
9
|
-
} &
|
|
9
|
+
} & class_variance_authority_types12.ClassProp) | undefined) => string;
|
|
10
10
|
/** Props for the {@link ButtonGroup} container. */
|
|
11
11
|
type ButtonGroupProps = React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>;
|
|
12
12
|
/** Groups related buttons into a single attached unit with merged borders and shared corners. */
|
|
@@ -15,7 +15,7 @@ declare function ButtonGroup({
|
|
|
15
15
|
/** Lays the group out left-to-right (`horizontal`, default) or stacked (`vertical`). */
|
|
16
16
|
orientation,
|
|
17
17
|
...props
|
|
18
|
-
}: ButtonGroupProps):
|
|
18
|
+
}: ButtonGroupProps): react_jsx_runtime129.JSX.Element;
|
|
19
19
|
/** A non-interactive label/affix segment styled to sit inline with the grouped buttons. */
|
|
20
20
|
declare function ButtonGroupText({
|
|
21
21
|
className,
|
|
@@ -25,14 +25,14 @@ declare function ButtonGroupText({
|
|
|
25
25
|
}: React.ComponentProps<"div"> & {
|
|
26
26
|
/** Renders into the child element via Radix `Slot` instead of a wrapping `div`. */
|
|
27
27
|
asChild?: boolean;
|
|
28
|
-
}):
|
|
28
|
+
}): react_jsx_runtime129.JSX.Element;
|
|
29
29
|
/** A divider between segments inside a {@link ButtonGroup}, defaulting to a vertical rule. */
|
|
30
30
|
declare function ButtonGroupSeparator({
|
|
31
31
|
className,
|
|
32
32
|
/** Divider direction; defaults to `vertical` to split horizontally-laid buttons. */
|
|
33
33
|
orientation,
|
|
34
34
|
...props
|
|
35
|
-
}: React.ComponentProps<typeof Separator>):
|
|
35
|
+
}: React.ComponentProps<typeof Separator>): react_jsx_runtime129.JSX.Element;
|
|
36
36
|
//#endregion
|
|
37
37
|
export { buttonGroupVariants as i, ButtonGroupSeparator as n, ButtonGroupText as r, ButtonGroup as t };
|
|
38
38
|
//# sourceMappingURL=index10.d.cts.map
|
package/dist/index10.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { t as Separator } from "./index9.js";
|
|
2
|
-
import * as react_jsx_runtime284 from "react/jsx-runtime";
|
|
3
2
|
import { VariantProps } from "class-variance-authority";
|
|
4
|
-
import * as
|
|
3
|
+
import * as react_jsx_runtime181 from "react/jsx-runtime";
|
|
4
|
+
import * as class_variance_authority_types15 from "class-variance-authority/types";
|
|
5
5
|
|
|
6
6
|
//#region src/primitives/ButtonGroup/ButtonGroup.d.ts
|
|
7
7
|
declare const buttonGroupVariants: (props?: ({
|
|
8
8
|
orientation?: "vertical" | "horizontal" | null | undefined;
|
|
9
|
-
} &
|
|
9
|
+
} & class_variance_authority_types15.ClassProp) | undefined) => string;
|
|
10
10
|
/** Props for the {@link ButtonGroup} container. */
|
|
11
11
|
type ButtonGroupProps = React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>;
|
|
12
12
|
/** Groups related buttons into a single attached unit with merged borders and shared corners. */
|
|
@@ -15,7 +15,7 @@ declare function ButtonGroup({
|
|
|
15
15
|
/** Lays the group out left-to-right (`horizontal`, default) or stacked (`vertical`). */
|
|
16
16
|
orientation,
|
|
17
17
|
...props
|
|
18
|
-
}: ButtonGroupProps):
|
|
18
|
+
}: ButtonGroupProps): react_jsx_runtime181.JSX.Element;
|
|
19
19
|
/** A non-interactive label/affix segment styled to sit inline with the grouped buttons. */
|
|
20
20
|
declare function ButtonGroupText({
|
|
21
21
|
className,
|
|
@@ -25,14 +25,14 @@ declare function ButtonGroupText({
|
|
|
25
25
|
}: React.ComponentProps<"div"> & {
|
|
26
26
|
/** Renders into the child element via Radix `Slot` instead of a wrapping `div`. */
|
|
27
27
|
asChild?: boolean;
|
|
28
|
-
}):
|
|
28
|
+
}): react_jsx_runtime181.JSX.Element;
|
|
29
29
|
/** A divider between segments inside a {@link ButtonGroup}, defaulting to a vertical rule. */
|
|
30
30
|
declare function ButtonGroupSeparator({
|
|
31
31
|
className,
|
|
32
32
|
/** Divider direction; defaults to `vertical` to split horizontally-laid buttons. */
|
|
33
33
|
orientation,
|
|
34
34
|
...props
|
|
35
|
-
}: React.ComponentProps<typeof Separator>):
|
|
35
|
+
}: React.ComponentProps<typeof Separator>): react_jsx_runtime181.JSX.Element;
|
|
36
36
|
//#endregion
|
|
37
37
|
export { buttonGroupVariants as i, ButtonGroupSeparator as n, ButtonGroupText as r, ButtonGroup as t };
|
|
38
38
|
//# sourceMappingURL=index10.d.ts.map
|
package/dist/index11.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as Button } from "./index8.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime100 from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { DayButton, DayPicker } from "react-day-picker";
|
|
5
5
|
|
|
@@ -17,14 +17,14 @@ declare function Calendar({
|
|
|
17
17
|
}: React.ComponentProps<typeof DayPicker> & {
|
|
18
18
|
/** Button variant used for the previous/next navigation controls. */
|
|
19
19
|
buttonVariant?: React.ComponentProps<typeof Button>["variant"];
|
|
20
|
-
}):
|
|
20
|
+
}): react_jsx_runtime100.JSX.Element;
|
|
21
21
|
/** Single day cell button, applying selected/range styling from the day's modifiers. */
|
|
22
22
|
declare function CalendarDayButton({
|
|
23
23
|
className,
|
|
24
24
|
day,
|
|
25
25
|
modifiers,
|
|
26
26
|
...props
|
|
27
|
-
}: React.ComponentProps<typeof DayButton>):
|
|
27
|
+
}: React.ComponentProps<typeof DayButton>): react_jsx_runtime100.JSX.Element;
|
|
28
28
|
//#endregion
|
|
29
29
|
export { CalendarDayButton as n, Calendar as t };
|
|
30
30
|
//# sourceMappingURL=index11.d.cts.map
|
package/dist/index11.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index11.d.cts","names":[],"sources":["../src/primitives/Calendar/Calendar.tsx"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"index11.d.cts","names":[],"sources":["../src/primitives/Calendar/Calendar.tsx"],"mappings":";;;;;;;iBASS,QAAA;;;;;;;;;GASN,KAAA,CAAM,sBAAsB;;EATtB,aAAQ,CAAA,EAWC,KAAA,CAAM,cAXP,CAAA,OAW6B,MAX7B,CAAA,CAAA,SAAA,CAAA;CAAA,CAAA,EAYhB,oBAAA,CAAA,GAAA,CAAA,OAZgB;;iBAwIR,iBAAA,CAtIP;EAAA,SAAA;EAAA,GAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2IC,KAAA,CAAM,cA3IP,CAAA,OA2I6B,SA3I7B,CAAA,CAAA,EA2IuC,oBAAA,CAAA,GAAA,CAAA,OA3IvC"}
|
package/dist/index11.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as Button } from "./index8.js";
|
|
2
2
|
import * as React from "react";
|
|
3
|
-
import * as
|
|
3
|
+
import * as react_jsx_runtime184 from "react/jsx-runtime";
|
|
4
4
|
import { DayButton, DayPicker } from "react-day-picker";
|
|
5
5
|
|
|
6
6
|
//#region src/primitives/Calendar/Calendar.d.ts
|
|
@@ -17,14 +17,14 @@ declare function Calendar({
|
|
|
17
17
|
}: React.ComponentProps<typeof DayPicker> & {
|
|
18
18
|
/** Button variant used for the previous/next navigation controls. */
|
|
19
19
|
buttonVariant?: React.ComponentProps<typeof Button>["variant"];
|
|
20
|
-
}):
|
|
20
|
+
}): react_jsx_runtime184.JSX.Element;
|
|
21
21
|
/** Single day cell button, applying selected/range styling from the day's modifiers. */
|
|
22
22
|
declare function CalendarDayButton({
|
|
23
23
|
className,
|
|
24
24
|
day,
|
|
25
25
|
modifiers,
|
|
26
26
|
...props
|
|
27
|
-
}: React.ComponentProps<typeof DayButton>):
|
|
27
|
+
}: React.ComponentProps<typeof DayButton>): react_jsx_runtime184.JSX.Element;
|
|
28
28
|
//#endregion
|
|
29
29
|
export { CalendarDayButton as n, Calendar as t };
|
|
30
30
|
//# sourceMappingURL=index11.d.ts.map
|
package/dist/index11.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index11.d.ts","names":[],"sources":["../src/primitives/Calendar/Calendar.tsx"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"index11.d.ts","names":[],"sources":["../src/primitives/Calendar/Calendar.tsx"],"mappings":";;;;;;;iBASS,QAAA;;;;;;;;;GASN,KAAA,CAAM,sBAAsB;;EATtB,aAAQ,CAAA,EAWC,KAAA,CAAM,cAXP,CAAA,OAW6B,MAX7B,CAAA,CAAA,SAAA,CAAA;CAAA,CAAA,EAYhB,oBAAA,CAAA,GAAA,CAAA,OAZgB;;iBAwIR,iBAAA,CAtIP;EAAA,SAAA;EAAA,GAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2IC,KAAA,CAAM,cA3IP,CAAA,OA2I6B,SA3I7B,CAAA,CAAA,EA2IuC,oBAAA,CAAA,GAAA,CAAA,OA3IvC"}
|
package/dist/index12.d.cts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime69 from "react/jsx-runtime";
|
|
2
|
+
import * as class_variance_authority_types4 from "class-variance-authority/types";
|
|
3
3
|
import { VariantProps } from "class-variance-authority";
|
|
4
4
|
import * as React from "react";
|
|
5
5
|
|
|
6
6
|
//#region src/primitives/Card/Card.d.ts
|
|
7
7
|
declare const cardVariants: (props?: ({
|
|
8
|
-
variant?: "default" | "ai" | "
|
|
9
|
-
tint?: "
|
|
10
|
-
} &
|
|
8
|
+
variant?: "default" | "ai" | "glass" | "brand" | "inverted" | null | undefined;
|
|
9
|
+
tint?: "subtle" | "light" | "medium" | "heavy" | null | undefined;
|
|
10
|
+
} & class_variance_authority_types4.ClassProp) | undefined) => string;
|
|
11
11
|
type CardProps = React.ComponentProps<"div"> & VariantProps<typeof cardVariants> & {
|
|
12
12
|
/** Surface treatment of the card. Default `default` (solid surface). */
|
|
13
13
|
variant?: VariantProps<typeof cardVariants>["variant"];
|
|
@@ -20,7 +20,7 @@ declare function Card({
|
|
|
20
20
|
variant,
|
|
21
21
|
tint,
|
|
22
22
|
...props
|
|
23
|
-
}: CardProps):
|
|
23
|
+
}: CardProps): react_jsx_runtime69.JSX.Element;
|
|
24
24
|
declare const cardHeaderAlign: {
|
|
25
25
|
readonly start: "items-start";
|
|
26
26
|
readonly center: "items-center";
|
|
@@ -34,28 +34,28 @@ declare function CardHeader({
|
|
|
34
34
|
}: React.ComponentProps<"div"> & {
|
|
35
35
|
/** Vertical alignment of the header items. Default `center`. */
|
|
36
36
|
align?: keyof typeof cardHeaderAlign;
|
|
37
|
-
}):
|
|
37
|
+
}): react_jsx_runtime69.JSX.Element;
|
|
38
38
|
/** Card heading rendered as an `h4`. Figma binds the body font (Inter Semibold
|
|
39
39
|
16/24), so we override the base heading styles explicitly. */
|
|
40
40
|
declare function CardTitle({
|
|
41
41
|
className,
|
|
42
42
|
...props
|
|
43
|
-
}: React.ComponentProps<"div">):
|
|
43
|
+
}: React.ComponentProps<"div">): react_jsx_runtime69.JSX.Element;
|
|
44
44
|
/** Muted supporting text shown beneath the title. */
|
|
45
45
|
declare function CardDescription({
|
|
46
46
|
className,
|
|
47
47
|
...props
|
|
48
|
-
}: React.ComponentProps<"div">):
|
|
48
|
+
}: React.ComponentProps<"div">): react_jsx_runtime69.JSX.Element;
|
|
49
49
|
/** Action slot in the header row, aligned to the end alongside the title. */
|
|
50
50
|
declare function CardAction({
|
|
51
51
|
className,
|
|
52
52
|
...props
|
|
53
|
-
}: React.ComponentProps<"div">):
|
|
53
|
+
}: React.ComponentProps<"div">): react_jsx_runtime69.JSX.Element;
|
|
54
54
|
/** Main body region of the card. */
|
|
55
55
|
declare function CardContent({
|
|
56
56
|
className,
|
|
57
57
|
...props
|
|
58
|
-
}: React.ComponentProps<"div">):
|
|
58
|
+
}: React.ComponentProps<"div">): react_jsx_runtime69.JSX.Element;
|
|
59
59
|
declare const cardFooterTone: {
|
|
60
60
|
readonly default: "px-6 pb-6 [.border-t]:pt-6";
|
|
61
61
|
readonly brand: "justify-center rounded-b-8 bg-brand-200 px-6 py-3 text-brand-800";
|
|
@@ -70,7 +70,7 @@ declare function CardFooter({
|
|
|
70
70
|
}: React.ComponentProps<"div"> & {
|
|
71
71
|
/** Footer fill. `brand`/`muted` render a full-width tinted band. */
|
|
72
72
|
tone?: keyof typeof cardFooterTone;
|
|
73
|
-
}):
|
|
73
|
+
}): react_jsx_runtime69.JSX.Element;
|
|
74
74
|
//#endregion
|
|
75
75
|
export { CardFooter as a, CardTitle as c, CardDescription as i, cardVariants as l, CardAction as n, CardHeader as o, CardContent as r, CardProps as s, Card as t };
|
|
76
76
|
//# sourceMappingURL=index12.d.cts.map
|
package/dist/index12.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index12.d.cts","names":[],"sources":["../src/primitives/Card/Card.tsx"],"mappings":";;;;;;cAOM;;;IAuCJ,
|
|
1
|
+
{"version":3,"file":"index12.d.cts","names":[],"sources":["../src/primitives/Card/Card.tsx"],"mappings":";;;;;;cAOM;;;IAuCJ,+BAAA,CAAA;AA7CkC,KA+C/B,SAAA,GAAY,KAAA,CAAM,cAFrB,CAAA,KAAA,CAAA,GAGA,YAHA,CAAA,OAGoB,YAHpB,CAAA,GAAA;EAEG;EAAS,OAAA,CAAA,EAGA,YAHA,CAAA,OAGoB,YAHpB,CAAA,CAAA,SAAA,CAAA;;MACQ,CAAA,EAIX,YAJW,CAAA,OAIS,YAJT,CAAA,CAAA,MAAA,CAAA;;;iBAQb,IAAA,CANK;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAMwC,SANxC,CAAA,EAMiD,mBAAA,CAAA,GAAA,CAAA,OANjD;cAkBR,eAhByB,EAAA;WAApB,KAAA,EAAA,aAAA;EAAY,SAAA,MAAA,EAAA,cAAA;EAId,SAAI,GAAA,EAAA,WAAA;CAAA;;iBAmBJ,UAAA,CAnBkB;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;CAAA,EAuBxB,KAAA,CAAM,cAvBkB,CAAA,KAAA,CAAA,GAAA;;OAA2B,CAAA,EAAA,MAAA,OAyB/B,eAzB+B;IA0BrD,mBAAA,CAAA,GAAA,CAAA,OA1B8D;AAAA;AAAA;AAgBrD,iBA0BD,SAAA,CAvBU;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuByB,KAAA,CAAM,cAvB/B,CAAA,KAAA,CAAA,CAAA,EAuBoD,mBAAA,CAAA,GAAA,CAAA,OAvBpD;;iBAkCV,eAAA,CAjCP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiCgD,KAAA,CAAM,cAjCtD,CAAA,KAAA,CAAA,CAAA,EAiC2E,mBAAA,CAAA,GAAA,CAAA,OAjC3E;;iBA4CO,UAAA,CAzCA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCoC,KAAA,CAAM,cAzC1C,CAAA,KAAA,CAAA,CAAA,EAyC+D,mBAAA,CAAA,GAAA,CAAA,OAzC/D;;iBAuDA,WAAA,CApDR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAoD6C,KAAA,CAAM,cApDnD,CAAA,KAAA,CAAA,CAAA,EAoDwE,mBAAA,CAAA,GAAA,CAAA,OApDxE;AAAA,cAiEK,cAjEL,EAAA;EAgBQ,SAAA,OAAS,EAAA,4BAAA;EAAA,SAAA,KAAA,EAAA,kEAAA;WAAG,KAAA,EAAA,iEAAA;WAA6B,IAAA,EAAA,wEAAA;;AAAqB;AAAA,iBA0D9D,UAAA,CA/Ce;EAAA,SAAA;EAAA,IAAA;EAAA,GAAA;CAAA,EAmDrB,KAAA,CAAM,cAnDe,CAAA,KAAA,CAAA,GAAA;EAAA;MAAG,CAAA,EAAA,MAAA,OAqDL,cArDK;IAsD1B,mBAAA,CAAA,GAAA,CAAA,OAtDuD"}
|