@accelint/design-toolkit 5.1.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/catalog-info.yaml +44 -0
  2. package/dist/components/accordion/index.js +1 -1
  3. package/dist/components/accordion/index.js.map +1 -1
  4. package/dist/components/accordion/styles.d.ts +3 -3
  5. package/dist/components/accordion/styles.js +1 -1
  6. package/dist/components/accordion/styles.js.map +1 -1
  7. package/dist/components/action-bar/index.d.ts +11 -0
  8. package/dist/components/action-bar/index.js.map +1 -1
  9. package/dist/components/breadcrumbs/index.d.ts +27 -0
  10. package/dist/components/breadcrumbs/index.js +4 -0
  11. package/dist/components/breadcrumbs/index.js.map +1 -0
  12. package/dist/components/breadcrumbs/styles.d.ts +48 -0
  13. package/dist/components/breadcrumbs/styles.js +2 -0
  14. package/dist/components/breadcrumbs/styles.js.map +1 -0
  15. package/dist/components/breadcrumbs/types.d.ts +20 -0
  16. package/dist/components/breadcrumbs/types.js +2 -0
  17. package/dist/components/breadcrumbs/types.js.map +1 -0
  18. package/dist/components/button/index.d.ts +2 -2
  19. package/dist/components/button/index.js +1 -1
  20. package/dist/components/button/index.js.map +1 -1
  21. package/dist/components/button/styles.d.ts +15 -15
  22. package/dist/components/button/styles.js +1 -1
  23. package/dist/components/button/styles.js.map +1 -1
  24. package/dist/components/button/types.d.ts +7 -5
  25. package/dist/components/clock/index.d.ts +39 -0
  26. package/dist/components/clock/index.js +4 -0
  27. package/dist/components/clock/index.js.map +1 -0
  28. package/dist/components/clock/types.d.ts +7 -0
  29. package/dist/components/clock/types.js +2 -0
  30. package/dist/components/clock/types.js.map +1 -0
  31. package/dist/components/color-picker/styles.d.ts +3 -3
  32. package/dist/components/combobox-field/index.d.ts +11 -0
  33. package/dist/components/combobox-field/index.js.map +1 -1
  34. package/dist/components/combobox-field/styles.js +1 -1
  35. package/dist/components/combobox-field/styles.js.map +1 -1
  36. package/dist/components/dialog/index.js +1 -1
  37. package/dist/components/dialog/index.js.map +1 -1
  38. package/dist/components/divider/index.d.ts +32 -0
  39. package/dist/components/divider/index.js +4 -0
  40. package/dist/components/divider/index.js.map +1 -0
  41. package/dist/components/divider/styles.d.ts +5 -0
  42. package/dist/components/divider/styles.js +2 -0
  43. package/dist/components/divider/styles.js.map +1 -0
  44. package/dist/components/divider/types.d.ts +11 -0
  45. package/dist/components/divider/types.js +2 -0
  46. package/dist/components/divider/types.js.map +1 -0
  47. package/dist/components/drawer/index.d.ts +48 -3
  48. package/dist/components/drawer/index.js +1 -1
  49. package/dist/components/drawer/index.js.map +1 -1
  50. package/dist/components/drawer/styles.js +1 -1
  51. package/dist/components/drawer/styles.js.map +1 -1
  52. package/dist/components/drawer/types.d.ts +13 -7
  53. package/dist/components/input/styles.js +1 -1
  54. package/dist/components/input/styles.js.map +1 -1
  55. package/dist/components/lines/index.d.ts +9 -0
  56. package/dist/components/lines/index.js.map +1 -1
  57. package/dist/components/link/index.d.ts +9 -0
  58. package/dist/components/link/index.js.map +1 -1
  59. package/dist/components/link/styles.js +1 -1
  60. package/dist/components/link/styles.js.map +1 -1
  61. package/dist/components/menu/styles.js +1 -1
  62. package/dist/components/menu/styles.js.map +1 -1
  63. package/dist/components/notice/events.d.ts +10 -0
  64. package/dist/components/notice/events.js +2 -0
  65. package/dist/components/notice/events.js.map +1 -0
  66. package/dist/components/notice/index.d.ts +20 -0
  67. package/dist/components/notice/index.js +4 -0
  68. package/dist/components/notice/index.js.map +1 -0
  69. package/dist/components/notice/styles.d.ts +60 -0
  70. package/dist/components/notice/styles.js +2 -0
  71. package/dist/components/notice/styles.js.map +1 -0
  72. package/dist/components/notice/types.d.ts +75 -0
  73. package/dist/components/notice/types.js +2 -0
  74. package/dist/components/notice/types.js.map +1 -0
  75. package/dist/components/query-builder/index.js +1 -1
  76. package/dist/components/query-builder/index.js.map +1 -1
  77. package/dist/components/search-field/styles.js +1 -1
  78. package/dist/components/search-field/styles.js.map +1 -1
  79. package/dist/components/select-field/types.d.ts +0 -1
  80. package/dist/components/sidenav/index.d.ts +57 -6
  81. package/dist/components/sidenav/index.js +1 -1
  82. package/dist/components/sidenav/index.js.map +1 -1
  83. package/dist/components/sidenav/styles.js +1 -1
  84. package/dist/components/sidenav/styles.js.map +1 -1
  85. package/dist/components/slider/index.js +1 -1
  86. package/dist/components/slider/index.js.map +1 -1
  87. package/dist/components/slider/styles.js +1 -1
  88. package/dist/components/slider/styles.js.map +1 -1
  89. package/dist/components/table/context.d.ts +11 -0
  90. package/dist/components/table/context.js +2 -0
  91. package/dist/components/table/context.js.map +1 -0
  92. package/dist/components/table/index.d.ts +36 -0
  93. package/dist/components/table/index.js +4 -0
  94. package/dist/components/table/index.js.map +1 -0
  95. package/dist/components/table/styles.d.ts +134 -0
  96. package/dist/components/table/styles.js +2 -0
  97. package/dist/components/table/styles.js.map +1 -0
  98. package/dist/components/table/table-body.d.ts +12 -0
  99. package/dist/components/table/table-body.js +2 -0
  100. package/dist/components/table/table-body.js.map +1 -0
  101. package/dist/components/table/table-cell.d.ts +12 -0
  102. package/dist/components/table/table-cell.js +2 -0
  103. package/dist/components/table/table-cell.js.map +1 -0
  104. package/dist/components/table/table-header-cell.d.ts +12 -0
  105. package/dist/components/table/table-header-cell.js +2 -0
  106. package/dist/components/table/table-header-cell.js.map +1 -0
  107. package/dist/components/table/table-header.d.ts +12 -0
  108. package/dist/components/table/table-header.js +2 -0
  109. package/dist/components/table/table-header.js.map +1 -0
  110. package/dist/components/table/table-row.d.ts +12 -0
  111. package/dist/components/table/table-row.js +2 -0
  112. package/dist/components/table/table-row.js.map +1 -0
  113. package/dist/components/table/types.d.ts +185 -0
  114. package/dist/components/table/types.js +2 -0
  115. package/dist/components/table/types.js.map +1 -0
  116. package/dist/components/tabs/styles.js +1 -1
  117. package/dist/components/tabs/styles.js.map +1 -1
  118. package/dist/components/time-field/index.d.ts +19 -0
  119. package/dist/components/time-field/index.js +4 -0
  120. package/dist/components/time-field/index.js.map +1 -0
  121. package/dist/components/time-field/styles.d.ts +69 -0
  122. package/dist/components/time-field/styles.js +2 -0
  123. package/dist/components/time-field/styles.js.map +1 -0
  124. package/dist/components/time-field/types.d.ts +23 -0
  125. package/dist/components/time-field/types.js +2 -0
  126. package/dist/components/time-field/types.js.map +1 -0
  127. package/dist/components/tooltip/index.d.ts +23 -34
  128. package/dist/components/tooltip/index.js +1 -1
  129. package/dist/components/tooltip/index.js.map +1 -1
  130. package/dist/components/tooltip/types.d.ts +5 -6
  131. package/dist/components/tree/index.d.ts +22 -1
  132. package/dist/components/tree/index.js +1 -1
  133. package/dist/components/tree/index.js.map +1 -1
  134. package/dist/components/tree/styles.js +1 -1
  135. package/dist/components/tree/styles.js.map +1 -1
  136. package/dist/components/view-stack/index.d.ts +42 -2
  137. package/dist/components/view-stack/index.js +1 -1
  138. package/dist/components/view-stack/index.js.map +1 -1
  139. package/dist/foundation/token-data.js +1 -1
  140. package/dist/foundation/token-data.js.map +1 -1
  141. package/dist/index.css +5 -3
  142. package/dist/index.d.ts +32 -6
  143. package/dist/index.js +1 -1
  144. package/dist/metafile-esm.json +1 -1
  145. package/dist/providers/portal.d.ts +9 -0
  146. package/dist/providers/portal.js +2 -0
  147. package/dist/providers/portal.js.map +1 -0
  148. package/dist/providers/theme-provider.d.ts +6 -6
  149. package/dist/providers/theme-provider.js +1 -1
  150. package/dist/providers/theme-provider.js.map +1 -1
  151. package/dist/styles.css +3355 -974
  152. package/dist/tokens/themes.css +56 -24
  153. package/dist/tokens/tokens.css +8 -8
  154. package/dist/tokens/tokens.d.ts +18 -0
  155. package/dist/tokens/tokens.js +1 -1
  156. package/dist/tokens/tokens.js.map +1 -1
  157. package/dist/tokens/types.d.ts +9 -0
  158. package/dist/variants/variants.css +3 -0
  159. package/package.json +39 -17
@@ -0,0 +1,11 @@
1
+ import { ComponentPropsWithRef } from 'react';
2
+
3
+ type DividerProps = ComponentPropsWithRef<'hr'> & {
4
+ /**
5
+ * The orientation of the divider.
6
+ * @default 'horizontal'
7
+ */
8
+ orientation?: 'horizontal' | 'vertical';
9
+ };
10
+
11
+ export type { DividerProps };
@@ -0,0 +1,2 @@
1
+ //# sourceMappingURL=types.js.map
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"types.js"}
@@ -26,10 +26,27 @@ declare const DrawerEventHandlers: {
26
26
  readonly push: (view: UniqueId) => void;
27
27
  readonly reset: (stack: UniqueId) => void;
28
28
  };
29
+ declare function useDrawerEmit(): {
30
+ readonly close: (stack: UniqueId) => void;
31
+ readonly open: (view: UniqueId) => void;
32
+ readonly toggle: (view: UniqueId) => void;
33
+ readonly back: (stack: UniqueId) => void;
34
+ readonly clear: (stack: UniqueId) => void;
35
+ readonly push: (view: UniqueId) => void;
36
+ readonly reset: (stack: UniqueId) => void;
37
+ };
29
38
  declare function DrawerTrigger({ children, for: events }: DrawerTriggerProps): react_jsx_runtime.JSX.Element;
30
39
  declare namespace DrawerTrigger {
31
40
  var displayName: string;
32
41
  }
42
+ declare function DrawerClose(): react_jsx_runtime.JSX.Element;
43
+ declare namespace DrawerClose {
44
+ var displayName: string;
45
+ }
46
+ declare function DrawerBack(): react_jsx_runtime.JSX.Element | null;
47
+ declare namespace DrawerBack {
48
+ var displayName: string;
49
+ }
33
50
  declare function DrawerLayoutMain({ className, ...rest }: ComponentPropsWithRef<'main'>): react_jsx_runtime.JSX.Element;
34
51
  declare namespace DrawerLayoutMain {
35
52
  var displayName: string;
@@ -39,7 +56,7 @@ declare namespace DrawerLayout {
39
56
  var displayName: string;
40
57
  var Main: typeof DrawerLayoutMain;
41
58
  }
42
- declare function DrawerMenuItem({ for: id, children, className, toggle, views, ...rest }: DrawerMenuItemProps): react_jsx_runtime.JSX.Element | null;
59
+ declare function DrawerMenuItem({ for: id, children, classNames, toggle, textValue, ...rest }: DrawerMenuItemProps): react_jsx_runtime.JSX.Element | null;
43
60
  declare namespace DrawerMenuItem {
44
61
  var displayName: string;
45
62
  }
@@ -65,7 +82,7 @@ declare function DrawerHeaderTitle({ className, level, ...rest }: DrawerTitlePro
65
82
  declare namespace DrawerHeaderTitle {
66
83
  var displayName: string;
67
84
  }
68
- declare function DrawerHeader({ className, ...rest }: ComponentPropsWithRef<'header'>): react_jsx_runtime.JSX.Element;
85
+ declare function DrawerHeader({ className, title, children, ...rest }: ComponentPropsWithRef<'header'>): react_jsx_runtime.JSX.Element;
69
86
  declare namespace DrawerHeader {
70
87
  var displayName: string;
71
88
  var Title: typeof DrawerHeaderTitle;
@@ -78,6 +95,32 @@ declare function DrawerFooter({ className, ...rest }: ComponentPropsWithRef<'foo
78
95
  declare namespace DrawerFooter {
79
96
  var displayName: string;
80
97
  }
98
+ /**
99
+ * Drawer - Slide-in panel for navigation or contextual content
100
+ *
101
+ * A flexible panel that slides in from the viewport edge and supports
102
+ * stacked views, headers, footers, and programmatic triggers.
103
+ *
104
+ * @example
105
+ * const ids = { drawer: uuid(), a: uuid() };
106
+ *
107
+ * <Drawer.Layout push="left">
108
+ * <Drawer.Layout.Main>
109
+ * <Drawer.Trigger for={`open:${ids.a}`}>
110
+ * <Button variant="icon">Open</Button>
111
+ * </Drawer.Trigger>
112
+ * </Drawer.Layout.Main>
113
+ *
114
+ * <Drawer id={ids.drawer} defaultView={ids.a}>
115
+ * <Drawer.Panel>
116
+ * <Drawer.View id={ids.a}>
117
+ * <Drawer.Header title="Title A" />
118
+ * <Drawer.Content>Content for View A</Drawer.Content>
119
+ * </Drawer.View>
120
+ * </Drawer.Panel>
121
+ * </Drawer>
122
+ * </Drawer.Layout>
123
+ */
81
124
  declare function Drawer({ id, children, className, defaultView, placement, size, onChange, ...rest }: DrawerProps): react_jsx_runtime.JSX.Element;
82
125
  declare namespace Drawer {
83
126
  var displayName: string;
@@ -89,6 +132,8 @@ declare namespace Drawer {
89
132
  var Content: typeof DrawerContent;
90
133
  var Footer: typeof DrawerFooter;
91
134
  var Trigger: typeof DrawerTrigger;
135
+ var Close: typeof DrawerClose;
136
+ var Back: typeof DrawerBack;
92
137
  }
93
138
 
94
- export { Drawer, DrawerContext, DrawerEventHandlers };
139
+ export { Drawer, DrawerContext, DrawerEventHandlers, useDrawerEmit };
@@ -1,4 +1,4 @@
1
1
  'use client';
2
2
 
3
- import {jsx}from'react/jsx-runtime';import'client-only';import {Broadcast}from'@accelint/bus';import {isUUID}from'@accelint/core';import {Pressable}from'@react-aria/interactions';import {createContext,useRef,useState,useCallback,useEffect,useContext}from'react';import {composeRenderProps,Heading,Header}from'react-aria-components';import {containsExactChildren}from'./../../lib/react.js';import {ToggleButton}from'../button/index.js';import {Icon}from'../icon/index.js';import {ViewStackEventHandlers,ViewStack,ViewStackContext}from'../view-stack/index.js';import {ViewStackEventTypes}from'../view-stack/events.js';import {DrawerEventTypes}from'./events.js';import {DrawerStyles,DrawerMenuStyles,DrawerTitleStyles}from'./styles.js';const {layout:j,main:ee,drawer:re,panel:te,view:ae,header:ne,content:oe,footer:ie}=DrawerStyles(),{menu:se,item:pe}=DrawerMenuStyles(),l=Broadcast.getInstance(),R=createContext({register:()=>{},unregister:()=>{}}),le={...ViewStackEventHandlers,close:ViewStackEventHandlers.clear,open:e=>l.emit(DrawerEventTypes.open,{view:e}),toggle:e=>l.emit(DrawerEventTypes.toggle,{view:e})};function g({children:e,for:r}){const{parent:n}=useContext(ViewStackContext);function o(){for(const i of Array.isArray(r)?r:[r]){let[p,m]=isUUID(i)?["push",i]:i.split(":");m??=n,m&&le[p](m);}}return jsx(Pressable,{onPress:o,children:e})}g.displayName="Drawer.Trigger";function q({className:e,...r}){return jsx("main",{...r,className:ee({className:e})})}q.displayName="Drawer.Layout.Main";function P({className:e,extend:r="left right",push:n,...o}){return jsx("div",{...o,className:j({className:e}),"data-extend":r,"data-push":n})}P.displayName="Drawer.Layout",P.Main=q;function N({for:e,children:r,className:n,toggle:o,views:i,...p}){const{parent:m,stack:y}=useContext(ViewStackContext),c=y.at(-1),w=o?"toggle":"open";return m?jsx(g,{for:`${w}:${e}`,children:jsx(ToggleButton,{...p,className:composeRenderProps(n,u=>pe({className:u})),role:"tab",variant:"icon",isSelected:e===c||!!i?.some(u=>e===u),children:composeRenderProps(r,u=>jsx(Icon,{children:u}))})}):null}N.displayName="Drawer.Menu.Item";function d({className:e,position:r="center",children:n,...o}){return containsExactChildren({children:n,componentName:d.displayName,restrictions:[[N,{min:1}],[g,{min:0,max:0}]]}),jsx("nav",{...o,className:se({position:r,className:e}),children:n})}d.displayName="Drawer.Menu",d.Item=N;function h({className:e,...r}){return jsx("div",{...r,className:te({className:e})})}h.displayName="Drawer.Panel";function H({id:e,children:r,className:n,...o}){const{register:i,unregister:p}=useContext(R);return useEffect(()=>{i(e);},[i,p,e]),jsx(ViewStack.View,{id:e,children:jsx("div",{...o,className:ae({className:n}),role:"tabpanel",children:r})})}H.displayName="Drawer.View";function b({className:e,level:r,...n}){return jsx(Heading,{...n,className:DrawerTitleStyles({className:e,level:r}),level:r})}b.displayName="Drawer.Title";function C({className:e,...r}){return jsx(Header,{...r,className:ne({className:e})})}C.displayName="Drawer.Header",C.Title=b;function L({className:e,...r}){return jsx("div",{...r,className:oe({className:e})})}L.displayName="Drawer.Content";function W({className:e,...r}){return jsx("footer",{...r,className:ie({className:e})})}W.displayName="Drawer.Footer";function s({id:e,children:r,className:n,defaultView:o,placement:i="left",size:p="medium",onChange:m,...y}){containsExactChildren({children:r,componentName:s.displayName,restrictions:[[d,{min:0,max:1}],[h,{min:1,max:1}]]});const c=useRef(new Set),[w,u]=useState(o||null),T=useCallback(a=>{c.current.has(a?.payload?.view)&&(l.emit(ViewStackEventTypes.clear,{stack:e}),l.emit(ViewStackEventTypes.push,a.payload));},[e]),V=useCallback(a=>{c.current.has(a?.payload?.view)&&(l.emit(ViewStackEventTypes.clear,{stack:e}),w!==a?.payload?.view&&l.emit(ViewStackEventTypes.push,a.payload));},[e,w]);return useEffect(()=>{const a=[l.on(DrawerEventTypes.open,T),l.on(DrawerEventTypes.toggle,V)];return ()=>{for(const A of a)A();}},[T,V]),jsx(R.Provider,{value:{register:a=>c.current.add(a),unregister:a=>c.current.delete(a)},children:jsx(ViewStack,{id:e,defaultView:o,onChange:a=>{u(a),m?.(a);},children:jsx("div",{...y,className:re({className:n}),"data-open":!!w||null,"data-placement":i,"data-size":p,children:r})})})}s.displayName="Drawer",s.Layout=P,s.Menu=d,s.Panel=h,s.View=H,s.Header=C,s.Content=L,s.Footer=W,s.Trigger=g;export{s as Drawer,R as DrawerContext,le as DrawerEventHandlers};//# sourceMappingURL=index.js.map
3
+ import {jsx,jsxs,Fragment}from'react/jsx-runtime';import'client-only';import {Broadcast}from'@accelint/bus';import {useEmit,useOn}from'@accelint/bus/react';import {isUUID}from'@accelint/core';import {Cancel,ChevronLeft}from'@accelint/icons';import {Pressable}from'@react-aria/interactions';import {createContext,useRef,useState,useCallback,useContext,useEffect}from'react';import {composeRenderProps,Heading,Header}from'react-aria-components';import {containsExactChildren}from'./../../lib/react.js';import {Button,ToggleButton}from'../button/index.js';import {Icon}from'../icon/index.js';import {Tooltip}from'../tooltip/index.js';import {ViewStackEventHandlers,useViewStackEmit,ViewStack,ViewStackContext}from'../view-stack/index.js';import {DrawerEventTypes}from'./events.js';import {DrawerStyles,DrawerMenuStyles,DrawerTitleStyles}from'./styles.js';const {layout:le,main:ce,drawer:pe,panel:me,view:ue,header:we,content:fe,footer:de}=DrawerStyles(),{menu:ge,item:De}=DrawerMenuStyles(),L=Broadcast.getInstance(),T=createContext({register:()=>{},unregister:()=>{},placement:"left"}),qe={...ViewStackEventHandlers,close:ViewStackEventHandlers.clear,open:e=>L.emit(DrawerEventTypes.open,{view:e}),toggle:e=>L.emit(DrawerEventTypes.toggle,{view:e})};function ve(){const e=useViewStackEmit(),r=useEmit(DrawerEventTypes.open),a=useEmit(DrawerEventTypes.toggle);return {...e,close:e.clear,open:n=>r({view:n}),toggle:n=>a({view:n})}}function y({children:e,for:r}){const{parent:a}=useContext(ViewStackContext),n=ve();function l(){for(const s of Array.isArray(r)?r:[r]){let[f,p]=isUUID(s)?["push",s]:s.split(":");p??=a,p&&n[f](p);}}return jsx(Pressable,{onPress:l,children:e})}y.displayName="Drawer.Trigger";function W(){return jsx(o.Trigger,{for:"close",children:jsx(Button,{variant:"icon",children:jsx(Icon,{children:jsx(Cancel,{})})})})}W.displayName="Drawer.Close";function O(){const{stack:e}=useContext(ViewStackContext);return e.length>1?jsx(o.Trigger,{for:"back",children:jsx(Button,{variant:"icon",children:jsx(Icon,{children:jsx(ChevronLeft,{})})})}):null}O.displayName="Drawer.Back";function A({className:e,...r}){return jsx("main",{...r,className:ce({className:e})})}A.displayName="Drawer.Layout.Main";function h({className:e,extend:r="left right",push:a,...n}){return jsx("div",{...n,className:le({className:e}),"data-extend":r,"data-push":a})}h.displayName="Drawer.Layout",h.Main=A;const ye={left:"right",right:"left",top:"bottom",bottom:"top"};function C({for:e,children:r,classNames:a,toggle:n,textValue:l,...s}){const{parent:f,stack:p}=useContext(ViewStackContext),{placement:m}=useContext(T),d=p.at(-1),P=n?"toggle":"open",c=useRef(null);return f?jsxs(Tooltip.Trigger,{children:[jsx(y,{for:`${P}:${e}`,children:jsx(ToggleButton,{...s,ref:c,className:composeRenderProps(a?.item,g=>De({className:g})),role:"tab",variant:"icon",isSelected:e===d||p.length>1&&p.includes(e),children:composeRenderProps(r,g=>jsx(Icon,{children:g}))})}),jsx(Tooltip,{triggerRef:c,placement:ye[m],offset:6,className:a?.tooltip,children:l})]}):null}C.displayName="Drawer.Menu.Item";function D({className:e,position:r="center",children:a,...n}){return containsExactChildren({children:a,componentName:D.displayName,restrictions:[[C,{min:1}],[y,{min:0,max:0}]]}),jsx("nav",{...n,className:ge({position:r,className:e}),children:a})}D.displayName="Drawer.Menu",D.Item=C;function k({className:e,...r}){return jsx("div",{...r,className:me({className:e})})}k.displayName="Drawer.Panel";function F({id:e,children:r,className:a,...n}){const{register:l,unregister:s}=useContext(T);return useEffect(()=>(l(e),()=>s(e)),[l,s,e]),jsx(ViewStack.View,{id:e,children:jsx("div",{...n,className:ue({className:a}),role:"tabpanel",children:r})})}F.displayName="Drawer.View";function $({className:e,level:r,...a}){return jsx(Heading,{...a,className:DrawerTitleStyles({className:e,level:r}),level:r})}$.displayName="Drawer.Title";function I({className:e,title:r,children:a,...n}){const{stack:l}=useContext(ViewStackContext),s=l.length>1?4:1;return jsx(Header,{...n,className:we({className:e}),children:r?jsxs(Fragment,{children:[jsx(o.Back,{}),jsx(o.Header.Title,{level:s,className:"w-fit",children:r}),jsx(o.Close,{})]}):a})}I.displayName="Drawer.Header",I.Title=$;function z({className:e,...r}){return jsx("div",{...r,className:fe({className:e})})}z.displayName="Drawer.Content";function G({className:e,...r}){return jsx("footer",{...r,className:de({className:e})})}G.displayName="Drawer.Footer";function o({id:e,children:r,className:a,defaultView:n,placement:l="left",size:s="medium",onChange:f,...p}){containsExactChildren({children:r,componentName:o.displayName,restrictions:[[D,{min:0,max:1}],[k,{min:1,max:1}]]});const m=useRef(new Set),[d,P]=useState(n||null),c=useViewStackEmit(),g=useCallback(i=>{m.current.has(i?.payload?.view)&&(c.clear(e),c.push(i.payload.view));},[e,c.clear,c.push]),K=useCallback(i=>{m.current.has(i?.payload?.view)&&(c.clear(e),d!==i?.payload?.view&&c.push(i.payload.view));},[e,d,c.clear,c.push]);return useOn(DrawerEventTypes.open,g),useOn(DrawerEventTypes.toggle,K),jsx(T.Provider,{value:{register:i=>m.current.add(i),unregister:i=>m.current.delete(i),placement:l},children:jsx(ViewStack,{id:e,defaultView:n,onChange:i=>{P(i),f?.(i);},children:jsx("div",{...p,className:pe({className:a}),"data-open":!!d||null,"data-placement":l,"data-size":s,children:r})})})}o.displayName="Drawer",o.Layout=h,o.Menu=D,o.Panel=k,o.View=F,o.Header=I,o.Content=z,o.Footer=G,o.Trigger=y,o.Close=W,o.Back=O;export{o as Drawer,T as DrawerContext,qe as DrawerEventHandlers,ve as useDrawerEmit};//# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/drawer/index.tsx"],"names":["header","DrawerStyles","item","bus","Broadcast","createContext","Z","Y","B","ViewStackEventHandlers","$","view","U","D","DrawerTrigger","children","events","useContext","ViewStackContext","handlePress","type","v","E","isUUID","id","parent","DrawerEventHandlers","event","jsx","Pressable","t","O","className","rest","main","DrawerLayoutMain","DrawerLayout","extend","push","DrawerMenuItem","toggle","action","composeRenderProps","Q","x","views","X","DrawerMenu","position","S","DrawerPanel","panel","register","DrawerContext","useEffect","ViewStack","k","M","DrawerHeaderTitle","level","K","_","DrawerHeader","J","DrawerContent","content","defaultView","placement","size","activeView","setActiveView","useState","useCallback","data","G","ViewStackEventTypes","I","handleToggle","f","listeners","DrawerEventTypes","off","handleOpen","onChange","drawer","Drawer","DrawerFooter"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { Broadcast } from '@accelint/bus';\nimport { isUUID, type UniqueId } from '@accelint/core';\nimport { Pressable } from '@react-aria/interactions';\nimport {\n type ComponentPropsWithRef,\n createContext,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { composeRenderProps, Header, Heading } from 'react-aria-components';\nimport { containsExactChildren } from '@/lib/react';\nimport { ToggleButton } from '../button';\nimport { Icon } from '../icon';\nimport {\n ViewStack,\n ViewStackContext,\n ViewStackEventHandlers,\n} from '../view-stack';\nimport { ViewStackEventTypes } from '../view-stack/events';\nimport { DrawerEventTypes } from './events';\nimport { DrawerMenuStyles, DrawerStyles, DrawerTitleStyles } from './styles';\nimport type { ViewStackViewProps } from '../view-stack/types';\nimport type {\n DrawerContextValue,\n DrawerEvent,\n DrawerLayoutProps,\n DrawerMenuItemProps,\n DrawerMenuProps,\n DrawerOpenEvent,\n DrawerProps,\n DrawerTitleProps,\n DrawerToggleEvent,\n DrawerTriggerProps,\n} from './types';\n\nconst { layout, main, drawer, panel, view, header, content, footer } =\n DrawerStyles();\nconst { menu, item } = DrawerMenuStyles();\nconst bus = Broadcast.getInstance<DrawerEvent>();\n\nexport const DrawerContext = createContext<DrawerContextValue>({\n register: () => undefined,\n unregister: () => undefined,\n});\n\nexport const DrawerEventHandlers = {\n ...ViewStackEventHandlers,\n close: ViewStackEventHandlers.clear,\n open: (view: UniqueId) => bus.emit(DrawerEventTypes.open, { view }),\n toggle: (view: UniqueId) => bus.emit(DrawerEventTypes.toggle, { view }),\n} as const;\n\nfunction DrawerTrigger({ children, for: events }: DrawerTriggerProps) {\n const { parent } = useContext(ViewStackContext);\n\n function handlePress() {\n for (const type of Array.isArray(events) ? events : [events]) {\n let [event, id] = (isUUID(type) ? ['push', type] : type.split(':')) as [\n 'back' | 'clear' | 'close' | 'open' | 'push' | 'reset' | 'toggle',\n UniqueId | undefined | null,\n ];\n\n id ??= parent;\n\n if (!id) {\n continue;\n }\n\n DrawerEventHandlers[event](id);\n }\n }\n\n return <Pressable onPress={handlePress}>{children}</Pressable>;\n}\nDrawerTrigger.displayName = 'Drawer.Trigger';\n\nfunction DrawerLayoutMain({\n className,\n ...rest\n}: ComponentPropsWithRef<'main'>) {\n return <main {...rest} className={main({ className })} />;\n}\nDrawerLayoutMain.displayName = 'Drawer.Layout.Main';\n\nfunction DrawerLayout({\n className,\n extend = 'left right',\n push,\n ...rest\n}: DrawerLayoutProps) {\n return (\n <div\n {...rest}\n className={layout({ className })}\n data-extend={extend}\n data-push={push}\n />\n );\n}\nDrawerLayout.displayName = 'Drawer.Layout';\nDrawerLayout.Main = DrawerLayoutMain;\n\nfunction DrawerMenuItem({\n for: id,\n children,\n className,\n toggle,\n views,\n ...rest\n}: DrawerMenuItemProps) {\n const { parent, stack } = useContext(ViewStackContext);\n const view = stack.at(-1);\n const action = toggle ? 'toggle' : 'open';\n\n if (!parent) {\n return null;\n }\n\n return (\n <DrawerTrigger for={`${action}:${id}`}>\n <ToggleButton\n {...rest}\n className={composeRenderProps(className, (className) =>\n item({ className }),\n )}\n role='tab'\n variant='icon'\n isSelected={id === view || !!views?.some((view) => id === view)}\n >\n {composeRenderProps(children, (children) => (\n <Icon>{children}</Icon>\n ))}\n </ToggleButton>\n </DrawerTrigger>\n );\n}\nDrawerMenuItem.displayName = 'Drawer.Menu.Item';\n\nfunction DrawerMenu({\n className,\n position = 'center',\n children,\n ...rest\n}: DrawerMenuProps) {\n containsExactChildren({\n children,\n componentName: DrawerMenu.displayName,\n restrictions: [\n [DrawerMenuItem, { min: 1 }],\n [DrawerTrigger, { min: 0, max: 0 }],\n ],\n });\n return (\n <nav\n {...rest}\n className={menu({\n position,\n className,\n })}\n >\n {children}\n </nav>\n );\n}\nDrawerMenu.displayName = 'Drawer.Menu';\nDrawerMenu.Item = DrawerMenuItem;\n\nfunction DrawerPanel({ className, ...rest }: ComponentPropsWithRef<'div'>) {\n return <div {...rest} className={panel({ className })} />;\n}\nDrawerPanel.displayName = 'Drawer.Panel';\n\nfunction DrawerView({\n id,\n children,\n className,\n ...rest\n}: ViewStackViewProps & ComponentPropsWithRef<'div'>) {\n const { register, unregister } = useContext(DrawerContext);\n\n useEffect(() => {\n register(id);\n\n () => unregister(id);\n }, [register, unregister, id]);\n\n return (\n <ViewStack.View id={id}>\n <div {...rest} className={view({ className })} role='tabpanel'>\n {children}\n </div>\n </ViewStack.View>\n );\n}\nDrawerView.displayName = 'Drawer.View';\n\n/**\n * To change size of title, use the `level` prop: `1`-`3` (large), `4`-`6` (medium).\n *\n * `level` also changes the semantic heading tag number `h1`-`h6`\n */\nfunction DrawerHeaderTitle({ className, level, ...rest }: DrawerTitleProps) {\n return (\n <Heading\n {...rest}\n className={DrawerTitleStyles({ className, level })}\n level={level}\n />\n );\n}\nDrawerHeaderTitle.displayName = 'Drawer.Title';\n\nfunction DrawerHeader({ className, ...rest }: ComponentPropsWithRef<'header'>) {\n return <Header {...rest} className={header({ className })} />;\n}\nDrawerHeader.displayName = 'Drawer.Header';\nDrawerHeader.Title = DrawerHeaderTitle;\n\nfunction DrawerContent({ className, ...rest }: ComponentPropsWithRef<'div'>) {\n return <div {...rest} className={content({ className })} />;\n}\nDrawerContent.displayName = 'Drawer.Content';\n\nfunction DrawerFooter({ className, ...rest }: ComponentPropsWithRef<'footer'>) {\n return <footer {...rest} className={footer({ className })} />;\n}\nDrawerFooter.displayName = 'Drawer.Footer';\n\nexport function Drawer({\n id,\n children,\n className,\n defaultView,\n placement = 'left',\n size = 'medium',\n onChange,\n ...rest\n}: DrawerProps) {\n containsExactChildren({\n children,\n componentName: Drawer.displayName,\n restrictions: [\n [DrawerMenu, { min: 0, max: 1 }],\n [DrawerPanel, { min: 1, max: 1 }],\n ],\n });\n\n const views = useRef(new Set<UniqueId>());\n const [activeView, setActiveView] = useState<UniqueId | null>(\n defaultView || null,\n );\n\n const handleOpen = useCallback(\n (data: DrawerOpenEvent) => {\n if (views.current.has(data?.payload?.view)) {\n bus.emit(ViewStackEventTypes.clear, { stack: id });\n bus.emit(ViewStackEventTypes.push, data.payload);\n }\n },\n [id],\n );\n const handleToggle = useCallback(\n (data: DrawerToggleEvent) => {\n if (views.current.has(data?.payload?.view)) {\n bus.emit(ViewStackEventTypes.clear, { stack: id });\n if (activeView !== data?.payload?.view) {\n bus.emit(ViewStackEventTypes.push, data.payload);\n }\n }\n },\n [id, activeView],\n );\n\n useEffect(() => {\n const listeners = [\n bus.on(DrawerEventTypes.open, handleOpen),\n bus.on(DrawerEventTypes.toggle, handleToggle),\n ];\n\n return () => {\n for (const off of listeners) {\n off();\n }\n };\n }, [handleOpen, handleToggle]);\n\n return (\n <DrawerContext.Provider\n value={{\n register: (view: UniqueId) => views.current.add(view),\n unregister: (view: UniqueId) => views.current.delete(view),\n }}\n >\n <ViewStack\n id={id}\n defaultView={defaultView}\n onChange={(view) => {\n setActiveView(view);\n onChange?.(view);\n }}\n >\n <div\n {...rest}\n className={drawer({ className })}\n data-open={!!activeView || null}\n data-placement={placement}\n data-size={size}\n >\n {children}\n </div>\n </ViewStack>\n </DrawerContext.Provider>\n );\n}\nDrawer.displayName = 'Drawer';\n\nDrawer.Layout = DrawerLayout;\nDrawer.Menu = DrawerMenu;\nDrawer.Panel = DrawerPanel;\nDrawer.View = DrawerView;\nDrawer.Header = DrawerHeader;\nDrawer.Content = DrawerContent;\nDrawer.Footer = DrawerFooter;\nDrawer.Trigger = DrawerTrigger;\n"]}
1
+ {"version":3,"sources":["../../../src/components/drawer/index.tsx"],"names":["footer","DrawerMenuStyles","DrawerContext","ie","oe","DrawerEventHandlers","bus","DrawerEventTypes","view","w","viewStackEmit","emitOpen","useEmit","emitToggle","b","E","DrawerTrigger","children","useContext","drawerEmit","useDrawerEmit","handlePress","type","events","event","id","jsx","Pressable","X","t","_","DrawerClose","Drawer","Button","H","N","Y","stack","ViewStackContext","v","DrawerBack","DrawerLayoutMain","Z","className","rest","layout","push","DrawerMenuItem","toggle","tooltipRef","useRef","parent","jsxs","Tooltip","x","J","R","composeRenderProps","classNames","item","M","tooltipPlacementMap","placement","textValue","containsExactChildren","menu","position","DrawerMenu","DrawerPanel","DrawerView","unregister","register","ee","q","level","DrawerTitleStyles","DrawerHeaderTitle","se","DrawerHeader","title","Header","u","te","Pe","DrawerContent","DrawerFooter","onChange","activeView","setActiveView","useState","defaultView","useViewStackEmit","handleOpen","useCallback","data","views","re","S","useOn","V","ViewStack","size"],"mappings":"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","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport { Broadcast } from '@accelint/bus';\nimport { useEmit, useOn } from '@accelint/bus/react';\nimport { isUUID, type UniqueId } from '@accelint/core';\nimport { Cancel, ChevronLeft } from '@accelint/icons';\nimport { Pressable } from '@react-aria/interactions';\nimport {\n type ComponentPropsWithRef,\n createContext,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { composeRenderProps, Header, Heading } from 'react-aria-components';\nimport { containsExactChildren } from '@/lib/react';\nimport { Button, ToggleButton } from '../button';\nimport { Icon } from '../icon';\nimport { Tooltip } from '../tooltip';\nimport {\n useViewStackEmit,\n ViewStack,\n ViewStackContext,\n ViewStackEventHandlers,\n} from '../view-stack';\nimport { DrawerEventTypes } from './events';\nimport { DrawerMenuStyles, DrawerStyles, DrawerTitleStyles } from './styles';\nimport type { ViewStackViewProps } from '../view-stack/types';\nimport type {\n DrawerContextValue,\n DrawerEvent,\n DrawerLayoutProps,\n DrawerMenuItemProps,\n DrawerMenuProps,\n DrawerOpenEvent,\n DrawerProps,\n DrawerTitleProps,\n DrawerToggleEvent,\n DrawerTriggerProps,\n} from './types';\n\nconst { layout, main, drawer, panel, view, header, content, footer } =\n DrawerStyles();\nconst { menu, item } = DrawerMenuStyles();\n\nconst bus = Broadcast.getInstance<DrawerEvent>();\n\nexport const DrawerContext = createContext<DrawerContextValue>({\n register: () => undefined,\n unregister: () => undefined,\n placement: 'left',\n});\n\nexport const DrawerEventHandlers = {\n ...ViewStackEventHandlers,\n close: ViewStackEventHandlers.clear,\n open: (view: UniqueId) => bus.emit(DrawerEventTypes.open, { view }),\n toggle: (view: UniqueId) => bus.emit(DrawerEventTypes.toggle, { view }),\n} as const;\n\nexport function useDrawerEmit() {\n const viewStackEmit = useViewStackEmit();\n const emitOpen = useEmit<DrawerEvent>(DrawerEventTypes.open);\n const emitToggle = useEmit<DrawerEvent>(DrawerEventTypes.toggle);\n\n return {\n ...viewStackEmit,\n close: viewStackEmit.clear,\n open: (view: UniqueId) => emitOpen({ view }),\n toggle: (view: UniqueId) => emitToggle({ view }),\n } as const;\n}\n\nfunction DrawerTrigger({ children, for: events }: DrawerTriggerProps) {\n const { parent } = useContext(ViewStackContext);\n const drawerEmit = useDrawerEmit();\n\n function handlePress() {\n for (const type of Array.isArray(events) ? events : [events]) {\n let [event, id] = (isUUID(type) ? ['push', type] : type.split(':')) as [\n 'back' | 'clear' | 'close' | 'open' | 'push' | 'reset' | 'toggle',\n UniqueId | undefined | null,\n ];\n\n id ??= parent;\n\n if (!id) {\n continue;\n }\n\n drawerEmit[event](id);\n }\n }\n\n return <Pressable onPress={handlePress}>{children}</Pressable>;\n}\nDrawerTrigger.displayName = 'Drawer.Trigger';\n\nfunction DrawerClose() {\n return (\n <Drawer.Trigger for='close'>\n <Button variant='icon'>\n <Icon>\n <Cancel />\n </Icon>\n </Button>\n </Drawer.Trigger>\n );\n}\n\nDrawerClose.displayName = 'Drawer.Close';\n\nfunction DrawerBack() {\n const { stack } = useContext(ViewStackContext);\n return stack.length > 1 ? (\n <Drawer.Trigger for='back'>\n <Button variant='icon'>\n <Icon>\n <ChevronLeft />\n </Icon>\n </Button>\n </Drawer.Trigger>\n ) : null;\n}\n\nDrawerBack.displayName = 'Drawer.Back';\n\nfunction DrawerLayoutMain({\n className,\n ...rest\n}: ComponentPropsWithRef<'main'>) {\n return <main {...rest} className={main({ className })} />;\n}\nDrawerLayoutMain.displayName = 'Drawer.Layout.Main';\n\nfunction DrawerLayout({\n className,\n extend = 'left right',\n push,\n ...rest\n}: DrawerLayoutProps) {\n return (\n <div\n {...rest}\n className={layout({ className })}\n data-extend={extend}\n data-push={push}\n />\n );\n}\nDrawerLayout.displayName = 'Drawer.Layout';\nDrawerLayout.Main = DrawerLayoutMain;\n\nconst tooltipPlacementMap = {\n left: 'right',\n right: 'left',\n top: 'bottom',\n bottom: 'top',\n} as const;\n\nfunction DrawerMenuItem({\n for: id,\n children,\n classNames,\n toggle,\n textValue,\n ...rest\n}: DrawerMenuItemProps) {\n const { parent, stack } = useContext(ViewStackContext);\n const { placement } = useContext(DrawerContext);\n const view = stack.at(-1);\n const action = toggle ? 'toggle' : 'open';\n const tooltipRef = useRef(null);\n\n if (!parent) {\n return null;\n }\n\n return (\n <Tooltip.Trigger>\n <DrawerTrigger for={`${action}:${id}`}>\n <ToggleButton\n {...rest}\n ref={tooltipRef}\n className={composeRenderProps(classNames?.item, (className) =>\n item({ className }),\n )}\n role='tab'\n variant='icon'\n isSelected={id === view || (stack.length > 1 && stack.includes(id))}\n >\n {composeRenderProps(children, (children) => (\n <Icon>{children}</Icon>\n ))}\n </ToggleButton>\n </DrawerTrigger>\n <Tooltip\n triggerRef={tooltipRef}\n placement={tooltipPlacementMap[placement]}\n offset={6}\n className={classNames?.tooltip}\n >\n {textValue}\n </Tooltip>\n </Tooltip.Trigger>\n );\n}\nDrawerMenuItem.displayName = 'Drawer.Menu.Item';\n\nfunction DrawerMenu({\n className,\n position = 'center',\n children,\n ...rest\n}: DrawerMenuProps) {\n containsExactChildren({\n children,\n componentName: DrawerMenu.displayName,\n restrictions: [\n [DrawerMenuItem, { min: 1 }],\n [DrawerTrigger, { min: 0, max: 0 }],\n ],\n });\n return (\n <nav\n {...rest}\n className={menu({\n position,\n className,\n })}\n >\n {children}\n </nav>\n );\n}\nDrawerMenu.displayName = 'Drawer.Menu';\nDrawerMenu.Item = DrawerMenuItem;\n\nfunction DrawerPanel({ className, ...rest }: ComponentPropsWithRef<'div'>) {\n return <div {...rest} className={panel({ className })} />;\n}\nDrawerPanel.displayName = 'Drawer.Panel';\n\nfunction DrawerView({\n id,\n children,\n className,\n ...rest\n}: ViewStackViewProps & ComponentPropsWithRef<'div'>) {\n const { register, unregister } = useContext(DrawerContext);\n\n useEffect(() => {\n register(id);\n\n return () => unregister(id);\n }, [register, unregister, id]);\n\n return (\n <ViewStack.View id={id}>\n <div {...rest} className={view({ className })} role='tabpanel'>\n {children}\n </div>\n </ViewStack.View>\n );\n}\nDrawerView.displayName = 'Drawer.View';\n\n/**\n * To change size of title, use the `level` prop: `1`-`3` (large), `4`-`6` (medium).\n *\n * `level` also changes the semantic heading tag number `h1`-`h6`\n */\nfunction DrawerHeaderTitle({ className, level, ...rest }: DrawerTitleProps) {\n return (\n <Heading\n {...rest}\n className={DrawerTitleStyles({ className, level })}\n level={level}\n />\n );\n}\nDrawerHeaderTitle.displayName = 'Drawer.Title';\n\nfunction DrawerHeader({\n className,\n title,\n children,\n ...rest\n}: ComponentPropsWithRef<'header'>) {\n const { stack } = useContext(ViewStackContext);\n const level = stack.length > 1 ? 4 : 1;\n\n return (\n <Header {...rest} className={header({ className })}>\n {title ? (\n <>\n <Drawer.Back />\n <Drawer.Header.Title level={level} className='w-fit'>\n {title}\n </Drawer.Header.Title>\n <Drawer.Close />\n </>\n ) : (\n children\n )}\n </Header>\n );\n}\n\nDrawerHeader.displayName = 'Drawer.Header';\nDrawerHeader.Title = DrawerHeaderTitle;\n\nfunction DrawerContent({ className, ...rest }: ComponentPropsWithRef<'div'>) {\n return <div {...rest} className={content({ className })} />;\n}\nDrawerContent.displayName = 'Drawer.Content';\n\nfunction DrawerFooter({ className, ...rest }: ComponentPropsWithRef<'footer'>) {\n return <footer {...rest} className={footer({ className })} />;\n}\nDrawerFooter.displayName = 'Drawer.Footer';\n\n/**\n * Drawer - Slide-in panel for navigation or contextual content\n *\n * A flexible panel that slides in from the viewport edge and supports\n * stacked views, headers, footers, and programmatic triggers.\n *\n * @example\n * const ids = { drawer: uuid(), a: uuid() };\n *\n * <Drawer.Layout push=\"left\">\n * <Drawer.Layout.Main>\n * <Drawer.Trigger for={`open:${ids.a}`}>\n * <Button variant=\"icon\">Open</Button>\n * </Drawer.Trigger>\n * </Drawer.Layout.Main>\n *\n * <Drawer id={ids.drawer} defaultView={ids.a}>\n * <Drawer.Panel>\n * <Drawer.View id={ids.a}>\n * <Drawer.Header title=\"Title A\" />\n * <Drawer.Content>Content for View A</Drawer.Content>\n * </Drawer.View>\n * </Drawer.Panel>\n * </Drawer>\n * </Drawer.Layout>\n */\nexport function Drawer({\n id,\n children,\n className,\n defaultView,\n placement = 'left',\n size = 'medium',\n onChange,\n ...rest\n}: DrawerProps) {\n containsExactChildren({\n children,\n componentName: Drawer.displayName,\n restrictions: [\n [DrawerMenu, { min: 0, max: 1 }],\n [DrawerPanel, { min: 1, max: 1 }],\n ],\n });\n\n const views = useRef(new Set<UniqueId>());\n const [activeView, setActiveView] = useState<UniqueId | null>(\n defaultView || null,\n );\n\n const viewStackEmit = useViewStackEmit();\n\n const handleOpen = useCallback(\n (data: DrawerOpenEvent) => {\n if (views.current.has(data?.payload?.view)) {\n viewStackEmit.clear(id);\n viewStackEmit.push(data.payload.view);\n }\n },\n [id, viewStackEmit.clear, viewStackEmit.push],\n );\n const handleToggle = useCallback(\n (data: DrawerToggleEvent) => {\n if (views.current.has(data?.payload?.view)) {\n viewStackEmit.clear(id);\n if (activeView !== data?.payload?.view) {\n viewStackEmit.push(data.payload.view);\n }\n }\n },\n [id, activeView, viewStackEmit.clear, viewStackEmit.push],\n );\n\n useOn(DrawerEventTypes.open, handleOpen);\n useOn(DrawerEventTypes.toggle, handleToggle);\n\n return (\n <DrawerContext.Provider\n value={{\n register: (view: UniqueId) => views.current.add(view),\n unregister: (view: UniqueId) => views.current.delete(view),\n placement,\n }}\n >\n <ViewStack\n id={id}\n defaultView={defaultView}\n onChange={(view) => {\n setActiveView(view);\n onChange?.(view);\n }}\n >\n <div\n {...rest}\n className={drawer({ className })}\n data-open={!!activeView || null}\n data-placement={placement}\n data-size={size}\n >\n {children}\n </div>\n </ViewStack>\n </DrawerContext.Provider>\n );\n}\nDrawer.displayName = 'Drawer';\n\nDrawer.Layout = DrawerLayout;\nDrawer.Menu = DrawerMenu;\nDrawer.Panel = DrawerPanel;\nDrawer.View = DrawerView;\nDrawer.Header = DrawerHeader;\nDrawer.Content = DrawerContent;\nDrawer.Footer = DrawerFooter;\nDrawer.Trigger = DrawerTrigger;\nDrawer.Close = DrawerClose;\nDrawer.Back = DrawerBack;\n"]}
@@ -1,2 +1,2 @@
1
- import {tv}from'./../../lib/utils.js';const o=tv({slots:{layout:["[--drawer-main-row-start:1]","data-[push~=top]:[--drawer-main-row-start:2]","[--drawer-main-row-end:4]","data-[push~=bottom]:[--drawer-main-row-end:3]","[--drawer-main-col-start:1]","data-[push~=left]:[--drawer-main-col-start:2] has-[.group\\/sidenav]:[--drawer-main-col-start:2]","[--drawer-main-col-end:4]","data-[push~=right]:[--drawer-main-col-end:3]","[--drawer-menu-size:40px]","[--drawer-size-small:100px]","[--drawer-size-medium:200px]","[--drawer-size-large:400px]","[--route-layout-grid-cols:auto_1fr_auto]","[--route-layout-grid-rows:auto_1fr_auto]","[--drawer-main-cols:var(--drawer-main-col-start)/var(--drawer-main-col-end)]","[--drawer-main-rows:var(--drawer-main-row-start)/var(--drawer-main-row-end)]","group/layout relative top-[var(--classification-banner-height)]","grid grid-cols-[var(--route-layout-grid-cols)] grid-rows-[var(--route-layout-grid-rows)]","transition-[grid-template-columns,grid-template-rows]","h-full max-h-full w-full"],main:"relative col-[var(--drawer-main-cols)] row-[var(--drawer-main-rows)]",drawer:["group/drawer","bg-surface-default text-body-m","relative flex h-full min-h-0 flex-col","pointer-events-none [&>*]:pointer-events-auto","placement-top:col-start-2 placement-top:col-end-3 placement-top:row-start-1 placement-top:row-end-2","placement-bottom:col-start-2 placement-bottom:col-end-3 placement-bottom:row-start-3 placement-bottom:row-end-4","placement-left:col-start-1 placement-left:col-end-2 placement-left:row-start-2 placement-left:row-end-3","placement-right:col-start-3 placement-right:col-end-4 placement-right:row-start-2 placement-right:row-end-3","group-data-[extend~=top]/layout:placement-top:col-span-full","group-data-[extend~=bottom]/layout:placement-bottom:col-span-full","group-data-[extend~=left]/layout:placement-left:row-span-full","group-data-[extend~=right]/layout:placement-right:row-span-full","group-data-[extend=top]/layout:placement-left:row-end-4 group-data-[extend=top]/layout:placement-right:row-end-4","group-data-[extend=bottom]/layout:placement-left:row-start-1 group-data-[extend=bottom]/layout:placement-right:row-start-1","group-data-[extend=left]/layout:placement-bottom:col-end-4 group-data-[extend=left]/layout:placement-top:col-end-4","group-data-[extend=right]/layout:placement-bottom:col-start-1 group-data-[extend=right]/layout:placement-top:col-start-1"],panel:["hidden h-full min-h-0 flex-col gap-s p-l","group-open/drawer:flex","group-placement-left/drawer:group-size-large/drawer:w-[var(--drawer-size-large)] group-placement-left/drawer:group-size-medium/drawer:w-[var(--drawer-size-medium)] group-placement-left/drawer:group-size-small/drawer:w-[var(--drawer-size-small)]","group-placement-right/drawer:group-size-large/drawer:w-[var(--drawer-size-large)] group-placement-right/drawer:group-size-medium/drawer:w-[var(--drawer-size-medium)] group-placement-right/drawer:group-size-small/drawer:w-[var(--drawer-size-small)]","group-placement-top/drawer:group-size-large/drawer:h-[var(--drawer-size-large)] group-placement-top/drawer:group-size-medium/drawer:h-[var(--drawer-size-medium)] group-placement-top/drawer:group-size-small/drawer:h-[var(--drawer-size-small)]","group-placement-bottom/drawer:group-size-large/drawer:h-[var(--drawer-size-large)] group-placement-bottom/drawer:group-size-medium/drawer:h-[var(--drawer-size-medium)] group-placement-bottom/drawer:group-size-small/drawer:h-[var(--drawer-size-small)]"],view:"flex h-full flex-col",content:["fg-primary-bold flex max-h-full flex-1 flex-col overflow-y-auto"],header:["mb-s flex flex-row items-center justify-between pt-px pr-px"],footer:"fg-primary-bold mt-s flex flex-row items-center justify-end"}}),r={level:2},l=tv({base:"fg-primary-bold w-full",variants:{level:{1:"",2:"",3:"",4:"",5:"",6:""}},compoundVariants:[{level:[1,2,3],className:"text-header-l"},{level:[4,5,6],className:"text-header-m"}],defaultVariants:r}),t={position:"center"},p=tv({slots:{menu:["absolute flex rounded-large bg-surface-default p-s","group-placement-top/drawer:transform-[translateX(-50%)] group-placement-top/drawer:left-[50%] group-placement-top/drawer:h-[var(--drawer-menu-size)] group-placement-top/drawer:flex-row","group-placement-bottom/drawer:transform-[translateX(-50%)] group-placement-bottom/drawer:left-[50%] group-placement-bottom/drawer:h-[var(--drawer-menu-size)] group-placement-bottom/drawer:flex-row","group-placement-bottom/drawer:-translate-y-[var(--drawer-menu-size)] group-placement-bottom/drawer:rounded-b-none","group-placement-top/drawer:bottom-0 group-placement-top/drawer:translate-y-[var(--drawer-menu-size)] group-placement-top/drawer:rounded-t-none","group-placement-left/drawer:left-full group-placement-left/drawer:rounded-l-none","group-placement-left/drawer:w-[var(--drawer-menu-size)] group-placement-left/drawer:flex-col group-placement-left/drawer:items-center","group-placement-right/drawer:-left-[var(--drawer-menu-size)] group-placement-right/drawer:rounded-r-none","group-placement-right/drawer:w-[var(--drawer-menu-size)] group-placement-right/drawer:flex-col group-placement-right/drawer:items-center"],item:["flex flex-col items-center justify-center","sudo:fg-primary-muted !p-xs cursor-pointer outline-none","rounded-medium","sudo:hover:fg-primary-bold hover:!bg-transparent","selected:fg-accent-primary-bold selected:bg-accent-primary-muted","focus:fg-primary-bold","disabled:fg-disabled disabled:cursor-not-allowed"]},variants:{position:{start:{menu:["group-placement-left/drawer:-translate-y-1/2 group-placement-left/drawer:top-1/8","group-placement-right/drawer:-translate-y-1/2 group-placement-right/drawer:top-1/8","group-placement-top/drawer:left-1/8 group-placement-top/drawer:translate-x-1/4","group-placement-bottom/drawer:left-1/8 group-placement-bottom/drawer:translate-x-1/4"]},center:{menu:["group-placement-left/drawer:-translate-y-1/2 group-placement-left/drawer:top-1/2","group-placement-right/drawer:-translate-y-1/2 group-placement-right/drawer:top-1/2","group-placement-top/drawer:-translate-x-1/8 group-placement-top/drawer:left-1/2","group-placement-bottom/drawer:-translate-x-1/8 group-placement-bottom/drawer:left-1/2"]},end:{menu:["group-placement-left/drawer:-translate-y-7/2 group-placement-left/drawer:top-7/8","group-placement-right/drawer:-translate-y-7/8 group-placement-right/drawer:top-7/8","group-placement-top/drawer:-translate-x-1/2 group-placement-top/drawer:left-7/8","group-placement-bottom/drawer:-translate-x-1/2 group-placement-bottom/drawer:left-7/8"]}}},defaultVariants:t});export{p as DrawerMenuStyles,t as DrawerMenuStylesDefaults,o as DrawerStyles,l as DrawerTitleStyles,r as DrawerTitleStylesDefaults};//# sourceMappingURL=styles.js.map
1
+ import {tv}from'./../../lib/utils.js';const o=tv({slots:{layout:["[--drawer-main-row-start:1]","data-[push~=top]:[--drawer-main-row-start:2]","[--drawer-main-row-end:4]","data-[push~=bottom]:[--drawer-main-row-end:3]","[--drawer-main-col-start:1]","data-[push~=left]:[--drawer-main-col-start:2] has-[.group\\/sidenav]:[--drawer-main-col-start:2]","[--drawer-main-col-end:4]","data-[push~=right]:[--drawer-main-col-end:3]","[--drawer-menu-size:40px]","[--drawer-size-small:100px]","[--drawer-size-medium:200px]","[--drawer-size-large:400px]","[--route-layout-grid-cols:auto_1fr_auto]","[--route-layout-grid-rows:auto_1fr_auto]","[--drawer-main-cols:var(--drawer-main-col-start)/var(--drawer-main-col-end)]","[--drawer-main-rows:var(--drawer-main-row-start)/var(--drawer-main-row-end)]","group/layout relative top-[var(--classification-banner-height)]","grid grid-cols-[var(--route-layout-grid-cols)] grid-rows-[var(--route-layout-grid-rows)]","transition-[grid-template-columns,grid-template-rows]","h-full max-h-full w-full"],main:"relative col-[var(--drawer-main-cols)] row-[var(--drawer-main-rows)]",drawer:["group/drawer","bg-surface-default text-body-m","relative flex h-full min-h-0 flex-col","pointer-events-none [&>*]:pointer-events-auto","placement-top:col-start-2 placement-top:col-end-3 placement-top:row-start-1 placement-top:row-end-2","placement-bottom:col-start-2 placement-bottom:col-end-3 placement-bottom:row-start-3 placement-bottom:row-end-4","placement-left:col-start-1 placement-left:col-end-2 placement-left:row-start-2 placement-left:row-end-3","placement-right:col-start-3 placement-right:col-end-4 placement-right:row-start-2 placement-right:row-end-3","group-data-[extend~=top]/layout:placement-top:col-span-full","group-data-[extend~=bottom]/layout:placement-bottom:col-span-full","group-data-[extend~=left]/layout:placement-left:row-span-full","group-data-[extend~=right]/layout:placement-right:row-span-full","group-data-[extend=top]/layout:placement-left:row-end-4 group-data-[extend=top]/layout:placement-right:row-end-4","group-data-[extend=bottom]/layout:placement-left:row-start-1 group-data-[extend=bottom]/layout:placement-right:row-start-1","group-data-[extend=left]/layout:placement-bottom:col-end-4 group-data-[extend=left]/layout:placement-top:col-end-4","group-data-[extend=right]/layout:placement-bottom:col-start-1 group-data-[extend=right]/layout:placement-top:col-start-1"],panel:["hidden h-full min-h-0 flex-col gap-s p-l","group-open/drawer:flex","group-placement-left/drawer:group-size-large/drawer:w-[var(--drawer-size-large)] group-placement-left/drawer:group-size-medium/drawer:w-[var(--drawer-size-medium)] group-placement-left/drawer:group-size-small/drawer:w-[var(--drawer-size-small)]","group-placement-right/drawer:group-size-large/drawer:w-[var(--drawer-size-large)] group-placement-right/drawer:group-size-medium/drawer:w-[var(--drawer-size-medium)] group-placement-right/drawer:group-size-small/drawer:w-[var(--drawer-size-small)]","group-placement-top/drawer:group-size-large/drawer:h-[var(--drawer-size-large)] group-placement-top/drawer:group-size-medium/drawer:h-[var(--drawer-size-medium)] group-placement-top/drawer:group-size-small/drawer:h-[var(--drawer-size-small)]","group-placement-bottom/drawer:group-size-large/drawer:h-[var(--drawer-size-large)] group-placement-bottom/drawer:group-size-medium/drawer:h-[var(--drawer-size-medium)] group-placement-bottom/drawer:group-size-small/drawer:h-[var(--drawer-size-small)]"],view:"flex h-full flex-col",content:["fg-primary-bold flex max-h-full flex-1 flex-col overflow-y-auto"],header:["mb-s flex flex-row items-center justify-between gap-s pt-px pr-px"],footer:"fg-primary-bold mt-s flex flex-row items-center justify-end"}}),r={level:2},l=tv({base:"fg-primary-bold w-full",variants:{level:{1:"",2:"",3:"",4:"",5:"",6:""}},compoundVariants:[{level:[1,2,3],className:"text-header-l"},{level:[4,5,6],className:"text-header-m"}],defaultVariants:r}),t={position:"center"},p=tv({slots:{menu:["absolute flex rounded-large bg-surface-default p-s","group-placement-top/drawer:transform-[translateX(-50%)] group-placement-top/drawer:left-[50%] group-placement-top/drawer:h-[var(--drawer-menu-size)] group-placement-top/drawer:flex-row","group-placement-bottom/drawer:transform-[translateX(-50%)] group-placement-bottom/drawer:left-[50%] group-placement-bottom/drawer:h-[var(--drawer-menu-size)] group-placement-bottom/drawer:flex-row","group-placement-bottom/drawer:-translate-y-[var(--drawer-menu-size)] group-placement-bottom/drawer:rounded-b-none","group-placement-top/drawer:bottom-0 group-placement-top/drawer:translate-y-[var(--drawer-menu-size)] group-placement-top/drawer:rounded-t-none","group-placement-left/drawer:left-full group-placement-left/drawer:rounded-l-none","group-placement-left/drawer:w-[var(--drawer-menu-size)] group-placement-left/drawer:flex-col group-placement-left/drawer:items-center","group-placement-right/drawer:-left-[var(--drawer-menu-size)] group-placement-right/drawer:rounded-r-none","group-placement-right/drawer:w-[var(--drawer-menu-size)] group-placement-right/drawer:flex-col group-placement-right/drawer:items-center"],item:["flex flex-col items-center justify-center","enabled:color-info:fg-primary-muted cursor-pointer outline-none","rounded-medium","enabled:color-info:hover:fg-primary-bold enabled:hover:color-info:bg-transparent","selected:fg-accent-primary-bold selected:bg-accent-primary-muted","focus:fg-primary-bold","disabled:fg-disabled disabled:cursor-not-allowed"]},variants:{position:{start:{menu:["group-placement-left/drawer:top-0 group-placement-left/drawer:translate-y-1/4","group-placement-right/drawer:top-0 group-placement-right/drawer:translate-y-1/4","group-placement-top/drawer:left-0 group-placement-top/drawer:translate-x-3/4","group-placement-bottom/drawer:left-0 group-placement-bottom/drawer:translate-x-3/4"]},center:{menu:["group-placement-left/drawer:-translate-y-1/2 group-placement-left/drawer:top-1/2","group-placement-right/drawer:-translate-y-1/2 group-placement-right/drawer:top-1/2","group-placement-top/drawer:left-1/2 group-placement-top/drawer:translate-x-1","group-placement-bottom/drawer:left-1/2 group-placement-bottom/drawer:translate-x-1"]},end:{menu:["group-placement-left/drawer:-translate-y-1/4 group-placement-left/drawer:bottom-0","group-placement-right/drawer:-translate-y-1/4 group-placement-right/drawer:bottom-0","group-placement-top/drawer:-translate-x-3/4 group-placement-top/drawer:left-full","group-placement-bottom/drawer:-translate-x-3/4 group-placement-bottom/drawer:left-full"]}}},defaultVariants:t});export{p as DrawerMenuStyles,t as DrawerMenuStylesDefaults,o as DrawerStyles,l as DrawerTitleStyles,r as DrawerTitleStylesDefaults};//# sourceMappingURL=styles.js.map
2
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/drawer/styles.ts"],"names":["e","DrawerTitleStyles","DrawerMenuStyles"],"mappings":"6CAeS,CACLA,EAAA,CAAA,CAAA,KAEE,CAAA,CAAA,MAAA,CAAA,CAAA,6BACA,CAAA,0EAEA,CAAA,+CACA,CAAA,gIAGA,CAAA,2BACA,CAAA,8CAEA,CAAA,2BACA,CAAA,6BACA,CAAA,8BACA,CAAA,wEAIA,CAAA,0CACA,CAAA,6JAIA,CAAA,iEACA,CAAA,kJAEA,CAAA,0BAEI,CAAA,CAAA,IAAA,CAAA,6FAGJ,CAAA,gCACA,CAAA,uFAIA,CAAA,qGACA,CAAA,2NAEA,CAAA,6GAGA,CAAA,6DACA,CAAA,mEACA,CAAA,+DACA,CAAA,iEAGA,CAAA,+OAEA,CAAA,oHACA,CAAA,6KAIA,CAAA,wBACA,CAAA,sPACA,CAAA,yPACA,CAAA,mPACA,CAAA,4PAEI,CAAA,CAAA,IAAA,CAAA,sBAEJ,CAAA,OAAA,CAAA,CAAA,iEAEO,CAAA,CAAA,MAAA,CAAA,CAAA,6DACD,CAAA,CAAA,MAAA,CAAA,6DAKV,CAAA,CAAA,CAAO,CACT,EAEaC,CAAAA,KACX,CAAA,CAAA,CAAA,CAAM,CAAA,CAAAD,EAAA,CAAA,CAAA,IAAA,CAAA,wBACI,CACR,SACK,CAAA,OAEH,CAAA,CAAG,EAAA,CACH,CAAA,CAAG,EAAA,CACH,CAAA,CAAG,EAAA,CACH,EAAG,EACL,CACF,EACA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,gBAEY,CAAA,CAAG,CAAA,cACA,SAAA,CAAA,eAGH,EAAG,CAAA,KACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,SAAA,CAAA,eAGf,CAAA,CAAA,CAAA,eAIA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,QACZ,CAEaE,WACJ,CACLF,EAAA,CAAA,CAAA,KACE,CAAA,CAAA,IAAA,CAAA,CAAA,oDAGA,CAAA,iYAEA,CAAA,mHACA,CAAA,gJAEA,CAAA,kFACA,CAAA,uIACA,CAAA,0GACA,CAAA,6LAIA,CAAA,yDACA,CAAA,mEAIA,CAAA,kEAEA,CAAA,uBAEA,CAAA,kDAGJ,CAAA,CAAU,CACR,QAAA,CAAU,CACR,QACE,CAAA,CAAA,KACE,CAAA,CAAA,IAAA,CAAA,CAAA,kFACA,CAAA,oFACA,CAAA,gFACA,CAAA,sFAGI,CACN,CAAA,CAAA,MACE,CAAA,CAAA,IAAA,CAAA,CAAA,kFACA,CAAA,sKAEA,CAAA,uFAIF,CAAA,CAAA,CAAM,GACJ,CAAA,CAAA,IAAA,CAAA,CAAA,kFACA,CAAA,sKAEA,CAAA,uFAKR,CAAA,CAAA,CAAA,CAAA,CAAA,eACD,CAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const DrawerStyles = tv({\n slots: {\n layout: [\n //properties\n '[--drawer-main-row-start:1]', //top overlay\n 'data-[push~=top]:[--drawer-main-row-start:2]',\n '[--drawer-main-row-end:4]', //bottom overlay\n 'data-[push~=bottom]:[--drawer-main-row-end:3]',\n '[--drawer-main-col-start:1]', //left overlay\n // biome-ignore lint/style/noUnusedTemplateLiteral: This is necessary to properly evaulate \\/\n `data-[push~=left]:[--drawer-main-col-start:2] has-[.group\\\\/sidenav]:[--drawer-main-col-start:2]`,\n '[--drawer-main-col-end:4]', //right overlay\n 'data-[push~=right]:[--drawer-main-col-end:3]',\n\n '[--drawer-menu-size:40px]',\n '[--drawer-size-small:100px]',\n '[--drawer-size-medium:200px]',\n '[--drawer-size-large:400px]',\n\n //Grid template definitions\n '[--route-layout-grid-cols:auto_1fr_auto]',\n '[--route-layout-grid-rows:auto_1fr_auto]',\n '[--drawer-main-cols:var(--drawer-main-col-start)/var(--drawer-main-col-end)]',\n '[--drawer-main-rows:var(--drawer-main-row-start)/var(--drawer-main-row-end)]',\n\n //container\n 'group/layout relative top-[var(--classification-banner-height)]',\n 'grid grid-cols-[var(--route-layout-grid-cols)] grid-rows-[var(--route-layout-grid-rows)]',\n 'transition-[grid-template-columns,grid-template-rows]',\n 'h-full max-h-full w-full',\n ],\n main: 'relative col-[var(--drawer-main-cols)] row-[var(--drawer-main-rows)]',\n drawer: [\n 'group/drawer',\n 'bg-surface-default text-body-m',\n 'relative flex h-full min-h-0 flex-col',\n 'pointer-events-none [&>*]:pointer-events-auto',\n\n //Base positioning\n 'placement-top:col-start-2 placement-top:col-end-3 placement-top:row-start-1 placement-top:row-end-2',\n 'placement-bottom:col-start-2 placement-bottom:col-end-3 placement-bottom:row-start-3 placement-bottom:row-end-4',\n 'placement-left:col-start-1 placement-left:col-end-2 placement-left:row-start-2 placement-left:row-end-3',\n 'placement-right:col-start-3 placement-right:col-end-4 placement-right:row-start-2 placement-right:row-end-3',\n\n //Extend positioning\n 'group-data-[extend~=top]/layout:placement-top:col-span-full',\n 'group-data-[extend~=bottom]/layout:placement-bottom:col-span-full',\n 'group-data-[extend~=left]/layout:placement-left:row-span-full',\n 'group-data-[extend~=right]/layout:placement-right:row-span-full',\n\n //Extend fitment\n 'group-data-[extend=top]/layout:placement-left:row-end-4 group-data-[extend=top]/layout:placement-right:row-end-4',\n 'group-data-[extend=bottom]/layout:placement-left:row-start-1 group-data-[extend=bottom]/layout:placement-right:row-start-1',\n 'group-data-[extend=left]/layout:placement-bottom:col-end-4 group-data-[extend=left]/layout:placement-top:col-end-4',\n 'group-data-[extend=right]/layout:placement-bottom:col-start-1 group-data-[extend=right]/layout:placement-top:col-start-1',\n ],\n panel: [\n 'hidden h-full min-h-0 flex-col gap-s p-l',\n 'group-open/drawer:flex',\n 'group-placement-left/drawer:group-size-large/drawer:w-[var(--drawer-size-large)] group-placement-left/drawer:group-size-medium/drawer:w-[var(--drawer-size-medium)] group-placement-left/drawer:group-size-small/drawer:w-[var(--drawer-size-small)]',\n 'group-placement-right/drawer:group-size-large/drawer:w-[var(--drawer-size-large)] group-placement-right/drawer:group-size-medium/drawer:w-[var(--drawer-size-medium)] group-placement-right/drawer:group-size-small/drawer:w-[var(--drawer-size-small)]',\n 'group-placement-top/drawer:group-size-large/drawer:h-[var(--drawer-size-large)] group-placement-top/drawer:group-size-medium/drawer:h-[var(--drawer-size-medium)] group-placement-top/drawer:group-size-small/drawer:h-[var(--drawer-size-small)]',\n 'group-placement-bottom/drawer:group-size-large/drawer:h-[var(--drawer-size-large)] group-placement-bottom/drawer:group-size-medium/drawer:h-[var(--drawer-size-medium)] group-placement-bottom/drawer:group-size-small/drawer:h-[var(--drawer-size-small)]',\n ],\n view: 'flex h-full flex-col',\n content: [\n 'fg-primary-bold flex max-h-full flex-1 flex-col overflow-y-auto',\n ],\n header: ['mb-s flex flex-row items-center justify-between pt-px pr-px'],\n footer: 'fg-primary-bold mt-s flex flex-row items-center justify-end',\n },\n});\n\nexport const DrawerTitleStylesDefaults = {\n level: 2,\n} as const;\n\nexport const DrawerTitleStyles = tv({\n base: 'fg-primary-bold w-full',\n variants: {\n level: {\n 1: '',\n 2: '',\n 3: '',\n 4: '',\n 5: '',\n 6: '',\n },\n },\n compoundVariants: [\n {\n level: [1, 2, 3],\n className: 'text-header-l',\n },\n {\n level: [4, 5, 6],\n className: 'text-header-m',\n },\n ],\n defaultVariants: DrawerTitleStylesDefaults,\n});\n\nexport const DrawerMenuStylesDefaults = {\n position: 'center',\n} as const;\n\nexport const DrawerMenuStyles = tv({\n slots: {\n menu: [\n 'absolute flex rounded-large bg-surface-default p-s',\n\n //horizontal\n 'group-placement-top/drawer:transform-[translateX(-50%)] group-placement-top/drawer:left-[50%] group-placement-top/drawer:h-[var(--drawer-menu-size)] group-placement-top/drawer:flex-row',\n 'group-placement-bottom/drawer:transform-[translateX(-50%)] group-placement-bottom/drawer:left-[50%] group-placement-bottom/drawer:h-[var(--drawer-menu-size)] group-placement-bottom/drawer:flex-row',\n 'group-placement-bottom/drawer:-translate-y-[var(--drawer-menu-size)] group-placement-bottom/drawer:rounded-b-none',\n 'group-placement-top/drawer:bottom-0 group-placement-top/drawer:translate-y-[var(--drawer-menu-size)] group-placement-top/drawer:rounded-t-none',\n //vertical\n 'group-placement-left/drawer:left-full group-placement-left/drawer:rounded-l-none',\n 'group-placement-left/drawer:w-[var(--drawer-menu-size)] group-placement-left/drawer:flex-col group-placement-left/drawer:items-center',\n 'group-placement-right/drawer:-left-[var(--drawer-menu-size)] group-placement-right/drawer:rounded-r-none',\n 'group-placement-right/drawer:w-[var(--drawer-menu-size)] group-placement-right/drawer:flex-col group-placement-right/drawer:items-center',\n ],\n item: [\n 'flex flex-col items-center justify-center',\n 'sudo:fg-primary-muted !p-xs cursor-pointer outline-none',\n 'rounded-medium',\n //hover\n 'sudo:hover:fg-primary-bold hover:!bg-transparent',\n //selected\n 'selected:fg-accent-primary-bold selected:bg-accent-primary-muted',\n //focused\n 'focus:fg-primary-bold',\n //disabled\n 'disabled:fg-disabled disabled:cursor-not-allowed',\n ],\n },\n variants: {\n position: {\n start: {\n menu: [\n 'group-placement-left/drawer:-translate-y-1/2 group-placement-left/drawer:top-1/8',\n 'group-placement-right/drawer:-translate-y-1/2 group-placement-right/drawer:top-1/8',\n 'group-placement-top/drawer:left-1/8 group-placement-top/drawer:translate-x-1/4',\n 'group-placement-bottom/drawer:left-1/8 group-placement-bottom/drawer:translate-x-1/4',\n ],\n },\n center: {\n menu: [\n 'group-placement-left/drawer:-translate-y-1/2 group-placement-left/drawer:top-1/2',\n 'group-placement-right/drawer:-translate-y-1/2 group-placement-right/drawer:top-1/2',\n 'group-placement-top/drawer:-translate-x-1/8 group-placement-top/drawer:left-1/2',\n 'group-placement-bottom/drawer:-translate-x-1/8 group-placement-bottom/drawer:left-1/2',\n ],\n },\n end: {\n menu: [\n 'group-placement-left/drawer:-translate-y-7/2 group-placement-left/drawer:top-7/8',\n 'group-placement-right/drawer:-translate-y-7/8 group-placement-right/drawer:top-7/8',\n 'group-placement-top/drawer:-translate-x-1/2 group-placement-top/drawer:left-7/8',\n 'group-placement-bottom/drawer:-translate-x-1/2 group-placement-bottom/drawer:left-7/8',\n ],\n },\n },\n },\n defaultVariants: DrawerMenuStylesDefaults,\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/drawer/styles.ts"],"names":["e","DrawerTitleStyles","DrawerMenuStyles"],"mappings":"6CAeS,CACLA,EAAA,CAAA,CAAA,KAEE,CAAA,CAAA,MAAA,CAAA,CAAA,6BACA,CAAA,0EAEA,CAAA,+CACA,CAAA,gIAGA,CAAA,2BACA,CAAA,8CAEA,CAAA,2BACA,CAAA,6BACA,CAAA,8BACA,CAAA,wEAIA,CAAA,0CACA,CAAA,6JAIA,CAAA,iEACA,CAAA,kJAEA,CAAA,0BAEI,CAAA,CAAA,IAAA,CAAA,6FAGJ,CAAA,gCACA,CAAA,uFAIA,CAAA,qGACA,CAAA,2NAEA,CAAA,6GAGA,CAAA,6DACA,CAAA,mEACA,CAAA,+DACA,CAAA,iEAGA,CAAA,+OAEA,CAAA,oHACA,CAAA,6KAIA,CAAA,wBACA,CAAA,sPACA,CAAA,yPACA,CAAA,mPACA,CAAA,4PAEI,CAAA,CAAA,IAAA,CAAA,sBAEJ,CAAA,OAAA,CAAA,CAAA,iEAGA,CAAA,CAAA,MAAA,CAAA,CAAA,mEAEM,CAAA,CAAA,MAAA,CAAA,6DAKV,CAAA,CAAA,CAAO,CACT,EAEaC,CAAAA,KACX,CAAA,CAAA,CAAA,CAAM,CAAA,CAAAD,EAAA,CAAA,CAAA,IAAA,CAAA,wBACI,CACR,SACK,CAAA,OAEH,CAAA,CAAG,EAAA,CACH,CAAA,CAAG,EAAA,CACH,CAAA,CAAG,EAAA,CACH,EAAG,EACL,CACF,EACA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,gBAEY,CAAA,CAAG,CAAA,cACA,SAAA,CAAA,eAGH,EAAG,CAAA,KACX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,SAAA,CAAA,eAGf,CAAA,CAAA,CAAA,eAIA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,QACZ,CAEaE,WACJ,CACLF,EAAA,CAAA,CAAA,KACE,CAAA,CAAA,IAAA,CAAA,CAAA,oDAGA,CAAA,iYAEA,CAAA,mHACA,CAAA,gJAEA,CAAA,kFACA,CAAA,uIACA,CAAA,0GACA,CAAA,6LAIA,CAAA,iEACA,CAAA,mGAIA,CAAA,kEAEA,CAAA,uBAEA,CAAA,kDAGJ,CAAA,CAAU,CACR,QAAA,CAAU,CACR,QACE,CAAA,CAAA,KACE,CAAA,CAAA,IAAA,CAAA,CAAA,+EACA,CAAA,iFACA,CAAA,8EACA,CAAA,oFAGI,CACN,CAAA,CAAA,MACE,CAAA,CAAA,IAAA,CAAA,CAAA,kFACA,CAAA,mKAEA,CAAA,oFAIF,CAAA,CAAA,CAAM,GACJ,CAAA,CAAA,IAAA,CAAA,CAAA,mFACA,CAAA,wKAEA,CAAA,wFAKR,CAAA,CAAA,CAAA,CAAA,CAAA,eACD,CAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const DrawerStyles = tv({\n slots: {\n layout: [\n //properties\n '[--drawer-main-row-start:1]', //top overlay\n 'data-[push~=top]:[--drawer-main-row-start:2]',\n '[--drawer-main-row-end:4]', //bottom overlay\n 'data-[push~=bottom]:[--drawer-main-row-end:3]',\n '[--drawer-main-col-start:1]', //left overlay\n // biome-ignore lint/style/noUnusedTemplateLiteral: This is necessary to properly evaulate \\/\n `data-[push~=left]:[--drawer-main-col-start:2] has-[.group\\\\/sidenav]:[--drawer-main-col-start:2]`,\n '[--drawer-main-col-end:4]', //right overlay\n 'data-[push~=right]:[--drawer-main-col-end:3]',\n\n '[--drawer-menu-size:40px]',\n '[--drawer-size-small:100px]',\n '[--drawer-size-medium:200px]',\n '[--drawer-size-large:400px]',\n\n //Grid template definitions\n '[--route-layout-grid-cols:auto_1fr_auto]',\n '[--route-layout-grid-rows:auto_1fr_auto]',\n '[--drawer-main-cols:var(--drawer-main-col-start)/var(--drawer-main-col-end)]',\n '[--drawer-main-rows:var(--drawer-main-row-start)/var(--drawer-main-row-end)]',\n\n //container\n 'group/layout relative top-[var(--classification-banner-height)]',\n 'grid grid-cols-[var(--route-layout-grid-cols)] grid-rows-[var(--route-layout-grid-rows)]',\n 'transition-[grid-template-columns,grid-template-rows]',\n 'h-full max-h-full w-full',\n ],\n main: 'relative col-[var(--drawer-main-cols)] row-[var(--drawer-main-rows)]',\n drawer: [\n 'group/drawer',\n 'bg-surface-default text-body-m',\n 'relative flex h-full min-h-0 flex-col',\n 'pointer-events-none [&>*]:pointer-events-auto',\n\n //Base positioning\n 'placement-top:col-start-2 placement-top:col-end-3 placement-top:row-start-1 placement-top:row-end-2',\n 'placement-bottom:col-start-2 placement-bottom:col-end-3 placement-bottom:row-start-3 placement-bottom:row-end-4',\n 'placement-left:col-start-1 placement-left:col-end-2 placement-left:row-start-2 placement-left:row-end-3',\n 'placement-right:col-start-3 placement-right:col-end-4 placement-right:row-start-2 placement-right:row-end-3',\n\n //Extend positioning\n 'group-data-[extend~=top]/layout:placement-top:col-span-full',\n 'group-data-[extend~=bottom]/layout:placement-bottom:col-span-full',\n 'group-data-[extend~=left]/layout:placement-left:row-span-full',\n 'group-data-[extend~=right]/layout:placement-right:row-span-full',\n\n //Extend fitment\n 'group-data-[extend=top]/layout:placement-left:row-end-4 group-data-[extend=top]/layout:placement-right:row-end-4',\n 'group-data-[extend=bottom]/layout:placement-left:row-start-1 group-data-[extend=bottom]/layout:placement-right:row-start-1',\n 'group-data-[extend=left]/layout:placement-bottom:col-end-4 group-data-[extend=left]/layout:placement-top:col-end-4',\n 'group-data-[extend=right]/layout:placement-bottom:col-start-1 group-data-[extend=right]/layout:placement-top:col-start-1',\n ],\n panel: [\n 'hidden h-full min-h-0 flex-col gap-s p-l',\n 'group-open/drawer:flex',\n 'group-placement-left/drawer:group-size-large/drawer:w-[var(--drawer-size-large)] group-placement-left/drawer:group-size-medium/drawer:w-[var(--drawer-size-medium)] group-placement-left/drawer:group-size-small/drawer:w-[var(--drawer-size-small)]',\n 'group-placement-right/drawer:group-size-large/drawer:w-[var(--drawer-size-large)] group-placement-right/drawer:group-size-medium/drawer:w-[var(--drawer-size-medium)] group-placement-right/drawer:group-size-small/drawer:w-[var(--drawer-size-small)]',\n 'group-placement-top/drawer:group-size-large/drawer:h-[var(--drawer-size-large)] group-placement-top/drawer:group-size-medium/drawer:h-[var(--drawer-size-medium)] group-placement-top/drawer:group-size-small/drawer:h-[var(--drawer-size-small)]',\n 'group-placement-bottom/drawer:group-size-large/drawer:h-[var(--drawer-size-large)] group-placement-bottom/drawer:group-size-medium/drawer:h-[var(--drawer-size-medium)] group-placement-bottom/drawer:group-size-small/drawer:h-[var(--drawer-size-small)]',\n ],\n view: 'flex h-full flex-col',\n content: [\n 'fg-primary-bold flex max-h-full flex-1 flex-col overflow-y-auto',\n ],\n header: [\n 'mb-s flex flex-row items-center justify-between gap-s pt-px pr-px',\n ],\n footer: 'fg-primary-bold mt-s flex flex-row items-center justify-end',\n },\n});\n\nexport const DrawerTitleStylesDefaults = {\n level: 2,\n} as const;\n\nexport const DrawerTitleStyles = tv({\n base: 'fg-primary-bold w-full',\n variants: {\n level: {\n 1: '',\n 2: '',\n 3: '',\n 4: '',\n 5: '',\n 6: '',\n },\n },\n compoundVariants: [\n {\n level: [1, 2, 3],\n className: 'text-header-l',\n },\n {\n level: [4, 5, 6],\n className: 'text-header-m',\n },\n ],\n defaultVariants: DrawerTitleStylesDefaults,\n});\n\nexport const DrawerMenuStylesDefaults = {\n position: 'center',\n} as const;\n\nexport const DrawerMenuStyles = tv({\n slots: {\n menu: [\n 'absolute flex rounded-large bg-surface-default p-s',\n\n //horizontal\n 'group-placement-top/drawer:transform-[translateX(-50%)] group-placement-top/drawer:left-[50%] group-placement-top/drawer:h-[var(--drawer-menu-size)] group-placement-top/drawer:flex-row',\n 'group-placement-bottom/drawer:transform-[translateX(-50%)] group-placement-bottom/drawer:left-[50%] group-placement-bottom/drawer:h-[var(--drawer-menu-size)] group-placement-bottom/drawer:flex-row',\n 'group-placement-bottom/drawer:-translate-y-[var(--drawer-menu-size)] group-placement-bottom/drawer:rounded-b-none',\n 'group-placement-top/drawer:bottom-0 group-placement-top/drawer:translate-y-[var(--drawer-menu-size)] group-placement-top/drawer:rounded-t-none',\n //vertical\n 'group-placement-left/drawer:left-full group-placement-left/drawer:rounded-l-none',\n 'group-placement-left/drawer:w-[var(--drawer-menu-size)] group-placement-left/drawer:flex-col group-placement-left/drawer:items-center',\n 'group-placement-right/drawer:-left-[var(--drawer-menu-size)] group-placement-right/drawer:rounded-r-none',\n 'group-placement-right/drawer:w-[var(--drawer-menu-size)] group-placement-right/drawer:flex-col group-placement-right/drawer:items-center',\n ],\n item: [\n 'flex flex-col items-center justify-center',\n 'enabled:color-info:fg-primary-muted cursor-pointer outline-none',\n 'rounded-medium',\n //hover\n 'enabled:color-info:hover:fg-primary-bold enabled:hover:color-info:bg-transparent',\n //selected\n 'selected:fg-accent-primary-bold selected:bg-accent-primary-muted',\n //focused\n 'focus:fg-primary-bold',\n //disabled\n 'disabled:fg-disabled disabled:cursor-not-allowed',\n ],\n },\n variants: {\n position: {\n start: {\n menu: [\n 'group-placement-left/drawer:top-0 group-placement-left/drawer:translate-y-1/4',\n 'group-placement-right/drawer:top-0 group-placement-right/drawer:translate-y-1/4',\n 'group-placement-top/drawer:left-0 group-placement-top/drawer:translate-x-3/4',\n 'group-placement-bottom/drawer:left-0 group-placement-bottom/drawer:translate-x-3/4',\n ],\n },\n center: {\n menu: [\n 'group-placement-left/drawer:-translate-y-1/2 group-placement-left/drawer:top-1/2',\n 'group-placement-right/drawer:-translate-y-1/2 group-placement-right/drawer:top-1/2',\n 'group-placement-top/drawer:left-1/2 group-placement-top/drawer:translate-x-1',\n 'group-placement-bottom/drawer:left-1/2 group-placement-bottom/drawer:translate-x-1',\n ],\n },\n end: {\n menu: [\n 'group-placement-left/drawer:-translate-y-1/4 group-placement-left/drawer:bottom-0',\n 'group-placement-right/drawer:-translate-y-1/4 group-placement-right/drawer:bottom-0',\n 'group-placement-top/drawer:-translate-x-3/4 group-placement-top/drawer:left-full',\n 'group-placement-bottom/drawer:-translate-x-3/4 group-placement-bottom/drawer:left-full',\n ],\n },\n },\n },\n defaultVariants: DrawerMenuStylesDefaults,\n});\n"]}
@@ -124,7 +124,7 @@ type DrawerMenuProps = ComponentPropsWithRef<'nav'> & {
124
124
  * Drawer.Menu.Item implements Drawer.Trigger with the default behavior of
125
125
  * the trigger's `open` event type, which resets the stack before pushing the new view
126
126
  */
127
- type DrawerMenuItemProps = Omit<ToggleButtonProps, 'id'> & {
127
+ type DrawerMenuItemProps = Omit<ToggleButtonProps, 'id' | 'isSelected' | 'className'> & {
128
128
  /**
129
129
  * The unique identifier of the view that this menu item controls.
130
130
  *
@@ -135,18 +135,23 @@ type DrawerMenuItemProps = Omit<ToggleButtonProps, 'id'> & {
135
135
  * If the menu item is intended to control multiple views, use the `views` prop for additional associations; do not include the `for` id in the `views` array.
136
136
  */
137
137
  for: UniqueId;
138
- /**
139
- * An optional array of additional view identifiers. If provided, the menu item will display as active when any of these views are active.
140
- *
141
- * You do not need to include the `id` already passed in the `for` prop.
142
- */
143
- views?: UniqueId[];
144
138
  /**
145
139
  * If set to `true`, the menu item will toggle the visibility of the associated view each time it is activated.
146
140
  *
147
141
  * By default, the menu item only opens the view. Use this prop to enable toggling between open and closed states.
148
142
  */
149
143
  toggle?: boolean;
144
+ /**
145
+ * When set this will be the text for the tooltip
146
+ */
147
+ textValue: string;
148
+ /**
149
+ * Class names to be applied to the item and tooltip
150
+ */
151
+ classNames?: {
152
+ item?: string;
153
+ tooltip?: string;
154
+ };
150
155
  };
151
156
  type DrawerTitleProps = Omit<HeadingProps, 'level'> & AriaAttributesWithRef<HTMLHeadingElement> & VariantProps<typeof DrawerTitleStyles>;
152
157
  type DrawerOpenEvent = Payload<typeof DrawerEventTypes.open, {
@@ -190,6 +195,7 @@ type DrawerTriggerProps = {
190
195
  type DrawerContextValue = {
191
196
  register: (view: UniqueId) => void;
192
197
  unregister: (view: UniqueId) => void;
198
+ placement: XAxisUnion | YAxisUnion;
193
199
  };
194
200
 
195
201
  export type { DrawerContextValue, DrawerEvent, DrawerLayoutProps, DrawerMenuItemProps, DrawerMenuProps, DrawerOpenEvent, DrawerProps, DrawerTitleProps, DrawerToggleEvent, DrawerTriggerProps };
@@ -1,2 +1,2 @@
1
- import {tv}from'./../../lib/utils.js';const t={autoSize:false,type:"text",isClearable:false},a=tv({slots:{container:"group/input grid items-center [--length:attr(data-length_type(<number>),0)] [grid-template-columns:minmax(0,1fr)_min-content]",sizer:["font-display [grid-column:1/-1] [grid-row:1]","group-size-medium/input:text-body-s group-size-small/input:text-body-xs"],input:["fg-primary-bold block w-full rounded-medium py-xs pr-[calc(var(--room)+var(--spacing-s))] pl-s font-display outline outline-interactive","enabled:group-focus-visible-within/input:outline-accent-primary-bold","enabled:group-hover/input:outline-interactive-hover","enabled:group-invalid/input:outline-serious-bold","disabled:cursor-not-allowed disabled:text-disabled disabled:outline-interactive-disabled disabled:placeholder:text-disabled"],clear:["[grid-column:2/-1] [grid-row:1]","group-size-medium/input:mr-xs group-size-small/input:mr-xxs","enabled:fg-info-bold enabled:bg-transparent","enabled:focus-visible:fg-info-hover enabled:focus-visible:bg-transparent","enabled:hover:fg-info-hover enabled:hover:bg-transparent","group-empty/input:invisible","group-not-empty/input:group-not-focus-within/input:invisible"]},variants:{autoSize:{false:"",true:""},type:{button:"",checkbox:"",color:"",date:"","datetime-local":"",email:"",file:"",hidden:"",image:"",month:"",number:{input:"placeholder:fg-primary-muted [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"},password:"",radio:"",range:"",reset:"",search:"",submit:"",tel:"",text:"",time:"",url:"",week:""},isClearable:{false:{container:"[--room:0px]"},true:{container:"[--room:20px]"}}},compoundVariants:[{type:["color","date","datetime-local","email","number","password","search","tel","text","time","url"],className:{sizer:["group-size-medium/input:min-w-[160px] group-size-medium/input:max-w-[400px]","group-size-small/input:min-w-[80px] group-size-small/input:max-w-[200px]"]}},{autoSize:true,type:["number","text"],className:{sizer:["group-size-medium/input:w-[calc((var(--length)*1ch)+((var(--length)-1)*var(--typography-body-s-spacing))+(var(--spacing-s)*2)+var(--room))]","group-size-small/input:w-[calc((var(--length)*1ch)+((var(--length)-1)*var(--typography-body-xs-spacing))+(var(--spacing-s)*2)+var(--room))] group-size-small/input:min-w-[calc(2ch+((var(--length)-1)*var(--typography-body-xs-spacing))+(var(--spacing-s)*2)+var(--room))]"]}}],defaultVariants:t});export{a as InputStyles,t as InputStylesDefaults};//# sourceMappingURL=styles.js.map
1
+ import {tv}from'./../../lib/utils.js';const t={autoSize:false,type:"text",isClearable:false},a=tv({slots:{container:"group/input grid items-center [--length:attr(data-length_type(<number>),0)] [grid-template-columns:minmax(0,1fr)_min-content]",sizer:["font-display [grid-column:1/-1] [grid-row:1]","group-size-medium/input:text-body-s group-size-small/input:text-body-xs"],input:["fg-primary-bold block w-full rounded-medium py-xs pr-[calc(var(--room)+var(--spacing-s))] pl-s font-display outline outline-interactive","enabled:group-focus-visible-within/input:outline-accent-primary-bold","enabled:group-hover/input:outline-interactive-hover","enabled:group-pressed/input:outline-interactive-pressed","enabled:group-invalid/input:outline-serious-bold","disabled:cursor-not-allowed disabled:text-disabled disabled:outline-interactive-disabled disabled:placeholder:text-disabled"],clear:["[grid-column:2/-1] [grid-row:1]","group-size-medium/input:mr-xs group-size-small/input:mr-xxs","enabled:fg-info-bold enabled:bg-transparent","enabled:focus-visible:fg-info-hover enabled:focus-visible:bg-transparent","enabled:hover:fg-info-hover enabled:hover:bg-transparent","group-empty/input:invisible","group-not-empty/input:group-not-focus-within/input:invisible"]},variants:{autoSize:{false:"",true:""},type:{button:"",checkbox:"",color:"",date:"","datetime-local":"",email:"",file:"",hidden:"",image:"",month:"",number:{input:"placeholder:fg-primary-muted [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none"},password:"",radio:"",range:"",reset:"",search:"",submit:"",tel:"",text:"",time:"",url:"",week:""},isClearable:{false:{container:"[--room:0px]"},true:{container:"[--room:20px]"}}},compoundVariants:[{type:["color","date","datetime-local","email","number","password","search","tel","text","time","url"],className:{sizer:["group-size-medium/input:min-w-[160px] group-size-medium/input:max-w-[400px]","group-size-small/input:min-w-[80px] group-size-small/input:max-w-[200px]"]}},{autoSize:true,type:["number","text"],className:{sizer:["group-size-medium/input:w-[calc((var(--length)*1ch)+((var(--length)-1)*var(--typography-body-s-spacing))+(var(--spacing-s)*2)+var(--room))]","group-size-small/input:w-[calc((var(--length)*1ch)+((var(--length)-1)*var(--typography-body-xs-spacing))+(var(--spacing-s)*2)+var(--room))] group-size-small/input:min-w-[calc(2ch+((var(--length)-1)*var(--typography-body-xs-spacing))+(var(--spacing-s)*2)+var(--room))]"]}}],defaultVariants:t});export{a as InputStyles,t as InputStylesDefaults};//# sourceMappingURL=styles.js.map
2
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/input/styles.ts"],"names":["e"],"mappings":"sCAeE,MAAA,CAAA,CAAU,CAAA,QACJ,CAAA,KAAA,CAAA,uBAKN,CAAA,KAAA,CAAA,CAAA,CAAO,CACLA,EAAA,CAAA,CAAA,KAAA,CAAA,CACE,SAAA,CAAA,+HAEA,CAAA,KAAA,CAAA,CAAA,8CACA,CAAA,yEAGA,CAAA,CAAA,KAAA,CAAA,CAAA,yIACA,CAAA,sEACA,CAAA,wGAEA,CAAA,6HAGA,CAAA,CAAA,KAAA,CAAA,CAAA,+FAEA,CAAA,6CACA,CAAA,0EACA,CAAA,0DACA,CAAA,4FAIJ,CAAA,CAAU,CACR,SAAU,CACR,QAAO,CACP,CAAA,MACF,EACA,CAAA,IAAM,CACJ,EAAA,CAAA,CAAA,IAAQ,CAAA,CACR,SAAU,CAAA,QACH,CAAA,EACP,CAAA,QACA,CAAA,IAAA,CAAA,EAAA,CAAA,gBACO,CAAA,EACP,MAAM,CAAA,EACN,CAAA,IAAA,CAAQ,EAAA,CACR,MAAO,GACP,CAAA,KAAO,CAAA,EACP,OAAQ,EACN,CAAA,iKAGF,CAAU,CAAA,QACH,GACP,CAAA,KAAO,CAAA,EACP,CAAA,KAAO,CAAA,EACP,OAAQ,EAAA,CACR,MAAA,CAAQ,EAAA,CACR,OACA,EAAA,CAAA,GAAM,CAAA,OACA,CAAA,EACN,CAAA,KACA,EAAA,CAAA,GAAM,CACR,EACA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,WAEI,CAAA,CAAA,KAAA,CAAA,CAAW,SAAA,CAAA,cAGX,CAAA,CAAA,IAAA,CAAA,CAAW,SAAA,CAAA,mCAOX,CAAA,CAAA,CAAA,IACA,CAAA,CAAA,OACA,CAAA,MAAA,CAAA,gBAEA,CAAA,OACA,CAAA,QAAA,CAAA,UAEA,CAAA,cAEA,CAAA,MACA,CAAA,MAEF,CAAA,KAAA,CAAA,CAAW,+FAGP,CAAA,0EAKJ,CAAA,CAAA,CAAA,CAAU,CAAA,QACH,CAAA,IAAA,CAAA,IAAA,CAAU,CAAA,iBACN,SAEP,CAAA,CAAA,KAAA,CAAA,CAAA,2ZAMR,CAAA,CAAA,CAAA,CAAA,CAAA,eACD,CAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const InputStylesDefaults = {\n autoSize: false,\n type: 'text',\n isClearable: false,\n} as const;\n\nexport const InputStyles = tv({\n slots: {\n container:\n 'group/input grid items-center [--length:attr(data-length_type(<number>),0)] [grid-template-columns:minmax(0,1fr)_min-content]',\n sizer: [\n 'font-display [grid-column:1/-1] [grid-row:1]',\n 'group-size-medium/input:text-body-s group-size-small/input:text-body-xs',\n ],\n input: [\n 'fg-primary-bold block w-full rounded-medium py-xs pr-[calc(var(--room)+var(--spacing-s))] pl-s font-display outline outline-interactive',\n 'enabled:group-focus-visible-within/input:outline-accent-primary-bold',\n 'enabled:group-hover/input:outline-interactive-hover',\n 'enabled:group-invalid/input:outline-serious-bold',\n 'disabled:cursor-not-allowed disabled:text-disabled disabled:outline-interactive-disabled disabled:placeholder:text-disabled',\n ],\n clear: [\n '[grid-column:2/-1] [grid-row:1]',\n 'group-size-medium/input:mr-xs group-size-small/input:mr-xxs',\n 'enabled:fg-info-bold enabled:bg-transparent',\n 'enabled:focus-visible:fg-info-hover enabled:focus-visible:bg-transparent',\n 'enabled:hover:fg-info-hover enabled:hover:bg-transparent',\n 'group-empty/input:invisible',\n 'group-not-empty/input:group-not-focus-within/input:invisible',\n ],\n },\n variants: {\n autoSize: {\n false: '',\n true: '',\n },\n type: {\n button: '',\n checkbox: '',\n color: '',\n date: '',\n 'datetime-local': '',\n email: '',\n file: '',\n hidden: '',\n image: '',\n month: '',\n number: {\n input:\n 'placeholder:fg-primary-muted [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none',\n },\n password: '',\n radio: '',\n range: '',\n reset: '',\n search: '',\n submit: '',\n tel: '',\n text: '',\n time: '',\n url: '',\n week: '',\n },\n isClearable: {\n false: {\n container: '[--room:0px]',\n },\n true: {\n container: '[--room:20px]',\n },\n },\n },\n compoundVariants: [\n {\n type: [\n 'color',\n 'date',\n 'datetime-local',\n 'email',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'text',\n 'time',\n 'url',\n ],\n className: {\n sizer: [\n 'group-size-medium/input:min-w-[160px] group-size-medium/input:max-w-[400px]',\n 'group-size-small/input:min-w-[80px] group-size-small/input:max-w-[200px]',\n ],\n },\n },\n {\n autoSize: true,\n type: ['number', 'text'],\n className: {\n sizer: [\n 'group-size-medium/input:w-[calc((var(--length)*1ch)+((var(--length)-1)*var(--typography-body-s-spacing))+(var(--spacing-s)*2)+var(--room))]',\n 'group-size-small/input:w-[calc((var(--length)*1ch)+((var(--length)-1)*var(--typography-body-xs-spacing))+(var(--spacing-s)*2)+var(--room))] group-size-small/input:min-w-[calc(2ch+((var(--length)-1)*var(--typography-body-xs-spacing))+(var(--spacing-s)*2)+var(--room))]',\n ],\n },\n },\n ],\n defaultVariants: InputStylesDefaults,\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/input/styles.ts"],"names":["e"],"mappings":"sCAeE,MAAA,CAAA,CAAU,CAAA,QACJ,CAAA,KAAA,CAAA,uBAKN,SAAO,CACLA,EAAA,CAAA,CAAA,KAAA,CAAA,CACE,SAAA,CAAA,+HAEA,CAAA,KAAA,CAAA,CAAA,8CACA,CAAA,yEAGA,CAAA,CAAA,KAAA,CAAA,CAAA,yIACA,CAAA,sEACA,CAAA,qDACA,CAAA,4GAEA,CAAA,6HAGA,CAAA,CAAA,KAAA,CAAA,CAAA,+FAEA,CAAA,6CACA,CAAA,0EACA,CAAA,0DACA,CAAA,4FAIJ,CAAA,CAAU,CACR,SAAU,CACR,QAAO,CACP,CAAA,MACF,EACA,CAAA,IAAM,CACJ,EAAA,CAAA,CAAA,IAAQ,CAAA,CACR,SAAU,CAAA,QACH,CAAA,EACP,CAAA,QACA,CAAA,IAAA,CAAA,EAAA,CAAA,gBACO,CAAA,EACP,MAAM,CAAA,EACN,CAAA,IAAA,CAAQ,EAAA,CACR,MAAO,GACP,CAAA,KAAO,CAAA,EACP,OAAQ,EACN,CAAA,iKAGF,CAAU,CAAA,QACH,GACP,CAAA,KAAO,CAAA,EACP,CAAA,KAAO,CAAA,EACP,OAAQ,EAAA,CACR,MAAA,CAAQ,EAAA,CACR,OACA,EAAA,CAAA,GAAM,CAAA,OACA,CAAA,EACN,CAAA,KACA,EAAA,CAAA,GAAM,CACR,EACA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA,WAEI,CAAA,CAAA,KAAA,CAAA,CAAW,SAAA,CAAA,cAGX,CAAA,CAAA,IAAA,CAAA,CAAW,SAAA,CAAA,mCAOX,CAAA,CAAA,CAAA,IACA,CAAA,CAAA,OACA,CAAA,MAAA,CAAA,gBAEA,CAAA,OACA,CAAA,QAAA,CAAA,UAEA,CAAA,cAEA,CAAA,MACA,CAAA,MAEF,CAAA,KAAA,CAAA,CAAW,+FAGP,CAAA,0EAKJ,CAAA,CAAA,CAAA,CAAU,CAAA,QACH,CAAA,IAAA,CAAA,IAAA,CAAU,CAAA,iBACN,SAEP,CAAA,CAAA,KAAA,CAAA,CAAA,2ZAMR,CAAA,CAAA,CAAA,CAAA,CAAA,eACD,CAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const InputStylesDefaults = {\n autoSize: false,\n type: 'text',\n isClearable: false,\n} as const;\n\nexport const InputStyles = tv({\n slots: {\n container:\n 'group/input grid items-center [--length:attr(data-length_type(<number>),0)] [grid-template-columns:minmax(0,1fr)_min-content]',\n sizer: [\n 'font-display [grid-column:1/-1] [grid-row:1]',\n 'group-size-medium/input:text-body-s group-size-small/input:text-body-xs',\n ],\n input: [\n 'fg-primary-bold block w-full rounded-medium py-xs pr-[calc(var(--room)+var(--spacing-s))] pl-s font-display outline outline-interactive',\n 'enabled:group-focus-visible-within/input:outline-accent-primary-bold',\n 'enabled:group-hover/input:outline-interactive-hover',\n 'enabled:group-pressed/input:outline-interactive-pressed',\n 'enabled:group-invalid/input:outline-serious-bold',\n 'disabled:cursor-not-allowed disabled:text-disabled disabled:outline-interactive-disabled disabled:placeholder:text-disabled',\n ],\n clear: [\n '[grid-column:2/-1] [grid-row:1]',\n 'group-size-medium/input:mr-xs group-size-small/input:mr-xxs',\n 'enabled:fg-info-bold enabled:bg-transparent',\n 'enabled:focus-visible:fg-info-hover enabled:focus-visible:bg-transparent',\n 'enabled:hover:fg-info-hover enabled:hover:bg-transparent',\n 'group-empty/input:invisible',\n 'group-not-empty/input:group-not-focus-within/input:invisible',\n ],\n },\n variants: {\n autoSize: {\n false: '',\n true: '',\n },\n type: {\n button: '',\n checkbox: '',\n color: '',\n date: '',\n 'datetime-local': '',\n email: '',\n file: '',\n hidden: '',\n image: '',\n month: '',\n number: {\n input:\n 'placeholder:fg-primary-muted [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none',\n },\n password: '',\n radio: '',\n range: '',\n reset: '',\n search: '',\n submit: '',\n tel: '',\n text: '',\n time: '',\n url: '',\n week: '',\n },\n isClearable: {\n false: {\n container: '[--room:0px]',\n },\n true: {\n container: '[--room:20px]',\n },\n },\n },\n compoundVariants: [\n {\n type: [\n 'color',\n 'date',\n 'datetime-local',\n 'email',\n 'number',\n 'password',\n 'search',\n 'tel',\n 'text',\n 'time',\n 'url',\n ],\n className: {\n sizer: [\n 'group-size-medium/input:min-w-[160px] group-size-medium/input:max-w-[400px]',\n 'group-size-small/input:min-w-[80px] group-size-small/input:max-w-[200px]',\n ],\n },\n },\n {\n autoSize: true,\n type: ['number', 'text'],\n className: {\n sizer: [\n 'group-size-medium/input:w-[calc((var(--length)*1ch)+((var(--length)-1)*var(--typography-body-s-spacing))+(var(--spacing-s)*2)+var(--room))]',\n 'group-size-small/input:w-[calc((var(--length)*1ch)+((var(--length)-1)*var(--typography-body-xs-spacing))+(var(--spacing-s)*2)+var(--room))] group-size-small/input:min-w-[calc(2ch+((var(--length)-1)*var(--typography-body-xs-spacing))+(var(--spacing-s)*2)+var(--room))]',\n ],\n },\n },\n ],\n defaultVariants: InputStylesDefaults,\n});\n"]}
@@ -4,6 +4,15 @@ import 'react';
4
4
  import 'tailwind-variants';
5
5
  import './styles.js';
6
6
 
7
+ /**
8
+ * Lines - Decorative rule/connector lines used by components like Tree
9
+ *
10
+ * Renders horizontal or vertical rule lines used for visual grouping and
11
+ * tree branch connectors. Visibility and variant control the appearance.
12
+ *
13
+ * @example
14
+ * <Lines variant="branch" />
15
+ */
7
16
  declare function Lines({ className, size, variant, isVisible, }: LinesProps): react_jsx_runtime.JSX.Element;
8
17
 
9
18
  export { Lines };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/lines/index.tsx"],"names":["t","r"],"mappings":"0EAeO,SACL,CAAA,CAAA,CAAA,SACA,CAAA,CAAA,CAAA,IAAO,CAAA,CAAA,CAAA,QACP,CAAA,OACA,CAAA,CAAA,CAAA,SAAY,CACd,CAAA,CAAe,IACb,CAAA,CAAA,CAAA,OACGA,GAAA,CAAA,KACC,CAAA,CAAA,SAAyB,CAAAC,WAAA,CAAA,CAAA,SAAW,CAAA,CAAA,CAAA,OAAS,CAAA,CAAA,CAAA,SAAW,CACxD,CAAA,CAAA,CAAA,CAAA,WAGN,CAAA,CAAA,CAAA,CAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { LinesStyles } from './styles';\nimport type { LinesProps } from './types';\n\nexport function Lines({\n className,\n size = 'medium',\n variant,\n isVisible = true,\n}: LinesProps) {\n return (\n <div\n className={LinesStyles({ className, variant, isVisible })}\n data-size={size}\n />\n );\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/lines/index.tsx"],"names":["t","r"],"mappings":"0EAwBO,SACL,CAAA,CAAA,CAAA,SACA,CAAA,CAAA,CAAA,IAAO,CAAA,CAAA,CAAA,QACP,CAAA,OACA,CAAA,CAAA,CAAA,SAAY,CACd,CAAA,CAAe,IACb,CAAA,CAAA,CAAA,OACGA,GAAA,CAAA,KACC,CAAA,CAAA,SAAyB,CAAAC,WAAA,CAAA,CAAA,SAAW,CAAA,CAAA,CAAA,OAAS,CAAA,CAAA,CAAA,SAAW,CACxD,CAAA,CAAA,CAAA,CAAA,WAGN,CAAA,CAAA,CAAA,CAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { LinesStyles } from './styles';\nimport type { LinesProps } from './types';\n\n/**\n * Lines - Decorative rule/connector lines used by components like Tree\n *\n * Renders horizontal or vertical rule lines used for visual grouping and\n * tree branch connectors. Visibility and variant control the appearance.\n *\n * @example\n * <Lines variant=\"branch\" />\n */\nexport function Lines({\n className,\n size = 'medium',\n variant,\n isVisible = true,\n}: LinesProps) {\n return (\n <div\n className={LinesStyles({ className, variant, isVisible })}\n data-size={size}\n />\n );\n}\n"]}
@@ -8,6 +8,15 @@ declare function LinkProvider({ children, ...props }: ProviderProps<LinkProps>):
8
8
  declare namespace LinkProvider {
9
9
  var displayName: string;
10
10
  }
11
+ /**
12
+ * Link - Accessible anchor/link component with optional visited state
13
+ *
14
+ * A flexible link component that handles visited state, external anchors, and
15
+ * icon integration while providing ARIA-compatible behavior.
16
+ *
17
+ * @example
18
+ * <Link href="/dashboard">Go to Dashboard</Link>
19
+ */
11
20
  declare function Link({ ref, ...props }: LinkProps): react_jsx_runtime.JSX.Element;
12
21
  declare namespace Link {
13
22
  var displayName: string;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/link/index.tsx"],"names":["props","t","LinkProvider","ref","useContextProps","e","rest","className","LinkStyles","L","isVisited","Link"],"mappings":"qLAwBA,SAAwB,CAAA,CAAA,CAAA,QAAU,CAAA,CAAGA,CAAM,GACzC,WAAoBC,wBAAS,CAAA,CAAA,KAAe,CAAA,CAAA,CAAA,QAC9C,CACAC,CAAAA,CAAa,CAAA,CAAA,CAAA,CAAA,WAAc,CAAA,eAEpB,CAAA,YAAgBC,GAAK,CAAA,CAAGH,CAAM,GACnC,CAACA,EAAOG,CAAG,CAAA,CAAIC,EAAgBJ,CAAAA,CAAOG,eAAAA,CAAAA,CAAO,QAE7C,CAAAE,WAAA,CAAA,CAAA,KACE,CAAA,eACA,CAAA,KAAA,CAAA,SACA,CAAA,CAAA,CAAA,SAAY,CAAA,CACZ,CAAA,KAAGC,CACL,GAAIN,CAEJ,CAAA,CAAA,CAAA,CAAA,OACGC,GACE,MAAGK,CAAAA,GACJ,CAAA,CAAKH,GACL,CAAA,CAAA,CAAA,UAA0CI,kBAAAA,CAAAA,CACxCC,CAAAA,CAAW,EAAEC,UAAA,CAAA,CAAA,SACf,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,cAAgCC,CAAAA,CAAAA,EAAc,CAAA,EAAA,IAIpDC,CAAK,CAAA,CAAA,CAAA,CAAA,WAAc,CAAA,MACd,CAAA,CAAA,CAAA,QAAWT,CAAAA,CAAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport {\n Link as AriaLink,\n composeRenderProps,\n LinkContext,\n useContextProps,\n} from 'react-aria-components';\nimport { LinkStyles } from './styles';\nimport type { ProviderProps } from '@/lib/types';\nimport type { LinkProps } from './types';\n\nfunction LinkProvider({ children, ...props }: ProviderProps<LinkProps>) {\n return <LinkContext.Provider value={props}>{children}</LinkContext.Provider>;\n}\nLinkProvider.displayName = 'Link.Provider';\n\nexport function Link({ ref, ...props }: LinkProps) {\n [props, ref] = useContextProps(props, ref ?? null, LinkContext);\n\n const {\n allowsVisited = false,\n className,\n isVisited = false,\n ...rest\n } = props;\n\n return (\n <AriaLink\n {...rest}\n ref={ref}\n className={composeRenderProps(className, (className) =>\n LinkStyles({ className }),\n )}\n data-visited={(allowsVisited && isVisited) || null}\n />\n );\n}\nLink.displayName = 'Link';\nLink.Provider = LinkProvider;\n"]}
1
+ {"version":3,"sources":["../../../src/components/link/index.tsx"],"names":["props","t","LinkProvider","ref","useContextProps","e","rest","className","LinkStyles","L","isVisited","Link"],"mappings":"qLAwBA,SAAwB,CAAA,CAAA,CAAA,QAAU,CAAA,CAAGA,CAAM,GACzC,WAAoBC,wBAAS,CAAA,CAAA,KAAe,CAAA,CAAA,CAAA,QAC9C,CACAC,CAAAA,CAAa,CAAA,CAAA,CAAA,CAAA,WAAc,CAAA,eAWpB,CAAA,YAAgBC,GAAK,CAAA,CAAGH,CAAM,GACnC,CAACA,EAAOG,CAAG,CAAA,CAAIC,EAAgBJ,CAAAA,CAAOG,eAAAA,CAAAA,CAAO,QAE7C,CAAAE,WAAA,CAAA,CAAA,KACE,CAAA,eACA,CAAA,KAAA,CAAA,SACA,CAAA,CAAA,CAAA,SAAY,CAAA,CACZ,CAAA,KAAGC,CACL,GAAIN,CAEJ,CAAA,CAAA,CAAA,CAAA,OACGC,GACE,MAAGK,CAAAA,GACJ,CAAA,CAAKH,GACL,CAAA,CAAA,CAAA,UAA0CI,kBAAAA,CAAAA,CACxCC,CAAAA,CAAW,EAAEC,UAAA,CAAA,CAAA,SACf,CAAA,CACA,CAAA,CAAA,CAAA,CAAA,cAAgCC,CAAAA,CAAAA,EAAc,CAAA,EAAA,IAIpDC,CAAK,CAAA,CAAA,CAAA,CAAA,WAAc,CAAA,MACd,CAAA,CAAA,CAAA,QAAWT,CAAAA,CAAAA","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n'use client';\n\nimport 'client-only';\nimport {\n Link as AriaLink,\n composeRenderProps,\n LinkContext,\n useContextProps,\n} from 'react-aria-components';\nimport { LinkStyles } from './styles';\nimport type { ProviderProps } from '@/lib/types';\nimport type { LinkProps } from './types';\n\nfunction LinkProvider({ children, ...props }: ProviderProps<LinkProps>) {\n return <LinkContext.Provider value={props}>{children}</LinkContext.Provider>;\n}\nLinkProvider.displayName = 'Link.Provider';\n\n/**\n * Link - Accessible anchor/link component with optional visited state\n *\n * A flexible link component that handles visited state, external anchors, and\n * icon integration while providing ARIA-compatible behavior.\n *\n * @example\n * <Link href=\"/dashboard\">Go to Dashboard</Link>\n */\nexport function Link({ ref, ...props }: LinkProps) {\n [props, ref] = useContextProps(props, ref ?? null, LinkContext);\n\n const {\n allowsVisited = false,\n className,\n isVisited = false,\n ...rest\n } = props;\n\n return (\n <AriaLink\n {...rest}\n ref={ref}\n className={composeRenderProps(className, (className) =>\n LinkStyles({ className }),\n )}\n data-visited={(allowsVisited && isVisited) || null}\n />\n );\n}\nLink.displayName = 'Link';\nLink.Provider = LinkProvider;\n"]}
@@ -1,2 +1,2 @@
1
- import {tv}from'./../../lib/utils.js';const a=tv({base:["inline-flex cursor-pointer items-center gap-[0.5ch] px-[0.5ch] align-bottom","enabled:fg-accent-primary-bold","enabled:hover:fg-accent-primary-hover enabled:hover:bg-interactive-bold-hover","enabled:focus-visible:fg-accent-primary-hover enabled:focus-visible:bg-interactive-bold-hover","enabled:pressed:fg-accent-primary-pressed enabled:pressed:bg-interactive-bold-pressed","disabled:fg-disabled disabled:cursor-not-allowed"]});export{a as LinkStyles};//# sourceMappingURL=styles.js.map
1
+ import {tv}from'./../../lib/utils.js';const a=tv({base:["inline-flex cursor-pointer items-center gap-[0.5ch] px-[0.5ch] align-bottom","enabled:fg-accent-primary-bold","enabled:hover:fg-accent-primary-hover enabled:hover:bg-accent-primary-muted","enabled:focus-visible:fg-accent-primary-hover enabled:focus-visible:bg-accent-primary-muted","enabled:pressed:fg-accent-primary-pressed enabled:pressed:bg-accent-primary-muted","disabled:fg-disabled disabled:cursor-not-allowed"]});export{a as LinkStyles};//# sourceMappingURL=styles.js.map
2
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/link/styles.tsx"],"names":["e"],"mappings":"sCAeE,MAAM,CACJ,CAAAA,EAAA,CAAA,CAAA,IAAA,CAAA,CAAA,8GAEA,CAAA,+EACA,CAAA,+FACA,CAAA,uFACA,CAAA,kDAEH,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const LinkStyles = tv({\n base: [\n 'inline-flex cursor-pointer items-center gap-[0.5ch] px-[0.5ch] align-bottom',\n 'enabled:fg-accent-primary-bold',\n 'enabled:hover:fg-accent-primary-hover enabled:hover:bg-interactive-bold-hover',\n 'enabled:focus-visible:fg-accent-primary-hover enabled:focus-visible:bg-interactive-bold-hover',\n 'enabled:pressed:fg-accent-primary-pressed enabled:pressed:bg-interactive-bold-pressed',\n 'disabled:fg-disabled disabled:cursor-not-allowed',\n ],\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/link/styles.tsx"],"names":["e"],"mappings":"sCAeE,MAAM,CACJ,CAAAA,EAAA,CAAA,CAAA,IAAA,CAAA,CAAA,8GAEA,CAAA,6EACA,CAAA,6FACA,CAAA,mFACA,CAAA,kDAEH,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const LinkStyles = tv({\n base: [\n 'inline-flex cursor-pointer items-center gap-[0.5ch] px-[0.5ch] align-bottom',\n 'enabled:fg-accent-primary-bold',\n 'enabled:hover:fg-accent-primary-hover enabled:hover:bg-accent-primary-muted',\n 'enabled:focus-visible:fg-accent-primary-hover enabled:focus-visible:bg-accent-primary-muted',\n 'enabled:pressed:fg-accent-primary-pressed enabled:pressed:bg-accent-primary-muted',\n 'disabled:fg-disabled disabled:cursor-not-allowed',\n ],\n});\n"]}
@@ -1,2 +1,2 @@
1
- import {tv}from'./../../lib/utils.js';const o={variant:"cozy"},i=tv({slots:{menu:"group/menu overflow-y-auto overflow-x-clip rounded-medium bg-surface-overlay shadow-elevation-overlay outline outline-static",item:["group/menu-item flex items-center gap-x-s px-s text-body-s outline outline-transparent",'grid grid-cols-[auto_auto_1fr_auto] [grid-template-areas:"icon_label_space_action"_"icon_description_space_action"]',"enabled:focus-visible:outline-interactive-hover","color-info:enabled:fg-primary-bold","color-info:enabled:focus-visible:fg-a11y-on-accent color-info:enabled:focus-visible:bg-accent-primary-bold","color-info:enabled:hover:fg-a11y-on-accent color-info:enabled:hover:bg-accent-primary-bold","color-info:enabled:open:fg-a11y-on-accent color-info:enabled:open:bg-accent-primary-bold","color-info:enabled:selected:fg-a11y-on-accent color-info:enabled:selected:bg-accent-primary-bold","color-serious:enabled:fg-serious-bold","color-serious:enabled:focus-visible:fg-a11y-on-utility color-serious:enabled:focus-visible:bg-serious-bold","color-serious:enabled:hover:fg-a11y-on-utility color-serious:enabled:hover:bg-serious-bold","color-serious:enabled:open:fg-a11y-on-utility color-serious:enabled:open:bg-serious-bold","color-serious:enabled:selected:fg-a11y-on-utility color-serious:enabled:selected:bg-serious-bold","disabled:fg-disabled disabled:bg-transparent"],icon:"[grid-area:icon]",label:"truncate [grid-area:label] group-not-has-[>_[slot=description]]/menu-item:row-span-full",description:["[grid-area:description]","fg-primary-muted truncate text-body-xs","group-hover/menu-item:fg-a11y-on-accent group-focus-visible/menu-item:fg-a11y-on-accent","group-disabled/menu-item:fg-disabled"],more:"[grid-area:action]",section:"",header:"fg-primary-muted px-s py-xs text-header-xs",separator:"mx-3 my-1 outline outline-static",hotkey:["[grid-area:action]","group-hover/menu-item:fg-a11y-on-accent group-focus-visible/menu-item:fg-a11y-on-accent","group-disabled/menu-item:fg-disabled"],popover:"outline-none"},variants:{variant:{cozy:{item:"pt-s pb-s"},compact:{item:"pt-xs pb-xs"}}},defaultVariants:o});export{i as MenuStyles,o as MenuStylesDefaults};//# sourceMappingURL=styles.js.map
1
+ import {tv}from'./../../lib/utils.js';const o={variant:"cozy"},i=tv({slots:{menu:"group/menu overflow-y-auto overflow-x-clip rounded-medium bg-surface-overlay shadow-elevation-overlay outline outline-static",item:["group/menu-item flex cursor-pointer items-center gap-x-s px-s text-body-s outline outline-transparent",'grid grid-cols-[auto_auto_1fr_auto] [grid-template-areas:"icon_label_space_action"_"icon_description_space_action"]',"enabled:focus-visible:outline-interactive-hover","color-info:enabled:fg-primary-bold","color-info:enabled:focus-visible:fg-a11y-on-accent color-info:enabled:focus-visible:bg-accent-primary-bold","color-info:enabled:hover:fg-a11y-on-accent color-info:enabled:hover:bg-accent-primary-bold","color-info:enabled:open:fg-a11y-on-accent color-info:enabled:open:bg-accent-primary-bold","color-info:enabled:selected:fg-a11y-on-accent color-info:enabled:selected:bg-accent-primary-bold","color-serious:enabled:fg-serious-bold","color-serious:enabled:focus-visible:fg-a11y-on-utility color-serious:enabled:focus-visible:bg-serious-bold","color-serious:enabled:hover:fg-a11y-on-utility color-serious:enabled:hover:bg-serious-bold","color-serious:enabled:open:fg-a11y-on-utility color-serious:enabled:open:bg-serious-bold","color-serious:enabled:selected:fg-a11y-on-utility color-serious:enabled:selected:bg-serious-bold","disabled:fg-disabled disabled:cursor-not-allowed disabled:bg-transparent"],icon:"[grid-area:icon]",label:"truncate [grid-area:label] group-not-has-[>_[slot=description]]/menu-item:row-span-full",description:["[grid-area:description]","fg-primary-muted truncate text-body-xs","group-hover/menu-item:fg-a11y-on-accent group-focus-visible/menu-item:fg-a11y-on-accent","group-disabled/menu-item:fg-disabled"],more:"[grid-area:action]",section:"",header:"fg-primary-muted px-s py-xs text-header-xs",separator:"mx-3 my-1 outline outline-static",hotkey:["[grid-area:action]","group-hover/menu-item:fg-a11y-on-accent group-focus-visible/menu-item:fg-a11y-on-accent","group-disabled/menu-item:fg-disabled"],popover:"outline-none"},variants:{variant:{cozy:{item:"pt-s pb-s"},compact:{item:"pt-xs pb-xs"}}},defaultVariants:o});export{i as MenuStyles,o as MenuStylesDefaults};//# sourceMappingURL=styles.js.map
2
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/menu/styles.ts"],"names":["MenuStyles","tv","e"],"mappings":"sCAeE,MAAA,CAAS,CAAA,CAAA,OAGEA,CAAaC,MACxB,CAAA,CAAA,CAAO,CACLC,EAAA,CAAA,CAAA,0IAEE,CAAA,IAAA,CAAA,CAAA,wFACA,CAAA,uKAIA,CAAA,oCACA,CAAA,4GACA,CAAA,4FACA,CAAA,6LAIA,CAAA,uCACA,CAAA,4GACA,CAAA,4FACA,CAAA,6LAGA,CAAA,8CAEI,CAAA,CAAA,IAAA,CAAA,kHAGN,CAAA,WACE,CAAA,CAAA,yBACA,CAAA,kIAEA,CAAA,sCAEI,CAAA,CAAA,IAAA,CAAA,oBACG,CAAA,OACT,CAAQ,EAAA,CAAA,MAAA,CAAA,4CACR,CAAW,yEAGT,CAAA,yFACA,CAAA,sCAEO,CAAA,CAAA,OAAA,CAAA,cAEX,CAAU,CACR,QAAS,CACP,CAAA,aACQ,CAAA,CAAA,IAAA,CAAA,WAEC,CACP,QAAM,CAAA,CAAA,IAAA,CAAA,aAIZ,CAAA,CAAA,CAAA,CAAA,eACD,CAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const MenuStylesDefaults = {\n variant: 'cozy',\n} as const;\n\nexport const MenuStyles = tv({\n slots: {\n menu: 'group/menu overflow-y-auto overflow-x-clip rounded-medium bg-surface-overlay shadow-elevation-overlay outline outline-static',\n item: [\n 'group/menu-item flex items-center gap-x-s px-s text-body-s outline outline-transparent',\n 'grid grid-cols-[auto_auto_1fr_auto] [grid-template-areas:\"icon_label_space_action\"_\"icon_description_space_action\"]',\n 'enabled:focus-visible:outline-interactive-hover',\n\n // Info\n 'color-info:enabled:fg-primary-bold',\n 'color-info:enabled:focus-visible:fg-a11y-on-accent color-info:enabled:focus-visible:bg-accent-primary-bold',\n 'color-info:enabled:hover:fg-a11y-on-accent color-info:enabled:hover:bg-accent-primary-bold',\n 'color-info:enabled:open:fg-a11y-on-accent color-info:enabled:open:bg-accent-primary-bold',\n 'color-info:enabled:selected:fg-a11y-on-accent color-info:enabled:selected:bg-accent-primary-bold',\n\n // Serious\n 'color-serious:enabled:fg-serious-bold',\n 'color-serious:enabled:focus-visible:fg-a11y-on-utility color-serious:enabled:focus-visible:bg-serious-bold',\n 'color-serious:enabled:hover:fg-a11y-on-utility color-serious:enabled:hover:bg-serious-bold',\n 'color-serious:enabled:open:fg-a11y-on-utility color-serious:enabled:open:bg-serious-bold',\n 'color-serious:enabled:selected:fg-a11y-on-utility color-serious:enabled:selected:bg-serious-bold',\n\n 'disabled:fg-disabled disabled:bg-transparent',\n ],\n icon: '[grid-area:icon]',\n label:\n 'truncate [grid-area:label] group-not-has-[>_[slot=description]]/menu-item:row-span-full',\n description: [\n '[grid-area:description]',\n 'fg-primary-muted truncate text-body-xs',\n 'group-hover/menu-item:fg-a11y-on-accent group-focus-visible/menu-item:fg-a11y-on-accent',\n 'group-disabled/menu-item:fg-disabled',\n ],\n more: '[grid-area:action]',\n section: '',\n header: 'fg-primary-muted px-s py-xs text-header-xs',\n separator: 'mx-3 my-1 outline outline-static',\n hotkey: [\n '[grid-area:action]',\n 'group-hover/menu-item:fg-a11y-on-accent group-focus-visible/menu-item:fg-a11y-on-accent',\n 'group-disabled/menu-item:fg-disabled',\n ],\n popover: 'outline-none',\n },\n variants: {\n variant: {\n cozy: {\n item: 'pt-s pb-s',\n },\n compact: {\n item: 'pt-xs pb-xs',\n },\n },\n },\n defaultVariants: MenuStylesDefaults,\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/menu/styles.ts"],"names":["MenuStyles","tv","e"],"mappings":"sCAeE,MAAA,CAAS,CAAA,CAAA,OAGEA,CAAaC,MACxB,CAAA,CAAA,CAAO,CACLC,EAAA,CAAA,CAAA,0IAEE,CAAA,IAAA,CAAA,CAAA,uGACA,CAAA,uKAIA,CAAA,oCACA,CAAA,4GACA,CAAA,4FACA,CAAA,6LAIA,CAAA,uCACA,CAAA,4GACA,CAAA,4FACA,CAAA,6LAGA,CAAA,0EAEI,CAAA,CAAA,IAAA,CAAA,kHAGN,CAAA,WACE,CAAA,CAAA,yBACA,CAAA,kIAEA,CAAA,sCAEI,CAAA,CAAA,IAAA,CAAA,oBACG,CAAA,OACT,CAAQ,EAAA,CAAA,MAAA,CAAA,4CACR,CAAW,yEAGT,CAAA,yFACA,CAAA,sCAEO,CAAA,CAAA,OAAA,CAAA,cAEX,CAAU,CACR,QAAS,CACP,CAAA,aACQ,CAAA,CAAA,IAAA,CAAA,WAEC,CACP,QAAM,CAAA,CAAA,IAAA,CAAA,aAIZ,CAAA,CAAA,CAAA,CAAA,eACD,CAAA,CAAA,CAAA","file":"styles.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { tv } from '@/lib/utils';\n\nexport const MenuStylesDefaults = {\n variant: 'cozy',\n} as const;\n\nexport const MenuStyles = tv({\n slots: {\n menu: 'group/menu overflow-y-auto overflow-x-clip rounded-medium bg-surface-overlay shadow-elevation-overlay outline outline-static',\n item: [\n 'group/menu-item flex cursor-pointer items-center gap-x-s px-s text-body-s outline outline-transparent',\n 'grid grid-cols-[auto_auto_1fr_auto] [grid-template-areas:\"icon_label_space_action\"_\"icon_description_space_action\"]',\n 'enabled:focus-visible:outline-interactive-hover',\n\n // Info\n 'color-info:enabled:fg-primary-bold',\n 'color-info:enabled:focus-visible:fg-a11y-on-accent color-info:enabled:focus-visible:bg-accent-primary-bold',\n 'color-info:enabled:hover:fg-a11y-on-accent color-info:enabled:hover:bg-accent-primary-bold',\n 'color-info:enabled:open:fg-a11y-on-accent color-info:enabled:open:bg-accent-primary-bold',\n 'color-info:enabled:selected:fg-a11y-on-accent color-info:enabled:selected:bg-accent-primary-bold',\n\n // Serious\n 'color-serious:enabled:fg-serious-bold',\n 'color-serious:enabled:focus-visible:fg-a11y-on-utility color-serious:enabled:focus-visible:bg-serious-bold',\n 'color-serious:enabled:hover:fg-a11y-on-utility color-serious:enabled:hover:bg-serious-bold',\n 'color-serious:enabled:open:fg-a11y-on-utility color-serious:enabled:open:bg-serious-bold',\n 'color-serious:enabled:selected:fg-a11y-on-utility color-serious:enabled:selected:bg-serious-bold',\n\n 'disabled:fg-disabled disabled:cursor-not-allowed disabled:bg-transparent',\n ],\n icon: '[grid-area:icon]',\n label:\n 'truncate [grid-area:label] group-not-has-[>_[slot=description]]/menu-item:row-span-full',\n description: [\n '[grid-area:description]',\n 'fg-primary-muted truncate text-body-xs',\n 'group-hover/menu-item:fg-a11y-on-accent group-focus-visible/menu-item:fg-a11y-on-accent',\n 'group-disabled/menu-item:fg-disabled',\n ],\n more: '[grid-area:action]',\n section: '',\n header: 'fg-primary-muted px-s py-xs text-header-xs',\n separator: 'mx-3 my-1 outline outline-static',\n hotkey: [\n '[grid-area:action]',\n 'group-hover/menu-item:fg-a11y-on-accent group-focus-visible/menu-item:fg-a11y-on-accent',\n 'group-disabled/menu-item:fg-disabled',\n ],\n popover: 'outline-none',\n },\n variants: {\n variant: {\n cozy: {\n item: 'pt-s pb-s',\n },\n compact: {\n item: 'pt-xs pb-xs',\n },\n },\n },\n defaultVariants: MenuStylesDefaults,\n});\n"]}
@@ -0,0 +1,10 @@
1
+ declare const NoticeEventNamespace = "Notice";
2
+ declare const NoticeEventTypes: {
3
+ readonly queue: "Notice:queue";
4
+ readonly dequeue: "Notice:dequeue";
5
+ readonly actionPrimary: "Notice:action:primary";
6
+ readonly actionSecondary: "Notice:action:secondary";
7
+ readonly close: "Notice:close";
8
+ };
9
+
10
+ export { NoticeEventNamespace, NoticeEventTypes };
@@ -0,0 +1,2 @@
1
+ const e="Notice",o={queue:`${e}:queue`,dequeue:`${e}:dequeue`,actionPrimary:`${e}:action:primary`,actionSecondary:`${e}:action:secondary`,close:`${e}:close`};export{e as NoticeEventNamespace,o as NoticeEventTypes};//# sourceMappingURL=events.js.map
2
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/notice/events.ts"],"names":["NoticeEventNamespace","NoticeEventTypes"],"mappings":"AAYO,MAAMA,CAAAA,CAAuB,SAEvBC,CAAAA,CAAmB,CAC9B,MAAO,CAAA,EAAGD,CAAoB,CAAA,MAAA,CAAA,CAC9B,OAAA,CAAS,CAAA,EAAGA,CAAoB,WAChC,aAAA,CAAe,CAAA,EAAGA,CAAoB,CAAA,eAAA,CAAA,CACtC,eAAA,CAAiB,CAAA,EAAGA,CAAoB,CAAA,iBAAA,CAAA,CACxC,KAAA,CAAO,CAAA,EAAGA,CAAoB,CAAA,MAAA,CAChC","file":"events.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport const NoticeEventNamespace = 'Notice';\n\nexport const NoticeEventTypes = {\n queue: `${NoticeEventNamespace}:queue`,\n dequeue: `${NoticeEventNamespace}:dequeue`,\n actionPrimary: `${NoticeEventNamespace}:action:primary`,\n actionSecondary: `${NoticeEventNamespace}:action:secondary`,\n close: `${NoticeEventNamespace}:close`,\n} as const;\n"]}