@accelint/design-toolkit 2.5.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/dist/components/accordion/index.d.ts +42 -0
  2. package/dist/components/accordion/index.js.map +1 -1
  3. package/dist/components/accordion/styles.js +1 -1
  4. package/dist/components/accordion/styles.js.map +1 -1
  5. package/dist/components/avatar/index.d.ts +29 -0
  6. package/dist/components/avatar/index.js.map +1 -1
  7. package/dist/components/badge/index.d.ts +24 -0
  8. package/dist/components/badge/index.js.map +1 -1
  9. package/dist/components/button/index.d.ts +104 -0
  10. package/dist/components/button/index.js +1 -1
  11. package/dist/components/button/index.js.map +1 -1
  12. package/dist/components/button/styles.d.ts +28 -106
  13. package/dist/components/button/styles.js +1 -1
  14. package/dist/components/button/styles.js.map +1 -1
  15. package/dist/components/button/types.d.ts +6 -4
  16. package/dist/components/checkbox/index.d.ts +33 -0
  17. package/dist/components/checkbox/index.js.map +1 -1
  18. package/dist/components/checkbox/styles.d.ts +3 -3
  19. package/dist/components/checkbox/styles.js +1 -1
  20. package/dist/components/checkbox/styles.js.map +1 -1
  21. package/dist/components/chip/index.d.ts +34 -0
  22. package/dist/components/chip/index.js.map +1 -1
  23. package/dist/components/chip/styles.js +1 -1
  24. package/dist/components/chip/styles.js.map +1 -1
  25. package/dist/components/classification-badge/index.d.ts +15 -0
  26. package/dist/components/classification-badge/index.js.map +1 -1
  27. package/dist/components/classification-banner/index.d.ts +11 -0
  28. package/dist/components/classification-banner/index.js.map +1 -1
  29. package/dist/components/color-picker/styles.js +1 -1
  30. package/dist/components/color-picker/styles.js.map +1 -1
  31. package/dist/components/combobox-field/index.d.ts +19 -0
  32. package/dist/components/combobox-field/index.js +2 -0
  33. package/dist/components/combobox-field/index.js.map +1 -0
  34. package/dist/components/combobox-field/styles.d.ts +72 -0
  35. package/dist/components/combobox-field/styles.js +2 -0
  36. package/dist/components/combobox-field/styles.js.map +1 -0
  37. package/dist/components/combobox-field/types.d.ts +29 -0
  38. package/dist/components/date-field/index.d.ts +44 -0
  39. package/dist/components/date-field/index.js.map +1 -1
  40. package/dist/components/date-field/styles.d.ts +3 -3
  41. package/dist/components/date-field/styles.js +1 -1
  42. package/dist/components/date-field/styles.js.map +1 -1
  43. package/dist/components/dialog/index.d.ts +26 -4
  44. package/dist/components/dialog/index.js +1 -1
  45. package/dist/components/dialog/index.js.map +1 -1
  46. package/dist/components/drawer/events.d.ts +8 -0
  47. package/dist/components/drawer/events.js +2 -0
  48. package/dist/components/drawer/events.js.map +1 -0
  49. package/dist/components/drawer/index.d.ts +89 -43
  50. package/dist/components/drawer/index.js +1 -1
  51. package/dist/components/drawer/index.js.map +1 -1
  52. package/dist/components/drawer/styles.d.ts +50 -16
  53. package/dist/components/drawer/styles.js +1 -1
  54. package/dist/components/drawer/styles.js.map +1 -1
  55. package/dist/components/drawer/types.d.ts +154 -238
  56. package/dist/components/drawer/types.js +1 -1
  57. package/dist/components/drawer/types.js.map +1 -1
  58. package/dist/components/hotkey/index.d.ts +56 -0
  59. package/dist/components/hotkey/index.js +2 -0
  60. package/dist/components/hotkey/index.js.map +1 -0
  61. package/dist/components/hotkey/styles.d.ts +53 -0
  62. package/dist/components/hotkey/styles.js +2 -0
  63. package/dist/components/hotkey/styles.js.map +1 -0
  64. package/dist/components/hotkey/types.d.ts +8 -0
  65. package/dist/components/hotkey/types.js +2 -0
  66. package/dist/components/hotkey/types.js.map +1 -0
  67. package/dist/components/icon/index.d.ts +29 -0
  68. package/dist/components/icon/index.js.map +1 -1
  69. package/dist/components/input/index.d.ts +19 -0
  70. package/dist/components/input/index.js +1 -1
  71. package/dist/components/input/index.js.map +1 -1
  72. package/dist/components/input/styles.d.ts +2 -24
  73. package/dist/components/input/styles.js +1 -1
  74. package/dist/components/input/styles.js.map +1 -1
  75. package/dist/components/input/types.d.ts +1 -0
  76. package/dist/components/label/index.d.ts +19 -0
  77. package/dist/components/label/index.js.map +1 -1
  78. package/dist/components/menu/index.d.ts +69 -7
  79. package/dist/components/menu/index.js +1 -1
  80. package/dist/components/menu/index.js.map +1 -1
  81. package/dist/components/menu/styles.d.ts +19 -43
  82. package/dist/components/menu/styles.js +1 -1
  83. package/dist/components/menu/styles.js.map +1 -1
  84. package/dist/components/menu/types.d.ts +17 -15
  85. package/dist/components/options/index.d.ts +41 -0
  86. package/dist/components/options/index.js.map +1 -1
  87. package/dist/components/options/styles.d.ts +3 -3
  88. package/dist/components/options/styles.js +1 -1
  89. package/dist/components/options/styles.js.map +1 -1
  90. package/dist/components/popover/index.d.ts +36 -2
  91. package/dist/components/popover/index.js +1 -1
  92. package/dist/components/popover/index.js.map +1 -1
  93. package/dist/components/query-builder/index.d.ts +24 -0
  94. package/dist/components/query-builder/index.js.map +1 -1
  95. package/dist/components/query-builder/value-selector.js +1 -1
  96. package/dist/components/query-builder/value-selector.js.map +1 -1
  97. package/dist/components/radio/index.d.ts +31 -0
  98. package/dist/components/radio/index.js.map +1 -1
  99. package/dist/components/radio/styles.d.ts +3 -3
  100. package/dist/components/radio/styles.js +1 -1
  101. package/dist/components/radio/styles.js.map +1 -1
  102. package/dist/components/search-field/styles.js +1 -1
  103. package/dist/components/search-field/styles.js.map +1 -1
  104. package/dist/components/search-field/types.d.ts +1 -0
  105. package/dist/components/select-field/index.d.ts +67 -0
  106. package/dist/components/select-field/index.js +2 -0
  107. package/dist/components/select-field/index.js.map +1 -0
  108. package/dist/components/select-field/styles.d.ts +60 -0
  109. package/dist/components/select-field/styles.js +2 -0
  110. package/dist/components/select-field/styles.js.map +1 -0
  111. package/dist/components/select-field/types.d.ts +27 -0
  112. package/dist/components/select-field/types.js +2 -0
  113. package/dist/components/select-field/types.js.map +1 -0
  114. package/dist/components/slider/index.d.ts +36 -2
  115. package/dist/components/slider/index.js +1 -1
  116. package/dist/components/slider/index.js.map +1 -1
  117. package/dist/components/switch/index.d.ts +36 -0
  118. package/dist/components/switch/index.js +1 -1
  119. package/dist/components/switch/index.js.map +1 -1
  120. package/dist/components/switch/styles.d.ts +23 -21
  121. package/dist/components/switch/styles.js +1 -1
  122. package/dist/components/switch/styles.js.map +1 -1
  123. package/dist/components/switch/types.d.ts +1 -0
  124. package/dist/components/tabs/index.d.ts +46 -0
  125. package/dist/components/tabs/index.js.map +1 -1
  126. package/dist/components/text-area-field/index.d.ts +20 -0
  127. package/dist/components/text-area-field/index.js.map +1 -1
  128. package/dist/components/text-area-field/styles.d.ts +3 -3
  129. package/dist/components/text-area-field/styles.js +1 -1
  130. package/dist/components/text-area-field/styles.js.map +1 -1
  131. package/dist/components/text-field/index.d.ts +62 -0
  132. package/dist/components/text-field/index.js.map +1 -1
  133. package/dist/components/text-field/styles.d.ts +3 -3
  134. package/dist/components/text-field/types.d.ts +1 -0
  135. package/dist/components/tooltip/index.d.ts +42 -0
  136. package/dist/components/tooltip/index.js.map +1 -1
  137. package/dist/components/view-stack/events.d.ts +9 -0
  138. package/dist/components/view-stack/events.js +2 -0
  139. package/dist/components/view-stack/events.js.map +1 -0
  140. package/dist/components/view-stack/index.d.ts +31 -0
  141. package/dist/components/view-stack/index.js +2 -0
  142. package/dist/components/view-stack/index.js.map +1 -0
  143. package/dist/components/view-stack/types.d.ts +62 -0
  144. package/dist/components/view-stack/types.js +2 -0
  145. package/dist/components/view-stack/types.js.map +1 -0
  146. package/dist/index.css +20 -0
  147. package/dist/index.d.ts +24 -17
  148. package/dist/index.js +1 -1
  149. package/dist/lib/types.d.ts +6 -2
  150. package/dist/metafile-esm.json +1 -1
  151. package/dist/styles.css +1081 -676
  152. package/dist/variants/variants.css +6 -5
  153. package/package.json +11 -6
  154. package/dist/components/box/index.d.ts +0 -19
  155. package/dist/components/box/index.js +0 -2
  156. package/dist/components/box/index.js.map +0 -1
  157. package/dist/components/combobox/index.d.ts +0 -27
  158. package/dist/components/combobox/index.js +0 -2
  159. package/dist/components/combobox/index.js.map +0 -1
  160. package/dist/components/drawer/context.d.ts +0 -13
  161. package/dist/components/drawer/context.js +0 -2
  162. package/dist/components/drawer/context.js.map +0 -1
  163. package/dist/components/drawer/state.d.ts +0 -26
  164. package/dist/components/drawer/state.js +0 -2
  165. package/dist/components/drawer/state.js.map +0 -1
  166. package/dist/components/navigation-stack/index.d.ts +0 -20
  167. package/dist/components/navigation-stack/index.js +0 -2
  168. package/dist/components/navigation-stack/index.js.map +0 -1
  169. package/dist/components/navigation-stack/types.d.ts +0 -31
  170. /package/dist/components/{navigation-stack → combobox-field}/types.js +0 -0
  171. /package/dist/components/{navigation-stack → combobox-field}/types.js.map +0 -0
@@ -1,48 +1,94 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { DrawerProps, DrawerLayoutProps, DrawerContainerProps, DrawerMenuProps, DrawerMenuItemProps, DrawerTriggerProps, DrawerPanelProps, DrawerProviderProps } from './types.js';
2
+ import * as react from 'react';
3
+ import { ComponentPropsWithRef } from 'react';
4
+ import { UniqueId } from '@accelint/core';
5
+ import { ViewStackViewProps } from '../view-stack/types.js';
6
+ import { DrawerProps, DrawerLayoutProps, DrawerMenuProps, DrawerMenuItemProps, DrawerTitleProps, DrawerTriggerProps, DrawerContextValue } from './types.js';
7
+ import '@accelint/bus';
8
+ import 'react-aria-components';
9
+ import '../view-stack/events.js';
10
+ import '../../lib/types.js';
3
11
  import '@react-types/shared';
4
- import 'react';
12
+ import 'tailwind-variants';
13
+ import '../button/types.js';
14
+ import '../button/styles.js';
15
+ import 'tailwind-merge';
16
+ import './events.js';
17
+ import './styles.js';
5
18
 
6
- declare const Drawer: {
7
- ({ id, placement, isOpen, size, defaultSelectedMenuItemId, className, children, onOpenChange, onStateChange, ...rest }: DrawerProps): react_jsx_runtime.JSX.Element;
8
- Layout: {
9
- ({ children, className, extend, push, }: DrawerLayoutProps): react_jsx_runtime.JSX.Element;
10
- displayName: string;
11
- };
12
- Main: {
13
- ({ children, className }: DrawerContainerProps): react_jsx_runtime.JSX.Element;
14
- displayName: string;
15
- };
16
- Menu: {
17
- ({ children, className, position, ...props }: DrawerMenuProps): react_jsx_runtime.JSX.Element;
18
- displayName: string;
19
- Item: {
20
- ({ id, children, className, ...rest }: DrawerMenuItemProps): react_jsx_runtime.JSX.Element;
21
- displayName: string;
22
- };
23
- };
24
- Trigger: {
25
- ({ for: drawerId, children, behavior, }: DrawerTriggerProps): react_jsx_runtime.JSX.Element;
26
- displayName: string;
27
- };
28
- Panel: {
29
- ({ id, children, className, ...props }: DrawerPanelProps): react_jsx_runtime.JSX.Element | null;
30
- displayName: string;
31
- };
32
- Header: {
33
- ({ children, className }: DrawerContainerProps): react_jsx_runtime.JSX.Element;
34
- displayName: string;
35
- };
36
- Title: ({ children, className }: DrawerContainerProps) => react_jsx_runtime.JSX.Element;
37
- Footer: {
38
- ({ children, className }: DrawerContainerProps): react_jsx_runtime.JSX.Element;
39
- displayName: string;
40
- };
41
- Content: {
42
- ({ children, className }: DrawerContainerProps): react_jsx_runtime.JSX.Element;
43
- displayName: string;
44
- };
45
- Provider: ({ children, onStateChange }: DrawerProviderProps) => react_jsx_runtime.JSX.Element;
19
+ declare const DrawerContext: react.Context<DrawerContextValue>;
20
+ declare const DrawerEventHandlers: {
21
+ readonly close: (stack: UniqueId) => void;
22
+ readonly open: (view: UniqueId) => void;
23
+ readonly toggle: (view: UniqueId) => void;
24
+ readonly back: (stack: UniqueId) => void;
25
+ readonly clear: (stack: UniqueId) => void;
26
+ readonly push: (view: UniqueId) => void;
27
+ readonly reset: (stack: UniqueId) => void;
46
28
  };
29
+ declare function DrawerTrigger({ children, for: events }: DrawerTriggerProps): react_jsx_runtime.JSX.Element;
30
+ declare namespace DrawerTrigger {
31
+ var displayName: string;
32
+ }
33
+ declare function DrawerLayoutMain({ className, ...rest }: ComponentPropsWithRef<'main'>): react_jsx_runtime.JSX.Element;
34
+ declare namespace DrawerLayoutMain {
35
+ var displayName: string;
36
+ }
37
+ declare function DrawerLayout({ className, extend, push, ...rest }: DrawerLayoutProps): react_jsx_runtime.JSX.Element;
38
+ declare namespace DrawerLayout {
39
+ var displayName: string;
40
+ var Main: typeof DrawerLayoutMain;
41
+ }
42
+ declare function DrawerMenuItem({ for: id, children, className, toggle, views, ...rest }: DrawerMenuItemProps): react_jsx_runtime.JSX.Element | null;
43
+ declare namespace DrawerMenuItem {
44
+ var displayName: string;
45
+ }
46
+ declare function DrawerMenu({ className, position, children, ...rest }: DrawerMenuProps): react_jsx_runtime.JSX.Element;
47
+ declare namespace DrawerMenu {
48
+ var displayName: string;
49
+ var Item: typeof DrawerMenuItem;
50
+ }
51
+ declare function DrawerPanel({ className, ...rest }: ComponentPropsWithRef<'div'>): react_jsx_runtime.JSX.Element;
52
+ declare namespace DrawerPanel {
53
+ var displayName: string;
54
+ }
55
+ declare function DrawerView({ id, children, className, ...rest }: ViewStackViewProps & ComponentPropsWithRef<'div'>): react_jsx_runtime.JSX.Element;
56
+ declare namespace DrawerView {
57
+ var displayName: string;
58
+ }
59
+ /**
60
+ * To change size of title, use the `level` prop: `1`-`3` (large), `4`-`6` (medium).
61
+ *
62
+ * `level` also changes the semantic heading tag number `h1`-`h6`
63
+ */
64
+ declare function DrawerHeaderTitle({ className, level, ...rest }: DrawerTitleProps): react_jsx_runtime.JSX.Element;
65
+ declare namespace DrawerHeaderTitle {
66
+ var displayName: string;
67
+ }
68
+ declare function DrawerHeader({ className, ...rest }: ComponentPropsWithRef<'header'>): react_jsx_runtime.JSX.Element;
69
+ declare namespace DrawerHeader {
70
+ var displayName: string;
71
+ var Title: typeof DrawerHeaderTitle;
72
+ }
73
+ declare function DrawerContent({ className, ...rest }: ComponentPropsWithRef<'div'>): react_jsx_runtime.JSX.Element;
74
+ declare namespace DrawerContent {
75
+ var displayName: string;
76
+ }
77
+ declare function DrawerFooter({ className, ...rest }: ComponentPropsWithRef<'footer'>): react_jsx_runtime.JSX.Element;
78
+ declare namespace DrawerFooter {
79
+ var displayName: string;
80
+ }
81
+ declare function Drawer({ id, children, className, defaultView, placement, size, onChange, ...rest }: DrawerProps): react_jsx_runtime.JSX.Element;
82
+ declare namespace Drawer {
83
+ var displayName: string;
84
+ var Layout: typeof DrawerLayout;
85
+ var Menu: typeof DrawerMenu;
86
+ var Panel: typeof DrawerPanel;
87
+ var View: typeof DrawerView;
88
+ var Header: typeof DrawerHeader;
89
+ var Content: typeof DrawerContent;
90
+ var Footer: typeof DrawerFooter;
91
+ var Trigger: typeof DrawerTrigger;
92
+ }
47
93
 
48
- export { Drawer };
94
+ export { Drawer, DrawerContext, DrawerEventHandlers };
@@ -1,2 +1,2 @@
1
- import {jsx}from'react/jsx-runtime';import'client-only';import {PressResponder,Pressable}from'@react-aria/interactions';import {useEffect,useCallback}from'react';import {Button}from'../button/index.js';import {Icon}from'../icon/index.js';import {useDrawersContext,DrawerContext,useDrawerContext,useDrawersState,DrawersContext}from'./context.js';import {createDefaultDrawerState}from'./state.js';import {DrawerStyles,DrawerMenuStyles}from'./styles.js';const{layout:q,main:z,drawer:A,content:G,panel:J,header:K,footer:Q,title:U}=DrawerStyles(),{menu:V,item:W}=DrawerMenuStyles(),X=({children:e,onStateChange:r})=>{const a=useDrawersState({onStateChange:r});return jsx(DrawersContext.Provider,{value:a,children:e})},P=({children:e,className:r,extend:a="left right",push:s})=>jsx("div",{className:q({className:r}),"data-extend":a,"data-push":s,children:e});P.displayName="Drawer.Layout";const n=({id:e,placement:r="left",isOpen:a=false,size:s="medium",defaultSelectedMenuItemId:o,className:i,children:l,onOpenChange:d,onStateChange:D,...C})=>{const{getDrawerState:S,registerDrawer:I}=useDrawersContext(),p=S(e);return useEffect(()=>{const T=createDefaultDrawerState({id:e,selectedMenuItemId:o,isOpen:a});I(T,{onOpenChange:d,onStateChange:D});},[a,s,r]),jsx(DrawerContext.Provider,{value:{state:p},children:jsx("div",{...C,className:A({className:i}),"data-placement":r,"data-drawer-id":e,"data-size":s,"data-open":p.isOpen||null,children:l})})},c=({children:e,className:r,position:a="middle",...s})=>jsx("nav",{className:V({position:a,className:r}),...s,children:e});c.displayName="Drawer.Menu";const v=({id:e,children:r,className:a,...s})=>{const{openDrawer:o,isSelectedMenuItem:i}=useDrawersContext(),{state:l}=useDrawerContext(),d=i(l.selectedMenuItemId,e),D=()=>{o(l.id,e);};return jsx(Button,{...s,variant:"icon",className:W({className:a}),"aria-selected":d,"aria-controls":`panel-${e}`,id:`tab-${e}`,"data-selected":d?true:void 0,onPress:D,children:jsx(Icon,{children:r})})};v.displayName="Drawer.Menu.Item";const y=({id:e,children:r,className:a,...s})=>{const{state:o}=useDrawerContext();return o?.selectedMenuItemId===e?jsx("div",{...s,className:J({className:a}),id:`panel-${e}`,role:"tabpanel","aria-labelledby":`tab-${e}`,children:r}):null};y.displayName="Drawer.Panel";const f=({for:e,children:r,behavior:a="toggle"})=>{const{toggleDrawer:s,openDrawer:o,closeDrawer:i}=useDrawersContext(),l=useCallback(()=>{a==="open"?o(e):a==="close"?i(e):s(e);},[a,e,o,i,s]);return jsx(PressResponder,{onPress:l,children:jsx(Pressable,{children:r})})};f.displayName="Drawer.Trigger";const m=({children:e,className:r})=>jsx("div",{className:K({className:r}),children:e});m.displayName="Drawer.Header";const Y=({children:e,className:r})=>jsx("div",{className:U({className:r}),children:e});m.displayName="Drawer.Title";const N=({children:e,className:r})=>jsx("div",{className:Q({className:r}),children:e});N.displayName="Drawer.Footer";const g=({children:e,className:r})=>jsx("main",{className:z({className:r}),children:e});g.displayName="Drawer.Main";const M=({children:e,className:r})=>jsx("div",{className:G({className:r}),children:e});M.displayName="Drawer.Content",n.Layout=P,n.Main=g,c.Item=v,n.Menu=c,n.Trigger=f,n.Panel=y,n.Header=m,n.Title=Y,n.Footer=N,n.Content=M,n.Provider=X;export{n as Drawer};//# sourceMappingURL=index.js.map
1
+ import {jsx}from'react/jsx-runtime';import'client-only';import {containsExactChildren}from'./../../lib/react.js';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 {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
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/drawer/index.tsx"],"names":["panel","title","menu","DrawerMenuStyles","O","children","onStateChange","useDrawersState","DrawersContext","R","drawerState","B","DrawerLayout","className","extend","jsx","push","isOpen","getDrawerState","registerDrawer","initialState","createDefaultDrawerState","id","$","k","onOpenChange","DrawerContext","currentState","t","H","rest","placement","size","DrawerMenu","position","props","DrawerMenuItem","isSelectedMenuItem","w","handlePress","openDrawer","state","Button","h","item","isSelected","Icon","F","u","toggleDrawer","handleOnPress","behavior","L","drawerId","closeDrawer","PressResponder","x","DrawerTrigger","b","DrawerHeader","DrawerMain","DrawerContent","Drawer","DrawerPanel","DrawerTitle","DrawerFooter","DrawerProvider"],"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';\nimport 'client-only';\nimport { PressResponder, Pressable } from '@react-aria/interactions';\nimport { useCallback, useEffect } from 'react';\nimport { Button } from '../button';\nimport { Icon } from '../icon';\nimport {\n DrawerContext,\n DrawersContext,\n useDrawerContext,\n useDrawersContext,\n useDrawersState,\n} from './context';\nimport { createDefaultDrawerState } from './state';\nimport { DrawerMenuStyles, DrawerStyles } from './styles';\nimport type {\n DrawerContainerProps,\n DrawerLayoutProps,\n DrawerMenuItemProps,\n DrawerMenuProps,\n DrawerPanelProps,\n DrawerProps,\n DrawerProviderProps,\n DrawerTriggerProps,\n} from './types';\n\nconst { layout, main, drawer, content, panel, header, footer, title } =\n DrawerStyles();\n\nconst { menu, item } = DrawerMenuStyles();\n\nconst DrawerProvider = ({ children, onStateChange }: DrawerProviderProps) => {\n const drawerState = useDrawersState({\n onStateChange,\n });\n\n return (\n <DrawersContext.Provider value={drawerState}>\n {children}\n </DrawersContext.Provider>\n );\n};\n\nconst DrawerLayout = ({\n children,\n className,\n extend = 'left right',\n push,\n}: DrawerLayoutProps) => {\n return (\n <div\n className={layout({ className })}\n data-extend={extend}\n data-push={push}\n >\n {children}\n </div>\n );\n};\nDrawerLayout.displayName = 'Drawer.Layout';\n\nexport const Drawer = ({\n id,\n placement = 'left',\n isOpen = false,\n size = 'medium',\n defaultSelectedMenuItemId,\n className,\n children,\n onOpenChange,\n onStateChange,\n ...rest\n}: DrawerProps) => {\n const { getDrawerState, registerDrawer } = useDrawersContext();\n const currentState = getDrawerState(id);\n\n // biome-ignore lint/correctness/useExhaustiveDependencies: this should only run if these props change\n useEffect(() => {\n const initialState = createDefaultDrawerState({\n id,\n selectedMenuItemId: defaultSelectedMenuItemId,\n isOpen,\n });\n registerDrawer(initialState, {\n onOpenChange,\n onStateChange,\n });\n }, [isOpen, size, placement]);\n\n return (\n <DrawerContext.Provider value={{ state: currentState }}>\n <div\n {...rest}\n className={drawer({ className })}\n data-placement={placement}\n data-drawer-id={id}\n data-size={size}\n data-open={currentState.isOpen || null}\n >\n {children}\n </div>\n </DrawerContext.Provider>\n );\n};\n\nconst DrawerMenu = ({\n children,\n className,\n position = 'middle',\n ...props\n}: DrawerMenuProps) => {\n return (\n <nav\n className={menu({\n position,\n className,\n })}\n {...props}\n >\n {children}\n </nav>\n );\n};\nDrawerMenu.displayName = 'Drawer.Menu';\n\nconst DrawerMenuItem = ({\n id,\n children,\n className,\n ...rest\n}: DrawerMenuItemProps) => {\n const { openDrawer, isSelectedMenuItem } = useDrawersContext();\n const { state } = useDrawerContext();\n const isSelected = isSelectedMenuItem(state.selectedMenuItemId, id);\n\n const handlePress = () => {\n openDrawer(state.id, id);\n };\n return (\n <Button\n {...rest}\n variant='icon'\n className={item({ className })}\n aria-selected={isSelected}\n aria-controls={`panel-${id}`}\n id={`tab-${id}`}\n data-selected={isSelected ? true : undefined}\n onPress={handlePress}\n >\n <Icon>{children}</Icon>\n </Button>\n );\n};\nDrawerMenuItem.displayName = 'Drawer.Menu.Item';\n\nconst DrawerPanel = ({\n id,\n children,\n className,\n ...props\n}: DrawerPanelProps) => {\n const { state } = useDrawerContext();\n const isSelected = state?.selectedMenuItemId === id;\n\n if (!isSelected) {\n return null;\n }\n\n return (\n <div\n {...props}\n className={panel({ className })}\n id={`panel-${id}`}\n role='tabpanel'\n aria-labelledby={`tab-${id}`}\n >\n {children}\n </div>\n );\n};\nDrawerPanel.displayName = 'Drawer.Panel';\n\nconst DrawerTrigger = ({\n for: drawerId,\n children,\n behavior = 'toggle',\n}: DrawerTriggerProps) => {\n const { toggleDrawer, openDrawer, closeDrawer } = useDrawersContext();\n\n const handleOnPress = useCallback(() => {\n if (behavior === 'open') {\n openDrawer(drawerId);\n } else if (behavior === 'close') {\n closeDrawer(drawerId);\n } else {\n toggleDrawer(drawerId);\n }\n }, [behavior, drawerId, openDrawer, closeDrawer, toggleDrawer]);\n\n return (\n <PressResponder onPress={handleOnPress}>\n <Pressable>{children}</Pressable>\n </PressResponder>\n );\n};\nDrawerTrigger.displayName = 'Drawer.Trigger';\n\nconst DrawerHeader = ({ children, className }: DrawerContainerProps) => {\n return (\n <div\n className={header({\n className,\n })}\n >\n {children}\n </div>\n );\n};\nDrawerHeader.displayName = 'Drawer.Header';\n\nconst DrawerTitle = ({ children, className }: DrawerContainerProps) => {\n return <div className={title({ className })}>{children}</div>;\n};\nDrawerHeader.displayName = 'Drawer.Title';\n\nconst DrawerFooter = ({ children, className }: DrawerContainerProps) => {\n return <div className={footer({ className })}>{children}</div>;\n};\nDrawerFooter.displayName = 'Drawer.Footer';\n\nconst DrawerMain = ({ children, className }: DrawerContainerProps) => (\n <main className={main({ className })}>{children}</main>\n);\nDrawerMain.displayName = 'Drawer.Main';\n\nconst DrawerContent = ({ children, className }: DrawerContainerProps) => {\n return <div className={content({ className })}>{children}</div>;\n};\nDrawerContent.displayName = 'Drawer.Content';\n\nDrawer.Layout = DrawerLayout;\nDrawer.Main = DrawerMain;\nDrawerMenu.Item = DrawerMenuItem;\nDrawer.Menu = DrawerMenu;\nDrawer.Trigger = DrawerTrigger;\nDrawer.Panel = DrawerPanel;\nDrawer.Header = DrawerHeader;\nDrawer.Title = DrawerTitle;\nDrawer.Footer = DrawerFooter;\nDrawer.Content = DrawerContent;\nDrawer.Provider = DrawerProvider;\n"]}
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","S","views","X","DrawerMenu","position","I","DrawerPanel","panel","register","DrawerContext","useEffect","ViewStack","x","M","DrawerHeaderTitle","level","K","_","DrawerHeader","J","DrawerContent","content","defaultView","placement","size","activeView","setActiveView","useState","useCallback","data","G","ViewStackEventTypes","k","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 { containsExactChildren } from '@/lib/react';\nimport { Broadcast } from '@accelint/bus';\nimport { type UniqueId, isUUID } 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 { Header, Heading, composeRenderProps } from 'react-aria-components';\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 type { ViewStackViewProps } from '../view-stack/types';\nimport { DrawerEventTypes } from './events';\nimport { DrawerMenuStyles, DrawerStyles, DrawerTitleStyles } from './styles';\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"]}
@@ -5,10 +5,10 @@ declare const DrawerStyles: tailwind_variants.TVReturnType<{
5
5
  [key: string]: {
6
6
  [key: string]: tailwind_merge.ClassNameValue | {
7
7
  content?: tailwind_merge.ClassNameValue;
8
+ main?: tailwind_merge.ClassNameValue;
8
9
  footer?: tailwind_merge.ClassNameValue;
9
10
  header?: tailwind_merge.ClassNameValue;
10
- main?: tailwind_merge.ClassNameValue;
11
- title?: tailwind_merge.ClassNameValue;
11
+ view?: tailwind_merge.ClassNameValue;
12
12
  panel?: tailwind_merge.ClassNameValue;
13
13
  layout?: tailwind_merge.ClassNameValue;
14
14
  drawer?: tailwind_merge.ClassNameValue;
@@ -18,10 +18,10 @@ declare const DrawerStyles: tailwind_variants.TVReturnType<{
18
18
  [x: string]: {
19
19
  [x: string]: tailwind_merge.ClassNameValue | {
20
20
  content?: tailwind_merge.ClassNameValue;
21
+ main?: tailwind_merge.ClassNameValue;
21
22
  footer?: tailwind_merge.ClassNameValue;
22
23
  header?: tailwind_merge.ClassNameValue;
23
- main?: tailwind_merge.ClassNameValue;
24
- title?: tailwind_merge.ClassNameValue;
24
+ view?: tailwind_merge.ClassNameValue;
25
25
  panel?: tailwind_merge.ClassNameValue;
26
26
  layout?: tailwind_merge.ClassNameValue;
27
27
  drawer?: tailwind_merge.ClassNameValue;
@@ -31,19 +31,19 @@ declare const DrawerStyles: tailwind_variants.TVReturnType<{
31
31
  layout: string[];
32
32
  main: string;
33
33
  drawer: string[];
34
- content: string[];
35
34
  panel: string[];
35
+ view: string;
36
+ content: string[];
36
37
  header: string[];
37
- title: string;
38
38
  footer: string;
39
39
  }, undefined, {
40
40
  [key: string]: {
41
41
  [key: string]: tailwind_merge.ClassNameValue | {
42
42
  content?: tailwind_merge.ClassNameValue;
43
+ main?: tailwind_merge.ClassNameValue;
43
44
  footer?: tailwind_merge.ClassNameValue;
44
45
  header?: tailwind_merge.ClassNameValue;
45
- main?: tailwind_merge.ClassNameValue;
46
- title?: tailwind_merge.ClassNameValue;
46
+ view?: tailwind_merge.ClassNameValue;
47
47
  panel?: tailwind_merge.ClassNameValue;
48
48
  layout?: tailwind_merge.ClassNameValue;
49
49
  drawer?: tailwind_merge.ClassNameValue;
@@ -53,27 +53,61 @@ declare const DrawerStyles: tailwind_variants.TVReturnType<{
53
53
  layout: string[];
54
54
  main: string;
55
55
  drawer: string[];
56
- content: string[];
57
56
  panel: string[];
57
+ view: string;
58
+ content: string[];
58
59
  header: string[];
59
- title: string;
60
60
  footer: string;
61
61
  }, tailwind_variants.TVReturnType<unknown, {
62
62
  layout: string[];
63
63
  main: string;
64
64
  drawer: string[];
65
- content: string[];
66
65
  panel: string[];
66
+ view: string;
67
+ content: string[];
67
68
  header: string[];
68
- title: string;
69
69
  footer: string;
70
70
  }, undefined, unknown, unknown, undefined>>;
71
+ declare const DrawerTitleStylesDefaults: {
72
+ readonly level: 2;
73
+ };
74
+ declare const DrawerTitleStyles: tailwind_variants.TVReturnType<{
75
+ level: {
76
+ 1: string;
77
+ 2: string;
78
+ 3: string;
79
+ 4: string;
80
+ 5: string;
81
+ 6: string;
82
+ };
83
+ }, undefined, "w-full text-default-light", {
84
+ level: {
85
+ 1: string;
86
+ 2: string;
87
+ 3: string;
88
+ 4: string;
89
+ 5: string;
90
+ 6: string;
91
+ };
92
+ }, undefined, tailwind_variants.TVReturnType<{
93
+ level: {
94
+ 1: string;
95
+ 2: string;
96
+ 3: string;
97
+ 4: string;
98
+ 5: string;
99
+ 6: string;
100
+ };
101
+ }, undefined, "w-full text-default-light", unknown, unknown, undefined>>;
102
+ declare const DrawerMenuStylesDefaults: {
103
+ readonly position: "center";
104
+ };
71
105
  declare const DrawerMenuStyles: tailwind_variants.TVReturnType<{
72
106
  position: {
73
107
  start: {
74
108
  menu: string[];
75
109
  };
76
- middle: {
110
+ center: {
77
111
  menu: string[];
78
112
  };
79
113
  end: {
@@ -88,7 +122,7 @@ declare const DrawerMenuStyles: tailwind_variants.TVReturnType<{
88
122
  start: {
89
123
  menu: string[];
90
124
  };
91
- middle: {
125
+ center: {
92
126
  menu: string[];
93
127
  };
94
128
  end: {
@@ -103,7 +137,7 @@ declare const DrawerMenuStyles: tailwind_variants.TVReturnType<{
103
137
  start: {
104
138
  menu: string[];
105
139
  };
106
- middle: {
140
+ center: {
107
141
  menu: string[];
108
142
  };
109
143
  end: {
@@ -115,4 +149,4 @@ declare const DrawerMenuStyles: tailwind_variants.TVReturnType<{
115
149
  item: string[];
116
150
  }, undefined, unknown, unknown, undefined>>;
117
151
 
118
- export { DrawerMenuStyles, DrawerStyles };
152
+ export { DrawerMenuStyles, DrawerMenuStylesDefaults, DrawerStyles, DrawerTitleStyles, DrawerTitleStylesDefaults };
@@ -1,2 +1,2 @@
1
- import {tv}from'tailwind-variants';const r=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]","[--drawer-main-col-end:4]","data-[push~=right]:[--drawer-main-col-end:3]","[--drawer-size-closed:0]","[--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 z-1 col-[var(--drawer-main-cols)] row-[var(--drawer-main-rows)]",drawer:["group/drawer","bg-surface-default text-body-m","relative z-5 flex h-full min-h-0 flex-col","pointer-events-none [&>*]:pointer-events-auto","closed:[&>*:not(nav)]:hidden","placement-top:col-start-2 placement-top:col-end-3 placement-top:row-start-1 placement-top:row-end-2","group-data-[extend~=top]/layout:placement-top:z-10","group-data-[extend~=top]/layout:placement-top:col-span-full","group-data-[extend=left]/layout:placement-top:col-end-4","group-data-[extend=right]/layout:placement-top:col-start-1","placement-top:closed:h-[var(--drawer-size-closed)]","placement-top:open:size-small:h-[var(--drawer-size-small)]","placement-top:open:size-medium:h-[var(--drawer-size-medium)]","placement-top:open:size-large:h-[var(--drawer-size-large)]","placement-bottom:col-start-2 placement-bottom:col-end-3 placement-bottom:row-start-3 placement-bottom:row-end-4","group-data-[extend=bottom]/layout:placement-bottom:z-10","group-data-[extend~=bottom]/layout:placement-bottom:col-span-full","group-data-[extend=left]/layout:placement-bottom:col-end-4","group-data-[extend=right]/layout:placement-bottom:col-start-1","placement-bottom:closed:h-[var(--drawer-size-closed)]","placement-bottom:open:size-small:h-[var(--drawer-size-small)]","placement-bottom:open:size-medium:h-[var(--drawer-size-medium)]","placement-bottom:open:size-large:h-[var(--drawer-size-large)]","placement-left:col-start-1 placement-left:col-end-2 placement-left:row-start-2 placement-left:row-end-3","group-data-[extend=left]/layout:placement-left:z-10","group-data-[extend=right]/layout:placement-left:z-1","placement-left:closed:w-[var(--drawer-size-closed)]","placement-left:open:size-small:w-[var(--drawer-size-small)]","placement-left:open:size-medium:w-[var(--drawer-size-medium)]","placement-left:open:size-large:w-[var(--drawer-size-large)]","group-data-[extend~=left]/layout:placement-left:row-span-full","group-data-[extend=top]/layout:placement-left:row-end-4","group-data-[extend=bottom]/layout:placement-left:row-start-1","placement-right:col-start-3 placement-right:col-end-4 placement-right:row-start-2 placement-right:row-end-3","group-data-[extend=right]/layout:placement-right:z-10","group-data-[extend=left]/layout:placement-right:z-1","group-data-[extend~=right]/layout:placement-right:row-span-full","group-data-[extend=top]/layout:placement-right:row-end-4","group-data-[extend=bottom]/layout:placement-right:row-start-1","placement-right:closed:w-[var(--drawer-size-closed)]","placement-right:open:size-small:w-[var(--drawer-size-small)]","placement-right:open:size-medium:w-[var(--drawer-size-medium)]","placement-right:open:size-large:w-[var(--drawer-size-large)]"],content:["hidden h-full min-h-0 flex-col gap-s p-l group-open/drawer:flex"],panel:["flex max-h-full flex-1 flex-col overflow-y-auto text-default-light"],header:["mb-s flex flex-row items-center justify-between pt-px pr-px"],title:"w-full text-default-light text-header-l",footer:"mt-s flex flex-row items-center justify-end text-default-light"}}),a=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-right/drawer:-translate-y-1/8 group-placement-right/drawer:top-1/8","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","fg-default-dark cursor-pointer p-s outline-none","rounded-medium group-dtk-orientation-horizontal:rounded-small group-dtk-orientation-horizontal:rounded-b-none","group-dtk-orientation-horizontal:border-static-light group-dtk-orientation-horizontal:border-b","group-dtk-orientation-vertical:border group-dtk-orientation-vertical:border-transparent","hover:fg-default-light hover:!bg-transparent hover:group-dtk-orientation-horizontal:border-interactive-hover","selected:fg-highlight selected:bg-highlight-subtle selected:group-dtk-orientation-horizontal:border-highlight","focus:fg-default-light focus:group-dtk-orientation-horizontal:border-interactive-hover","disabled:fg-disabled disabled:cursor-not-allowed disabled:group-dtk-orientation-horizontal:border-interactive-disabled"]},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"]},middle:{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"]}}}});export{a as DrawerMenuStyles,r as DrawerStyles};//# sourceMappingURL=styles.js.map
1
+ import {tv}from'tailwind-variants';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]","[--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 z-1 col-[var(--drawer-main-cols)] row-[var(--drawer-main-rows)]",drawer:["group/drawer","bg-surface-default text-body-m","relative z-5 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:["flex max-h-full flex-1 flex-col overflow-y-auto text-default-light"],header:["mb-s flex flex-row items-center justify-between pt-px pr-px"],footer:"mt-s flex flex-row items-center justify-end text-default-light"}}),r={level:2},l=tv({base:"w-full text-default-light",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","fg-default-dark !p-xs cursor-pointer outline-none","rounded-medium","hover:fg-default-light hover:!bg-transparent","selected:fg-highlight selected:bg-highlight-subtle","focus:fg-default-light","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
2
2
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/drawer/styles.ts"],"names":["DrawerStyles","tv","DrawerMenuStyles"],"mappings":"mCAcO,MAAMA,CAAAA,CAAeC,GAAG,CAC7B,KAAA,CAAO,CACL,MAAA,CAAQ,CAEN,6BAAA,CACA,8CAAA,CACA,4BACA,+CAAA,CACA,6BAAA,CACA,gDACA,2BAAA,CACA,8CAAA,CAEA,0BAAA,CACA,2BAAA,CACA,8BACA,8BAAA,CACA,6BAAA,CAGA,0CAAA,CACA,0CAAA,CACA,+EACA,8EAAA,CAGA,iEAAA,CACA,0FAAA,CACA,uDAAA,CACA,0BACF,CAAA,CACA,IAAA,CAAM,2EACN,MAAA,CAAQ,CACN,eACA,gCAAA,CACA,2CAAA,CACA,+CAAA,CACA,8BAAA,CAGA,sGACA,oDAAA,CACA,6DAAA,CACA,yDAAA,CACA,4DAAA,CACA,qDACA,4DAAA,CACA,8DAAA,CACA,4DAAA,CAGA,iHAAA,CACA,0DACA,mEAAA,CACA,4DAAA,CACA,gEACA,uDAAA,CACA,+DAAA,CACA,kEACA,+DAAA,CAGA,yGAAA,CACA,qDAAA,CACA,qDAAA,CACA,sDACA,6DAAA,CACA,+DAAA,CACA,8DACA,+DAAA,CACA,yDAAA,CACA,+DAGA,6GAAA,CACA,uDAAA,CACA,qDAAA,CACA,iEAAA,CACA,2DACA,+DAAA,CACA,sDAAA,CACA,+DACA,gEAAA,CACA,8DACF,EACA,OAAA,CAAS,CACP,iEACF,CAAA,CACA,MAAO,CACL,oEACF,CAAA,CACA,MAAA,CAAQ,CAAC,6DAA6D,CAAA,CACtE,KAAA,CAAO,yCAAA,CACP,OAAQ,gEACV,CACF,CAAC,CAAA,CAEYC,CAAAA,CAAmBD,GAAG,CACjC,KAAA,CAAO,CACL,IAAA,CAAM,CACJ,oDAAA,CAGA,0LAAA,CACA,uMACA,mHAAA,CACA,gJAAA,CAEA,qFACA,kFAAA,CACA,uIAAA,CACA,0GAAA,CACA,0IACF,EACA,IAAA,CAAM,CACJ,4CACA,iDAAA,CACA,+GAAA,CACA,iGACA,yFAAA,CAEA,8GAAA,CAEA,+GAAA,CAEA,wFAAA,CAEA,wHACF,CACF,CAAA,CACA,QAAA,CAAU,CACR,SAAU,CACR,KAAA,CAAO,CACL,IAAA,CAAM,CACJ,kFAAA,CACA,oFAAA,CACA,iFACA,sFACF,CACF,EACA,MAAA,CAAQ,CACN,IAAA,CAAM,CACJ,mFACA,oFAAA,CACA,iFAAA,CACA,uFACF,CACF,CAAA,CACA,IAAK,CACH,IAAA,CAAM,CACJ,kFAAA,CACA,qFACA,iFAAA,CACA,uFACF,CACF,CACF,CACF,CACF,CAAC","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 'tailwind-variants';\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 'data-[push~=left]:[--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-size-closed:0]',\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 z-1 col-[var(--drawer-main-cols)] row-[var(--drawer-main-rows)]',\n drawer: [\n 'group/drawer',\n 'bg-surface-default text-body-m',\n 'relative z-5 flex h-full min-h-0 flex-col',\n 'pointer-events-none [&>*]:pointer-events-auto',\n 'closed:[&>*:not(nav)]:hidden',\n\n //top\n 'placement-top:col-start-2 placement-top:col-end-3 placement-top:row-start-1 placement-top:row-end-2',\n 'group-data-[extend~=top]/layout:placement-top:z-10',\n 'group-data-[extend~=top]/layout:placement-top:col-span-full',\n 'group-data-[extend=left]/layout:placement-top:col-end-4',\n 'group-data-[extend=right]/layout:placement-top:col-start-1',\n 'placement-top:closed:h-[var(--drawer-size-closed)]',\n 'placement-top:open:size-small:h-[var(--drawer-size-small)]',\n 'placement-top:open:size-medium:h-[var(--drawer-size-medium)]',\n 'placement-top:open:size-large:h-[var(--drawer-size-large)]',\n\n //bottom\n 'placement-bottom:col-start-2 placement-bottom:col-end-3 placement-bottom:row-start-3 placement-bottom:row-end-4',\n 'group-data-[extend=bottom]/layout:placement-bottom:z-10',\n 'group-data-[extend~=bottom]/layout:placement-bottom:col-span-full',\n 'group-data-[extend=left]/layout:placement-bottom:col-end-4',\n 'group-data-[extend=right]/layout:placement-bottom:col-start-1',\n 'placement-bottom:closed:h-[var(--drawer-size-closed)]',\n 'placement-bottom:open:size-small:h-[var(--drawer-size-small)]',\n 'placement-bottom:open:size-medium:h-[var(--drawer-size-medium)]',\n 'placement-bottom:open:size-large:h-[var(--drawer-size-large)]',\n\n //left\n 'placement-left:col-start-1 placement-left:col-end-2 placement-left:row-start-2 placement-left:row-end-3',\n 'group-data-[extend=left]/layout:placement-left:z-10',\n 'group-data-[extend=right]/layout:placement-left:z-1',\n 'placement-left:closed:w-[var(--drawer-size-closed)]',\n 'placement-left:open:size-small:w-[var(--drawer-size-small)]',\n 'placement-left:open:size-medium:w-[var(--drawer-size-medium)]',\n 'placement-left:open:size-large:w-[var(--drawer-size-large)]',\n 'group-data-[extend~=left]/layout:placement-left:row-span-full',\n 'group-data-[extend=top]/layout:placement-left:row-end-4',\n 'group-data-[extend=bottom]/layout:placement-left:row-start-1',\n\n //right\n 'placement-right:col-start-3 placement-right:col-end-4 placement-right:row-start-2 placement-right:row-end-3',\n 'group-data-[extend=right]/layout:placement-right:z-10',\n 'group-data-[extend=left]/layout:placement-right:z-1',\n 'group-data-[extend~=right]/layout:placement-right:row-span-full',\n 'group-data-[extend=top]/layout:placement-right:row-end-4',\n 'group-data-[extend=bottom]/layout:placement-right:row-start-1',\n 'placement-right:closed:w-[var(--drawer-size-closed)]',\n 'placement-right:open:size-small:w-[var(--drawer-size-small)]',\n 'placement-right:open:size-medium:w-[var(--drawer-size-medium)]',\n 'placement-right:open:size-large:w-[var(--drawer-size-large)]',\n ],\n content: [\n 'hidden h-full min-h-0 flex-col gap-s p-l group-open/drawer:flex',\n ],\n panel: [\n 'flex max-h-full flex-1 flex-col overflow-y-auto text-default-light',\n ],\n header: ['mb-s flex flex-row items-center justify-between pt-px pr-px'],\n title: 'w-full text-default-light text-header-l',\n footer: 'mt-s flex flex-row items-center justify-end text-default-light',\n },\n});\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-right/drawer:-translate-y-1/8 group-placement-right/drawer:top-1/8',\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 'fg-default-dark cursor-pointer p-s outline-none',\n 'rounded-medium group-dtk-orientation-horizontal:rounded-small group-dtk-orientation-horizontal:rounded-b-none',\n 'group-dtk-orientation-horizontal:border-static-light group-dtk-orientation-horizontal:border-b',\n 'group-dtk-orientation-vertical:border group-dtk-orientation-vertical:border-transparent',\n //hover\n 'hover:fg-default-light hover:!bg-transparent hover:group-dtk-orientation-horizontal:border-interactive-hover',\n //selected\n 'selected:fg-highlight selected:bg-highlight-subtle selected:group-dtk-orientation-horizontal:border-highlight',\n //focused\n 'focus:fg-default-light focus:group-dtk-orientation-horizontal:border-interactive-hover',\n //disabled\n 'disabled:fg-disabled disabled:cursor-not-allowed disabled:group-dtk-orientation-horizontal:border-interactive-disabled',\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 middle: {\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});\n"]}
1
+ {"version":3,"sources":["../../../src/components/drawer/styles.ts"],"names":["DrawerStyles","tv","DrawerTitleStylesDefaults","DrawerTitleStyles","DrawerMenuStylesDefaults","DrawerMenuStyles"],"mappings":"mCAcO,MAAMA,EAAeC,EAAAA,CAAG,CAC7B,MAAO,CACL,MAAA,CAAQ,CAEN,6BAAA,CACA,8CAAA,CACA,4BACA,+CAAA,CACA,6BAAA,CACA,gDACA,2BAAA,CACA,8CAAA,CAEA,2BAAA,CACA,6BAAA,CACA,8BAAA,CACA,6BAAA,CAGA,2CACA,0CAAA,CACA,8EAAA,CACA,+EAGA,iEAAA,CACA,0FAAA,CACA,wDACA,0BACF,CAAA,CACA,IAAA,CAAM,0EAAA,CACN,MAAA,CAAQ,CACN,eACA,gCAAA,CACA,2CAAA,CACA,gDAGA,qGAAA,CACA,iHAAA,CACA,0GACA,6GAAA,CAGA,6DAAA,CACA,mEAAA,CACA,+DAAA,CACA,iEAAA,CAGA,kHAAA,CACA,6HACA,oHAAA,CACA,0HACF,EACA,KAAA,CAAO,CACL,2CACA,wBAAA,CACA,sPAAA,CACA,yPAAA,CACA,mPAAA,CACA,4PACF,CAAA,CACA,KAAM,sBAAA,CACN,OAAA,CAAS,CACP,oEACF,CAAA,CACA,OAAQ,CAAC,6DAA6D,CAAA,CACtE,MAAA,CAAQ,gEACV,CACF,CAAC,CAAA,CAEYC,CAAAA,CAA4B,CACvC,KAAA,CAAO,CACT,EAEaC,CAAAA,CAAoBF,EAAAA,CAAG,CAClC,IAAA,CAAM,2BAAA,CACN,QAAA,CAAU,CACR,KAAA,CAAO,CACJ,EAAI,EAAA,CACJ,CAAA,CAAI,GACJ,CAAA,CAAI,EAAA,CACJ,CAAA,CAAI,EAAA,CACJ,CAAA,CAAI,EAAA,CACJ,EAAI,EACP,CACF,EACA,gBAAA,CAAkB,CAChB,CACE,KAAA,CAAO,CAAC,CAAA,CAAG,CAAA,CAAG,CAAC,CAAA,CACf,UAAW,eACb,CAAA,CACA,CACE,KAAA,CAAO,CAAC,EAAG,CAAA,CAAG,CAAC,CAAA,CACf,SAAA,CAAW,eACb,CACF,EACA,eAAA,CAAiBC,CACnB,CAAC,CAAA,CAEYE,CAAAA,CAA2B,CACtC,QAAA,CAAU,QACZ,CAAA,CAEaC,CAAAA,CAAmBJ,EAAAA,CAAG,CACjC,MAAO,CACL,IAAA,CAAM,CACJ,oDAAA,CAGA,0LAAA,CACA,uMACA,mHAAA,CACA,gJAAA,CAEA,kFAAA,CACA,uIAAA,CACA,0GAAA,CACA,0IACF,EACA,IAAA,CAAM,CACJ,4CACA,mDAAA,CACA,gBAAA,CAEA,+CAEA,oDAAA,CAEA,wBAAA,CAEA,kDACF,CACF,CAAA,CACA,QAAA,CAAU,CACR,QAAA,CAAU,CACR,MAAO,CACL,IAAA,CAAM,CACJ,kFAAA,CACA,oFAAA,CACA,gFAAA,CACA,sFACF,CACF,CAAA,CACA,OAAQ,CACN,IAAA,CAAM,CACJ,kFAAA,CACA,oFAAA,CACA,kFACA,uFACF,CACF,CAAA,CACA,GAAA,CAAK,CACH,IAAA,CAAM,CACJ,kFAAA,CACA,oFAAA,CACA,kFACA,uFACF,CACF,CACF,CACF,CAAA,CACA,eAAA,CAAiBG,CACnB,CAAC","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 'tailwind-variants';\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 'data-[push~=left]:[--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 z-1 col-[var(--drawer-main-cols)] row-[var(--drawer-main-rows)]',\n drawer: [\n 'group/drawer',\n 'bg-surface-default text-body-m',\n 'relative z-5 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 'flex max-h-full flex-1 flex-col overflow-y-auto text-default-light',\n ],\n header: ['mb-s flex flex-row items-center justify-between pt-px pr-px'],\n footer: 'mt-s flex flex-row items-center justify-end text-default-light',\n },\n});\n\nexport const DrawerTitleStylesDefaults = {\n level: 2,\n} as const;\n\nexport const DrawerTitleStyles = tv({\n base: 'w-full text-default-light',\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 'fg-default-dark !p-xs cursor-pointer outline-none',\n 'rounded-medium',\n //hover\n 'hover:fg-default-light hover:!bg-transparent',\n //selected\n 'selected:fg-highlight selected:bg-highlight-subtle',\n //focused\n 'focus:fg-default-light',\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"]}