@kushagradhawan/kookie-ui 0.1.41 → 0.1.42
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/README.md +257 -60
- package/components.css +386 -79
- package/dist/cjs/components/schemas/base-button.schema.d.ts +319 -0
- package/dist/cjs/components/schemas/base-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/base-button.schema.js +2 -0
- package/dist/cjs/components/schemas/base-button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/button.schema.d.ts +686 -0
- package/dist/cjs/components/schemas/button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/button.schema.js +2 -0
- package/dist/cjs/components/schemas/button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/icon-button.schema.d.ts +329 -0
- package/dist/cjs/components/schemas/icon-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/icon-button.schema.js +2 -0
- package/dist/cjs/components/schemas/icon-button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/index.d.ts +52 -0
- package/dist/cjs/components/schemas/index.d.ts.map +1 -0
- package/dist/cjs/components/schemas/index.js +2 -0
- package/dist/cjs/components/schemas/index.js.map +7 -0
- package/dist/cjs/components/schemas/toggle-button.schema.d.ts +1172 -0
- package/dist/cjs/components/schemas/toggle-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/toggle-button.schema.js +2 -0
- package/dist/cjs/components/schemas/toggle-button.schema.js.map +7 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts +563 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.d.ts.map +1 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.js +2 -0
- package/dist/cjs/components/schemas/toggle-icon-button.schema.js.map +7 -0
- package/dist/cjs/components/sheet.d.ts +1 -1
- package/dist/cjs/components/sheet.d.ts.map +1 -1
- package/dist/cjs/components/sheet.js +1 -1
- package/dist/cjs/components/sheet.js.map +3 -3
- package/dist/cjs/components/shell.d.ts +125 -164
- package/dist/cjs/components/shell.d.ts.map +1 -1
- package/dist/cjs/components/shell.js +1 -1
- package/dist/cjs/components/shell.js.map +3 -3
- package/dist/cjs/components/sidebar.d.ts +1 -7
- package/dist/cjs/components/sidebar.d.ts.map +1 -1
- package/dist/cjs/components/sidebar.js +1 -1
- package/dist/cjs/components/sidebar.js.map +3 -3
- package/dist/cjs/components/theme.d.ts +3 -0
- package/dist/cjs/components/theme.d.ts.map +1 -1
- package/dist/cjs/components/theme.js +1 -1
- package/dist/cjs/components/theme.js.map +3 -3
- package/dist/cjs/components/theme.props.d.ts +10 -0
- package/dist/cjs/components/theme.props.d.ts.map +1 -1
- package/dist/cjs/components/theme.props.js +1 -1
- package/dist/cjs/components/theme.props.js.map +3 -3
- package/dist/cjs/helpers/font-config.d.ts +96 -0
- package/dist/cjs/helpers/font-config.d.ts.map +1 -0
- package/dist/cjs/helpers/font-config.js +3 -0
- package/dist/cjs/helpers/font-config.js.map +7 -0
- package/dist/cjs/helpers/index.d.ts +1 -0
- package/dist/cjs/helpers/index.d.ts.map +1 -1
- package/dist/cjs/helpers/index.js +1 -1
- package/dist/cjs/helpers/index.js.map +2 -2
- package/dist/esm/components/schemas/base-button.schema.d.ts +319 -0
- package/dist/esm/components/schemas/base-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/base-button.schema.js +2 -0
- package/dist/esm/components/schemas/base-button.schema.js.map +7 -0
- package/dist/esm/components/schemas/button.schema.d.ts +686 -0
- package/dist/esm/components/schemas/button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/button.schema.js +2 -0
- package/dist/esm/components/schemas/button.schema.js.map +7 -0
- package/dist/esm/components/schemas/icon-button.schema.d.ts +329 -0
- package/dist/esm/components/schemas/icon-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/icon-button.schema.js +2 -0
- package/dist/esm/components/schemas/icon-button.schema.js.map +7 -0
- package/dist/esm/components/schemas/index.d.ts +52 -0
- package/dist/esm/components/schemas/index.d.ts.map +1 -0
- package/dist/esm/components/schemas/index.js +2 -0
- package/dist/esm/components/schemas/index.js.map +7 -0
- package/dist/esm/components/schemas/toggle-button.schema.d.ts +1172 -0
- package/dist/esm/components/schemas/toggle-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/toggle-button.schema.js +2 -0
- package/dist/esm/components/schemas/toggle-button.schema.js.map +7 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts +563 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.d.ts.map +1 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.js +2 -0
- package/dist/esm/components/schemas/toggle-icon-button.schema.js.map +7 -0
- package/dist/esm/components/sheet.d.ts +1 -1
- package/dist/esm/components/sheet.d.ts.map +1 -1
- package/dist/esm/components/sheet.js +1 -1
- package/dist/esm/components/sheet.js.map +3 -3
- package/dist/esm/components/shell.d.ts +125 -164
- package/dist/esm/components/shell.d.ts.map +1 -1
- package/dist/esm/components/shell.js +1 -1
- package/dist/esm/components/shell.js.map +3 -3
- package/dist/esm/components/sidebar.d.ts +1 -7
- package/dist/esm/components/sidebar.d.ts.map +1 -1
- package/dist/esm/components/sidebar.js +1 -1
- package/dist/esm/components/sidebar.js.map +3 -3
- package/dist/esm/components/theme.d.ts +3 -0
- package/dist/esm/components/theme.d.ts.map +1 -1
- package/dist/esm/components/theme.js +1 -1
- package/dist/esm/components/theme.js.map +3 -3
- package/dist/esm/components/theme.props.d.ts +10 -0
- package/dist/esm/components/theme.props.d.ts.map +1 -1
- package/dist/esm/components/theme.props.js +1 -1
- package/dist/esm/components/theme.props.js.map +3 -3
- package/dist/esm/helpers/font-config.d.ts +96 -0
- package/dist/esm/helpers/font-config.d.ts.map +1 -0
- package/dist/esm/helpers/font-config.js +3 -0
- package/dist/esm/helpers/font-config.js.map +7 -0
- package/dist/esm/helpers/index.d.ts +1 -0
- package/dist/esm/helpers/index.d.ts.map +1 -1
- package/dist/esm/helpers/index.js +1 -1
- package/dist/esm/helpers/index.js.map +2 -2
- package/package.json +23 -3
- package/schemas/base-button.d.ts +2 -0
- package/schemas/base-button.json +284 -0
- package/schemas/button.d.ts +2 -0
- package/schemas/button.json +535 -0
- package/schemas/icon-button.d.ts +2 -0
- package/schemas/icon-button.json +318 -0
- package/schemas/index.d.ts +2 -0
- package/schemas/index.json +2016 -0
- package/schemas/schemas.d.ts +29 -0
- package/schemas/toggle-button.d.ts +2 -0
- package/schemas/toggle-button.json +543 -0
- package/schemas/toggle-icon-button.d.ts +2 -0
- package/schemas/toggle-icon-button.json +326 -0
- package/schemas-json.d.ts +12 -0
- package/src/components/_internal/base-sidebar.css +1 -2
- package/src/components/schemas/base-button.schema.ts +339 -0
- package/src/components/schemas/button.schema.ts +198 -0
- package/src/components/schemas/icon-button.schema.ts +142 -0
- package/src/components/schemas/index.ts +68 -0
- package/src/components/schemas/toggle-button.schema.ts +122 -0
- package/src/components/schemas/toggle-icon-button.schema.ts +195 -0
- package/src/components/sheet.css +39 -19
- package/src/components/sheet.tsx +62 -3
- package/src/components/shell.css +510 -89
- package/src/components/shell.tsx +2055 -928
- package/src/components/sidebar.tsx +3 -22
- package/src/components/theme.props.tsx +8 -0
- package/src/components/theme.tsx +16 -0
- package/src/helpers/font-config.ts +167 -0
- package/src/helpers/index.ts +1 -0
- package/src/styles/fonts.css +16 -13
- package/src/styles/tokens/typography.css +27 -4
- package/styles.css +398 -79
- package/tokens/base.css +12 -0
- package/tokens.css +12 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle-button.schema.d.ts","sourceRoot":"","sources":["../../../../src/components/schemas/toggle-button.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAC7B;;;OAGG;;IAGH;;;OAGG;;IAGH;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BF,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAKxE"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var t=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var g=(e,o)=>{for(var n in o)t(e,n,{get:o[n],enumerable:!0})},f=(e,o,n,d)=>{if(o&&typeof o=="object"||typeof o=="function")for(let s of a(o))!l.call(e,s)&&s!==n&&t(e,s,{get:()=>o[s],enumerable:!(d=u(o,s))||d.enumerable});return e};var i=e=>f(t({},"__esModule",{value:!0}),e);var m={};g(m,{ToggleButtonSchema:()=>c,parseToggleButtonProps:()=>h});module.exports=i(m);var r=require("zod"),p=require("./button.schema.js");const c=p.ButtonSchema.extend({pressed:r.z.boolean().optional().describe("Controlled pressed state"),onPressedChange:r.z.function().optional().describe("Callback when pressed state changes"),defaultPressed:r.z.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(e=>!(e.pressed!==void 0&&e.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(e=>!(e.pressed!==void 0&&e.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function h(e){return e}
|
|
2
|
+
//# sourceMappingURL=toggle-button.schema.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/schemas/toggle-button.schema.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from 'zod';\nimport { ButtonSchema } from './button.schema.js';\n\n/**\n * ToggleButton Zod schema - Single source of truth for ToggleButton component props\n *\n * ToggleButton extends Button with toggle functionality using Radix UI's Toggle primitive.\n * It provides proper accessibility announcements, controlled/uncontrolled state management,\n * and seamless integration with the existing Button component.\n *\n * Key features:\n * - Controlled and uncontrolled state management\n * - Live accessibility announcements for screen readers\n * - Automatic state validation and warnings\n * - Seamless integration with Button props and styling\n * - Proper ARIA attributes for toggle functionality\n *\n * @example\n * ```tsx\n * // Uncontrolled toggle button\n * const props = ToggleButtonSchema.parse({\n * defaultPressed: false,\n * variant: 'outline'\n * });\n *\n * // Controlled toggle button\n * const controlledProps = ToggleButtonSchema.parse({\n * pressed: true,\n * onPressedChange: (pressed) => console.log(pressed),\n * variant: 'soft'\n * });\n *\n * // Toggle button with tooltip\n * const tooltipProps = ToggleButtonSchema.parse({\n * defaultPressed: false,\n * tooltip: 'Toggle dark mode',\n * children: 'Dark Mode'\n * });\n * ```\n */\nexport const ToggleButtonSchema = ButtonSchema.extend({\n /**\n * Controlled pressed state\n * When provided, the component is controlled and the pressed state is managed externally\n */\n pressed: z.boolean().optional().describe('Controlled pressed state'),\n\n /**\n * Callback when pressed state changes\n * Called with the new pressed state when the toggle is activated\n */\n onPressedChange: z.function().optional().describe('Callback when pressed state changes'),\n\n /**\n * Default pressed state for uncontrolled usage\n * Used as the initial pressed state when the component is uncontrolled\n */\n defaultPressed: z.boolean().optional().describe('Default pressed state for uncontrolled usage'),\n})\n .refine(\n (data) => {\n // If pressed is provided, onPressedChange should also be provided for controlled usage\n if (data.pressed !== undefined && data.onPressedChange === undefined) {\n return false;\n }\n return true;\n },\n {\n message: 'When using controlled mode (pressed prop), onPressedChange must also be provided',\n path: ['onPressedChange'],\n },\n )\n .refine(\n (data) => {\n // Cannot have both controlled and uncontrolled props\n if (data.pressed !== undefined && data.defaultPressed !== undefined) {\n return false;\n }\n return true;\n },\n {\n message:\n 'Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together',\n path: ['pressed', 'defaultPressed'],\n },\n );\n\n/**\n * Type derived from ToggleButton Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type ToggleButtonProps = z.infer<typeof ToggleButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize ToggleButton props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const invalidProps = parseToggleButtonProps({\n * pressed: true,\n * defaultPressed: false\n * // Missing onPressedChange and conflicting controlled/uncontrolled\n * });\n * // Throws: \"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together\"\n *\n * const validProps = parseToggleButtonProps({\n * pressed: true,\n * onPressedChange: (pressed) => setPressed(pressed)\n * });\n * ```\n */\nexport function parseToggleButtonProps(props: unknown): ToggleButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return ToggleButtonSchema.parse(props);\n }\n return props as ToggleButtonProps;\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,EAAA,2BAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAkB,eAClBC,EAA6B,8BAuCtB,MAAMJ,EAAqB,eAAa,OAAO,CAKpD,QAAS,IAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,0BAA0B,EAMnE,gBAAiB,IAAE,SAAS,EAAE,SAAS,EAAE,SAAS,qCAAqC,EAMvF,eAAgB,IAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,8CAA8C,CAChG,CAAC,EACE,OACEK,GAEK,EAAAA,EAAK,UAAY,QAAaA,EAAK,kBAAoB,QAK7D,CACE,QAAS,mFACT,KAAM,CAAC,iBAAiB,CAC1B,CACF,EACC,OACEA,GAEK,EAAAA,EAAK,UAAY,QAAaA,EAAK,iBAAmB,QAK5D,CACE,QACE,wFACF,KAAM,CAAC,UAAW,gBAAgB,CACpC,CACF,EA+BK,SAASJ,EAAuBK,EAAmC,CAIxE,OAAOA,CACT",
|
|
6
|
+
"names": ["toggle_button_schema_exports", "__export", "ToggleButtonSchema", "parseToggleButtonProps", "__toCommonJS", "import_zod", "import_button_schema", "data", "props"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,563 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* ToggleIconButton Zod schema - Single source of truth for ToggleIconButton component props
|
|
4
|
+
*
|
|
5
|
+
* ToggleIconButton extends IconButton with toggle functionality using Radix UI's Toggle primitive.
|
|
6
|
+
* It provides proper accessibility announcements, controlled/uncontrolled state management,
|
|
7
|
+
* and seamless integration with the existing IconButton component.
|
|
8
|
+
*
|
|
9
|
+
* Key features:
|
|
10
|
+
* - Required accessibility attributes (aria-label, aria-labelledby, or children)
|
|
11
|
+
* - Controlled and uncontrolled state management
|
|
12
|
+
* - Live accessibility announcements for screen readers
|
|
13
|
+
* - Tooltip support for better UX
|
|
14
|
+
* - Proper ARIA attributes for toggle functionality
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* // Uncontrolled toggle icon button
|
|
19
|
+
* const props = ToggleIconButtonSchema.parse({
|
|
20
|
+
* 'aria-label': 'Toggle sidebar',
|
|
21
|
+
* defaultPressed: false,
|
|
22
|
+
* variant: 'ghost'
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* // Controlled toggle icon button
|
|
26
|
+
* const controlledProps = ToggleIconButtonSchema.parse({
|
|
27
|
+
* 'aria-label': 'Toggle dark mode',
|
|
28
|
+
* pressed: true,
|
|
29
|
+
* onPressedChange: (pressed) => setDarkMode(pressed),
|
|
30
|
+
* variant: 'soft'
|
|
31
|
+
* });
|
|
32
|
+
*
|
|
33
|
+
* // Toggle icon button with tooltip
|
|
34
|
+
* const tooltipProps = ToggleIconButtonSchema.parse({
|
|
35
|
+
* 'aria-label': 'Toggle notifications',
|
|
36
|
+
* defaultPressed: false,
|
|
37
|
+
* tooltip: 'Toggle notification settings',
|
|
38
|
+
* tooltipSide: 'right'
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export declare const ToggleIconButtonSchema: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
43
|
+
as: z.ZodOptional<z.ZodString>;
|
|
44
|
+
asChild: z.ZodOptional<z.ZodBoolean>;
|
|
45
|
+
size: z.ZodDefault<z.ZodUnion<[z.ZodEnum<["1", "2", "3", "4"]>, z.ZodObject<{
|
|
46
|
+
initial: z.ZodOptional<z.ZodEnum<["1", "2", "3", "4"]>>;
|
|
47
|
+
sm: z.ZodOptional<z.ZodEnum<["1", "2", "3", "4"]>>;
|
|
48
|
+
md: z.ZodOptional<z.ZodEnum<["1", "2", "3", "4"]>>;
|
|
49
|
+
lg: z.ZodOptional<z.ZodEnum<["1", "2", "3", "4"]>>;
|
|
50
|
+
xl: z.ZodOptional<z.ZodEnum<["1", "2", "3", "4"]>>;
|
|
51
|
+
}, "strip", z.ZodTypeAny, {
|
|
52
|
+
initial?: "1" | "2" | "3" | "4" | undefined;
|
|
53
|
+
sm?: "1" | "2" | "3" | "4" | undefined;
|
|
54
|
+
md?: "1" | "2" | "3" | "4" | undefined;
|
|
55
|
+
lg?: "1" | "2" | "3" | "4" | undefined;
|
|
56
|
+
xl?: "1" | "2" | "3" | "4" | undefined;
|
|
57
|
+
}, {
|
|
58
|
+
initial?: "1" | "2" | "3" | "4" | undefined;
|
|
59
|
+
sm?: "1" | "2" | "3" | "4" | undefined;
|
|
60
|
+
md?: "1" | "2" | "3" | "4" | undefined;
|
|
61
|
+
lg?: "1" | "2" | "3" | "4" | undefined;
|
|
62
|
+
xl?: "1" | "2" | "3" | "4" | undefined;
|
|
63
|
+
}>]>>;
|
|
64
|
+
variant: z.ZodDefault<z.ZodEnum<["classic", "solid", "soft", "surface", "outline", "ghost", "override"]>>;
|
|
65
|
+
color: z.ZodOptional<z.ZodEnum<["tomato", "red", "ruby", "crimson", "pink", "plum", "purple", "violet", "iris", "indigo", "blue", "cyan", "teal", "jade", "green", "grass", "brown", "orange", "sky", "mint", "lime", "yellow", "amber", "gold", "bronze", "gray"]>>;
|
|
66
|
+
highContrast: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
67
|
+
radius: z.ZodOptional<z.ZodEnum<["none", "small", "medium", "large", "full"]>>;
|
|
68
|
+
loading: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
69
|
+
fullWidth: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
70
|
+
material: z.ZodOptional<z.ZodEnum<["solid", "translucent"]>>;
|
|
71
|
+
panelBackground: z.ZodOptional<z.ZodEnum<["solid", "translucent"]>>;
|
|
72
|
+
flush: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
73
|
+
disabled: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
74
|
+
type: z.ZodOptional<z.ZodEnum<["button", "submit", "reset"]>>;
|
|
75
|
+
className: z.ZodOptional<z.ZodString>;
|
|
76
|
+
style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber]>>>;
|
|
77
|
+
onClick: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
78
|
+
onFocus: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
79
|
+
onBlur: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
80
|
+
onMouseEnter: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
81
|
+
onMouseLeave: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
82
|
+
onKeyDown: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
83
|
+
onKeyUp: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
84
|
+
onSubmit: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
85
|
+
tabIndex: z.ZodOptional<z.ZodNumber>;
|
|
86
|
+
'aria-describedby': z.ZodOptional<z.ZodString>;
|
|
87
|
+
'aria-expanded': z.ZodOptional<z.ZodBoolean>;
|
|
88
|
+
'aria-pressed': z.ZodOptional<z.ZodBoolean>;
|
|
89
|
+
'aria-current': z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodEnum<["page", "step", "location", "date", "time"]>]>>;
|
|
90
|
+
'aria-controls': z.ZodOptional<z.ZodString>;
|
|
91
|
+
'aria-owns': z.ZodOptional<z.ZodString>;
|
|
92
|
+
'data-*': z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
93
|
+
id: z.ZodOptional<z.ZodString>;
|
|
94
|
+
title: z.ZodOptional<z.ZodString>;
|
|
95
|
+
role: z.ZodOptional<z.ZodString>;
|
|
96
|
+
} & {
|
|
97
|
+
tooltip: z.ZodOptional<z.ZodString>;
|
|
98
|
+
tooltipSide: z.ZodDefault<z.ZodOptional<z.ZodEnum<["top", "right", "bottom", "left"]>>>;
|
|
99
|
+
tooltipAlign: z.ZodDefault<z.ZodOptional<z.ZodEnum<["start", "center", "end"]>>>;
|
|
100
|
+
tooltipDelayDuration: z.ZodOptional<z.ZodNumber>;
|
|
101
|
+
tooltipDisableHoverableContent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
102
|
+
'aria-label': z.ZodOptional<z.ZodString>;
|
|
103
|
+
'aria-labelledby': z.ZodOptional<z.ZodString>;
|
|
104
|
+
children: z.ZodOptional<z.ZodAny>;
|
|
105
|
+
pressed: z.ZodOptional<z.ZodBoolean>;
|
|
106
|
+
onPressedChange: z.ZodOptional<z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>;
|
|
107
|
+
defaultPressed: z.ZodOptional<z.ZodBoolean>;
|
|
108
|
+
}, "strict", z.ZodTypeAny, {
|
|
109
|
+
size: "1" | "2" | "3" | "4" | {
|
|
110
|
+
initial?: "1" | "2" | "3" | "4" | undefined;
|
|
111
|
+
sm?: "1" | "2" | "3" | "4" | undefined;
|
|
112
|
+
md?: "1" | "2" | "3" | "4" | undefined;
|
|
113
|
+
lg?: "1" | "2" | "3" | "4" | undefined;
|
|
114
|
+
xl?: "1" | "2" | "3" | "4" | undefined;
|
|
115
|
+
};
|
|
116
|
+
disabled: boolean;
|
|
117
|
+
variant: "classic" | "soft" | "surface" | "outline" | "ghost" | "solid" | "override";
|
|
118
|
+
highContrast: boolean;
|
|
119
|
+
flush: boolean;
|
|
120
|
+
loading: boolean;
|
|
121
|
+
tooltipSide: "left" | "right" | "bottom" | "top";
|
|
122
|
+
tooltipAlign: "center" | "end" | "start";
|
|
123
|
+
tooltipDisableHoverableContent: boolean;
|
|
124
|
+
fullWidth: boolean;
|
|
125
|
+
className?: string | undefined;
|
|
126
|
+
color?: "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky" | undefined;
|
|
127
|
+
style?: Record<string, string | number> | undefined;
|
|
128
|
+
tooltip?: string | undefined;
|
|
129
|
+
title?: string | undefined;
|
|
130
|
+
as?: string | undefined;
|
|
131
|
+
asChild?: boolean | undefined;
|
|
132
|
+
id?: string | undefined;
|
|
133
|
+
tabIndex?: number | undefined;
|
|
134
|
+
role?: string | undefined;
|
|
135
|
+
'aria-controls'?: string | undefined;
|
|
136
|
+
'aria-current'?: boolean | "page" | "time" | "step" | "location" | "date" | undefined;
|
|
137
|
+
'aria-describedby'?: string | undefined;
|
|
138
|
+
'aria-expanded'?: boolean | undefined;
|
|
139
|
+
'aria-label'?: string | undefined;
|
|
140
|
+
'aria-labelledby'?: string | undefined;
|
|
141
|
+
'aria-owns'?: string | undefined;
|
|
142
|
+
'aria-pressed'?: boolean | undefined;
|
|
143
|
+
children?: any;
|
|
144
|
+
onFocus?: ((...args: unknown[]) => unknown) | undefined;
|
|
145
|
+
onBlur?: ((...args: unknown[]) => unknown) | undefined;
|
|
146
|
+
onSubmit?: ((...args: unknown[]) => unknown) | undefined;
|
|
147
|
+
onKeyDown?: ((...args: unknown[]) => unknown) | undefined;
|
|
148
|
+
onKeyUp?: ((...args: unknown[]) => unknown) | undefined;
|
|
149
|
+
onClick?: ((...args: unknown[]) => unknown) | undefined;
|
|
150
|
+
onMouseEnter?: ((...args: unknown[]) => unknown) | undefined;
|
|
151
|
+
onMouseLeave?: ((...args: unknown[]) => unknown) | undefined;
|
|
152
|
+
type?: "button" | "reset" | "submit" | undefined;
|
|
153
|
+
radius?: "small" | "none" | "medium" | "large" | "full" | undefined;
|
|
154
|
+
material?: "solid" | "translucent" | undefined;
|
|
155
|
+
panelBackground?: "solid" | "translucent" | undefined;
|
|
156
|
+
tooltipDelayDuration?: number | undefined;
|
|
157
|
+
pressed?: boolean | undefined;
|
|
158
|
+
defaultPressed?: boolean | undefined;
|
|
159
|
+
onPressedChange?: ((...args: unknown[]) => unknown) | undefined;
|
|
160
|
+
'data-*'?: Record<string, string> | undefined;
|
|
161
|
+
}, {
|
|
162
|
+
className?: string | undefined;
|
|
163
|
+
color?: "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky" | undefined;
|
|
164
|
+
size?: "1" | "2" | "3" | "4" | {
|
|
165
|
+
initial?: "1" | "2" | "3" | "4" | undefined;
|
|
166
|
+
sm?: "1" | "2" | "3" | "4" | undefined;
|
|
167
|
+
md?: "1" | "2" | "3" | "4" | undefined;
|
|
168
|
+
lg?: "1" | "2" | "3" | "4" | undefined;
|
|
169
|
+
xl?: "1" | "2" | "3" | "4" | undefined;
|
|
170
|
+
} | undefined;
|
|
171
|
+
style?: Record<string, string | number> | undefined;
|
|
172
|
+
tooltip?: string | undefined;
|
|
173
|
+
disabled?: boolean | undefined;
|
|
174
|
+
title?: string | undefined;
|
|
175
|
+
as?: string | undefined;
|
|
176
|
+
asChild?: boolean | undefined;
|
|
177
|
+
id?: string | undefined;
|
|
178
|
+
tabIndex?: number | undefined;
|
|
179
|
+
role?: string | undefined;
|
|
180
|
+
'aria-controls'?: string | undefined;
|
|
181
|
+
'aria-current'?: boolean | "page" | "time" | "step" | "location" | "date" | undefined;
|
|
182
|
+
'aria-describedby'?: string | undefined;
|
|
183
|
+
'aria-expanded'?: boolean | undefined;
|
|
184
|
+
'aria-label'?: string | undefined;
|
|
185
|
+
'aria-labelledby'?: string | undefined;
|
|
186
|
+
'aria-owns'?: string | undefined;
|
|
187
|
+
'aria-pressed'?: boolean | undefined;
|
|
188
|
+
children?: any;
|
|
189
|
+
onFocus?: ((...args: unknown[]) => unknown) | undefined;
|
|
190
|
+
onBlur?: ((...args: unknown[]) => unknown) | undefined;
|
|
191
|
+
onSubmit?: ((...args: unknown[]) => unknown) | undefined;
|
|
192
|
+
onKeyDown?: ((...args: unknown[]) => unknown) | undefined;
|
|
193
|
+
onKeyUp?: ((...args: unknown[]) => unknown) | undefined;
|
|
194
|
+
onClick?: ((...args: unknown[]) => unknown) | undefined;
|
|
195
|
+
onMouseEnter?: ((...args: unknown[]) => unknown) | undefined;
|
|
196
|
+
onMouseLeave?: ((...args: unknown[]) => unknown) | undefined;
|
|
197
|
+
type?: "button" | "reset" | "submit" | undefined;
|
|
198
|
+
variant?: "classic" | "soft" | "surface" | "outline" | "ghost" | "solid" | "override" | undefined;
|
|
199
|
+
highContrast?: boolean | undefined;
|
|
200
|
+
radius?: "small" | "none" | "medium" | "large" | "full" | undefined;
|
|
201
|
+
material?: "solid" | "translucent" | undefined;
|
|
202
|
+
panelBackground?: "solid" | "translucent" | undefined;
|
|
203
|
+
flush?: boolean | undefined;
|
|
204
|
+
loading?: boolean | undefined;
|
|
205
|
+
tooltipSide?: "left" | "right" | "bottom" | "top" | undefined;
|
|
206
|
+
tooltipAlign?: "center" | "end" | "start" | undefined;
|
|
207
|
+
tooltipDelayDuration?: number | undefined;
|
|
208
|
+
tooltipDisableHoverableContent?: boolean | undefined;
|
|
209
|
+
fullWidth?: boolean | undefined;
|
|
210
|
+
pressed?: boolean | undefined;
|
|
211
|
+
defaultPressed?: boolean | undefined;
|
|
212
|
+
onPressedChange?: ((...args: unknown[]) => unknown) | undefined;
|
|
213
|
+
'data-*'?: Record<string, string> | undefined;
|
|
214
|
+
}>, {
|
|
215
|
+
size: "1" | "2" | "3" | "4" | {
|
|
216
|
+
initial?: "1" | "2" | "3" | "4" | undefined;
|
|
217
|
+
sm?: "1" | "2" | "3" | "4" | undefined;
|
|
218
|
+
md?: "1" | "2" | "3" | "4" | undefined;
|
|
219
|
+
lg?: "1" | "2" | "3" | "4" | undefined;
|
|
220
|
+
xl?: "1" | "2" | "3" | "4" | undefined;
|
|
221
|
+
};
|
|
222
|
+
disabled: boolean;
|
|
223
|
+
variant: "classic" | "soft" | "surface" | "outline" | "ghost" | "solid" | "override";
|
|
224
|
+
highContrast: boolean;
|
|
225
|
+
flush: boolean;
|
|
226
|
+
loading: boolean;
|
|
227
|
+
tooltipSide: "left" | "right" | "bottom" | "top";
|
|
228
|
+
tooltipAlign: "center" | "end" | "start";
|
|
229
|
+
tooltipDisableHoverableContent: boolean;
|
|
230
|
+
fullWidth: boolean;
|
|
231
|
+
className?: string | undefined;
|
|
232
|
+
color?: "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky" | undefined;
|
|
233
|
+
style?: Record<string, string | number> | undefined;
|
|
234
|
+
tooltip?: string | undefined;
|
|
235
|
+
title?: string | undefined;
|
|
236
|
+
as?: string | undefined;
|
|
237
|
+
asChild?: boolean | undefined;
|
|
238
|
+
id?: string | undefined;
|
|
239
|
+
tabIndex?: number | undefined;
|
|
240
|
+
role?: string | undefined;
|
|
241
|
+
'aria-controls'?: string | undefined;
|
|
242
|
+
'aria-current'?: boolean | "page" | "time" | "step" | "location" | "date" | undefined;
|
|
243
|
+
'aria-describedby'?: string | undefined;
|
|
244
|
+
'aria-expanded'?: boolean | undefined;
|
|
245
|
+
'aria-label'?: string | undefined;
|
|
246
|
+
'aria-labelledby'?: string | undefined;
|
|
247
|
+
'aria-owns'?: string | undefined;
|
|
248
|
+
'aria-pressed'?: boolean | undefined;
|
|
249
|
+
children?: any;
|
|
250
|
+
onFocus?: ((...args: unknown[]) => unknown) | undefined;
|
|
251
|
+
onBlur?: ((...args: unknown[]) => unknown) | undefined;
|
|
252
|
+
onSubmit?: ((...args: unknown[]) => unknown) | undefined;
|
|
253
|
+
onKeyDown?: ((...args: unknown[]) => unknown) | undefined;
|
|
254
|
+
onKeyUp?: ((...args: unknown[]) => unknown) | undefined;
|
|
255
|
+
onClick?: ((...args: unknown[]) => unknown) | undefined;
|
|
256
|
+
onMouseEnter?: ((...args: unknown[]) => unknown) | undefined;
|
|
257
|
+
onMouseLeave?: ((...args: unknown[]) => unknown) | undefined;
|
|
258
|
+
type?: "button" | "reset" | "submit" | undefined;
|
|
259
|
+
radius?: "small" | "none" | "medium" | "large" | "full" | undefined;
|
|
260
|
+
material?: "solid" | "translucent" | undefined;
|
|
261
|
+
panelBackground?: "solid" | "translucent" | undefined;
|
|
262
|
+
tooltipDelayDuration?: number | undefined;
|
|
263
|
+
pressed?: boolean | undefined;
|
|
264
|
+
defaultPressed?: boolean | undefined;
|
|
265
|
+
onPressedChange?: ((...args: unknown[]) => unknown) | undefined;
|
|
266
|
+
'data-*'?: Record<string, string> | undefined;
|
|
267
|
+
}, {
|
|
268
|
+
className?: string | undefined;
|
|
269
|
+
color?: "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky" | undefined;
|
|
270
|
+
size?: "1" | "2" | "3" | "4" | {
|
|
271
|
+
initial?: "1" | "2" | "3" | "4" | undefined;
|
|
272
|
+
sm?: "1" | "2" | "3" | "4" | undefined;
|
|
273
|
+
md?: "1" | "2" | "3" | "4" | undefined;
|
|
274
|
+
lg?: "1" | "2" | "3" | "4" | undefined;
|
|
275
|
+
xl?: "1" | "2" | "3" | "4" | undefined;
|
|
276
|
+
} | undefined;
|
|
277
|
+
style?: Record<string, string | number> | undefined;
|
|
278
|
+
tooltip?: string | undefined;
|
|
279
|
+
disabled?: boolean | undefined;
|
|
280
|
+
title?: string | undefined;
|
|
281
|
+
as?: string | undefined;
|
|
282
|
+
asChild?: boolean | undefined;
|
|
283
|
+
id?: string | undefined;
|
|
284
|
+
tabIndex?: number | undefined;
|
|
285
|
+
role?: string | undefined;
|
|
286
|
+
'aria-controls'?: string | undefined;
|
|
287
|
+
'aria-current'?: boolean | "page" | "time" | "step" | "location" | "date" | undefined;
|
|
288
|
+
'aria-describedby'?: string | undefined;
|
|
289
|
+
'aria-expanded'?: boolean | undefined;
|
|
290
|
+
'aria-label'?: string | undefined;
|
|
291
|
+
'aria-labelledby'?: string | undefined;
|
|
292
|
+
'aria-owns'?: string | undefined;
|
|
293
|
+
'aria-pressed'?: boolean | undefined;
|
|
294
|
+
children?: any;
|
|
295
|
+
onFocus?: ((...args: unknown[]) => unknown) | undefined;
|
|
296
|
+
onBlur?: ((...args: unknown[]) => unknown) | undefined;
|
|
297
|
+
onSubmit?: ((...args: unknown[]) => unknown) | undefined;
|
|
298
|
+
onKeyDown?: ((...args: unknown[]) => unknown) | undefined;
|
|
299
|
+
onKeyUp?: ((...args: unknown[]) => unknown) | undefined;
|
|
300
|
+
onClick?: ((...args: unknown[]) => unknown) | undefined;
|
|
301
|
+
onMouseEnter?: ((...args: unknown[]) => unknown) | undefined;
|
|
302
|
+
onMouseLeave?: ((...args: unknown[]) => unknown) | undefined;
|
|
303
|
+
type?: "button" | "reset" | "submit" | undefined;
|
|
304
|
+
variant?: "classic" | "soft" | "surface" | "outline" | "ghost" | "solid" | "override" | undefined;
|
|
305
|
+
highContrast?: boolean | undefined;
|
|
306
|
+
radius?: "small" | "none" | "medium" | "large" | "full" | undefined;
|
|
307
|
+
material?: "solid" | "translucent" | undefined;
|
|
308
|
+
panelBackground?: "solid" | "translucent" | undefined;
|
|
309
|
+
flush?: boolean | undefined;
|
|
310
|
+
loading?: boolean | undefined;
|
|
311
|
+
tooltipSide?: "left" | "right" | "bottom" | "top" | undefined;
|
|
312
|
+
tooltipAlign?: "center" | "end" | "start" | undefined;
|
|
313
|
+
tooltipDelayDuration?: number | undefined;
|
|
314
|
+
tooltipDisableHoverableContent?: boolean | undefined;
|
|
315
|
+
fullWidth?: boolean | undefined;
|
|
316
|
+
pressed?: boolean | undefined;
|
|
317
|
+
defaultPressed?: boolean | undefined;
|
|
318
|
+
onPressedChange?: ((...args: unknown[]) => unknown) | undefined;
|
|
319
|
+
'data-*'?: Record<string, string> | undefined;
|
|
320
|
+
}>, {
|
|
321
|
+
size: "1" | "2" | "3" | "4" | {
|
|
322
|
+
initial?: "1" | "2" | "3" | "4" | undefined;
|
|
323
|
+
sm?: "1" | "2" | "3" | "4" | undefined;
|
|
324
|
+
md?: "1" | "2" | "3" | "4" | undefined;
|
|
325
|
+
lg?: "1" | "2" | "3" | "4" | undefined;
|
|
326
|
+
xl?: "1" | "2" | "3" | "4" | undefined;
|
|
327
|
+
};
|
|
328
|
+
disabled: boolean;
|
|
329
|
+
variant: "classic" | "soft" | "surface" | "outline" | "ghost" | "solid" | "override";
|
|
330
|
+
highContrast: boolean;
|
|
331
|
+
flush: boolean;
|
|
332
|
+
loading: boolean;
|
|
333
|
+
tooltipSide: "left" | "right" | "bottom" | "top";
|
|
334
|
+
tooltipAlign: "center" | "end" | "start";
|
|
335
|
+
tooltipDisableHoverableContent: boolean;
|
|
336
|
+
fullWidth: boolean;
|
|
337
|
+
className?: string | undefined;
|
|
338
|
+
color?: "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky" | undefined;
|
|
339
|
+
style?: Record<string, string | number> | undefined;
|
|
340
|
+
tooltip?: string | undefined;
|
|
341
|
+
title?: string | undefined;
|
|
342
|
+
as?: string | undefined;
|
|
343
|
+
asChild?: boolean | undefined;
|
|
344
|
+
id?: string | undefined;
|
|
345
|
+
tabIndex?: number | undefined;
|
|
346
|
+
role?: string | undefined;
|
|
347
|
+
'aria-controls'?: string | undefined;
|
|
348
|
+
'aria-current'?: boolean | "page" | "time" | "step" | "location" | "date" | undefined;
|
|
349
|
+
'aria-describedby'?: string | undefined;
|
|
350
|
+
'aria-expanded'?: boolean | undefined;
|
|
351
|
+
'aria-label'?: string | undefined;
|
|
352
|
+
'aria-labelledby'?: string | undefined;
|
|
353
|
+
'aria-owns'?: string | undefined;
|
|
354
|
+
'aria-pressed'?: boolean | undefined;
|
|
355
|
+
children?: any;
|
|
356
|
+
onFocus?: ((...args: unknown[]) => unknown) | undefined;
|
|
357
|
+
onBlur?: ((...args: unknown[]) => unknown) | undefined;
|
|
358
|
+
onSubmit?: ((...args: unknown[]) => unknown) | undefined;
|
|
359
|
+
onKeyDown?: ((...args: unknown[]) => unknown) | undefined;
|
|
360
|
+
onKeyUp?: ((...args: unknown[]) => unknown) | undefined;
|
|
361
|
+
onClick?: ((...args: unknown[]) => unknown) | undefined;
|
|
362
|
+
onMouseEnter?: ((...args: unknown[]) => unknown) | undefined;
|
|
363
|
+
onMouseLeave?: ((...args: unknown[]) => unknown) | undefined;
|
|
364
|
+
type?: "button" | "reset" | "submit" | undefined;
|
|
365
|
+
radius?: "small" | "none" | "medium" | "large" | "full" | undefined;
|
|
366
|
+
material?: "solid" | "translucent" | undefined;
|
|
367
|
+
panelBackground?: "solid" | "translucent" | undefined;
|
|
368
|
+
tooltipDelayDuration?: number | undefined;
|
|
369
|
+
pressed?: boolean | undefined;
|
|
370
|
+
defaultPressed?: boolean | undefined;
|
|
371
|
+
onPressedChange?: ((...args: unknown[]) => unknown) | undefined;
|
|
372
|
+
'data-*'?: Record<string, string> | undefined;
|
|
373
|
+
}, {
|
|
374
|
+
className?: string | undefined;
|
|
375
|
+
color?: "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky" | undefined;
|
|
376
|
+
size?: "1" | "2" | "3" | "4" | {
|
|
377
|
+
initial?: "1" | "2" | "3" | "4" | undefined;
|
|
378
|
+
sm?: "1" | "2" | "3" | "4" | undefined;
|
|
379
|
+
md?: "1" | "2" | "3" | "4" | undefined;
|
|
380
|
+
lg?: "1" | "2" | "3" | "4" | undefined;
|
|
381
|
+
xl?: "1" | "2" | "3" | "4" | undefined;
|
|
382
|
+
} | undefined;
|
|
383
|
+
style?: Record<string, string | number> | undefined;
|
|
384
|
+
tooltip?: string | undefined;
|
|
385
|
+
disabled?: boolean | undefined;
|
|
386
|
+
title?: string | undefined;
|
|
387
|
+
as?: string | undefined;
|
|
388
|
+
asChild?: boolean | undefined;
|
|
389
|
+
id?: string | undefined;
|
|
390
|
+
tabIndex?: number | undefined;
|
|
391
|
+
role?: string | undefined;
|
|
392
|
+
'aria-controls'?: string | undefined;
|
|
393
|
+
'aria-current'?: boolean | "page" | "time" | "step" | "location" | "date" | undefined;
|
|
394
|
+
'aria-describedby'?: string | undefined;
|
|
395
|
+
'aria-expanded'?: boolean | undefined;
|
|
396
|
+
'aria-label'?: string | undefined;
|
|
397
|
+
'aria-labelledby'?: string | undefined;
|
|
398
|
+
'aria-owns'?: string | undefined;
|
|
399
|
+
'aria-pressed'?: boolean | undefined;
|
|
400
|
+
children?: any;
|
|
401
|
+
onFocus?: ((...args: unknown[]) => unknown) | undefined;
|
|
402
|
+
onBlur?: ((...args: unknown[]) => unknown) | undefined;
|
|
403
|
+
onSubmit?: ((...args: unknown[]) => unknown) | undefined;
|
|
404
|
+
onKeyDown?: ((...args: unknown[]) => unknown) | undefined;
|
|
405
|
+
onKeyUp?: ((...args: unknown[]) => unknown) | undefined;
|
|
406
|
+
onClick?: ((...args: unknown[]) => unknown) | undefined;
|
|
407
|
+
onMouseEnter?: ((...args: unknown[]) => unknown) | undefined;
|
|
408
|
+
onMouseLeave?: ((...args: unknown[]) => unknown) | undefined;
|
|
409
|
+
type?: "button" | "reset" | "submit" | undefined;
|
|
410
|
+
variant?: "classic" | "soft" | "surface" | "outline" | "ghost" | "solid" | "override" | undefined;
|
|
411
|
+
highContrast?: boolean | undefined;
|
|
412
|
+
radius?: "small" | "none" | "medium" | "large" | "full" | undefined;
|
|
413
|
+
material?: "solid" | "translucent" | undefined;
|
|
414
|
+
panelBackground?: "solid" | "translucent" | undefined;
|
|
415
|
+
flush?: boolean | undefined;
|
|
416
|
+
loading?: boolean | undefined;
|
|
417
|
+
tooltipSide?: "left" | "right" | "bottom" | "top" | undefined;
|
|
418
|
+
tooltipAlign?: "center" | "end" | "start" | undefined;
|
|
419
|
+
tooltipDelayDuration?: number | undefined;
|
|
420
|
+
tooltipDisableHoverableContent?: boolean | undefined;
|
|
421
|
+
fullWidth?: boolean | undefined;
|
|
422
|
+
pressed?: boolean | undefined;
|
|
423
|
+
defaultPressed?: boolean | undefined;
|
|
424
|
+
onPressedChange?: ((...args: unknown[]) => unknown) | undefined;
|
|
425
|
+
'data-*'?: Record<string, string> | undefined;
|
|
426
|
+
}>, {
|
|
427
|
+
size: "1" | "2" | "3" | "4" | {
|
|
428
|
+
initial?: "1" | "2" | "3" | "4" | undefined;
|
|
429
|
+
sm?: "1" | "2" | "3" | "4" | undefined;
|
|
430
|
+
md?: "1" | "2" | "3" | "4" | undefined;
|
|
431
|
+
lg?: "1" | "2" | "3" | "4" | undefined;
|
|
432
|
+
xl?: "1" | "2" | "3" | "4" | undefined;
|
|
433
|
+
};
|
|
434
|
+
disabled: boolean;
|
|
435
|
+
variant: "classic" | "soft" | "surface" | "outline" | "ghost" | "solid" | "override";
|
|
436
|
+
highContrast: boolean;
|
|
437
|
+
flush: boolean;
|
|
438
|
+
loading: boolean;
|
|
439
|
+
tooltipSide: "left" | "right" | "bottom" | "top";
|
|
440
|
+
tooltipAlign: "center" | "end" | "start";
|
|
441
|
+
tooltipDisableHoverableContent: boolean;
|
|
442
|
+
fullWidth: boolean;
|
|
443
|
+
className?: string | undefined;
|
|
444
|
+
color?: "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky" | undefined;
|
|
445
|
+
style?: Record<string, string | number> | undefined;
|
|
446
|
+
tooltip?: string | undefined;
|
|
447
|
+
title?: string | undefined;
|
|
448
|
+
as?: string | undefined;
|
|
449
|
+
asChild?: boolean | undefined;
|
|
450
|
+
id?: string | undefined;
|
|
451
|
+
tabIndex?: number | undefined;
|
|
452
|
+
role?: string | undefined;
|
|
453
|
+
'aria-controls'?: string | undefined;
|
|
454
|
+
'aria-current'?: boolean | "page" | "time" | "step" | "location" | "date" | undefined;
|
|
455
|
+
'aria-describedby'?: string | undefined;
|
|
456
|
+
'aria-expanded'?: boolean | undefined;
|
|
457
|
+
'aria-label'?: string | undefined;
|
|
458
|
+
'aria-labelledby'?: string | undefined;
|
|
459
|
+
'aria-owns'?: string | undefined;
|
|
460
|
+
'aria-pressed'?: boolean | undefined;
|
|
461
|
+
children?: any;
|
|
462
|
+
onFocus?: ((...args: unknown[]) => unknown) | undefined;
|
|
463
|
+
onBlur?: ((...args: unknown[]) => unknown) | undefined;
|
|
464
|
+
onSubmit?: ((...args: unknown[]) => unknown) | undefined;
|
|
465
|
+
onKeyDown?: ((...args: unknown[]) => unknown) | undefined;
|
|
466
|
+
onKeyUp?: ((...args: unknown[]) => unknown) | undefined;
|
|
467
|
+
onClick?: ((...args: unknown[]) => unknown) | undefined;
|
|
468
|
+
onMouseEnter?: ((...args: unknown[]) => unknown) | undefined;
|
|
469
|
+
onMouseLeave?: ((...args: unknown[]) => unknown) | undefined;
|
|
470
|
+
type?: "button" | "reset" | "submit" | undefined;
|
|
471
|
+
radius?: "small" | "none" | "medium" | "large" | "full" | undefined;
|
|
472
|
+
material?: "solid" | "translucent" | undefined;
|
|
473
|
+
panelBackground?: "solid" | "translucent" | undefined;
|
|
474
|
+
tooltipDelayDuration?: number | undefined;
|
|
475
|
+
pressed?: boolean | undefined;
|
|
476
|
+
defaultPressed?: boolean | undefined;
|
|
477
|
+
onPressedChange?: ((...args: unknown[]) => unknown) | undefined;
|
|
478
|
+
'data-*'?: Record<string, string> | undefined;
|
|
479
|
+
}, {
|
|
480
|
+
className?: string | undefined;
|
|
481
|
+
color?: "gray" | "gold" | "bronze" | "brown" | "yellow" | "amber" | "orange" | "tomato" | "red" | "ruby" | "crimson" | "pink" | "plum" | "purple" | "violet" | "iris" | "indigo" | "blue" | "cyan" | "teal" | "jade" | "green" | "grass" | "lime" | "mint" | "sky" | undefined;
|
|
482
|
+
size?: "1" | "2" | "3" | "4" | {
|
|
483
|
+
initial?: "1" | "2" | "3" | "4" | undefined;
|
|
484
|
+
sm?: "1" | "2" | "3" | "4" | undefined;
|
|
485
|
+
md?: "1" | "2" | "3" | "4" | undefined;
|
|
486
|
+
lg?: "1" | "2" | "3" | "4" | undefined;
|
|
487
|
+
xl?: "1" | "2" | "3" | "4" | undefined;
|
|
488
|
+
} | undefined;
|
|
489
|
+
style?: Record<string, string | number> | undefined;
|
|
490
|
+
tooltip?: string | undefined;
|
|
491
|
+
disabled?: boolean | undefined;
|
|
492
|
+
title?: string | undefined;
|
|
493
|
+
as?: string | undefined;
|
|
494
|
+
asChild?: boolean | undefined;
|
|
495
|
+
id?: string | undefined;
|
|
496
|
+
tabIndex?: number | undefined;
|
|
497
|
+
role?: string | undefined;
|
|
498
|
+
'aria-controls'?: string | undefined;
|
|
499
|
+
'aria-current'?: boolean | "page" | "time" | "step" | "location" | "date" | undefined;
|
|
500
|
+
'aria-describedby'?: string | undefined;
|
|
501
|
+
'aria-expanded'?: boolean | undefined;
|
|
502
|
+
'aria-label'?: string | undefined;
|
|
503
|
+
'aria-labelledby'?: string | undefined;
|
|
504
|
+
'aria-owns'?: string | undefined;
|
|
505
|
+
'aria-pressed'?: boolean | undefined;
|
|
506
|
+
children?: any;
|
|
507
|
+
onFocus?: ((...args: unknown[]) => unknown) | undefined;
|
|
508
|
+
onBlur?: ((...args: unknown[]) => unknown) | undefined;
|
|
509
|
+
onSubmit?: ((...args: unknown[]) => unknown) | undefined;
|
|
510
|
+
onKeyDown?: ((...args: unknown[]) => unknown) | undefined;
|
|
511
|
+
onKeyUp?: ((...args: unknown[]) => unknown) | undefined;
|
|
512
|
+
onClick?: ((...args: unknown[]) => unknown) | undefined;
|
|
513
|
+
onMouseEnter?: ((...args: unknown[]) => unknown) | undefined;
|
|
514
|
+
onMouseLeave?: ((...args: unknown[]) => unknown) | undefined;
|
|
515
|
+
type?: "button" | "reset" | "submit" | undefined;
|
|
516
|
+
variant?: "classic" | "soft" | "surface" | "outline" | "ghost" | "solid" | "override" | undefined;
|
|
517
|
+
highContrast?: boolean | undefined;
|
|
518
|
+
radius?: "small" | "none" | "medium" | "large" | "full" | undefined;
|
|
519
|
+
material?: "solid" | "translucent" | undefined;
|
|
520
|
+
panelBackground?: "solid" | "translucent" | undefined;
|
|
521
|
+
flush?: boolean | undefined;
|
|
522
|
+
loading?: boolean | undefined;
|
|
523
|
+
tooltipSide?: "left" | "right" | "bottom" | "top" | undefined;
|
|
524
|
+
tooltipAlign?: "center" | "end" | "start" | undefined;
|
|
525
|
+
tooltipDelayDuration?: number | undefined;
|
|
526
|
+
tooltipDisableHoverableContent?: boolean | undefined;
|
|
527
|
+
fullWidth?: boolean | undefined;
|
|
528
|
+
pressed?: boolean | undefined;
|
|
529
|
+
defaultPressed?: boolean | undefined;
|
|
530
|
+
onPressedChange?: ((...args: unknown[]) => unknown) | undefined;
|
|
531
|
+
'data-*'?: Record<string, string> | undefined;
|
|
532
|
+
}>;
|
|
533
|
+
/**
|
|
534
|
+
* Type derived from ToggleIconButton Zod schema
|
|
535
|
+
* This ensures type safety and consistency with the schema
|
|
536
|
+
*/
|
|
537
|
+
export type ToggleIconButtonProps = z.infer<typeof ToggleIconButtonSchema>;
|
|
538
|
+
/**
|
|
539
|
+
* Development-only helper to validate and normalize ToggleIconButton props
|
|
540
|
+
* This function should only be used in development mode
|
|
541
|
+
*
|
|
542
|
+
* @param props - Props to validate and normalize
|
|
543
|
+
* @returns Validated and normalized props
|
|
544
|
+
*
|
|
545
|
+
* @example
|
|
546
|
+
* ```tsx
|
|
547
|
+
* // In development, this will validate props and show helpful errors
|
|
548
|
+
* const invalidProps = parseToggleIconButtonProps({
|
|
549
|
+
* pressed: true,
|
|
550
|
+
* defaultPressed: false
|
|
551
|
+
* // Missing onPressedChange, conflicting controlled/uncontrolled, and missing accessibility
|
|
552
|
+
* });
|
|
553
|
+
* // Throws multiple validation errors
|
|
554
|
+
*
|
|
555
|
+
* const validProps = parseToggleIconButtonProps({
|
|
556
|
+
* 'aria-label': 'Toggle menu',
|
|
557
|
+
* pressed: true,
|
|
558
|
+
* onPressedChange: (pressed) => setMenuOpen(pressed)
|
|
559
|
+
* });
|
|
560
|
+
* ```
|
|
561
|
+
*/
|
|
562
|
+
export declare function parseToggleIconButtonProps(props: unknown): ToggleIconButtonProps;
|
|
563
|
+
//# sourceMappingURL=toggle-icon-button.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle-icon-button.schema.d.ts","sourceRoot":"","sources":["../../../../src/components/schemas/toggle-icon-button.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkHhC,CAAC;AAEJ;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,CAKhF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var l=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var c=(e,t)=>{for(var r in t)l(e,r,{get:t[r],enumerable:!0})},u=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of d(t))!p.call(e,n)&&n!==r&&l(e,n,{get:()=>t[n],enumerable:!(s=i(t,n))||s.enumerable});return e};var b=e=>u(l({},"__esModule",{value:!0}),e);var g={};c(g,{ToggleIconButtonSchema:()=>f,parseToggleIconButtonProps:()=>h});module.exports=b(g);var o=require("zod"),a=require("./base-button.schema.js");const f=a.BaseButtonSchema.extend({tooltip:o.z.string().optional().describe("Content to display in the tooltip on hover/focus"),tooltipSide:o.z.enum(["top","right","bottom","left"]).optional().default("top").describe("Side of the button where the tooltip should appear"),tooltipAlign:o.z.enum(["start","center","end"]).optional().default("center").describe("Alignment of the tooltip relative to the button"),tooltipDelayDuration:o.z.number().optional().describe("Delay before showing the tooltip (in milliseconds)"),tooltipDisableHoverableContent:o.z.boolean().optional().default(!1).describe("Whether to disable hoverable content behavior"),"aria-label":o.z.string().optional().describe("ARIA label for accessibility"),"aria-labelledby":o.z.string().optional().describe("ARIA labelled by reference"),children:o.z.any().optional().describe("Children elements (required for accessibility if no aria-label)"),pressed:o.z.boolean().optional().describe("Controlled pressed state"),onPressedChange:o.z.function().optional().describe("Callback when pressed state changes"),defaultPressed:o.z.boolean().optional().describe("Default pressed state for uncontrolled usage")}).refine(e=>e["aria-label"]||e["aria-labelledby"]||e.children,{message:"ToggleIconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility",path:["aria-label","aria-labelledby","children"]}).refine(e=>!(e.pressed!==void 0&&e.onPressedChange===void 0),{message:"When using controlled mode (pressed prop), onPressedChange must also be provided",path:["onPressedChange"]}).refine(e=>!(e.pressed!==void 0&&e.defaultPressed!==void 0),{message:"Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together",path:["pressed","defaultPressed"]});function h(e){return e}
|
|
2
|
+
//# sourceMappingURL=toggle-icon-button.schema.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/components/schemas/toggle-icon-button.schema.ts"],
|
|
4
|
+
"sourcesContent": ["import { z } from 'zod';\nimport { BaseButtonSchema } from './base-button.schema.js';\n\n/**\n * ToggleIconButton Zod schema - Single source of truth for ToggleIconButton component props\n *\n * ToggleIconButton extends IconButton with toggle functionality using Radix UI's Toggle primitive.\n * It provides proper accessibility announcements, controlled/uncontrolled state management,\n * and seamless integration with the existing IconButton component.\n *\n * Key features:\n * - Required accessibility attributes (aria-label, aria-labelledby, or children)\n * - Controlled and uncontrolled state management\n * - Live accessibility announcements for screen readers\n * - Tooltip support for better UX\n * - Proper ARIA attributes for toggle functionality\n *\n * @example\n * ```tsx\n * // Uncontrolled toggle icon button\n * const props = ToggleIconButtonSchema.parse({\n * 'aria-label': 'Toggle sidebar',\n * defaultPressed: false,\n * variant: 'ghost'\n * });\n *\n * // Controlled toggle icon button\n * const controlledProps = ToggleIconButtonSchema.parse({\n * 'aria-label': 'Toggle dark mode',\n * pressed: true,\n * onPressedChange: (pressed) => setDarkMode(pressed),\n * variant: 'soft'\n * });\n *\n * // Toggle icon button with tooltip\n * const tooltipProps = ToggleIconButtonSchema.parse({\n * 'aria-label': 'Toggle notifications',\n * defaultPressed: false,\n * tooltip: 'Toggle notification settings',\n * tooltipSide: 'right'\n * });\n * ```\n */\nexport const ToggleIconButtonSchema = BaseButtonSchema.extend({\n /**\n * Content to display in the tooltip on hover/focus\n */\n tooltip: z.string().optional().describe('Content to display in the tooltip on hover/focus'),\n\n /**\n * Side of the button where the tooltip should appear\n * @default 'top'\n */\n tooltipSide: z\n .enum(['top', 'right', 'bottom', 'left'])\n .optional()\n .default('top')\n .describe('Side of the button where the tooltip should appear'),\n\n /**\n * Alignment of the tooltip relative to the button\n * @default 'center'\n */\n tooltipAlign: z\n .enum(['start', 'center', 'end'])\n .optional()\n .default('center')\n .describe('Alignment of the tooltip relative to the button'),\n\n /**\n * Delay before showing the tooltip (in milliseconds)\n */\n tooltipDelayDuration: z\n .number()\n .optional()\n .describe('Delay before showing the tooltip (in milliseconds)'),\n\n /**\n * Whether to disable hoverable content behavior\n * @default false\n */\n tooltipDisableHoverableContent: z\n .boolean()\n .optional()\n .default(false)\n .describe('Whether to disable hoverable content behavior'),\n\n /**\n * ARIA label for accessibility (required if no aria-labelledby or children)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n 'aria-label': z.string().optional().describe('ARIA label for accessibility'),\n\n /**\n * ARIA labelled by reference (required if no aria-label or children)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n 'aria-labelledby': z.string().optional().describe('ARIA labelled by reference'),\n\n /**\n * Children elements (required if no aria-label or aria-labelledby)\n * Icon buttons must have an accessible name to meet WCAG guidelines\n */\n children: z\n .any()\n .optional()\n .describe('Children elements (required for accessibility if no aria-label)'),\n\n /**\n * Controlled pressed state\n * When provided, the component is controlled and the pressed state is managed externally\n */\n pressed: z.boolean().optional().describe('Controlled pressed state'),\n\n /**\n * Callback when pressed state changes\n * Called with the new pressed state when the toggle is activated\n */\n onPressedChange: z.function().optional().describe('Callback when pressed state changes'),\n\n /**\n * Default pressed state for uncontrolled usage\n * Used as the initial pressed state when the component is uncontrolled\n */\n defaultPressed: z.boolean().optional().describe('Default pressed state for uncontrolled usage'),\n})\n .refine((data: any) => data['aria-label'] || data['aria-labelledby'] || data.children, {\n message:\n \"ToggleIconButton must have either 'aria-label', 'aria-labelledby', or 'children' for accessibility\",\n path: ['aria-label', 'aria-labelledby', 'children'],\n })\n .refine(\n (data: any) => {\n // If pressed is provided, onPressedChange should also be provided for controlled usage\n if (data.pressed !== undefined && data.onPressedChange === undefined) {\n return false;\n }\n return true;\n },\n {\n message: 'When using controlled mode (pressed prop), onPressedChange must also be provided',\n path: ['onPressedChange'],\n },\n )\n .refine(\n (data: any) => {\n // Cannot have both controlled and uncontrolled props\n if (data.pressed !== undefined && data.defaultPressed !== undefined) {\n return false;\n }\n return true;\n },\n {\n message:\n 'Cannot use both controlled (pressed) and uncontrolled (defaultPressed) props together',\n path: ['pressed', 'defaultPressed'],\n },\n );\n\n/**\n * Type derived from ToggleIconButton Zod schema\n * This ensures type safety and consistency with the schema\n */\nexport type ToggleIconButtonProps = z.infer<typeof ToggleIconButtonSchema>;\n\n/**\n * Development-only helper to validate and normalize ToggleIconButton props\n * This function should only be used in development mode\n *\n * @param props - Props to validate and normalize\n * @returns Validated and normalized props\n *\n * @example\n * ```tsx\n * // In development, this will validate props and show helpful errors\n * const invalidProps = parseToggleIconButtonProps({\n * pressed: true,\n * defaultPressed: false\n * // Missing onPressedChange, conflicting controlled/uncontrolled, and missing accessibility\n * });\n * // Throws multiple validation errors\n *\n * const validProps = parseToggleIconButtonProps({\n * 'aria-label': 'Toggle menu',\n * pressed: true,\n * onPressedChange: (pressed) => setMenuOpen(pressed)\n * });\n * ```\n */\nexport function parseToggleIconButtonProps(props: unknown): ToggleIconButtonProps {\n if (process.env.NODE_ENV === 'development') {\n return ToggleIconButtonSchema.parse(props);\n }\n return props as ToggleIconButtonProps;\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,4BAAAE,EAAA,+BAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAkB,eAClBC,EAAiC,mCA0C1B,MAAMJ,EAAyB,mBAAiB,OAAO,CAI5D,QAAS,IAAE,OAAO,EAAE,SAAS,EAAE,SAAS,kDAAkD,EAM1F,YAAa,IACV,KAAK,CAAC,MAAO,QAAS,SAAU,MAAM,CAAC,EACvC,SAAS,EACT,QAAQ,KAAK,EACb,SAAS,oDAAoD,EAMhE,aAAc,IACX,KAAK,CAAC,QAAS,SAAU,KAAK,CAAC,EAC/B,SAAS,EACT,QAAQ,QAAQ,EAChB,SAAS,iDAAiD,EAK7D,qBAAsB,IACnB,OAAO,EACP,SAAS,EACT,SAAS,oDAAoD,EAMhE,+BAAgC,IAC7B,QAAQ,EACR,SAAS,EACT,QAAQ,EAAK,EACb,SAAS,+CAA+C,EAM3D,aAAc,IAAE,OAAO,EAAE,SAAS,EAAE,SAAS,8BAA8B,EAM3E,kBAAmB,IAAE,OAAO,EAAE,SAAS,EAAE,SAAS,4BAA4B,EAM9E,SAAU,IACP,IAAI,EACJ,SAAS,EACT,SAAS,iEAAiE,EAM7E,QAAS,IAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,0BAA0B,EAMnE,gBAAiB,IAAE,SAAS,EAAE,SAAS,EAAE,SAAS,qCAAqC,EAMvF,eAAgB,IAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,8CAA8C,CAChG,CAAC,EACE,OAAQK,GAAcA,EAAK,YAAY,GAAKA,EAAK,iBAAiB,GAAKA,EAAK,SAAU,CACrF,QACE,qGACF,KAAM,CAAC,aAAc,kBAAmB,UAAU,CACpD,CAAC,EACA,OACEA,GAEK,EAAAA,EAAK,UAAY,QAAaA,EAAK,kBAAoB,QAK7D,CACE,QAAS,mFACT,KAAM,CAAC,iBAAiB,CAC1B,CACF,EACC,OACEA,GAEK,EAAAA,EAAK,UAAY,QAAaA,EAAK,iBAAmB,QAK5D,CACE,QACE,wFACF,KAAM,CAAC,UAAW,gBAAgB,CACpC,CACF,EAgCK,SAASJ,EAA2BK,EAAuC,CAIhF,OAAOA,CACT",
|
|
6
|
+
"names": ["toggle_icon_button_schema_exports", "__export", "ToggleIconButtonSchema", "parseToggleIconButtonProps", "__toCommonJS", "import_zod", "import_base_button_schema", "data", "props"]
|
|
7
|
+
}
|