@kushagradhawan/kookie-ui 0.1.37 → 0.1.39
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/components.css +130 -74
- package/dist/cjs/components/_internal/base-button.props.d.ts +1 -1
- package/dist/cjs/components/_internal/base-button.props.js +1 -1
- package/dist/cjs/components/_internal/base-button.props.js.map +2 -2
- package/dist/cjs/components/_internal/base-checkbox.props.d.ts +1 -1
- package/dist/cjs/components/_internal/base-checkbox.props.js +1 -1
- package/dist/cjs/components/_internal/base-checkbox.props.js.map +2 -2
- package/dist/cjs/components/avatar.props.d.ts +1 -1
- package/dist/cjs/components/avatar.props.js +1 -1
- package/dist/cjs/components/avatar.props.js.map +2 -2
- package/dist/cjs/components/button.d.ts +40 -2
- package/dist/cjs/components/button.d.ts.map +1 -1
- package/dist/cjs/components/button.js +1 -1
- package/dist/cjs/components/button.js.map +3 -3
- package/dist/cjs/components/chatbar.d.ts.map +1 -1
- package/dist/cjs/components/chatbar.js +1 -1
- package/dist/cjs/components/chatbar.js.map +2 -2
- package/dist/cjs/components/checkbox-cards.props.d.ts +2 -2
- package/dist/cjs/components/checkbox-cards.props.js +1 -1
- package/dist/cjs/components/checkbox-cards.props.js.map +2 -2
- package/dist/cjs/components/checkbox-group.d.ts.map +1 -1
- package/dist/cjs/components/checkbox-group.js +1 -1
- package/dist/cjs/components/checkbox-group.js.map +3 -3
- package/dist/cjs/components/checkbox-group.props.d.ts +1 -1
- package/dist/cjs/components/dialog.d.ts.map +1 -1
- package/dist/cjs/components/dialog.js +1 -1
- package/dist/cjs/components/dialog.js.map +3 -3
- package/dist/cjs/components/flex.props.d.ts +3 -3
- package/dist/cjs/components/grid.props.d.ts +3 -3
- package/dist/cjs/components/radio-cards.props.d.ts +2 -2
- package/dist/cjs/components/radio-cards.props.js +1 -1
- package/dist/cjs/components/radio-cards.props.js.map +2 -2
- package/dist/cjs/components/select.d.ts.map +1 -1
- package/dist/cjs/components/select.js +1 -1
- package/dist/cjs/components/select.js.map +3 -3
- package/dist/cjs/components/shell.d.ts.map +1 -1
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +3 -3
- package/dist/cjs/components/sidebar.d.ts +7 -1
- package/dist/cjs/components/sidebar.d.ts.map +1 -1
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +3 -3
- package/dist/cjs/components/sidebar.props.d.ts +6 -0
- package/dist/cjs/components/sidebar.props.d.ts.map +1 -1
- package/dist/cjs/components/sidebar.props.js +1 -1
- package/dist/cjs/components/sidebar.props.js.map +3 -3
- package/dist/cjs/components/table.props.d.ts +7 -7
- package/dist/cjs/components/text-field.props.d.ts +4 -4
- package/dist/cjs/helpers/extract-margin-props.d.ts +7 -7
- package/dist/cjs/hooks/index.d.ts +1 -0
- package/dist/cjs/hooks/index.d.ts.map +1 -1
- package/dist/cjs/hooks/index.js +1 -1
- package/dist/cjs/hooks/index.js.map +3 -3
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts +9 -0
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -0
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.js +2 -0
- package/dist/cjs/hooks/use-body-pointer-events-cleanup.js.map +7 -0
- package/dist/cjs/props/gap.props.d.ts +3 -3
- package/dist/cjs/props/gap.props.js +1 -1
- package/dist/cjs/props/gap.props.js.map +2 -2
- package/dist/cjs/props/layout.props.d.ts +7 -7
- package/dist/cjs/props/margin.props.d.ts +7 -7
- package/dist/cjs/props/margin.props.js +1 -1
- package/dist/cjs/props/margin.props.js.map +2 -2
- package/dist/cjs/props/padding.props.d.ts +7 -7
- package/dist/cjs/props/padding.props.js +1 -1
- package/dist/cjs/props/padding.props.js.map +2 -2
- package/dist/esm/components/_internal/base-button.props.d.ts +1 -1
- package/dist/esm/components/_internal/base-button.props.js +1 -1
- package/dist/esm/components/_internal/base-button.props.js.map +2 -2
- package/dist/esm/components/_internal/base-checkbox.props.d.ts +1 -1
- package/dist/esm/components/_internal/base-checkbox.props.js +1 -1
- package/dist/esm/components/_internal/base-checkbox.props.js.map +2 -2
- package/dist/esm/components/avatar.props.d.ts +1 -1
- package/dist/esm/components/avatar.props.js +1 -1
- package/dist/esm/components/avatar.props.js.map +2 -2
- package/dist/esm/components/button.d.ts +40 -2
- package/dist/esm/components/button.d.ts.map +1 -1
- package/dist/esm/components/button.js +1 -1
- package/dist/esm/components/button.js.map +3 -3
- package/dist/esm/components/chatbar.d.ts.map +1 -1
- package/dist/esm/components/chatbar.js +1 -1
- package/dist/esm/components/chatbar.js.map +2 -2
- package/dist/esm/components/checkbox-cards.props.d.ts +2 -2
- package/dist/esm/components/checkbox-cards.props.js +1 -1
- package/dist/esm/components/checkbox-cards.props.js.map +2 -2
- package/dist/esm/components/checkbox-group.d.ts.map +1 -1
- package/dist/esm/components/checkbox-group.js +1 -1
- package/dist/esm/components/checkbox-group.js.map +3 -3
- package/dist/esm/components/checkbox-group.props.d.ts +1 -1
- package/dist/esm/components/dialog.d.ts.map +1 -1
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dialog.js.map +3 -3
- package/dist/esm/components/flex.props.d.ts +3 -3
- package/dist/esm/components/grid.props.d.ts +3 -3
- package/dist/esm/components/radio-cards.props.d.ts +2 -2
- package/dist/esm/components/radio-cards.props.js +1 -1
- package/dist/esm/components/radio-cards.props.js.map +2 -2
- package/dist/esm/components/select.d.ts.map +1 -1
- package/dist/esm/components/select.js +1 -1
- package/dist/esm/components/select.js.map +3 -3
- package/dist/esm/components/shell.d.ts.map +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/shell.js.map +3 -3
- package/dist/esm/components/sidebar.d.ts +7 -1
- package/dist/esm/components/sidebar.d.ts.map +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/sidebar.js.map +3 -3
- package/dist/esm/components/sidebar.props.d.ts +6 -0
- package/dist/esm/components/sidebar.props.d.ts.map +1 -1
- package/dist/esm/components/sidebar.props.js +1 -1
- package/dist/esm/components/sidebar.props.js.map +3 -3
- package/dist/esm/components/table.props.d.ts +7 -7
- package/dist/esm/components/text-field.props.d.ts +4 -4
- package/dist/esm/helpers/extract-margin-props.d.ts +7 -7
- package/dist/esm/hooks/index.d.ts +1 -0
- package/dist/esm/hooks/index.d.ts.map +1 -1
- package/dist/esm/hooks/index.js +1 -1
- package/dist/esm/hooks/index.js.map +3 -3
- package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts +9 -0
- package/dist/esm/hooks/use-body-pointer-events-cleanup.d.ts.map +1 -0
- package/dist/esm/hooks/use-body-pointer-events-cleanup.js +2 -0
- package/dist/esm/hooks/use-body-pointer-events-cleanup.js.map +7 -0
- package/dist/esm/props/gap.props.d.ts +3 -3
- package/dist/esm/props/gap.props.js +1 -1
- package/dist/esm/props/gap.props.js.map +2 -2
- package/dist/esm/props/layout.props.d.ts +7 -7
- package/dist/esm/props/margin.props.d.ts +7 -7
- package/dist/esm/props/margin.props.js +1 -1
- package/dist/esm/props/margin.props.js.map +2 -2
- package/dist/esm/props/padding.props.d.ts +7 -7
- package/dist/esm/props/padding.props.js +1 -1
- package/dist/esm/props/padding.props.js.map +2 -2
- package/layout/tokens.css +3 -0
- package/layout/utilities.css +1806 -42
- package/layout.css +1809 -42
- package/package.json +1 -1
- package/src/components/_internal/base-button.css +179 -73
- package/src/components/_internal/base-button.props.ts +1 -1
- package/src/components/_internal/base-checkbox.props.ts +1 -1
- package/src/components/avatar.props.tsx +1 -1
- package/src/components/button.css +13 -21
- package/src/components/button.tsx +79 -2
- package/src/components/chatbar.tsx +5 -2
- package/src/components/checkbox-cards.props.tsx +1 -1
- package/src/components/checkbox-group.tsx +14 -6
- package/src/components/dialog.tsx +4 -0
- package/src/components/radio-cards.props.tsx +1 -1
- package/src/components/select.css +9 -0
- package/src/components/select.tsx +11 -1
- package/src/components/shell.tsx +34 -3
- package/src/components/sidebar.css +15 -3
- package/src/components/sidebar.props.tsx +3 -0
- package/src/components/sidebar.tsx +27 -0
- package/src/hooks/index.ts +2 -1
- package/src/hooks/use-body-pointer-events-cleanup.ts +81 -0
- package/src/props/gap.props.ts +1 -1
- package/src/props/margin.props.ts +1 -1
- package/src/props/padding.props.ts +1 -1
- package/src/styles/tokens/blur.css +3 -0
- package/src/styles/tokens/constants.css +38 -35
- package/src/styles/tokens/radius.css +3 -0
- package/src/styles/tokens/shadow.css +64 -89
- package/src/styles/tokens/space.css +3 -0
- package/src/styles/tokens/transition.css +25 -12
- package/src/styles/utilities/gap.css +27 -0
- package/src/styles/utilities/margin.css +205 -7
- package/src/styles/utilities/padding.css +69 -0
- package/styles.css +1973 -144
- package/tokens/base.css +34 -25
- package/tokens.css +37 -28
- package/utilities.css +1806 -42
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAM3C,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AACzF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7C,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,YAAY,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAC1C,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;CAC/B,CAAC;AAaF,KAAK,eAAe,GAAG,eAAe,CAAC,OAAO,eAAe,CAAC,CAAC;AAC/D,UAAU,YAAa,SAAQ,qBAAqB,CAAC,KAAK,EAAE,YAAY,CAAC,EAAE,eAAe;CAAG;AAE7F,QAAA,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import*as e from"react";import
|
|
1
|
+
"use client";import*as e from"react";import i from"classnames";import{Slot as N}from"./slot.js";import{Accordion as f}from"radix-ui";import{sidebarPropDefs as b}from"./sidebar.props.js";import{useThemeContext as j}from"./theme.js";import{ScrollArea as K}from"./scroll-area.js";import{Separator as O}from"./separator.js";import{ThickChevronRightIcon as _}from"./icons.js";import{extractProps as q}from"../helpers/extract-props.js";import{Kbd as U}from"./kbd.js";import{Badge as x}from"./badge.js";const T=e.createContext(null);function v(){return e.useContext(T)}const B=e.createContext(null);function J(){return e.useContext(B)}const H=e.forwardRef((r,o)=>{const t=j(),{size:a=b.size.default,variant:s=b.variant.default,menuVariant:d=b.menuVariant.default,layout:u=b.layout.default,panelBackground:S,color:p,highContrast:l=b.highContrast.default}=r,{className:P,children:M,...C}=q(r,b),{asChild:F,panelBackground:g,...h}=C,m=p||t.accentColor,y=J(),n=u||y?.section||"panel",c=typeof a=="object"?a.initial||"2":a;return e.createElement("div",{...h,ref:o,"data-accent-color":m,className:i("rt-SidebarRoot",P)},e.createElement(T.Provider,{value:{size:c,menuVariant:d}},e.createElement("div",{className:i("rt-SidebarContainer",`rt-variant-${s}`,`rt-r-size-${c}`,`rt-menu-variant-${d}`,n&&`rt-layout-${n}`),"data-accent-color":m,"data-high-contrast":l||void 0,"data-panel-background":S,"data-layout":n},M)))});H.displayName="Sidebar.Root";const L=e.forwardRef(({className:r,children:o,role:t="navigation","aria-label":a="Main navigation",id:s,...d},u)=>{const S=v(),p=S?.size??"2",l=S?.menuVariant??"soft";return e.createElement(K,{type:"hover"},e.createElement("div",{...d,ref:u,id:s,role:t,"aria-label":a,className:i("rt-BaseMenuContent","rt-SidebarContent",`rt-r-size-${p}`,`rt-menu-variant-${l}`,r)},o))});L.displayName="Sidebar.Content";const R=e.forwardRef(({className:r,asContainer:o=!0,...t},a)=>{const s=v(),d=s?.size??"2",u=s?.menuVariant??"soft";return e.createElement("div",{...t,ref:a,className:i("rt-SidebarHeader",`rt-r-size-${d}`,`rt-menu-variant-${u}`,{"rt-SidebarHeader--container":o},r)})});R.displayName="Sidebar.Header";const E=e.forwardRef(({className:r,asContainer:o=!0,...t},a)=>{const s=v(),d=s?.size??"2",u=s?.menuVariant??"soft";return e.createElement("div",{...t,ref:a,className:i("rt-SidebarFooter",`rt-r-size-${d}`,`rt-menu-variant-${u}`,{"rt-SidebarFooter--container":o},r)})});E.displayName="Sidebar.Footer";const z=e.forwardRef(({className:r,...o},t)=>e.createElement(O,{...o,ref:t,className:i("rt-SidebarSeparator",r)}));z.displayName="Sidebar.Separator";const w=e.forwardRef(({className:r,...o},t)=>e.createElement("ul",{...o,ref:t,role:"menu",className:i("rt-BaseMenuViewport","rt-SidebarMenu",r)}));w.displayName="Sidebar.Menu";const V=e.forwardRef(({className:r,...o},t)=>e.createElement("li",{...o,ref:t,className:i("rt-SidebarMenuItem",r)}));V.displayName="Sidebar.MenuItem";const G=e.forwardRef(({asChild:r=!1,isActive:o=!1,shortcut:t,badge:a,className:s,children:d,onMouseEnter:u,onMouseLeave:S,onKeyDown:p,...l},P)=>{const[M,C]=e.useState(!1),g=v()?.size??"2",h=r?N:"button",{onClick:m}=l,y=e.useCallback(n=>{switch(n.key){case"Enter":case" ":n.preventDefault(),m&&m(n);break;case"ArrowDown":{n.preventDefault();const c=n.currentTarget.nextElementSibling?.querySelector('[role="menuitem"]');c&&c.focus();break}case"ArrowUp":{n.preventDefault();const c=n.currentTarget.previousElementSibling?.querySelector('[role="menuitem"]');c&&c.focus();break}}p?.(n)},[m,p]);return e.createElement(h,{...l,ref:P,role:"menuitem","aria-current":o?"page":void 0,className:i("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton",s),"data-active":o||void 0,"data-highlighted":M||void 0,onKeyDown:y,onMouseEnter:n=>{C(!0),u?.(n)},onMouseLeave:n=>{C(!1),S?.(n)}},r?d:e.createElement(e.Fragment,null,d,a&&e.createElement("div",{className:"rt-SidebarMenuBadge"},typeof a=="string"?e.createElement(x,{size:g,variant:"soft"},a):e.createElement(x,{size:a.size||g,variant:a.variant||"soft",color:a.color,highContrast:a.highContrast,radius:a.radius},a.content)),t&&e.createElement("div",{className:"rt-BaseMenuShortcut rt-SidebarMenuShortcut"},e.createElement(U,{size:g},t))))});G.displayName="Sidebar.MenuButton";const I=e.forwardRef(({defaultOpen:r=!1,children:o,...t},a)=>e.createElement("div",{...t,ref:a},e.createElement(f.Root,{type:"single",collapsible:!0,defaultValue:r?"item":void 0},e.createElement(f.Item,{value:"item"},o))));I.displayName="Sidebar.MenuSub";const D=e.forwardRef(({asChild:r=!1,className:o,children:t,onMouseEnter:a,onMouseLeave:s,...d},u)=>{const[S,p]=e.useState(!1);return e.createElement(f.Header,{asChild:!0},e.createElement("div",null,e.createElement(f.Trigger,{...d,ref:u,asChild:r,role:"menuitem","aria-haspopup":"true",className:i("rt-reset","rt-BaseMenuItem","rt-SidebarMenuButton","rt-SidebarMenuSubTrigger",o),"data-highlighted":S||void 0,onMouseEnter:l=>{p(!0),a?.(l)},onMouseLeave:l=>{p(!1),s?.(l)}},r?t:e.createElement(e.Fragment,null,t,e.createElement(_,{className:i("rt-BaseMenuSubTriggerIcon","rt-SidebarMenuSubTriggerIcon")})))))});D.displayName="Sidebar.MenuSubTrigger";const W=e.forwardRef(({className:r,children:o,...t},a)=>e.createElement(f.Content,{...t,ref:a,className:i("rt-SidebarMenuSubContent",r)},e.createElement("div",{className:"rt-SidebarMenuSubList"},o)));W.displayName="Sidebar.MenuSubContent";const A=e.forwardRef(({className:r,...o},t)=>e.createElement("div",{...o,ref:t,className:i("rt-BaseMenuGroup","rt-SidebarGroup",r)}));A.displayName="Sidebar.Group";const k=e.forwardRef(({asChild:r=!1,className:o,...t},a)=>e.createElement(r?N:"div",{...t,ref:a,role:"group",className:i("rt-BaseMenuLabel","rt-SidebarGroupLabel",o)}));k.displayName="Sidebar.GroupLabel";const $=e.forwardRef(({className:r,...o},t)=>e.createElement("div",{...o,ref:t,className:i("rt-SidebarGroupContent",r)}));$.displayName="Sidebar.GroupContent";export{L as Content,E as Footer,A as Group,$ as GroupContent,k as GroupLabel,R as Header,w as Menu,G as MenuButton,V as MenuItem,I as MenuSub,W as MenuSubContent,D as MenuSubTrigger,H as Root,z as Separator,B as ShellSidebarSectionContext};
|
|
2
2
|
//# sourceMappingURL=sidebar.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/sidebar.tsx"],
|
|
4
|
-
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from './slot.js';\nimport { Accordion } from 'radix-ui';\n\nimport { sidebarPropDefs } from './sidebar.props.js';\nimport { useThemeContext } from './theme.js';\n// import { IconButton } from './icon-button.js';\nimport { ScrollArea } from './scroll-area.js';\nimport { Separator } from './separator.js';\nimport { ThickChevronRightIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { Kbd } from './kbd.js';\nimport { Badge } from './badge.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { BadgeProps } from './badge.js';\n\n// Badge configuration type for sidebar menu buttons\ntype BadgeConfig = {\n content: React.ReactNode;\n variant?: BadgeProps['variant'];\n size?: BadgeProps['size'];\n color?: BadgeProps['color'];\n highContrast?: BadgeProps['highContrast'];\n radius?: BadgeProps['radius'];\n};\n\n// Internal presentational context (not exported) for size/menu variant\ntype SidebarVisualContextValue = {\n size: '1' | '2';\n menuVariant: 'solid' | 'soft';\n};\nconst SidebarVisualContext = React.createContext<SidebarVisualContextValue | null>(null);\nfunction useSidebarVisual() {\n return React.useContext(SidebarVisualContext);\n}\n\n// Main Sidebar component\ntype SidebarOwnProps = GetPropDefTypes<typeof sidebarPropDefs>;\ninterface SidebarProps extends ComponentPropsWithout<'div', RemovedProps>, SidebarOwnProps {}\n\nconst Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>((props, forwardedRef) => {\n const themeContext = useThemeContext();\n\n const {\n size = sidebarPropDefs.size.default,\n variant = sidebarPropDefs.variant.default,\n menuVariant = sidebarPropDefs.menuVariant.default,\n // type = sidebarPropDefs.type.default,\n // side = sidebarPropDefs.side.default,\n // collapsible = sidebarPropDefs.collapsible.default,\n panelBackground,\n color,\n highContrast = sidebarPropDefs.highContrast.default,\n } = props;\n\n const { className, children, ...rootProps } = extractProps(props, sidebarPropDefs);\n const { asChild: _, panelBackground: __, ...safeRootProps } = rootProps; // Remove asChild and panelBackground from DOM props\n const resolvedColor = color || themeContext.accentColor;\n\n // Update context with current props - we'll pass the resolved values\n const resolvedSize = typeof size === 'object' ? size.initial || '2' : size;\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n className={classNames('rt-SidebarRoot', className)}\n >\n <SidebarVisualContext.Provider value={{ size: resolvedSize, menuVariant }}>\n <div\n className={classNames(\n 'rt-SidebarContainer',\n `rt-variant-${variant}`,\n `rt-r-size-${resolvedSize}`,\n `rt-menu-variant-${menuVariant}`,\n )}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-panel-background={panelBackground}\n >\n {children}\n </div>\n </SidebarVisualContext.Provider>\n </div>\n );\n});\nSidebar.displayName = 'Sidebar.Root';\n\n// Sidebar content area\ninterface SidebarContentProps extends React.ComponentPropsWithoutRef<'div'> {\n id?: string;\n role?: 'navigation' | 'none';\n 'aria-label'?: string;\n}\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, SidebarContentProps>(\n (\n {\n className,\n children,\n role = 'navigation',\n 'aria-label': ariaLabel = 'Main navigation',\n id,\n ...props\n },\n forwardedRef,\n ) => {\n const visual = useSidebarVisual();\n const size = visual?.size ?? '2';\n const menuVariant = visual?.menuVariant ?? 'soft';\n\n return (\n <ScrollArea type=\"hover\">\n <div\n {...props}\n ref={forwardedRef}\n id={id}\n role={role}\n aria-label={ariaLabel}\n className={classNames(\n 'rt-BaseMenuContent',\n 'rt-SidebarContent',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n className,\n )}\n >\n {children}\n </div>\n </ScrollArea>\n );\n },\n);\nSidebarContent.displayName = 'Sidebar.Content';\n\n// Sidebar header\ninterface SidebarHeaderProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const size = visual?.size ?? '2';\n const menuVariant = visual?.menuVariant ?? 'soft';\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarHeader',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarHeader--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarHeader.displayName = 'Sidebar.Header';\n\n// Sidebar footer\ninterface SidebarFooterProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const size = visual?.size ?? '2';\n const menuVariant = visual?.menuVariant ?? 'soft';\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarFooter',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarFooter--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarFooter.displayName = 'Sidebar.Footer';\n\n// Sidebar trigger button\n// removed Trigger in presentational-only Sidebar\n\n// Removed SidebarInset - not needed\n\n// Sidebar separator\ninterface SidebarSeparatorProps extends ComponentPropsWithout<typeof Separator, RemovedProps> {}\n\nconst SidebarSeparator = React.forwardRef<\n React.ComponentRef<typeof Separator>,\n SidebarSeparatorProps\n>(({ className, ...props }, forwardedRef) => (\n <Separator\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarSeparator', className)}\n />\n));\nSidebarSeparator.displayName = 'Sidebar.Separator';\n\n// Menu components - reusing dropdown menu structure\ninterface SidebarMenuProps extends React.ComponentPropsWithoutRef<'ul'> {}\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, SidebarMenuProps>(\n ({ className, ...props }, forwardedRef) => (\n <ul\n {...props}\n ref={forwardedRef}\n role=\"menu\"\n className={classNames('rt-BaseMenuViewport', 'rt-SidebarMenu', className)}\n />\n ),\n);\nSidebarMenu.displayName = 'Sidebar.Menu';\n\ninterface SidebarMenuItemProps extends React.ComponentPropsWithoutRef<'li'> {}\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, SidebarMenuItemProps>(\n ({ className, ...props }, forwardedRef) => (\n <li {...props} ref={forwardedRef} className={classNames('rt-SidebarMenuItem', className)} />\n ),\n);\nSidebarMenuItem.displayName = 'Sidebar.MenuItem';\n\ninterface SidebarMenuButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n asChild?: boolean;\n isActive?: boolean;\n shortcut?: React.ReactNode;\n badge?: string | BadgeConfig;\n}\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>(\n (\n {\n asChild = false,\n isActive = false,\n shortcut,\n badge,\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n const visual = useSidebarVisual();\n const sidebarSize = visual?.size ?? '2';\n\n const Comp = asChild ? Slot : 'button';\n\n const { onClick } = props;\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n switch (event.key) {\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (onClick) onClick(event as any);\n break;\n case 'ArrowDown': {\n event.preventDefault();\n // Focus next menu item\n const nextItem = (event.currentTarget as HTMLElement).nextElementSibling?.querySelector(\n '[role=\"menuitem\"]',\n ) as HTMLElement;\n if (nextItem) nextItem.focus();\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n // Focus previous menu item\n const prevItem = (\n event.currentTarget as HTMLElement\n ).previousElementSibling?.querySelector('[role=\"menuitem\"]') as HTMLElement;\n if (prevItem) prevItem.focus();\n break;\n }\n }\n onKeyDown?.(event);\n },\n [onClick, onKeyDown],\n );\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n role=\"menuitem\"\n aria-current={isActive ? 'page' : undefined}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-SidebarMenuButton', className)}\n data-active={isActive || undefined}\n data-highlighted={isHighlighted || undefined}\n onKeyDown={handleKeyDown}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {/* Badge with soft variant default and size mapping to sidebar size */}\n {badge && (\n <div className=\"rt-SidebarMenuBadge\">\n {typeof badge === 'string' ? (\n <Badge size={sidebarSize} variant=\"soft\">\n {badge}\n </Badge>\n ) : (\n <Badge\n size={badge.size || sidebarSize}\n variant={badge.variant || 'soft'}\n color={badge.color}\n highContrast={badge.highContrast}\n radius={badge.radius}\n >\n {badge.content}\n </Badge>\n )}\n </div>\n )}\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-SidebarMenuShortcut\">\n <Kbd size={sidebarSize}>{shortcut}</Kbd>\n </div>\n )}\n </>\n )}\n </Comp>\n );\n },\n);\nSidebarMenuButton.displayName = 'Sidebar.MenuButton';\n\n// Sub-menu components using Radix Accordion\ninterface SidebarMenuSubProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n}\n\nconst SidebarMenuSub = React.forwardRef<HTMLDivElement, SidebarMenuSubProps>(\n ({ defaultOpen = false, children, ...props }, forwardedRef) => {\n return (\n <div {...props} ref={forwardedRef}>\n <Accordion.Root type=\"single\" collapsible defaultValue={defaultOpen ? 'item' : undefined}>\n <Accordion.Item value=\"item\">{children}</Accordion.Item>\n </Accordion.Root>\n </div>\n );\n },\n);\nSidebarMenuSub.displayName = 'Sidebar.MenuSub';\n\ninterface SidebarMenuSubTriggerProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Trigger> {\n asChild?: boolean;\n}\n\nconst SidebarMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof Accordion.Trigger>,\n SidebarMenuSubTriggerProps\n>(\n (\n { asChild = false, className, children, onMouseEnter, onMouseLeave, ...props },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n\n return (\n <Accordion.Header asChild>\n <div>\n <Accordion.Trigger\n {...props}\n ref={forwardedRef}\n asChild={asChild}\n role=\"menuitem\"\n aria-haspopup=\"true\"\n className={classNames(\n 'rt-reset',\n 'rt-BaseMenuItem',\n 'rt-SidebarMenuButton',\n 'rt-SidebarMenuSubTrigger',\n className,\n )}\n data-highlighted={isHighlighted || undefined}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n <ThickChevronRightIcon\n className={classNames(\n 'rt-BaseMenuSubTriggerIcon',\n 'rt-SidebarMenuSubTriggerIcon',\n )}\n />\n </>\n )}\n </Accordion.Trigger>\n </div>\n </Accordion.Header>\n );\n },\n);\nSidebarMenuSubTrigger.displayName = 'Sidebar.MenuSubTrigger';\n\ninterface SidebarMenuSubContentProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Content> {}\n\nconst SidebarMenuSubContent = React.forwardRef<\n React.ElementRef<typeof Accordion.Content>,\n SidebarMenuSubContentProps\n>(({ className, children, ...props }, forwardedRef) => {\n return (\n <Accordion.Content\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarMenuSubContent', className)}\n >\n <div className=\"rt-SidebarMenuSubList\">{children}</div>\n </Accordion.Content>\n );\n});\nSidebarMenuSubContent.displayName = 'Sidebar.MenuSubContent';\n\n// Group components\ninterface SidebarGroupProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, SidebarGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuGroup', 'rt-SidebarGroup', className)}\n />\n ),\n);\nSidebarGroup.displayName = 'Sidebar.Group';\n\ninterface SidebarGroupLabelProps extends React.ComponentPropsWithoutRef<'div'> {\n asChild?: boolean;\n}\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, SidebarGroupLabelProps>(\n ({ asChild = false, className, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n role=\"group\"\n className={classNames('rt-BaseMenuLabel', 'rt-SidebarGroupLabel', className)}\n />\n );\n },\n);\nSidebarGroupLabel.displayName = 'Sidebar.GroupLabel';\n\ninterface SidebarGroupContentProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, SidebarGroupContentProps>(\n ({ className, ...props }, forwardedRef) => (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarGroupContent', className)}\n />\n ),\n);\nSidebarGroupContent.displayName = 'Sidebar.GroupContent';\n\n// Export all components following shadcn's pattern\nexport {\n Sidebar as Root,\n SidebarContent as Content,\n SidebarHeader as Header,\n SidebarFooter as Footer,\n SidebarSeparator as Separator,\n SidebarMenu as Menu,\n SidebarMenuItem as MenuItem,\n SidebarMenuButton as MenuButton,\n SidebarMenuSub as MenuSub,\n SidebarMenuSubTrigger as MenuSubTrigger,\n SidebarMenuSubContent as MenuSubContent,\n SidebarGroup as Group,\n SidebarGroupLabel as GroupLabel,\n SidebarGroupContent as GroupContent,\n};\n\n/**\n * Enhanced Sidebar Header and Footer Usage Examples:\n *\n * 1. Simple default container (backwards compatible):\n * <Sidebar.Header>\n * <Logo />\n * <span>App Name</span>\n * </Sidebar.Header>\n *\n * 2. Custom flex layout:\n * <Sidebar.Header className=\"rt-justify-between rt-gap-3\">\n * <Logo />\n * <Sidebar.MenuButton>\n * <SettingsIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 3. Column layout for multiple rows:\n * <Sidebar.Header className=\"rt-flex-col rt-gap-2\" asContainer={false}>\n * <div className=\"rt-flex rt-items-center rt-gap-2\">\n * <Logo />\n * <span>App Name</span>\n * </div>\n * <Sidebar.MenuButton>\n * <UserAvatar />\n * <span>John Doe</span>\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 4. Interactive footer with menu button:\n * <Sidebar.Footer>\n * <Sidebar.MenuButton>\n * <UserIcon />\n * <span>Settings</span>\n * <ChevronUpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * 5. Custom footer layout:\n * <Sidebar.Footer className=\"rt-justify-between\">\n * <span>v1.0.0</span>\n * <Sidebar.MenuButton>\n * <HelpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * Available utility classes:\n * - Layout: rt-flex-row, rt-flex-col\n * - Alignment: rt-items-center, rt-items-start, rt-items-end\n * - Justification: rt-justify-between, rt-justify-center, rt-justify-start, rt-justify-end\n * - Gap: rt-gap-1, rt-gap-2, rt-gap-3, rt-gap-4\n */\n\nexport type {\n SidebarProps as RootProps,\n SidebarContentProps as ContentProps,\n SidebarHeaderProps as HeaderProps,\n SidebarFooterProps as FooterProps,\n BadgeConfig,\n};\n"],
|
|
5
|
-
"mappings": "aAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,QAAAC,MAAY,YACrB,OAAS,aAAAC,MAAiB,WAE1B,OAAS,mBAAAC,MAAuB,qBAChC,OAAS,mBAAAC,MAAuB,aAEhC,OAAS,cAAAC,MAAkB,mBAC3B,OAAS,aAAAC,MAAiB,iBAC1B,OAAS,yBAAAC,MAA6B,aACtC,OAAS,gBAAAC,MAAoB,8BAC7B,OAAS,OAAAC,MAAW,WACpB,OAAS,SAAAC,MAAa,aAqBtB,MAAMC,EAAuBZ,EAAM,cAAgD,IAAI,EACvF,SAASa,GAAmB,CAC1B,OAAOb,EAAM,WAAWY,CAAoB,CAC9C,CAMA,MAAME,
|
|
6
|
-
"names": ["React", "classNames", "Slot", "Accordion", "sidebarPropDefs", "useThemeContext", "ScrollArea", "Separator", "ThickChevronRightIcon", "extractProps", "Kbd", "Badge", "SidebarVisualContext", "useSidebarVisual", "Sidebar", "props", "forwardedRef", "themeContext", "size", "variant", "menuVariant", "panelBackground", "color", "highContrast", "className", "children", "rootProps", "_", "__", "safeRootProps", "resolvedColor", "resolvedSize", "SidebarContent", "role", "ariaLabel", "id", "visual", "SidebarHeader", "asContainer", "SidebarFooter", "SidebarSeparator", "SidebarMenu", "SidebarMenuItem", "SidebarMenuButton", "asChild", "isActive", "shortcut", "badge", "onMouseEnter", "onMouseLeave", "onKeyDown", "isHighlighted", "setIsHighlighted", "sidebarSize", "Comp", "onClick", "handleKeyDown", "event", "nextItem", "prevItem", "SidebarMenuSub", "defaultOpen", "SidebarMenuSubTrigger", "SidebarMenuSubContent", "SidebarGroup", "SidebarGroupLabel", "SidebarGroupContent"]
|
|
4
|
+
"sourcesContent": ["'use client';\n\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Slot } from './slot.js';\nimport { Accordion } from 'radix-ui';\n\nimport { sidebarPropDefs } from './sidebar.props.js';\nimport { useThemeContext } from './theme.js';\n// import { IconButton } from './icon-button.js';\nimport { ScrollArea } from './scroll-area.js';\nimport { Separator } from './separator.js';\nimport { ThickChevronRightIcon } from './icons.js';\nimport { extractProps } from '../helpers/extract-props.js';\nimport { Kbd } from './kbd.js';\nimport { Badge } from './badge.js';\n\nimport type { ComponentPropsWithout, RemovedProps } from '../helpers/component-props.js';\nimport type { GetPropDefTypes } from '../props/prop-def.js';\nimport type { BadgeProps } from './badge.js';\n\n// Badge configuration type for sidebar menu buttons\ntype BadgeConfig = {\n content: React.ReactNode;\n variant?: BadgeProps['variant'];\n size?: BadgeProps['size'];\n color?: BadgeProps['color'];\n highContrast?: BadgeProps['highContrast'];\n radius?: BadgeProps['radius'];\n};\n\n// Internal presentational context (not exported) for size/menu variant\ntype SidebarVisualContextValue = {\n size: '1' | '2';\n menuVariant: 'solid' | 'soft';\n};\nconst SidebarVisualContext = React.createContext<SidebarVisualContextValue | null>(null);\nfunction useSidebarVisual() {\n return React.useContext(SidebarVisualContext);\n}\n\n// Context detection for Shell.Sidebar integration\ntype ShellSidebarSectionContextValue = {\n side: 'start' | 'end';\n section: 'rail' | 'panel';\n};\n\n// Create a context that Shell.Sidebar can provide\nconst ShellSidebarSectionContext = React.createContext<ShellSidebarSectionContextValue | null>(\n null,\n);\n\n// This context comes from Shell.Sidebar when Sidebar is used within Shell\nfunction useShellSidebarSection(): ShellSidebarSectionContextValue | null {\n return React.useContext(ShellSidebarSectionContext);\n}\n\n// Main Sidebar component\ntype SidebarOwnProps = GetPropDefTypes<typeof sidebarPropDefs>;\ninterface SidebarProps extends ComponentPropsWithout<'div', RemovedProps>, SidebarOwnProps {}\n\nconst Sidebar = React.forwardRef<HTMLDivElement, SidebarProps>((props, forwardedRef) => {\n const themeContext = useThemeContext();\n\n const {\n size = sidebarPropDefs.size.default,\n variant = sidebarPropDefs.variant.default,\n menuVariant = sidebarPropDefs.menuVariant.default,\n layout = sidebarPropDefs.layout.default,\n // type = sidebarPropDefs.type.default,\n // side = sidebarPropDefs.side.default,\n // collapsible = sidebarPropDefs.collapsible.default,\n panelBackground,\n color,\n highContrast = sidebarPropDefs.highContrast.default,\n } = props;\n\n const { className, children, ...rootProps } = extractProps(props, sidebarPropDefs);\n const { asChild: _, panelBackground: __, ...safeRootProps } = rootProps; // Remove asChild and panelBackground from DOM props\n const resolvedColor = color || themeContext.accentColor;\n\n // Detect Shell.Sidebar context to auto-resolve layout\n const shellSection = useShellSidebarSection();\n const resolvedLayout = layout || shellSection?.section || 'panel'; // Default to 'panel' if no context\n\n // Update context with current props - we'll pass the resolved values\n const resolvedSize = typeof size === 'object' ? size.initial || '2' : size;\n return (\n <div\n {...safeRootProps}\n ref={forwardedRef}\n data-accent-color={resolvedColor}\n className={classNames('rt-SidebarRoot', className)}\n >\n <SidebarVisualContext.Provider value={{ size: resolvedSize, menuVariant }}>\n <div\n className={classNames(\n 'rt-SidebarContainer',\n `rt-variant-${variant}`,\n `rt-r-size-${resolvedSize}`,\n `rt-menu-variant-${menuVariant}`,\n resolvedLayout && `rt-layout-${resolvedLayout}`,\n )}\n data-accent-color={resolvedColor}\n data-high-contrast={highContrast || undefined}\n data-panel-background={panelBackground}\n data-layout={resolvedLayout}\n >\n {children}\n </div>\n </SidebarVisualContext.Provider>\n </div>\n );\n});\nSidebar.displayName = 'Sidebar.Root';\n\n// Sidebar content area\ninterface SidebarContentProps extends React.ComponentPropsWithoutRef<'div'> {\n id?: string;\n role?: 'navigation' | 'none';\n 'aria-label'?: string;\n}\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, SidebarContentProps>(\n (\n {\n className,\n children,\n role = 'navigation',\n 'aria-label': ariaLabel = 'Main navigation',\n id,\n ...props\n },\n forwardedRef,\n ) => {\n const visual = useSidebarVisual();\n const size = visual?.size ?? '2';\n const menuVariant = visual?.menuVariant ?? 'soft';\n\n return (\n <ScrollArea type=\"hover\">\n <div\n {...props}\n ref={forwardedRef}\n id={id}\n role={role}\n aria-label={ariaLabel}\n className={classNames(\n 'rt-BaseMenuContent',\n 'rt-SidebarContent',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n className,\n )}\n >\n {children}\n </div>\n </ScrollArea>\n );\n },\n);\nSidebarContent.displayName = 'Sidebar.Content';\n\n// Sidebar header\ninterface SidebarHeaderProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const size = visual?.size ?? '2';\n const menuVariant = visual?.menuVariant ?? 'soft';\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarHeader',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarHeader--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarHeader.displayName = 'Sidebar.Header';\n\n// Sidebar footer\ninterface SidebarFooterProps extends React.ComponentPropsWithoutRef<'div'> {\n /**\n * Whether to use the default flex container layout.\n * @default true\n */\n asContainer?: boolean;\n}\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, asContainer = true, ...props }, forwardedRef) => {\n const visual = useSidebarVisual();\n const size = visual?.size ?? '2';\n const menuVariant = visual?.menuVariant ?? 'soft';\n\n return (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames(\n 'rt-SidebarFooter',\n `rt-r-size-${size}`,\n `rt-menu-variant-${menuVariant}`,\n {\n 'rt-SidebarFooter--container': asContainer,\n },\n className,\n )}\n />\n );\n },\n);\nSidebarFooter.displayName = 'Sidebar.Footer';\n\n// Sidebar trigger button\n// removed Trigger in presentational-only Sidebar\n\n// Removed SidebarInset - not needed\n\n// Sidebar separator\ninterface SidebarSeparatorProps extends ComponentPropsWithout<typeof Separator, RemovedProps> {}\n\nconst SidebarSeparator = React.forwardRef<\n React.ComponentRef<typeof Separator>,\n SidebarSeparatorProps\n>(({ className, ...props }, forwardedRef) => (\n <Separator\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarSeparator', className)}\n />\n));\nSidebarSeparator.displayName = 'Sidebar.Separator';\n\n// Menu components - reusing dropdown menu structure\ninterface SidebarMenuProps extends React.ComponentPropsWithoutRef<'ul'> {}\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, SidebarMenuProps>(\n ({ className, ...props }, forwardedRef) => (\n <ul\n {...props}\n ref={forwardedRef}\n role=\"menu\"\n className={classNames('rt-BaseMenuViewport', 'rt-SidebarMenu', className)}\n />\n ),\n);\nSidebarMenu.displayName = 'Sidebar.Menu';\n\ninterface SidebarMenuItemProps extends React.ComponentPropsWithoutRef<'li'> {}\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, SidebarMenuItemProps>(\n ({ className, ...props }, forwardedRef) => (\n <li {...props} ref={forwardedRef} className={classNames('rt-SidebarMenuItem', className)} />\n ),\n);\nSidebarMenuItem.displayName = 'Sidebar.MenuItem';\n\ninterface SidebarMenuButtonProps extends React.ComponentPropsWithoutRef<'button'> {\n asChild?: boolean;\n isActive?: boolean;\n shortcut?: React.ReactNode;\n badge?: string | BadgeConfig;\n}\n\nconst SidebarMenuButton = React.forwardRef<HTMLButtonElement, SidebarMenuButtonProps>(\n (\n {\n asChild = false,\n isActive = false,\n shortcut,\n badge,\n className,\n children,\n onMouseEnter,\n onMouseLeave,\n onKeyDown,\n ...props\n },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n const visual = useSidebarVisual();\n const sidebarSize = visual?.size ?? '2';\n\n const Comp = asChild ? Slot : 'button';\n\n const { onClick } = props;\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLButtonElement>) => {\n switch (event.key) {\n case 'Enter':\n case ' ':\n event.preventDefault();\n if (onClick) onClick(event as any);\n break;\n case 'ArrowDown': {\n event.preventDefault();\n // Focus next menu item\n const nextItem = (event.currentTarget as HTMLElement).nextElementSibling?.querySelector(\n '[role=\"menuitem\"]',\n ) as HTMLElement;\n if (nextItem) nextItem.focus();\n break;\n }\n case 'ArrowUp': {\n event.preventDefault();\n // Focus previous menu item\n const prevItem = (\n event.currentTarget as HTMLElement\n ).previousElementSibling?.querySelector('[role=\"menuitem\"]') as HTMLElement;\n if (prevItem) prevItem.focus();\n break;\n }\n }\n onKeyDown?.(event);\n },\n [onClick, onKeyDown],\n );\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n role=\"menuitem\"\n aria-current={isActive ? 'page' : undefined}\n className={classNames('rt-reset', 'rt-BaseMenuItem', 'rt-SidebarMenuButton', className)}\n data-active={isActive || undefined}\n data-highlighted={isHighlighted || undefined}\n onKeyDown={handleKeyDown}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n {/* Badge with soft variant default and size mapping to sidebar size */}\n {badge && (\n <div className=\"rt-SidebarMenuBadge\">\n {typeof badge === 'string' ? (\n <Badge size={sidebarSize} variant=\"soft\">\n {badge}\n </Badge>\n ) : (\n <Badge\n size={badge.size || sidebarSize}\n variant={badge.variant || 'soft'}\n color={badge.color}\n highContrast={badge.highContrast}\n radius={badge.radius}\n >\n {badge.content}\n </Badge>\n )}\n </div>\n )}\n {shortcut && (\n <div className=\"rt-BaseMenuShortcut rt-SidebarMenuShortcut\">\n <Kbd size={sidebarSize}>{shortcut}</Kbd>\n </div>\n )}\n </>\n )}\n </Comp>\n );\n },\n);\nSidebarMenuButton.displayName = 'Sidebar.MenuButton';\n\n// Sub-menu components using Radix Accordion\ninterface SidebarMenuSubProps extends React.ComponentPropsWithoutRef<'div'> {\n defaultOpen?: boolean;\n}\n\nconst SidebarMenuSub = React.forwardRef<HTMLDivElement, SidebarMenuSubProps>(\n ({ defaultOpen = false, children, ...props }, forwardedRef) => {\n return (\n <div {...props} ref={forwardedRef}>\n <Accordion.Root type=\"single\" collapsible defaultValue={defaultOpen ? 'item' : undefined}>\n <Accordion.Item value=\"item\">{children}</Accordion.Item>\n </Accordion.Root>\n </div>\n );\n },\n);\nSidebarMenuSub.displayName = 'Sidebar.MenuSub';\n\ninterface SidebarMenuSubTriggerProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Trigger> {\n asChild?: boolean;\n}\n\nconst SidebarMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof Accordion.Trigger>,\n SidebarMenuSubTriggerProps\n>(\n (\n { asChild = false, className, children, onMouseEnter, onMouseLeave, ...props },\n forwardedRef,\n ) => {\n const [isHighlighted, setIsHighlighted] = React.useState(false);\n\n return (\n <Accordion.Header asChild>\n <div>\n <Accordion.Trigger\n {...props}\n ref={forwardedRef}\n asChild={asChild}\n role=\"menuitem\"\n aria-haspopup=\"true\"\n className={classNames(\n 'rt-reset',\n 'rt-BaseMenuItem',\n 'rt-SidebarMenuButton',\n 'rt-SidebarMenuSubTrigger',\n className,\n )}\n data-highlighted={isHighlighted || undefined}\n onMouseEnter={(event) => {\n setIsHighlighted(true);\n onMouseEnter?.(event);\n }}\n onMouseLeave={(event) => {\n setIsHighlighted(false);\n onMouseLeave?.(event);\n }}\n >\n {asChild ? (\n children\n ) : (\n <>\n {children}\n <ThickChevronRightIcon\n className={classNames(\n 'rt-BaseMenuSubTriggerIcon',\n 'rt-SidebarMenuSubTriggerIcon',\n )}\n />\n </>\n )}\n </Accordion.Trigger>\n </div>\n </Accordion.Header>\n );\n },\n);\nSidebarMenuSubTrigger.displayName = 'Sidebar.MenuSubTrigger';\n\ninterface SidebarMenuSubContentProps\n extends React.ComponentPropsWithoutRef<typeof Accordion.Content> {}\n\nconst SidebarMenuSubContent = React.forwardRef<\n React.ElementRef<typeof Accordion.Content>,\n SidebarMenuSubContentProps\n>(({ className, children, ...props }, forwardedRef) => {\n return (\n <Accordion.Content\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarMenuSubContent', className)}\n >\n <div className=\"rt-SidebarMenuSubList\">{children}</div>\n </Accordion.Content>\n );\n});\nSidebarMenuSubContent.displayName = 'Sidebar.MenuSubContent';\n\n// Group components\ninterface SidebarGroupProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, SidebarGroupProps>(\n ({ className, ...props }, forwardedRef) => (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-BaseMenuGroup', 'rt-SidebarGroup', className)}\n />\n ),\n);\nSidebarGroup.displayName = 'Sidebar.Group';\n\ninterface SidebarGroupLabelProps extends React.ComponentPropsWithoutRef<'div'> {\n asChild?: boolean;\n}\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, SidebarGroupLabelProps>(\n ({ asChild = false, className, ...props }, forwardedRef) => {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n {...props}\n ref={forwardedRef}\n role=\"group\"\n className={classNames('rt-BaseMenuLabel', 'rt-SidebarGroupLabel', className)}\n />\n );\n },\n);\nSidebarGroupLabel.displayName = 'Sidebar.GroupLabel';\n\ninterface SidebarGroupContentProps extends React.ComponentPropsWithoutRef<'div'> {}\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, SidebarGroupContentProps>(\n ({ className, ...props }, forwardedRef) => (\n <div\n {...props}\n ref={forwardedRef}\n className={classNames('rt-SidebarGroupContent', className)}\n />\n ),\n);\nSidebarGroupContent.displayName = 'Sidebar.GroupContent';\n\n// Export all components following shadcn's pattern\nexport {\n Sidebar as Root,\n SidebarContent as Content,\n SidebarHeader as Header,\n SidebarFooter as Footer,\n SidebarSeparator as Separator,\n SidebarMenu as Menu,\n SidebarMenuItem as MenuItem,\n SidebarMenuButton as MenuButton,\n SidebarMenuSub as MenuSub,\n SidebarMenuSubTrigger as MenuSubTrigger,\n SidebarMenuSubContent as MenuSubContent,\n SidebarGroup as Group,\n SidebarGroupLabel as GroupLabel,\n SidebarGroupContent as GroupContent,\n};\n\n/**\n * Enhanced Sidebar Header and Footer Usage Examples:\n *\n * 1. Simple default container (backwards compatible):\n * <Sidebar.Header>\n * <Logo />\n * <span>App Name</span>\n * </Sidebar.Header>\n *\n * 2. Custom flex layout:\n * <Sidebar.Header className=\"rt-justify-between rt-gap-3\">\n * <Logo />\n * <Sidebar.MenuButton>\n * <SettingsIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 3. Column layout for multiple rows:\n * <Sidebar.Header className=\"rt-flex-col rt-gap-2\" asContainer={false}>\n * <div className=\"rt-flex rt-items-center rt-gap-2\">\n * <Logo />\n * <span>App Name</span>\n * </div>\n * <Sidebar.MenuButton>\n * <UserAvatar />\n * <span>John Doe</span>\n * </Sidebar.MenuButton>\n * </Sidebar.Header>\n *\n * 4. Interactive footer with menu button:\n * <Sidebar.Footer>\n * <Sidebar.MenuButton>\n * <UserIcon />\n * <span>Settings</span>\n * <ChevronUpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * 5. Custom footer layout:\n * <Sidebar.Footer className=\"rt-justify-between\">\n * <span>v1.0.0</span>\n * <Sidebar.MenuButton>\n * <HelpIcon />\n * </Sidebar.MenuButton>\n * </Sidebar.Footer>\n *\n * Available utility classes:\n * - Layout: rt-flex-row, rt-flex-col\n * - Alignment: rt-items-center, rt-items-start, rt-items-end\n * - Justification: rt-justify-between, rt-justify-center, rt-justify-start, rt-justify-end\n * - Gap: rt-gap-1, rt-gap-2, rt-gap-3, rt-gap-4\n */\n\nexport type {\n SidebarProps as RootProps,\n SidebarContentProps as ContentProps,\n SidebarHeaderProps as HeaderProps,\n SidebarFooterProps as FooterProps,\n BadgeConfig,\n ShellSidebarSectionContextValue,\n};\n\n// Export context for Shell.Sidebar integration\nexport { ShellSidebarSectionContext };\n"],
|
|
5
|
+
"mappings": "aAEA,UAAYA,MAAW,QACvB,OAAOC,MAAgB,aACvB,OAAS,QAAAC,MAAY,YACrB,OAAS,aAAAC,MAAiB,WAE1B,OAAS,mBAAAC,MAAuB,qBAChC,OAAS,mBAAAC,MAAuB,aAEhC,OAAS,cAAAC,MAAkB,mBAC3B,OAAS,aAAAC,MAAiB,iBAC1B,OAAS,yBAAAC,MAA6B,aACtC,OAAS,gBAAAC,MAAoB,8BAC7B,OAAS,OAAAC,MAAW,WACpB,OAAS,SAAAC,MAAa,aAqBtB,MAAMC,EAAuBZ,EAAM,cAAgD,IAAI,EACvF,SAASa,GAAmB,CAC1B,OAAOb,EAAM,WAAWY,CAAoB,CAC9C,CASA,MAAME,EAA6Bd,EAAM,cACvC,IACF,EAGA,SAASe,GAAiE,CACxE,OAAOf,EAAM,WAAWc,CAA0B,CACpD,CAMA,MAAME,EAAUhB,EAAM,WAAyC,CAACiB,EAAOC,IAAiB,CACtF,MAAMC,EAAed,EAAgB,EAE/B,CACJ,KAAAe,EAAOhB,EAAgB,KAAK,QAC5B,QAAAiB,EAAUjB,EAAgB,QAAQ,QAClC,YAAAkB,EAAclB,EAAgB,YAAY,QAC1C,OAAAmB,EAASnB,EAAgB,OAAO,QAIhC,gBAAAoB,EACA,MAAAC,EACA,aAAAC,EAAetB,EAAgB,aAAa,OAC9C,EAAIa,EAEE,CAAE,UAAAU,EAAW,SAAAC,EAAU,GAAGC,CAAU,EAAIpB,EAAaQ,EAAOb,CAAe,EAC3E,CAAE,QAAS0B,EAAG,gBAAiBC,EAAI,GAAGC,CAAc,EAAIH,EACxDI,EAAgBR,GAASN,EAAa,YAGtCe,EAAenB,EAAuB,EACtCoB,EAAiBZ,GAAUW,GAAc,SAAW,QAGpDE,EAAe,OAAOhB,GAAS,SAAWA,EAAK,SAAW,IAAMA,EACtE,OACEpB,EAAA,cAAC,OACE,GAAGgC,EACJ,IAAKd,EACL,oBAAmBe,EACnB,UAAWhC,EAAW,iBAAkB0B,CAAS,GAEjD3B,EAAA,cAACY,EAAqB,SAArB,CAA8B,MAAO,CAAE,KAAMwB,EAAc,YAAAd,CAAY,GACtEtB,EAAA,cAAC,OACC,UAAWC,EACT,sBACA,cAAcoB,CAAO,GACrB,aAAae,CAAY,GACzB,mBAAmBd,CAAW,GAC9Ba,GAAkB,aAAaA,CAAc,EAC/C,EACA,oBAAmBF,EACnB,qBAAoBP,GAAgB,OACpC,wBAAuBF,EACvB,cAAaW,GAEZP,CACH,CACF,CACF,CAEJ,CAAC,EACDZ,EAAQ,YAAc,eAStB,MAAMqB,EAAiBrC,EAAM,WAC3B,CACE,CACE,UAAA2B,EACA,SAAAC,EACA,KAAAU,EAAO,aACP,aAAcC,EAAY,kBAC1B,GAAAC,EACA,GAAGvB,CACL,EACAC,IACG,CACH,MAAMuB,EAAS5B,EAAiB,EAC1BO,EAAOqB,GAAQ,MAAQ,IACvBnB,EAAcmB,GAAQ,aAAe,OAE3C,OACEzC,EAAA,cAACM,EAAA,CAAW,KAAK,SACfN,EAAA,cAAC,OACE,GAAGiB,EACJ,IAAKC,EACL,GAAIsB,EACJ,KAAMF,EACN,aAAYC,EACZ,UAAWtC,EACT,qBACA,oBACA,aAAamB,CAAI,GACjB,mBAAmBE,CAAW,GAC9BK,CACF,GAECC,CACH,CACF,CAEJ,CACF,EACAS,EAAe,YAAc,kBAW7B,MAAMK,EAAgB1C,EAAM,WAC1B,CAAC,CAAE,UAAA2B,EAAW,YAAAgB,EAAc,GAAM,GAAG1B,CAAM,EAAGC,IAAiB,CAC7D,MAAMuB,EAAS5B,EAAiB,EAC1BO,EAAOqB,GAAQ,MAAQ,IACvBnB,EAAcmB,GAAQ,aAAe,OAE3C,OACEzC,EAAA,cAAC,OACE,GAAGiB,EACJ,IAAKC,EACL,UAAWjB,EACT,mBACA,aAAamB,CAAI,GACjB,mBAAmBE,CAAW,GAC9B,CACE,8BAA+BqB,CACjC,EACAhB,CACF,EACF,CAEJ,CACF,EACAe,EAAc,YAAc,iBAW5B,MAAME,EAAgB5C,EAAM,WAC1B,CAAC,CAAE,UAAA2B,EAAW,YAAAgB,EAAc,GAAM,GAAG1B,CAAM,EAAGC,IAAiB,CAC7D,MAAMuB,EAAS5B,EAAiB,EAC1BO,EAAOqB,GAAQ,MAAQ,IACvBnB,EAAcmB,GAAQ,aAAe,OAE3C,OACEzC,EAAA,cAAC,OACE,GAAGiB,EACJ,IAAKC,EACL,UAAWjB,EACT,mBACA,aAAamB,CAAI,GACjB,mBAAmBE,CAAW,GAC9B,CACE,8BAA+BqB,CACjC,EACAhB,CACF,EACF,CAEJ,CACF,EACAiB,EAAc,YAAc,iBAU5B,MAAMC,EAAmB7C,EAAM,WAG7B,CAAC,CAAE,UAAA2B,EAAW,GAAGV,CAAM,EAAGC,IAC1BlB,EAAA,cAACO,EAAA,CACE,GAAGU,EACJ,IAAKC,EACL,UAAWjB,EAAW,sBAAuB0B,CAAS,EACxD,CACD,EACDkB,EAAiB,YAAc,oBAK/B,MAAMC,EAAc9C,EAAM,WACxB,CAAC,CAAE,UAAA2B,EAAW,GAAGV,CAAM,EAAGC,IACxBlB,EAAA,cAAC,MACE,GAAGiB,EACJ,IAAKC,EACL,KAAK,OACL,UAAWjB,EAAW,sBAAuB,iBAAkB0B,CAAS,EAC1E,CAEJ,EACAmB,EAAY,YAAc,eAI1B,MAAMC,EAAkB/C,EAAM,WAC5B,CAAC,CAAE,UAAA2B,EAAW,GAAGV,CAAM,EAAGC,IACxBlB,EAAA,cAAC,MAAI,GAAGiB,EAAO,IAAKC,EAAc,UAAWjB,EAAW,qBAAsB0B,CAAS,EAAG,CAE9F,EACAoB,EAAgB,YAAc,mBAS9B,MAAMC,EAAoBhD,EAAM,WAC9B,CACE,CACE,QAAAiD,EAAU,GACV,SAAAC,EAAW,GACX,SAAAC,EACA,MAAAC,EACA,UAAAzB,EACA,SAAAC,EACA,aAAAyB,EACA,aAAAC,EACA,UAAAC,EACA,GAAGtC,CACL,EACAC,IACG,CACH,KAAM,CAACsC,EAAeC,CAAgB,EAAIzD,EAAM,SAAS,EAAK,EAExD0D,EADS7C,EAAiB,GACJ,MAAQ,IAE9B8C,EAAOV,EAAU/C,EAAO,SAExB,CAAE,QAAA0D,CAAQ,EAAI3C,EACd4C,EAAgB7D,EAAM,YACzB8D,GAAkD,CACjD,OAAQA,EAAM,IAAK,CACjB,IAAK,QACL,IAAK,IACHA,EAAM,eAAe,EACjBF,GAASA,EAAQE,CAAY,EACjC,MACF,IAAK,YAAa,CAChBA,EAAM,eAAe,EAErB,MAAMC,EAAYD,EAAM,cAA8B,oBAAoB,cACxE,mBACF,EACIC,GAAUA,EAAS,MAAM,EAC7B,KACF,CACA,IAAK,UAAW,CACdD,EAAM,eAAe,EAErB,MAAME,EACJF,EAAM,cACN,wBAAwB,cAAc,mBAAmB,EACvDE,GAAUA,EAAS,MAAM,EAC7B,KACF,CACF,CACAT,IAAYO,CAAK,CACnB,EACA,CAACF,EAASL,CAAS,CACrB,EAEA,OACEvD,EAAA,cAAC2D,EAAA,CACE,GAAG1C,EACJ,IAAKC,EACL,KAAK,WACL,eAAcgC,EAAW,OAAS,OAClC,UAAWjD,EAAW,WAAY,kBAAmB,uBAAwB0B,CAAS,EACtF,cAAauB,GAAY,OACzB,mBAAkBM,GAAiB,OACnC,UAAWK,EACX,aAAeC,GAAU,CACvBL,EAAiB,EAAI,EACrBJ,IAAeS,CAAK,CACtB,EACA,aAAeA,GAAU,CACvBL,EAAiB,EAAK,EACtBH,IAAeQ,CAAK,CACtB,GAECb,EACCrB,EAEA5B,EAAA,cAAAA,EAAA,cACG4B,EAEAwB,GACCpD,EAAA,cAAC,OAAI,UAAU,uBACZ,OAAOoD,GAAU,SAChBpD,EAAA,cAACW,EAAA,CAAM,KAAM+C,EAAa,QAAQ,QAC/BN,CACH,EAEApD,EAAA,cAACW,EAAA,CACC,KAAMyC,EAAM,MAAQM,EACpB,QAASN,EAAM,SAAW,OAC1B,MAAOA,EAAM,MACb,aAAcA,EAAM,aACpB,OAAQA,EAAM,QAEbA,EAAM,OACT,CAEJ,EAEDD,GACCnD,EAAA,cAAC,OAAI,UAAU,8CACbA,EAAA,cAACU,EAAA,CAAI,KAAMgD,GAAcP,CAAS,CACpC,CAEJ,CAEJ,CAEJ,CACF,EACAH,EAAkB,YAAc,qBAOhC,MAAMiB,EAAiBjE,EAAM,WAC3B,CAAC,CAAE,YAAAkE,EAAc,GAAO,SAAAtC,EAAU,GAAGX,CAAM,EAAGC,IAE1ClB,EAAA,cAAC,OAAK,GAAGiB,EAAO,IAAKC,GACnBlB,EAAA,cAACG,EAAU,KAAV,CAAe,KAAK,SAAS,YAAW,GAAC,aAAc+D,EAAc,OAAS,QAC7ElE,EAAA,cAACG,EAAU,KAAV,CAAe,MAAM,QAAQyB,CAAS,CACzC,CACF,CAGN,EACAqC,EAAe,YAAc,kBAO7B,MAAME,EAAwBnE,EAAM,WAIlC,CACE,CAAE,QAAAiD,EAAU,GAAO,UAAAtB,EAAW,SAAAC,EAAU,aAAAyB,EAAc,aAAAC,EAAc,GAAGrC,CAAM,EAC7EC,IACG,CACH,KAAM,CAACsC,EAAeC,CAAgB,EAAIzD,EAAM,SAAS,EAAK,EAE9D,OACEA,EAAA,cAACG,EAAU,OAAV,CAAiB,QAAO,IACvBH,EAAA,cAAC,WACCA,EAAA,cAACG,EAAU,QAAV,CACE,GAAGc,EACJ,IAAKC,EACL,QAAS+B,EACT,KAAK,WACL,gBAAc,OACd,UAAWhD,EACT,WACA,kBACA,uBACA,2BACA0B,CACF,EACA,mBAAkB6B,GAAiB,OACnC,aAAeM,GAAU,CACvBL,EAAiB,EAAI,EACrBJ,IAAeS,CAAK,CACtB,EACA,aAAeA,GAAU,CACvBL,EAAiB,EAAK,EACtBH,IAAeQ,CAAK,CACtB,GAECb,EACCrB,EAEA5B,EAAA,cAAAA,EAAA,cACG4B,EACD5B,EAAA,cAACQ,EAAA,CACC,UAAWP,EACT,4BACA,8BACF,EACF,CACF,CAEJ,CACF,CACF,CAEJ,CACF,EACAkE,EAAsB,YAAc,yBAKpC,MAAMC,EAAwBpE,EAAM,WAGlC,CAAC,CAAE,UAAA2B,EAAW,SAAAC,EAAU,GAAGX,CAAM,EAAGC,IAElClB,EAAA,cAACG,EAAU,QAAV,CACE,GAAGc,EACJ,IAAKC,EACL,UAAWjB,EAAW,2BAA4B0B,CAAS,GAE3D3B,EAAA,cAAC,OAAI,UAAU,yBAAyB4B,CAAS,CACnD,CAEH,EACDwC,EAAsB,YAAc,yBAKpC,MAAMC,EAAerE,EAAM,WACzB,CAAC,CAAE,UAAA2B,EAAW,GAAGV,CAAM,EAAGC,IACxBlB,EAAA,cAAC,OACE,GAAGiB,EACJ,IAAKC,EACL,UAAWjB,EAAW,mBAAoB,kBAAmB0B,CAAS,EACxE,CAEJ,EACA0C,EAAa,YAAc,gBAM3B,MAAMC,EAAoBtE,EAAM,WAC9B,CAAC,CAAE,QAAAiD,EAAU,GAAO,UAAAtB,EAAW,GAAGV,CAAM,EAAGC,IAIvClB,EAAA,cAHWiD,EAAU/C,EAAO,MAG3B,CACE,GAAGe,EACJ,IAAKC,EACL,KAAK,QACL,UAAWjB,EAAW,mBAAoB,uBAAwB0B,CAAS,EAC7E,CAGN,EACA2C,EAAkB,YAAc,qBAIhC,MAAMC,EAAsBvE,EAAM,WAChC,CAAC,CAAE,UAAA2B,EAAW,GAAGV,CAAM,EAAGC,IACxBlB,EAAA,cAAC,OACE,GAAGiB,EACJ,IAAKC,EACL,UAAWjB,EAAW,yBAA0B0B,CAAS,EAC3D,CAEJ,EACA4C,EAAoB,YAAc",
|
|
6
|
+
"names": ["React", "classNames", "Slot", "Accordion", "sidebarPropDefs", "useThemeContext", "ScrollArea", "Separator", "ThickChevronRightIcon", "extractProps", "Kbd", "Badge", "SidebarVisualContext", "useSidebarVisual", "ShellSidebarSectionContext", "useShellSidebarSection", "Sidebar", "props", "forwardedRef", "themeContext", "size", "variant", "menuVariant", "layout", "panelBackground", "color", "highContrast", "className", "children", "rootProps", "_", "__", "safeRootProps", "resolvedColor", "shellSection", "resolvedLayout", "resolvedSize", "SidebarContent", "role", "ariaLabel", "id", "visual", "SidebarHeader", "asContainer", "SidebarFooter", "SidebarSeparator", "SidebarMenu", "SidebarMenuItem", "SidebarMenuButton", "asChild", "isActive", "shortcut", "badge", "onMouseEnter", "onMouseLeave", "onKeyDown", "isHighlighted", "setIsHighlighted", "sidebarSize", "Comp", "onClick", "handleKeyDown", "event", "nextItem", "prevItem", "SidebarMenuSub", "defaultOpen", "SidebarMenuSubTrigger", "SidebarMenuSubContent", "SidebarGroup", "SidebarGroupLabel", "SidebarGroupContent"]
|
|
7
7
|
}
|
|
@@ -47,6 +47,12 @@ declare const sidebarPropDefs: {
|
|
|
47
47
|
values: readonly ["offcanvas", "icon", "none"];
|
|
48
48
|
default: "offcanvas";
|
|
49
49
|
};
|
|
50
|
+
layout: {
|
|
51
|
+
type: "enum";
|
|
52
|
+
className: string;
|
|
53
|
+
values: readonly ["rail", "panel"];
|
|
54
|
+
default: undefined;
|
|
55
|
+
};
|
|
50
56
|
panelBackground: {
|
|
51
57
|
type: "enum";
|
|
52
58
|
values: ("solid" | "translucent")[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.props.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.props.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,uBAAuB,IAAI,sBAAsB,EACjD,oBAAoB,IAAI,mBAAmB,EAC3C,4BAA4B,IAAI,2BAA2B,EAC3D,yBAAyB,IAAI,wBAAwB,GACtD,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"sidebar.props.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar.props.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,uBAAuB,IAAI,sBAAsB,EACjD,oBAAoB,IAAI,mBAAmB,EAC3C,4BAA4B,IAAI,2BAA2B,EAC3D,yBAAyB,IAAI,wBAAwB,GACtD,MAAM,gCAAgC,CAAC;AAWxC,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BpB,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{asChildPropDef as e}from"../props/as-child.prop.js";import{colorPropDef as s}from"../props/color.prop.js";import{highContrastPropDef as a}from"../props/high-contrast.prop.js";import{baseMenuContentPropDefs as b,baseMenuItemPropDefs as D,baseMenuCheckboxItemPropDefs as P,baseMenuRadioItemPropDefs as
|
|
1
|
+
import{asChildPropDef as e}from"../props/as-child.prop.js";import{colorPropDef as s}from"../props/color.prop.js";import{highContrastPropDef as a}from"../props/high-contrast.prop.js";import{baseMenuContentPropDefs as b,baseMenuItemPropDefs as D,baseMenuCheckboxItemPropDefs as P,baseMenuRadioItemPropDefs as v}from"./_internal/base-menu.props.js";const t=["1","2"],o=["soft","outline","surface","ghost"],r=["solid","soft"],n=["sidebar","floating"],p=["left","right"],l=["offcanvas","icon","none"],f=["rail","panel"],u={...e,size:{type:"enum",className:"rt-r-size",values:t,default:"2",responsive:!0},variant:{type:"enum",className:"rt-variant",values:o,default:"outline"},menuVariant:{type:"enum",className:"rt-menu-variant",values:r,default:"soft"},type:{type:"enum",className:"rt-type",values:n,default:"sidebar"},side:{type:"enum",className:"rt-side",values:p,default:"left"},collapsible:{type:"enum",className:"rt-collapsible",values:l,default:"offcanvas"},layout:{type:"enum",className:"rt-layout",values:f,default:void 0},panelBackground:{type:"enum",values:["solid","translucent"],default:void 0},...s,...a};export{P as sidebarCheckboxItemPropDefs,b as sidebarContentPropDefs,D as sidebarItemPropDefs,u as sidebarPropDefs,v as sidebarRadioItemPropDefs};
|
|
2
2
|
//# sourceMappingURL=sidebar.props.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/sidebar.props.tsx"],
|
|
4
|
-
"sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { colorPropDef } from '../props/color.prop.js';\nimport { highContrastPropDef } from '../props/high-contrast.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\n// Re-export base menu props for sidebar menu components\nexport {\n baseMenuContentPropDefs as sidebarContentPropDefs,\n baseMenuItemPropDefs as sidebarItemPropDefs,\n baseMenuCheckboxItemPropDefs as sidebarCheckboxItemPropDefs,\n baseMenuRadioItemPropDefs as sidebarRadioItemPropDefs,\n} from './_internal/base-menu.props.js';\n\n// Sidebar container props\nconst sizes = ['1', '2'] as const;\nconst variants = ['soft', 'outline', 'surface', 'ghost'] as const;\nconst menuVariants = ['solid', 'soft'] as const;\nconst types = ['sidebar', 'floating'] as const;\nconst sides = ['left', 'right'] as const;\nconst collapsibleModes = ['offcanvas', 'icon', 'none'] as const;\n\nconst sidebarPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'outline' },\n menuVariant: {\n type: 'enum',\n className: 'rt-menu-variant',\n values: menuVariants,\n default: 'soft',\n },\n type: { type: 'enum', className: 'rt-type', values: types, default: 'sidebar' },\n side: { type: 'enum', className: 'rt-side', values: sides, default: 'left' },\n collapsible: {\n type: 'enum',\n className: 'rt-collapsible',\n values: collapsibleModes,\n default: 'offcanvas',\n },\n panelBackground: { type: 'enum', values: ['solid', 'translucent'], default: undefined },\n ...colorPropDef,\n ...highContrastPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n menuVariant: PropDef<(typeof menuVariants)[number]>;\n type: PropDef<(typeof types)[number]>;\n side: PropDef<(typeof sides)[number]>;\n collapsible: PropDef<(typeof collapsibleModes)[number]>;\n panelBackground: PropDef<'solid' | 'translucent'>;\n};\n\nexport { sidebarPropDefs };\n"],
|
|
5
|
-
"mappings": "AAAA,OAAS,kBAAAA,MAAsB,4BAC/B,OAAS,gBAAAC,MAAoB,yBAC7B,OAAS,uBAAAC,MAA2B,iCAKpC,OAC6B,2BAA3BC,EACwB,wBAAxBC,EACgC,gCAAhCC,EAC6B,6BAA7BC,MACK,iCAGP,MAAMC,EAAQ,CAAC,IAAK,GAAG,EACjBC,EAAW,CAAC,OAAQ,UAAW,UAAW,OAAO,EACjDC,EAAe,CAAC,QAAS,MAAM,EAC/BC,EAAQ,CAAC,UAAW,UAAU,EAC9BC,EAAQ,CAAC,OAAQ,OAAO,EACxBC,EAAmB,CAAC,YAAa,OAAQ,MAAM,
|
|
6
|
-
"names": ["asChildPropDef", "colorPropDef", "highContrastPropDef", "baseMenuContentPropDefs", "baseMenuItemPropDefs", "baseMenuCheckboxItemPropDefs", "baseMenuRadioItemPropDefs", "sizes", "variants", "menuVariants", "types", "sides", "collapsibleModes", "sidebarPropDefs"]
|
|
4
|
+
"sourcesContent": ["import { asChildPropDef } from '../props/as-child.prop.js';\nimport { colorPropDef } from '../props/color.prop.js';\nimport { highContrastPropDef } from '../props/high-contrast.prop.js';\n\nimport type { PropDef } from '../props/prop-def.js';\n\n// Re-export base menu props for sidebar menu components\nexport {\n baseMenuContentPropDefs as sidebarContentPropDefs,\n baseMenuItemPropDefs as sidebarItemPropDefs,\n baseMenuCheckboxItemPropDefs as sidebarCheckboxItemPropDefs,\n baseMenuRadioItemPropDefs as sidebarRadioItemPropDefs,\n} from './_internal/base-menu.props.js';\n\n// Sidebar container props\nconst sizes = ['1', '2'] as const;\nconst variants = ['soft', 'outline', 'surface', 'ghost'] as const;\nconst menuVariants = ['solid', 'soft'] as const;\nconst types = ['sidebar', 'floating'] as const;\nconst sides = ['left', 'right'] as const;\nconst collapsibleModes = ['offcanvas', 'icon', 'none'] as const;\nconst layouts = ['rail', 'panel'] as const;\n\nconst sidebarPropDefs = {\n ...asChildPropDef,\n size: { type: 'enum', className: 'rt-r-size', values: sizes, default: '2', responsive: true },\n variant: { type: 'enum', className: 'rt-variant', values: variants, default: 'outline' },\n menuVariant: {\n type: 'enum',\n className: 'rt-menu-variant',\n values: menuVariants,\n default: 'soft',\n },\n type: { type: 'enum', className: 'rt-type', values: types, default: 'sidebar' },\n side: { type: 'enum', className: 'rt-side', values: sides, default: 'left' },\n collapsible: {\n type: 'enum',\n className: 'rt-collapsible',\n values: collapsibleModes,\n default: 'offcanvas',\n },\n layout: { type: 'enum', className: 'rt-layout', values: layouts, default: undefined },\n panelBackground: { type: 'enum', values: ['solid', 'translucent'], default: undefined },\n ...colorPropDef,\n ...highContrastPropDef,\n} satisfies {\n size: PropDef<(typeof sizes)[number]>;\n variant: PropDef<(typeof variants)[number]>;\n menuVariant: PropDef<(typeof menuVariants)[number]>;\n type: PropDef<(typeof types)[number]>;\n side: PropDef<(typeof sides)[number]>;\n collapsible: PropDef<(typeof collapsibleModes)[number]>;\n layout: PropDef<(typeof layouts)[number]>;\n panelBackground: PropDef<'solid' | 'translucent'>;\n};\n\nexport { sidebarPropDefs };\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,kBAAAA,MAAsB,4BAC/B,OAAS,gBAAAC,MAAoB,yBAC7B,OAAS,uBAAAC,MAA2B,iCAKpC,OAC6B,2BAA3BC,EACwB,wBAAxBC,EACgC,gCAAhCC,EAC6B,6BAA7BC,MACK,iCAGP,MAAMC,EAAQ,CAAC,IAAK,GAAG,EACjBC,EAAW,CAAC,OAAQ,UAAW,UAAW,OAAO,EACjDC,EAAe,CAAC,QAAS,MAAM,EAC/BC,EAAQ,CAAC,UAAW,UAAU,EAC9BC,EAAQ,CAAC,OAAQ,OAAO,EACxBC,EAAmB,CAAC,YAAa,OAAQ,MAAM,EAC/CC,EAAU,CAAC,OAAQ,OAAO,EAE1BC,EAAkB,CACtB,GAAGd,EACH,KAAM,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQO,EAAO,QAAS,IAAK,WAAY,EAAK,EAC5F,QAAS,CAAE,KAAM,OAAQ,UAAW,aAAc,OAAQC,EAAU,QAAS,SAAU,EACvF,YAAa,CACX,KAAM,OACN,UAAW,kBACX,OAAQC,EACR,QAAS,MACX,EACA,KAAM,CAAE,KAAM,OAAQ,UAAW,UAAW,OAAQC,EAAO,QAAS,SAAU,EAC9E,KAAM,CAAE,KAAM,OAAQ,UAAW,UAAW,OAAQC,EAAO,QAAS,MAAO,EAC3E,YAAa,CACX,KAAM,OACN,UAAW,iBACX,OAAQC,EACR,QAAS,WACX,EACA,OAAQ,CAAE,KAAM,OAAQ,UAAW,YAAa,OAAQC,EAAS,QAAS,MAAU,EACpF,gBAAiB,CAAE,KAAM,OAAQ,OAAQ,CAAC,QAAS,aAAa,EAAG,QAAS,MAAU,EACtF,GAAGZ,EACH,GAAGC,CACL",
|
|
6
|
+
"names": ["asChildPropDef", "colorPropDef", "highContrastPropDef", "baseMenuContentPropDefs", "baseMenuItemPropDefs", "baseMenuCheckboxItemPropDefs", "baseMenuRadioItemPropDefs", "sizes", "variants", "menuVariants", "types", "sides", "collapsibleModes", "layouts", "sidebarPropDefs"]
|
|
7
7
|
}
|
|
@@ -34,49 +34,49 @@ declare const tableCellPropDefs: {
|
|
|
34
34
|
type: "enum | string";
|
|
35
35
|
className: string;
|
|
36
36
|
customProperties: "--p"[];
|
|
37
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
37
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
38
38
|
responsive: true;
|
|
39
39
|
};
|
|
40
40
|
px: {
|
|
41
41
|
type: "enum | string";
|
|
42
42
|
className: string;
|
|
43
43
|
customProperties: ("--pl" | "--pr")[];
|
|
44
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
44
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
45
45
|
responsive: true;
|
|
46
46
|
};
|
|
47
47
|
py: {
|
|
48
48
|
type: "enum | string";
|
|
49
49
|
className: string;
|
|
50
50
|
customProperties: ("--pt" | "--pb")[];
|
|
51
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
51
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
52
52
|
responsive: true;
|
|
53
53
|
};
|
|
54
54
|
pt: {
|
|
55
55
|
type: "enum | string";
|
|
56
56
|
className: string;
|
|
57
57
|
customProperties: "--pt"[];
|
|
58
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
58
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
59
59
|
responsive: true;
|
|
60
60
|
};
|
|
61
61
|
pr: {
|
|
62
62
|
type: "enum | string";
|
|
63
63
|
className: string;
|
|
64
64
|
customProperties: "--pr"[];
|
|
65
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
65
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
66
66
|
responsive: true;
|
|
67
67
|
};
|
|
68
68
|
pb: {
|
|
69
69
|
type: "enum | string";
|
|
70
70
|
className: string;
|
|
71
71
|
customProperties: "--pb"[];
|
|
72
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
72
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
73
73
|
responsive: true;
|
|
74
74
|
};
|
|
75
75
|
pl: {
|
|
76
76
|
type: "enum | string";
|
|
77
77
|
className: string;
|
|
78
78
|
customProperties: "--pl"[];
|
|
79
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
79
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
80
80
|
responsive: true;
|
|
81
81
|
};
|
|
82
82
|
width: {
|
|
@@ -62,28 +62,28 @@ declare const textFieldSlotPropDefs: {
|
|
|
62
62
|
type: "enum | string";
|
|
63
63
|
className: string;
|
|
64
64
|
customProperties: "--gap"[];
|
|
65
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
65
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
66
66
|
responsive: true;
|
|
67
67
|
};
|
|
68
68
|
px: {
|
|
69
69
|
type: "enum | string";
|
|
70
70
|
className: string;
|
|
71
71
|
customProperties: ("--pl" | "--pr")[];
|
|
72
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
72
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
73
73
|
responsive: true;
|
|
74
74
|
};
|
|
75
75
|
pl: {
|
|
76
76
|
type: "enum | string";
|
|
77
77
|
className: string;
|
|
78
78
|
customProperties: "--pl"[];
|
|
79
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
79
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
80
80
|
responsive: true;
|
|
81
81
|
};
|
|
82
82
|
pr: {
|
|
83
83
|
type: "enum | string";
|
|
84
84
|
className: string;
|
|
85
85
|
customProperties: "--pr"[];
|
|
86
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
86
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
87
87
|
responsive: true;
|
|
88
88
|
};
|
|
89
89
|
color: {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { MarginProps } from '../props/margin.props.js';
|
|
2
2
|
export declare function extractMarginProps<T extends MarginProps>(props: T): {
|
|
3
|
-
m: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9">> | undefined;
|
|
4
|
-
mx: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9">> | undefined;
|
|
5
|
-
my: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9">> | undefined;
|
|
6
|
-
mt: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9">> | undefined;
|
|
7
|
-
mr: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9">> | undefined;
|
|
8
|
-
mb: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9">> | undefined;
|
|
9
|
-
ml: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9">> | undefined;
|
|
3
|
+
m: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12">> | undefined;
|
|
4
|
+
mx: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12">> | undefined;
|
|
5
|
+
my: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12">> | undefined;
|
|
6
|
+
mt: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12">> | undefined;
|
|
7
|
+
mr: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12">> | undefined;
|
|
8
|
+
mb: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12">> | undefined;
|
|
9
|
+
ml: import("../props/prop-def.js").Responsive<import("../props/prop-def.js").Union<string, "1" | "2" | "3" | "4" | "0" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "-1" | "-2" | "-3" | "-4" | "-5" | "-6" | "-7" | "-8" | "-9" | "-10" | "-11" | "-12">> | undefined;
|
|
10
10
|
rest: Omit<T, "m" | "ml" | "mr" | "mt" | "mb" | "mx" | "my">;
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=extract-margin-props.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC"}
|
package/dist/esm/hooks/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useLiveAnnouncer as
|
|
1
|
+
import{useLiveAnnouncer as n}from"./use-live-announcer.js";import{useBodyPointerEventsCleanup as t}from"./use-body-pointer-events-cleanup.js";export{t as useBodyPointerEventsCleanup,n as useLiveAnnouncer};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/hooks/index.ts"],
|
|
4
|
-
"sourcesContent": ["export { useLiveAnnouncer } from './use-live-announcer.js'
|
|
5
|
-
"mappings": "AAAA,OAAS,oBAAAA,MAAwB",
|
|
6
|
-
"names": ["useLiveAnnouncer"]
|
|
4
|
+
"sourcesContent": ["export { useLiveAnnouncer } from './use-live-announcer.js';\nexport { useBodyPointerEventsCleanup } from './use-body-pointer-events-cleanup.js';\n"],
|
|
5
|
+
"mappings": "AAAA,OAAS,oBAAAA,MAAwB,0BACjC,OAAS,+BAAAC,MAAmC",
|
|
6
|
+
"names": ["useLiveAnnouncer", "useBodyPointerEventsCleanup"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook to cleanup stuck pointer-events: none on document.body
|
|
3
|
+
*
|
|
4
|
+
* This addresses an issue where react-remove-scroll (used by Radix UI Dialog)
|
|
5
|
+
* sometimes fails to restore body pointer-events after dialog closes,
|
|
6
|
+
* leaving the page unclickable.
|
|
7
|
+
*/
|
|
8
|
+
export declare function useBodyPointerEventsCleanup(): void;
|
|
9
|
+
//# sourceMappingURL=use-body-pointer-events-cleanup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-body-pointer-events-cleanup.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-body-pointer-events-cleanup.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,wBAAgB,2BAA2B,SAqE1C"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import*as l from"react";let d=!1;function y(){l.useEffect(()=>{if(typeof document>"u")return;let t;const i=()=>!!document.querySelector('[role="dialog"][aria-modal="true"], [role="alertdialog"][aria-modal="true"]'),u=()=>{document.body.style.pointerEvents==="none"&&!i()&&(document.body.style.pointerEvents="")},e=(n=50)=>{t&&window.clearTimeout(t),t=window.setTimeout(u,n)};if(e(100),d)return()=>{t&&window.clearTimeout(t)};d=!0;const o=()=>e(50),r=n=>{(n.key==="Escape"||n.key==="Enter"||n.key===" ")&&e(50)},s=()=>{document.hidden||e(50)},a=()=>e(0),c=()=>e(0);return document.addEventListener("pointerup",o,!0),document.addEventListener("click",o,!0),document.addEventListener("keydown",r,!0),document.addEventListener("keyup",r,!0),document.addEventListener("visibilitychange",s),document.addEventListener("transitionend",a,!0),document.addEventListener("animationend",c,!0),new MutationObserver(()=>e(0)).observe(document.body,{attributes:!0,attributeFilter:["style"]}),new MutationObserver(()=>e(0)).observe(document,{childList:!0,subtree:!0}),()=>{t&&window.clearTimeout(t)}},[])}export{y as useBodyPointerEventsCleanup};
|
|
2
|
+
//# sourceMappingURL=use-body-pointer-events-cleanup.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/hooks/use-body-pointer-events-cleanup.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\n\nlet bodyCleanupInstalled = false;\n\n/**\n * Hook to cleanup stuck pointer-events: none on document.body\n *\n * This addresses an issue where react-remove-scroll (used by Radix UI Dialog)\n * sometimes fails to restore body pointer-events after dialog closes,\n * leaving the page unclickable.\n */\nexport function useBodyPointerEventsCleanup() {\n React.useEffect(() => {\n if (typeof document === 'undefined') return;\n\n let timeoutId: number | undefined;\n\n const hasOpenModal = (): boolean => {\n // Detect any open modal dialogs/alertdialogs\n return Boolean(\n document.querySelector(\n '[role=\"dialog\"][aria-modal=\"true\"], [role=\"alertdialog\"][aria-modal=\"true\"]',\n ),\n );\n };\n\n const cleanup = () => {\n if (document.body.style.pointerEvents === 'none' && !hasOpenModal()) {\n document.body.style.pointerEvents = '';\n }\n };\n\n const scheduleCleanup = (delay = 50) => {\n if (timeoutId) window.clearTimeout(timeoutId);\n timeoutId = window.setTimeout(cleanup, delay);\n };\n\n // Initial run to catch already-stuck state\n scheduleCleanup(100);\n\n // If already installed globally, don't re-register listeners/observers\n if (bodyCleanupInstalled) {\n return () => {\n if (timeoutId) window.clearTimeout(timeoutId);\n };\n }\n\n bodyCleanupInstalled = true;\n\n const onPointer = () => scheduleCleanup(50);\n const onKey = (event: KeyboardEvent) => {\n if (event.key === 'Escape' || event.key === 'Enter' || event.key === ' ') scheduleCleanup(50);\n };\n const onVisibility = () => {\n if (!document.hidden) scheduleCleanup(50);\n };\n const onTransitionEnd = () => scheduleCleanup(0);\n const onAnimationEnd = () => scheduleCleanup(0);\n\n // Listen for common interactions that close overlays/menus\n document.addEventListener('pointerup', onPointer, true);\n document.addEventListener('click', onPointer, true);\n document.addEventListener('keydown', onKey, true);\n document.addEventListener('keyup', onKey, true);\n document.addEventListener('visibilitychange', onVisibility);\n document.addEventListener('transitionend', onTransitionEnd, true);\n document.addEventListener('animationend', onAnimationEnd, true);\n\n // Observe body style changes (where pointer-events is applied) and DOM mutations\n const bodyObserver = new MutationObserver(() => scheduleCleanup(0));\n bodyObserver.observe(document.body, { attributes: true, attributeFilter: ['style'] });\n\n const domObserver = new MutationObserver(() => scheduleCleanup(0));\n domObserver.observe(document, { childList: true, subtree: true });\n\n // Keep listeners/observers for the app lifetime to ensure cleanup even after overlays unmount\n return () => {\n if (timeoutId) window.clearTimeout(timeoutId);\n };\n }, []);\n}\n"],
|
|
5
|
+
"mappings": "AAAA,UAAYA,MAAW,QAEvB,IAAIC,EAAuB,GASpB,SAASC,GAA8B,CAC5CF,EAAM,UAAU,IAAM,CACpB,GAAI,OAAO,SAAa,IAAa,OAErC,IAAIG,EAEJ,MAAMC,EAAe,IAEZ,EACL,SAAS,cACP,6EACF,EAIEC,EAAU,IAAM,CAChB,SAAS,KAAK,MAAM,gBAAkB,QAAU,CAACD,EAAa,IAChE,SAAS,KAAK,MAAM,cAAgB,GAExC,EAEME,EAAkB,CAACC,EAAQ,KAAO,CAClCJ,GAAW,OAAO,aAAaA,CAAS,EAC5CA,EAAY,OAAO,WAAWE,EAASE,CAAK,CAC9C,EAMA,GAHAD,EAAgB,GAAG,EAGfL,EACF,MAAO,IAAM,CACPE,GAAW,OAAO,aAAaA,CAAS,CAC9C,EAGFF,EAAuB,GAEvB,MAAMO,EAAY,IAAMF,EAAgB,EAAE,EACpCG,EAASC,GAAyB,EAClCA,EAAM,MAAQ,UAAYA,EAAM,MAAQ,SAAWA,EAAM,MAAQ,MAAKJ,EAAgB,EAAE,CAC9F,EACMK,EAAe,IAAM,CACpB,SAAS,QAAQL,EAAgB,EAAE,CAC1C,EACMM,EAAkB,IAAMN,EAAgB,CAAC,EACzCO,EAAiB,IAAMP,EAAgB,CAAC,EAG9C,gBAAS,iBAAiB,YAAaE,EAAW,EAAI,EACtD,SAAS,iBAAiB,QAASA,EAAW,EAAI,EAClD,SAAS,iBAAiB,UAAWC,EAAO,EAAI,EAChD,SAAS,iBAAiB,QAASA,EAAO,EAAI,EAC9C,SAAS,iBAAiB,mBAAoBE,CAAY,EAC1D,SAAS,iBAAiB,gBAAiBC,EAAiB,EAAI,EAChE,SAAS,iBAAiB,eAAgBC,EAAgB,EAAI,EAGzC,IAAI,iBAAiB,IAAMP,EAAgB,CAAC,CAAC,EACrD,QAAQ,SAAS,KAAM,CAAE,WAAY,GAAM,gBAAiB,CAAC,OAAO,CAAE,CAAC,EAEhE,IAAI,iBAAiB,IAAMA,EAAgB,CAAC,CAAC,EACrD,QAAQ,SAAU,CAAE,UAAW,GAAM,QAAS,EAAK,CAAC,EAGzD,IAAM,CACPH,GAAW,OAAO,aAAaA,CAAS,CAC9C,CACF,EAAG,CAAC,CAAC,CACP",
|
|
6
|
+
"names": ["React", "bodyCleanupInstalled", "useBodyPointerEventsCleanup", "timeoutId", "hasOpenModal", "cleanup", "scheduleCleanup", "delay", "onPointer", "onKey", "event", "onVisibility", "onTransitionEnd", "onAnimationEnd"]
|
|
7
|
+
}
|
|
@@ -15,7 +15,7 @@ declare const gapPropDefs: {
|
|
|
15
15
|
type: "enum | string";
|
|
16
16
|
className: string;
|
|
17
17
|
customProperties: "--gap"[];
|
|
18
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
18
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
19
19
|
responsive: true;
|
|
20
20
|
};
|
|
21
21
|
/**
|
|
@@ -34,7 +34,7 @@ declare const gapPropDefs: {
|
|
|
34
34
|
type: "enum | string";
|
|
35
35
|
className: string;
|
|
36
36
|
customProperties: "--column-gap"[];
|
|
37
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
37
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
38
38
|
responsive: true;
|
|
39
39
|
};
|
|
40
40
|
/**
|
|
@@ -53,7 +53,7 @@ declare const gapPropDefs: {
|
|
|
53
53
|
type: "enum | string";
|
|
54
54
|
className: string;
|
|
55
55
|
customProperties: "--row-gap"[];
|
|
56
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
56
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
57
57
|
responsive: true;
|
|
58
58
|
};
|
|
59
59
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=["0","1","2","3","4","5","6","7","8","9"],p={gap:{type:"enum | string",className:"rt-r-gap",customProperties:["--gap"],values:e,responsive:!0},gapX:{type:"enum | string",className:"rt-r-cg",customProperties:["--column-gap"],values:e,responsive:!0},gapY:{type:"enum | string",className:"rt-r-rg",customProperties:["--row-gap"],values:e,responsive:!0}};export{p as gapPropDefs};
|
|
1
|
+
const e=["0","1","2","3","4","5","6","7","8","9","10","11","12"],p={gap:{type:"enum | string",className:"rt-r-gap",customProperties:["--gap"],values:e,responsive:!0},gapX:{type:"enum | string",className:"rt-r-cg",customProperties:["--column-gap"],values:e,responsive:!0},gapY:{type:"enum | string",className:"rt-r-rg",customProperties:["--row-gap"],values:e,responsive:!0}};export{p as gapPropDefs};
|
|
2
2
|
//# sourceMappingURL=gap.props.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/props/gap.props.ts"],
|
|
4
|
-
"sourcesContent": ["import type { PropDef } from './prop-def.js';\n\nconst gapValues = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] as const;\n\nconst gapPropDefs = {\n /**\n * Sets the CSS **gap** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * gap=\"4\"\n * gap=\"20px\"\n * gap={{ sm: '2', lg: '3em' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/gap\n */\n gap: {\n type: 'enum | string',\n className: 'rt-r-gap',\n customProperties: ['--gap'],\n values: gapValues,\n responsive: true,\n },\n /**\n * Sets the CSS **row-gap** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * gapX=\"4\"\n * gapX=\"20px\"\n * gapX={{ sm: '2', lg: '3em' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/row-gap\n */\n gapX: {\n type: 'enum | string',\n className: 'rt-r-cg',\n customProperties: ['--column-gap'],\n values: gapValues,\n responsive: true,\n },\n /**\n * Sets the CSS **column-gap** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * gapY=\"4\"\n * gapY=\"20px\"\n * gapY={{ sm: '2', lg: '3em' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/column-gap\n */\n gapY: {\n type: 'enum | string',\n className: 'rt-r-rg',\n customProperties: ['--row-gap'],\n values: gapValues,\n responsive: true,\n },\n} satisfies {\n gap: PropDef<(typeof gapValues)[number]>;\n gapX: PropDef<(typeof gapValues)[number]>;\n gapY: PropDef<(typeof gapValues)[number]>;\n};\n\nexport { gapPropDefs };\n"],
|
|
5
|
-
"mappings": "AAEA,MAAMA,EAAY,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,
|
|
4
|
+
"sourcesContent": ["import type { PropDef } from './prop-def.js';\n\nconst gapValues = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'] as const;\n\nconst gapPropDefs = {\n /**\n * Sets the CSS **gap** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * gap=\"4\"\n * gap=\"20px\"\n * gap={{ sm: '2', lg: '3em' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/gap\n */\n gap: {\n type: 'enum | string',\n className: 'rt-r-gap',\n customProperties: ['--gap'],\n values: gapValues,\n responsive: true,\n },\n /**\n * Sets the CSS **row-gap** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * gapX=\"4\"\n * gapX=\"20px\"\n * gapX={{ sm: '2', lg: '3em' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/row-gap\n */\n gapX: {\n type: 'enum | string',\n className: 'rt-r-cg',\n customProperties: ['--column-gap'],\n values: gapValues,\n responsive: true,\n },\n /**\n * Sets the CSS **column-gap** property.\n * Supports space scale values, CSS strings, and responsive objects.\n *\n * @example\n * gapY=\"4\"\n * gapY=\"20px\"\n * gapY={{ sm: '2', lg: '3em' }}\n *\n * @link\n * https://developer.mozilla.org/en-US/docs/Web/CSS/column-gap\n */\n gapY: {\n type: 'enum | string',\n className: 'rt-r-rg',\n customProperties: ['--row-gap'],\n values: gapValues,\n responsive: true,\n },\n} satisfies {\n gap: PropDef<(typeof gapValues)[number]>;\n gapX: PropDef<(typeof gapValues)[number]>;\n gapY: PropDef<(typeof gapValues)[number]>;\n};\n\nexport { gapPropDefs };\n"],
|
|
5
|
+
"mappings": "AAEA,MAAMA,EAAY,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAM,KAAM,IAAI,EAE/EC,EAAc,CAalB,IAAK,CACH,KAAM,gBACN,UAAW,WACX,iBAAkB,CAAC,OAAO,EAC1B,OAAQD,EACR,WAAY,EACd,EAaA,KAAM,CACJ,KAAM,gBACN,UAAW,UACX,iBAAkB,CAAC,cAAc,EACjC,OAAQA,EACR,WAAY,EACd,EAaA,KAAM,CACJ,KAAM,gBACN,UAAW,UACX,iBAAkB,CAAC,WAAW,EAC9B,OAAQA,EACR,WAAY,EACd,CACF",
|
|
6
6
|
"names": ["gapValues", "gapPropDefs"]
|
|
7
7
|
}
|
|
@@ -420,49 +420,49 @@ declare const layoutPropDefs: {
|
|
|
420
420
|
type: "enum | string";
|
|
421
421
|
className: string;
|
|
422
422
|
customProperties: "--p"[];
|
|
423
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
423
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
424
424
|
responsive: true;
|
|
425
425
|
};
|
|
426
426
|
px: {
|
|
427
427
|
type: "enum | string";
|
|
428
428
|
className: string;
|
|
429
429
|
customProperties: ("--pl" | "--pr")[];
|
|
430
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
430
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
431
431
|
responsive: true;
|
|
432
432
|
};
|
|
433
433
|
py: {
|
|
434
434
|
type: "enum | string";
|
|
435
435
|
className: string;
|
|
436
436
|
customProperties: ("--pt" | "--pb")[];
|
|
437
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
437
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
438
438
|
responsive: true;
|
|
439
439
|
};
|
|
440
440
|
pt: {
|
|
441
441
|
type: "enum | string";
|
|
442
442
|
className: string;
|
|
443
443
|
customProperties: "--pt"[];
|
|
444
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
444
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
445
445
|
responsive: true;
|
|
446
446
|
};
|
|
447
447
|
pr: {
|
|
448
448
|
type: "enum | string";
|
|
449
449
|
className: string;
|
|
450
450
|
customProperties: "--pr"[];
|
|
451
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
451
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
452
452
|
responsive: true;
|
|
453
453
|
};
|
|
454
454
|
pb: {
|
|
455
455
|
type: "enum | string";
|
|
456
456
|
className: string;
|
|
457
457
|
customProperties: "--pb"[];
|
|
458
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
458
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
459
459
|
responsive: true;
|
|
460
460
|
};
|
|
461
461
|
pl: {
|
|
462
462
|
type: "enum | string";
|
|
463
463
|
className: string;
|
|
464
464
|
customProperties: "--pl"[];
|
|
465
|
-
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
465
|
+
values: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
|
|
466
466
|
responsive: true;
|
|
467
467
|
};
|
|
468
468
|
};
|