@accelint/design-toolkit 2.6.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion/index.d.ts +42 -0
- package/dist/components/accordion/index.js.map +1 -1
- package/dist/components/accordion/styles.js +1 -1
- package/dist/components/accordion/styles.js.map +1 -1
- package/dist/components/avatar/index.d.ts +29 -0
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/badge/index.d.ts +24 -0
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/button/index.d.ts +104 -0
- package/dist/components/button/index.js +1 -1
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/styles.d.ts +28 -106
- package/dist/components/button/styles.js +1 -1
- package/dist/components/button/styles.js.map +1 -1
- package/dist/components/button/types.d.ts +6 -4
- package/dist/components/checkbox/index.d.ts +33 -0
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/styles.d.ts +3 -3
- package/dist/components/checkbox/styles.js +1 -1
- package/dist/components/checkbox/styles.js.map +1 -1
- package/dist/components/chip/index.d.ts +34 -0
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/chip/styles.js +1 -1
- package/dist/components/chip/styles.js.map +1 -1
- package/dist/components/classification-badge/index.d.ts +15 -0
- package/dist/components/classification-badge/index.js.map +1 -1
- package/dist/components/classification-banner/index.d.ts +11 -0
- package/dist/components/classification-banner/index.js.map +1 -1
- package/dist/components/color-picker/styles.js +1 -1
- package/dist/components/color-picker/styles.js.map +1 -1
- package/dist/components/combobox-field/index.d.ts +1 -0
- package/dist/components/combobox-field/styles.d.ts +3 -3
- package/dist/components/combobox-field/styles.js +1 -1
- package/dist/components/combobox-field/styles.js.map +1 -1
- package/dist/components/combobox-field/types.d.ts +1 -0
- package/dist/components/date-field/index.d.ts +44 -0
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/date-field/styles.d.ts +3 -3
- package/dist/components/date-field/styles.js +1 -1
- package/dist/components/date-field/styles.js.map +1 -1
- package/dist/components/dialog/index.d.ts +26 -4
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/drawer/events.d.ts +8 -0
- package/dist/components/drawer/events.js +2 -0
- package/dist/components/drawer/events.js.map +1 -0
- package/dist/components/drawer/index.d.ts +89 -43
- package/dist/components/drawer/index.js +1 -1
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/styles.d.ts +50 -16
- package/dist/components/drawer/styles.js +1 -1
- package/dist/components/drawer/styles.js.map +1 -1
- package/dist/components/drawer/types.d.ts +154 -238
- package/dist/components/drawer/types.js +1 -1
- package/dist/components/drawer/types.js.map +1 -1
- package/dist/components/hotkey/index.d.ts +32 -1
- package/dist/components/hotkey/index.js +1 -1
- package/dist/components/hotkey/index.js.map +1 -1
- package/dist/components/icon/index.d.ts +29 -0
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/input/index.d.ts +19 -0
- package/dist/components/input/index.js +1 -1
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/styles.js +1 -1
- package/dist/components/input/styles.js.map +1 -1
- package/dist/components/input/types.d.ts +1 -0
- package/dist/components/label/index.d.ts +19 -0
- package/dist/components/label/index.js.map +1 -1
- package/dist/components/menu/index.d.ts +69 -7
- package/dist/components/menu/index.js +1 -1
- package/dist/components/menu/index.js.map +1 -1
- package/dist/components/menu/styles.d.ts +10 -37
- package/dist/components/menu/styles.js +1 -1
- package/dist/components/menu/styles.js.map +1 -1
- package/dist/components/menu/types.d.ts +11 -16
- package/dist/components/options/index.d.ts +41 -0
- package/dist/components/options/index.js.map +1 -1
- package/dist/components/options/styles.d.ts +3 -3
- package/dist/components/options/styles.js +1 -1
- package/dist/components/options/styles.js.map +1 -1
- package/dist/components/popover/index.d.ts +36 -2
- package/dist/components/popover/index.js +1 -1
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/query-builder/index.d.ts +24 -0
- package/dist/components/query-builder/index.js.map +1 -1
- package/dist/components/radio/index.d.ts +31 -0
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio/styles.d.ts +3 -3
- package/dist/components/radio/styles.js +1 -1
- package/dist/components/radio/styles.js.map +1 -1
- package/dist/components/search-field/styles.js +1 -1
- package/dist/components/search-field/styles.js.map +1 -1
- package/dist/components/search-field/types.d.ts +1 -0
- package/dist/components/select-field/index.d.ts +44 -0
- package/dist/components/select-field/index.js +1 -1
- package/dist/components/select-field/index.js.map +1 -1
- package/dist/components/select-field/styles.d.ts +3 -3
- package/dist/components/select-field/styles.js +1 -1
- package/dist/components/select-field/styles.js.map +1 -1
- package/dist/components/select-field/types.d.ts +1 -0
- package/dist/components/slider/index.d.ts +36 -2
- package/dist/components/slider/index.js +1 -1
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/switch/index.d.ts +36 -0
- package/dist/components/switch/index.js +1 -1
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/switch/styles.d.ts +23 -21
- package/dist/components/switch/styles.js +1 -1
- package/dist/components/switch/styles.js.map +1 -1
- package/dist/components/switch/types.d.ts +1 -0
- package/dist/components/tabs/index.d.ts +46 -0
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/text-area-field/index.d.ts +20 -0
- package/dist/components/text-area-field/index.js.map +1 -1
- package/dist/components/text-area-field/styles.d.ts +3 -3
- package/dist/components/text-area-field/styles.js +1 -1
- package/dist/components/text-area-field/styles.js.map +1 -1
- package/dist/components/text-field/index.d.ts +62 -0
- package/dist/components/text-field/index.js.map +1 -1
- package/dist/components/text-field/styles.d.ts +3 -3
- package/dist/components/text-field/types.d.ts +1 -0
- package/dist/components/tooltip/index.d.ts +42 -0
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/view-stack/events.d.ts +9 -0
- package/dist/components/view-stack/events.js +2 -0
- package/dist/components/view-stack/events.js.map +1 -0
- package/dist/components/view-stack/index.d.ts +13 -10
- package/dist/components/view-stack/index.js +1 -1
- package/dist/components/view-stack/index.js.map +1 -1
- package/dist/components/view-stack/types.d.ts +13 -9
- package/dist/index.d.ts +15 -15
- package/dist/index.js +1 -1
- package/dist/lib/types.d.ts +6 -2
- package/dist/metafile-esm.json +1 -1
- package/dist/styles.css +922 -609
- package/dist/variants/variants.css +6 -5
- package/package.json +5 -5
- package/dist/components/box/index.d.ts +0 -19
- package/dist/components/box/index.js +0 -2
- package/dist/components/box/index.js.map +0 -1
- package/dist/components/drawer/context.d.ts +0 -13
- package/dist/components/drawer/context.js +0 -2
- package/dist/components/drawer/context.js.map +0 -1
- package/dist/components/drawer/state.d.ts +0 -26
- package/dist/components/drawer/state.js +0 -2
- package/dist/components/drawer/state.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
@custom-variant color-info (&:where([data-color
|
|
2
|
-
@custom-variant color-advisory (&:where([data-color
|
|
3
|
-
@custom-variant color-normal (&:where([data-color
|
|
4
|
-
@custom-variant color-serious (&:where([data-color
|
|
5
|
-
@custom-variant color-critical (&:where([data-color
|
|
1
|
+
@custom-variant color-info (&:where([data-color="info"]));
|
|
2
|
+
@custom-variant color-advisory (&:where([data-color="advisory"]));
|
|
3
|
+
@custom-variant color-normal (&:where([data-color="normal"]));
|
|
4
|
+
@custom-variant color-serious (&:where([data-color="serious"]));
|
|
5
|
+
@custom-variant color-critical (&:where([data-color="critical"]));
|
|
6
6
|
@custom-variant placement-left (&:where([data-placement~="left"]));
|
|
7
7
|
@custom-variant placement-right (&:where([data-placement~="right"]));
|
|
8
8
|
@custom-variant placement-top (&:where([data-placement~="top"]));
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
@custom-variant pending (&:where([data-pending]));
|
|
52
52
|
@custom-variant empty (&:where([data-empty], :empty));
|
|
53
53
|
@custom-variant focus-within (&:where([data-focus-within], :focus-within));
|
|
54
|
+
@custom-variant focus-visible-within (&:where(:has([data-focus-visible], :focus-visible)));
|
|
54
55
|
@custom-variant hover (&:where([data-hovered], :hover));
|
|
55
56
|
@custom-variant focus (&:where([data-focused], :focus));
|
|
56
57
|
@custom-variant focus-visible (&:where([data-focus-visible], :focus-visible));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@accelint/design-toolkit",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -49,8 +49,8 @@
|
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"@accelint/bus": "^0.
|
|
53
|
-
"@accelint/core": "^0.
|
|
52
|
+
"@accelint/bus": "^1.0.0",
|
|
53
|
+
"@accelint/core": "^0.4.0",
|
|
54
54
|
"@accelint/icons": "^2.0.3",
|
|
55
55
|
"@fontsource/roboto-flex": "^5.2.6",
|
|
56
56
|
"@fontsource/roboto-mono": "^5.2.6",
|
|
@@ -135,8 +135,8 @@
|
|
|
135
135
|
"vitest": "^2.1.3",
|
|
136
136
|
"zod": "^4.0.13",
|
|
137
137
|
"@accelint/biome-config": "0.1.2",
|
|
138
|
-
"@accelint/bus": "0.
|
|
139
|
-
"@accelint/core": "0.
|
|
138
|
+
"@accelint/bus": "1.0.0",
|
|
139
|
+
"@accelint/core": "0.4.0",
|
|
140
140
|
"@accelint/icons": "2.0.3",
|
|
141
141
|
"@accelint/typescript-config": "0.1.2",
|
|
142
142
|
"@accelint/vitest-config": "0.1.3"
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import react__default from 'react';
|
|
3
|
-
|
|
4
|
-
interface BoxProps extends react__default.HTMLAttributes<HTMLDivElement> {
|
|
5
|
-
as?: react__default.ElementType;
|
|
6
|
-
/** When true, apply flex display */
|
|
7
|
-
flex?: boolean;
|
|
8
|
-
/** Flex direction: 'row' or 'col' */
|
|
9
|
-
direction?: 'row' | 'col';
|
|
10
|
-
/** Horizontal alignment in flex container */
|
|
11
|
-
justify?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';
|
|
12
|
-
/** Vertical alignment in flex container */
|
|
13
|
-
align?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';
|
|
14
|
-
/** Gap between children (matches Tailwind's spacing scale) */
|
|
15
|
-
gap?: number;
|
|
16
|
-
}
|
|
17
|
-
declare const Box: ({ as: Component, className, flex, direction, justify, align, gap, children, ...rest }: BoxProps) => react_jsx_runtime.JSX.Element;
|
|
18
|
-
|
|
19
|
-
export { Box, type BoxProps };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {jsx}from'react/jsx-runtime';import {cx}from'class-variance-authority';const u=({as:r="div",className:o,flex:e,direction:a="row",justify:t,align:n,gap:s,children:c,...i})=>{const l=cx(e&&"flex",e&&(a==="col"?"flex-col":"flex-row"),t&&{start:"justify-start",center:"justify-center",end:"justify-end",between:"justify-between",around:"justify-around",evenly:"justify-evenly"}[t],n&&{start:"items-start",center:"items-center",end:"items-end",stretch:"items-stretch",baseline:"items-baseline"}[n],s!==void 0&&`gap-${s}`,o);return jsx(r,{className:l,...i,children:c})};export{u as Box};//# sourceMappingURL=index.js.map
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/box/index.tsx"],"names":["Box","Component","className","flex","direction","justify","align","gap","children","rest","classes","cx","jsx"],"mappings":"oFA4BaA,CAAAA,CAAM,CAAC,CAClB,EAAA,CAAIC,CAAAA,CAAY,MAChB,SAAA,CAAAC,CAAAA,CACA,KAAAC,CAAAA,CACA,SAAA,CAAAC,EAAY,KAAA,CACZ,OAAA,CAAAC,EACA,KAAA,CAAAC,CAAAA,CACA,IAAAC,CAAAA,CACA,QAAA,CAAAC,EACA,GAAGC,CACL,IAAgB,CACd,MAAMC,EAAUC,EAAAA,CACdR,CAAAA,EAAQ,OACRA,CAAAA,GAASC,CAAAA,GAAc,MAAQ,UAAA,CAAa,UAAA,CAAA,CAC5CC,GACE,CACE,KAAA,CAAO,gBACP,MAAA,CAAQ,gBAAA,CACR,IAAK,aAAA,CACL,OAAA,CAAS,kBACT,MAAA,CAAQ,gBAAA,CACR,OAAQ,gBACV,CAAA,CAAEA,CAAO,CAAA,CACXC,CAAAA,EACE,CACE,KAAA,CAAO,aAAA,CACP,OAAQ,cAAA,CACR,GAAA,CAAK,YACL,OAAA,CAAS,eAAA,CACT,SAAU,gBACZ,CAAA,CAAEA,CAAK,CAAA,CACTC,CAAAA,GAAQ,QAAa,CAAA,IAAA,EAAOA,CAAG,GAC/BL,CACF,CAAA,CAEA,OACEU,GAAAA,CAACX,CAAAA,CAAA,CAAU,SAAA,CAAWS,CAAAA,CAAU,GAAGD,CAAAA,CAChC,QAAA,CAAAD,EACH,CAEJ","file":"index.js","sourcesContent":["import { cx } from 'class-variance-authority';\n/*\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 */\nimport type React from 'react';\n\nexport interface BoxProps extends React.HTMLAttributes<HTMLDivElement> {\n as?: React.ElementType;\n /** When true, apply flex display */\n flex?: boolean;\n /** Flex direction: 'row' or 'col' */\n direction?: 'row' | 'col';\n /** Horizontal alignment in flex container */\n justify?: 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n /** Vertical alignment in flex container */\n align?: 'start' | 'center' | 'end' | 'stretch' | 'baseline';\n /** Gap between children (matches Tailwind's spacing scale) */\n gap?: number;\n}\n\nexport const Box = ({\n as: Component = 'div',\n className,\n flex,\n direction = 'row',\n justify,\n align,\n gap,\n children,\n ...rest\n}: BoxProps) => {\n const classes = cx(\n flex && 'flex',\n flex && (direction === 'col' ? 'flex-col' : 'flex-row'),\n justify &&\n {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n }[justify],\n align &&\n {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n baseline: 'items-baseline',\n }[align],\n gap !== undefined && `gap-${gap}`,\n className,\n );\n\n return (\n <Component className={classes} {...rest}>\n {children}\n </Component>\n );\n};\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import * as react from 'react';
|
|
2
|
-
import { DrawerContextValue, DrawersContextValue, DrawerState } from './types.js';
|
|
3
|
-
import { Key } from '@react-types/shared';
|
|
4
|
-
|
|
5
|
-
declare const DrawersContext: react.Context<DrawersContextValue | null>;
|
|
6
|
-
declare const DrawerContext: react.Context<DrawerContextValue | null>;
|
|
7
|
-
declare function useDrawerContext(): DrawerContextValue;
|
|
8
|
-
declare function useDrawersContext(): DrawersContextValue;
|
|
9
|
-
declare function useDrawersState(opts?: {
|
|
10
|
-
onStateChange?: (drawerId: Key, state: DrawerState) => void;
|
|
11
|
-
}): DrawersContextValue;
|
|
12
|
-
|
|
13
|
-
export { DrawerContext, DrawersContext, useDrawerContext, useDrawersContext, useDrawersState };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {createContext,useContext,useState,useCallback,useMemo}from'react';import {createDefaultDrawerState,drawerStateReducer}from'./state.js';import {DrawerDefaults}from'./types.js';const g=createContext(null),b=createContext(null);function v(){const n=useContext(b);if(!n)throw new Error("useDrawerContext must be used within <Drawer.Provider>");return n}function A(){const n=useContext(g);if(!n)throw new Error("useDrawersContext must be used within <Drawer.Provider>");return n}function G(n){const[s,l]=useState({}),[w,I]=useState({}),D=useCallback((e,t)=>{const r=w[e];r&&(r.onOpenChange?.(t.isOpen),r.onStateChange?.(t)),n?.onStateChange?.(e,t);},[n?.onStateChange,w]),o=useCallback((e,t)=>{l(r=>{const u=r[e]||createDefaultDrawerState({id:e,selectedMenuItemId:DrawerDefaults.selectedMenuItemId,isOpen:DrawerDefaults.isOpen}),S=drawerStateReducer(u,t);return D(e,S),{...r,[e]:S}});},[D]),C=useCallback(e=>{o(e,{type:"TOGGLE"});},[o]),p=useCallback((e,t)=>{o(e,{type:"OPEN",menuItemId:t});},[o]),y=useCallback(e=>{o(e,{type:"CLOSE"});},[o]),d=useCallback((e,t)=>{o(e,{type:"SET_MENU_ID",menuItemId:t??""});},[o]),i=useCallback((e,t)=>e!==""&&typeof e<"u"&&t===e,[]),x=useCallback(e=>s[e]||createDefaultDrawerState({id:e,selectedMenuItemId:DrawerDefaults.selectedMenuItemId,isOpen:DrawerDefaults.isOpen}),[s]),m=useCallback((e,t)=>{I(r=>({...r,[e.id]:t||{}})),l(r=>{const u=r[e.id];return {...r,[e.id]:{...e,selectedMenuItemId:u?.selectedMenuItemId??e.selectedMenuItemId}}});},[]);return useMemo(()=>({drawerStates:s,toggleDrawer:C,openDrawer:p,closeDrawer:y,getDrawerState:x,registerDrawer:m,selectMenuItem:d,isSelectedMenuItem:i}),[s,C,p,y,x,m,d,i])}export{b as DrawerContext,g as DrawersContext,v as useDrawerContext,A as useDrawersContext,G as useDrawersState};//# sourceMappingURL=context.js.map
|
|
2
|
-
//# sourceMappingURL=context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/drawer/context.ts"],"names":["DrawerContext","createContext","f","ctx","useContext","K","drawerStates","setDrawerStates","callbacks","setCallbacks","useState","notifyCallbacks","useCallback","nextState","drawerCallbacks","opts","drawerId","action","prev","currentState","createDefaultDrawerState","O","c","DrawerDefaults","toggleDrawer","updateDrawerState","openDrawer","menuItemId","closeDrawer","selectMenuItem","isSelectedMenuItem","selectedMenuItemId","a","registerDrawer","initialState","useMemo","k","getDrawerState"],"mappings":"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","file":"context.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 */\nimport {\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react';\nimport {\n type DrawerAction,\n createDefaultDrawerState,\n drawerStateReducer,\n} from './state';\nimport {\n type DrawerContextValue,\n DrawerDefaults,\n type DrawerState,\n type DrawersContextValue,\n type OnOpenChangeCallback,\n} from './types';\n\nimport type { Key } from '@react-types/shared';\n\nconst DrawersContext = createContext<DrawersContextValue | null>(null);\nconst DrawerContext = createContext<DrawerContextValue | null>(null);\n\nexport function useDrawerContext(): DrawerContextValue {\n const ctx = useContext(DrawerContext);\n\n if (!ctx) {\n throw new Error('useDrawerContext must be used within <Drawer.Provider>');\n }\n\n return ctx;\n}\n\nexport function useDrawersContext(): DrawersContextValue {\n const ctx = useContext(DrawersContext);\n\n if (!ctx) {\n throw new Error('useDrawersContext must be used within <Drawer.Provider>');\n }\n\n return ctx;\n}\n\ntype DrawerCallbacks = {\n onOpenChange?: OnOpenChangeCallback;\n onStateChange?: (state: DrawerState) => void;\n};\n\nexport function useDrawersState(opts?: {\n onStateChange?: (drawerId: Key, state: DrawerState) => void;\n}) {\n const [drawerStates, setDrawerStates] = useState<Record<Key, DrawerState>>(\n {},\n );\n const [callbacks, setCallbacks] = useState<Record<Key, DrawerCallbacks>>({});\n\n const notifyCallbacks = useCallback(\n (drawerId: Key, nextState: DrawerState) => {\n const drawerCallbacks = callbacks[drawerId];\n if (drawerCallbacks) {\n drawerCallbacks.onOpenChange?.(nextState.isOpen);\n drawerCallbacks.onStateChange?.(nextState);\n }\n opts?.onStateChange?.(drawerId, nextState);\n },\n [opts?.onStateChange, callbacks],\n );\n\n const updateDrawerState = useCallback(\n (drawerId: Key, action: DrawerAction) => {\n setDrawerStates((prev) => {\n const currentState =\n prev[drawerId] ||\n createDefaultDrawerState({\n id: drawerId,\n selectedMenuItemId: DrawerDefaults.selectedMenuItemId,\n isOpen: DrawerDefaults.isOpen,\n });\n const nextState = drawerStateReducer(currentState, action);\n\n notifyCallbacks(drawerId, nextState);\n\n return {\n ...prev,\n [drawerId]: nextState,\n };\n });\n },\n [notifyCallbacks],\n );\n\n const toggleDrawer = useCallback(\n (drawerId: Key) => {\n updateDrawerState(drawerId, { type: 'TOGGLE' });\n },\n [updateDrawerState],\n );\n\n const openDrawer = useCallback(\n (drawerId: Key, menuItemId?: Key) => {\n updateDrawerState(drawerId, { type: 'OPEN', menuItemId });\n },\n [updateDrawerState],\n );\n\n const closeDrawer = useCallback(\n (drawerId: Key) => {\n updateDrawerState(drawerId, { type: 'CLOSE' });\n },\n [updateDrawerState],\n );\n\n const selectMenuItem = useCallback(\n (drawerId: Key, menuItemId?: Key) => {\n updateDrawerState(drawerId, {\n type: 'SET_MENU_ID',\n menuItemId: menuItemId ?? '',\n });\n },\n [updateDrawerState],\n );\n\n const isSelectedMenuItem = useCallback(\n (selectedMenuItemId?: Key, menuItemId?: Key) => {\n return (\n selectedMenuItemId !== '' &&\n typeof selectedMenuItemId !== 'undefined' &&\n menuItemId === selectedMenuItemId\n );\n },\n [],\n );\n\n const getDrawerState = useCallback(\n (drawerId: Key): DrawerState => {\n return (\n drawerStates[drawerId] ||\n createDefaultDrawerState({\n id: drawerId,\n selectedMenuItemId: DrawerDefaults.selectedMenuItemId,\n isOpen: DrawerDefaults.isOpen,\n })\n );\n },\n [drawerStates],\n );\n\n const registerDrawer = useCallback(\n (initialState: DrawerState, drawerCallbacks?: DrawerCallbacks) => {\n setCallbacks((prev) => ({\n ...prev,\n [initialState.id]: drawerCallbacks || {},\n }));\n\n setDrawerStates((prev) => {\n const currentState = prev[initialState.id];\n return {\n ...prev,\n [initialState.id]: {\n ...initialState,\n selectedMenuItemId:\n currentState?.selectedMenuItemId ??\n initialState.selectedMenuItemId,\n },\n };\n });\n },\n [],\n );\n\n const contextValue = useMemo<DrawersContextValue>(\n () => ({\n drawerStates,\n toggleDrawer,\n openDrawer,\n closeDrawer,\n getDrawerState,\n registerDrawer,\n selectMenuItem,\n isSelectedMenuItem,\n }),\n [\n drawerStates,\n toggleDrawer,\n openDrawer,\n closeDrawer,\n getDrawerState,\n registerDrawer,\n selectMenuItem,\n isSelectedMenuItem,\n ],\n );\n\n return contextValue;\n}\n\nexport { DrawersContext, DrawerContext };\n"]}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { DrawerState } from './types.js';
|
|
2
|
-
import { Key } from '@react-types/shared';
|
|
3
|
-
import 'react';
|
|
4
|
-
|
|
5
|
-
type DrawerAction = {
|
|
6
|
-
type: 'TOGGLE';
|
|
7
|
-
} | {
|
|
8
|
-
type: 'OPEN';
|
|
9
|
-
menuItemId?: Key;
|
|
10
|
-
} | {
|
|
11
|
-
type: 'CLOSE';
|
|
12
|
-
} | {
|
|
13
|
-
type: 'SET_MENU_ID';
|
|
14
|
-
menuItemId?: Key;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Default state for new drawers
|
|
18
|
-
*/
|
|
19
|
-
declare const createDefaultDrawerState: ({ id, selectedMenuItemId, isOpen, }: {
|
|
20
|
-
id: Key;
|
|
21
|
-
selectedMenuItemId?: Key;
|
|
22
|
-
isOpen?: boolean;
|
|
23
|
-
}) => DrawerState;
|
|
24
|
-
declare const drawerStateReducer: (state: DrawerState, action: DrawerAction) => DrawerState;
|
|
25
|
-
|
|
26
|
-
export { type DrawerAction, createDefaultDrawerState, drawerStateReducer };
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import {DrawerDefaults}from'./types.js';const I=({id:e,selectedMenuItemId:t=DrawerDefaults.selectedMenuItemId,isOpen:n=DrawerDefaults.isOpen})=>({id:e,isOpen:n,selectedMenuItemId:t}),u=(e,t)=>{switch(t.type){case "TOGGLE":return {...e,isOpen:!e.isOpen,selectedMenuItemId:e.isOpen?void 0:e.selectedMenuItemId};case "OPEN":return {...e,isOpen:true,selectedMenuItemId:t.menuItemId};case "CLOSE":return {...e,isOpen:false,selectedMenuItemId:void 0};case "SET_MENU_ID":return {...e,selectedMenuItemId:t.menuItemId};default:return e}};export{I as createDefaultDrawerState,u as drawerStateReducer};//# sourceMappingURL=state.js.map
|
|
2
|
-
//# sourceMappingURL=state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/drawer/state.ts"],"names":["id","DrawerDefaults","r","drawerStateReducer","state","action"],"mappings":"wCAwByC,MACvC,CAAA,CAAA,CAAAA,CAAAA,uBACqBC,CAAe,mCACpC,CAAA,OAAwB,CAAA,CAAAC,cAAA,CAAA,MAC1B,CAIoB,IAAEF,CAAAA,EAAI,CAAA,CAAA,CAAA,2BAA2B,CAExCG,EAAqB,CAChCC,CAAAA,CACAC,IACgB,CAChB,GAAA,CAAA,OAAe,CAAA,CAAA,MACR,KAAA,QACH,CAAA,OACKD,CAAAA,WACY,CAAA,CAAA,CAAA,CAAA,MACf,CAAA,kBAA0B,CAAA,CAAA,CAAA,MAAS,CAAA,MAAkB,CAAA,CAAA,CAAA,oBAGpD,KAAA,MACH,CAAA,OACKA,CAAAA,WAEH,CAAA,IAAA,CAAA,kBAA2B,CAAA,CAAA,CAAA,YAG1B,KAAA,OACH,CAAA,OACKA,IACH,CAAA,CAAA,MACA,yBAAoB,CAAA,QAGnB,KAAA,aACH,CAAA,OACKA,CAAAA,uBACwB,CAAA,CAAA,CAAA,UAG/B,CAAA,CAAA,QACE,OAEN,CAAA,CAAA","file":"state.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 */\nimport { DrawerDefaults, type DrawerState } from './types';\n\nimport type { Key } from '@react-types/shared';\n\nexport type DrawerAction =\n | { type: 'TOGGLE' }\n | { type: 'OPEN'; menuItemId?: Key }\n | { type: 'CLOSE' }\n | { type: 'SET_MENU_ID'; menuItemId?: Key };\n\n/**\n * Default state for new drawers\n */\nexport const createDefaultDrawerState = ({\n id,\n selectedMenuItemId = DrawerDefaults.selectedMenuItemId,\n isOpen = DrawerDefaults.isOpen,\n}: {\n id: Key;\n selectedMenuItemId?: Key;\n isOpen?: boolean;\n}): DrawerState => ({ id, isOpen, selectedMenuItemId });\n\nexport const drawerStateReducer = (\n state: DrawerState,\n action: DrawerAction,\n): DrawerState => {\n switch (action.type) {\n case 'TOGGLE':\n return {\n ...state,\n isOpen: !state.isOpen,\n selectedMenuItemId: state.isOpen ? undefined : state.selectedMenuItemId,\n };\n\n case 'OPEN':\n return {\n ...state,\n isOpen: true,\n selectedMenuItemId: action.menuItemId,\n };\n\n case 'CLOSE':\n return {\n ...state,\n isOpen: false,\n selectedMenuItemId: undefined,\n };\n\n case 'SET_MENU_ID':\n return {\n ...state,\n selectedMenuItemId: action.menuItemId,\n };\n\n default:\n return state;\n }\n};\n"]}
|