@accelint/design-system 1.1.5 → 1.1.6

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 (82) hide show
  1. package/dist/components/button/button.css.d.ts +25 -24
  2. package/dist/components/button/index.d.ts +9 -40
  3. package/dist/components/button/index.js +23 -17
  4. package/dist/components/button/index.js.map +1 -1
  5. package/dist/components/button/types.d.ts +3 -2
  6. package/dist/components/checkbox/checkbox.css.d.ts +23 -23
  7. package/dist/components/chip/chip.css.d.ts +18 -18
  8. package/dist/components/collection/index.d.ts +2 -2
  9. package/dist/components/collection/index.js.map +1 -1
  10. package/dist/components/combo-box/combo-box.css.d.ts +9 -9
  11. package/dist/components/date-field/date-field.css.d.ts +17 -17
  12. package/dist/components/date-input/date-input.css.d.ts +25 -25
  13. package/dist/components/date-input/index.js +4 -1
  14. package/dist/components/date-input/index.js.map +1 -1
  15. package/dist/components/dialog/dialog.css.d.ts +16 -15
  16. package/dist/components/dialog/index.d.ts +1 -0
  17. package/dist/components/dialog/types.d.ts +1 -0
  18. package/dist/components/drawer/drawer.css.d.ts +17 -17
  19. package/dist/components/drawer/index.d.ts +1 -1
  20. package/dist/components/drawer/types.d.ts +1 -1
  21. package/dist/components/group/group.css.d.ts +7 -7
  22. package/dist/components/icon/icon.css.d.ts +9 -9
  23. package/dist/components/index.d.ts +2 -2
  24. package/dist/components/input/input.css.d.ts +20 -20
  25. package/dist/components/menu/index.d.ts +2 -2
  26. package/dist/components/menu/index.js +1 -1
  27. package/dist/components/menu/index.js.map +1 -1
  28. package/dist/components/menu/menu.css.d.ts +42 -42
  29. package/dist/components/merge-provider/index.js +15 -7
  30. package/dist/components/merge-provider/index.js.map +1 -1
  31. package/dist/components/number-field/index.d.ts +1 -1
  32. package/dist/components/number-field/number-field.css.d.ts +12 -12
  33. package/dist/components/number-field/types.d.ts +1 -1
  34. package/dist/components/options/index.js +1 -1
  35. package/dist/components/options/index.js.map +1 -1
  36. package/dist/components/options/options.css.d.ts +44 -44
  37. package/dist/components/picker/index.js.map +1 -1
  38. package/dist/components/picker/picker.css.d.ts +18 -18
  39. package/dist/components/popover/popover.css.d.ts +12 -12
  40. package/dist/components/query-builder/query-builder.css.d.ts +53 -53
  41. package/dist/components/radio/radio.css.d.ts +22 -22
  42. package/dist/components/search-field/search-field.css.d.ts +9 -9
  43. package/dist/components/select/select.css.d.ts +12 -12
  44. package/dist/components/slider/slider.css.d.ts +27 -27
  45. package/dist/components/switch/switch.css.d.ts +16 -16
  46. package/dist/components/tabs/tabs.css.d.ts +25 -25
  47. package/dist/components/text-field/index.d.ts +3 -128
  48. package/dist/components/text-field/index.js +3 -3
  49. package/dist/components/text-field/index.js.map +1 -1
  50. package/dist/components/text-field/text-field.css.d.ts +8 -8
  51. package/dist/components/textarea/textarea.css.d.ts +22 -22
  52. package/dist/components/time-field/time-field.css.d.ts +17 -17
  53. package/dist/components/tooltip/tooltip.css.d.ts +11 -11
  54. package/dist/components/tree/index.js +5 -2
  55. package/dist/components/tree/index.js.map +1 -1
  56. package/dist/components/tree/tree.css.d.ts +45 -45
  57. package/dist/hooks/index.d.ts +11 -11
  58. package/dist/hooks/use-collection-render/index.d.ts +1 -1
  59. package/dist/hooks/use-collection-render/index.js +2 -3
  60. package/dist/hooks/use-collection-render/index.js.map +1 -1
  61. package/dist/hooks/use-context-props/index.js.map +1 -1
  62. package/dist/hooks/use-defaults/index.d.ts +32 -80
  63. package/dist/hooks/use-defaults/index.js +1 -4
  64. package/dist/hooks/use-defaults/index.js.map +1 -1
  65. package/dist/hooks/use-defaults/types.d.ts +1 -1
  66. package/dist/hooks/use-theme/index.d.ts +1 -1
  67. package/dist/hooks/use-theme/types.d.ts +1 -1
  68. package/dist/hooks/use-tree/index.js +3 -2
  69. package/dist/hooks/use-tree/index.js.map +1 -1
  70. package/dist/hooks/use-tree/utils.js +6 -9
  71. package/dist/hooks/use-tree/utils.js.map +1 -1
  72. package/dist/hooks/use-update-effect/index.js.map +1 -1
  73. package/dist/index.css +32 -32
  74. package/dist/index.d.ts +5 -5
  75. package/dist/ladle/actions.js.map +1 -1
  76. package/dist/styles/theme.css.d.ts +200 -200
  77. package/dist/test/setup.js +646 -1387
  78. package/dist/test/setup.js.map +1 -1
  79. package/dist/utils/css/index.d.ts +1 -1
  80. package/dist/utils/props/index.d.ts +1 -2
  81. package/dist/utils/props/index.js.map +1 -1
  82. package/package.json +27 -27
@@ -1,5 +1,6 @@
1
1
  import { ButtonClassNames } from './types.js';
2
2
  import 'react-aria-components';
3
+ import '../../types/generic.js';
3
4
  import '../../types/props.js';
4
5
  import '../../types/react-aria.js';
5
6
  import 'react';
@@ -7,34 +8,34 @@ import '../icon/types.js';
7
8
 
8
9
  declare const buttonContainer: string;
9
10
  declare const buttonColorVars: {
10
- nonSolidColor: `var(--${string})`;
11
- bareBackground: `var(--${string})`;
12
- hollowBorder: `var(--${string})`;
13
- solidBackground: `var(--${string})`;
14
- solidColor: `var(--${string})`;
15
- background: `var(--${string})`;
16
- border: `var(--${string})`;
17
- color: `var(--${string})`;
11
+ nonSolidColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
12
+ bareBackground: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
13
+ hollowBorder: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
14
+ solidBackground: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
15
+ solidColor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16
+ background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
+ border: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
18
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
18
19
  };
19
20
  declare const buttonSpaceVars: {
20
- gap: `var(--${string})`;
21
- minWidth: `var(--${string})`;
22
- width: `var(--${string})`;
23
- x: `var(--${string})`;
24
- y: `var(--${string})`;
21
+ gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
22
+ minWidth: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
+ width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
+ x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
25
+ y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
25
26
  };
26
27
  declare const buttonStateVars: {
27
- color: `var(--${string})`;
28
- size: `var(--${string})`;
29
- variant: `var(--${string})`;
30
- isCurrent: `var(--${string})`;
31
- isDisabled: `var(--${string})`;
32
- isFocused: `var(--${string})`;
33
- isFocusVisible: `var(--${string})`;
34
- isHovered: `var(--${string})`;
35
- isPending: `var(--${string})`;
36
- isPressed: `var(--${string})`;
37
- isSelected: `var(--${string})`;
28
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
+ size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
30
+ variant: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
31
+ isCurrent: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
33
+ isFocused: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
34
+ isFocusVisible: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
35
+ isHovered: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
36
+ isPending: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
37
+ isPressed: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
38
+ isSelected: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
38
39
  };
39
40
  declare const buttonClassNames: ButtonClassNames;
40
41
 
@@ -1,47 +1,16 @@
1
- import * as react from 'react';
2
1
  import { Context } from 'react';
3
- import * as react_aria_components from 'react-aria-components';
4
2
  import { ContextValue } from 'react-aria-components';
5
- import { ButtonRenderProps, ButtonColors, ButtonMapping, ButtonSizes, ButtonVariants, ButtonProps, LinkButtonProps, ToggleButtonProps } from './types.js';
6
- import { RenderPropsChildren } from '../../types/react-aria.js';
3
+ import { ButtonProps, LinkButtonProps, ToggleButtonProps } from './types.js';
4
+ import '../../types/generic.js';
7
5
  import '../../types/props.js';
6
+ import '../../types/react-aria.js';
8
7
  import '../icon/types.js';
9
8
 
10
- declare const ButtonContext: Context<ContextValue<ButtonProps, HTMLButtonElement>>;
11
- declare const Button: (props: Omit<react_aria_components.ButtonProps, "children" | "className" | "style"> & {
12
- children?: RenderPropsChildren<ButtonRenderProps>;
13
- classNames?: Partial<{
14
- container: string;
15
- button: string;
16
- }>;
17
- color?: ButtonColors;
18
- mapping?: Partial<ButtonMapping>;
19
- size?: ButtonSizes;
20
- variant?: ButtonVariants;
21
- } & react.RefAttributes<HTMLButtonElement>) => react.ReactElement | null;
22
- declare const LinkButtonContext: Context<ContextValue<LinkButtonProps, HTMLAnchorElement>>;
23
- declare const LinkButton: (props: Omit<react_aria_components.LinkProps, "children" | "className" | "style"> & {
24
- children?: RenderPropsChildren<ButtonRenderProps>;
25
- classNames?: Partial<{
26
- container: string;
27
- button: string;
28
- }>;
29
- color?: ButtonColors;
30
- mapping?: Partial<ButtonMapping>;
31
- size?: ButtonSizes;
32
- variant?: ButtonVariants;
33
- } & react.RefAttributes<HTMLAnchorElement>) => react.ReactElement | null;
34
- declare const ToggleButtonContext: Context<ContextValue<ToggleButtonProps, HTMLButtonElement>>;
35
- declare const ToggleButton: (props: Omit<react_aria_components.ToggleButtonProps, "children" | "className" | "style"> & {
36
- children?: RenderPropsChildren<ButtonRenderProps>;
37
- classNames?: Partial<{
38
- container: string;
39
- button: string;
40
- }>;
41
- color?: ButtonColors;
42
- mapping?: Partial<ButtonMapping>;
43
- size?: ButtonSizes;
44
- variant?: ButtonVariants;
45
- } & react.RefAttributes<HTMLButtonElement>) => react.ReactElement | null;
9
+ declare const ButtonContext: Context<ContextValue<ButtonProps, HTMLButtonElement> | null>;
10
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
11
+ declare const LinkButtonContext: Context<ContextValue<LinkButtonProps, HTMLAnchorElement> | null>;
12
+ declare const LinkButton: React.ForwardRefExoticComponent<LinkButtonProps & React.RefAttributes<HTMLAnchorElement>>;
13
+ declare const ToggleButtonContext: Context<ContextValue<ToggleButtonProps, HTMLButtonElement> | null>;
14
+ declare const ToggleButton: React.ForwardRefExoticComponent<ToggleButtonProps & React.RefAttributes<HTMLButtonElement>>;
46
15
 
47
16
  export { Button, ButtonContext, LinkButton, LinkButtonContext, ToggleButton, ToggleButtonContext };
@@ -96,25 +96,31 @@ function useButton(props, ref, context, key) {
96
96
  );
97
97
  }
98
98
  var ButtonContext = createContext(null);
99
- var Button = forwardRef(function Button2(props, ref) {
100
- const buttonProps = useButton(props, ref, ButtonContext, "Button");
101
- return /* @__PURE__ */ jsx(Button$1, { ...buttonProps });
102
- });
99
+ var Button = forwardRef(
100
+ function Button2(props, ref) {
101
+ const buttonProps = useButton(props, ref, ButtonContext, "Button");
102
+ return /* @__PURE__ */ jsx(Button$1, { ...buttonProps });
103
+ }
104
+ );
103
105
  var LinkButtonContext = createContext(null);
104
- var LinkButton = forwardRef(function LinkButton2(props, ref) {
105
- const buttonProps = useButton(props, ref, LinkButtonContext, "LinkButton");
106
- return /* @__PURE__ */ jsx(Link, { ...buttonProps });
107
- });
106
+ var LinkButton = forwardRef(
107
+ function LinkButton2(props, ref) {
108
+ const buttonProps = useButton(props, ref, LinkButtonContext, "LinkButton");
109
+ return /* @__PURE__ */ jsx(Link, { ...buttonProps });
110
+ }
111
+ );
108
112
  var ToggleButtonContext = createContext(null);
109
- var ToggleButton = forwardRef(function ToggleButton2(props, ref) {
110
- const buttonProps = useButton(
111
- props,
112
- ref,
113
- ToggleButtonContext,
114
- "ToggleButton"
115
- );
116
- return /* @__PURE__ */ jsx(ToggleButton$1, { ...buttonProps });
117
- });
113
+ var ToggleButton = forwardRef(
114
+ function ToggleButton2(props, ref) {
115
+ const buttonProps = useButton(
116
+ props,
117
+ ref,
118
+ ToggleButtonContext,
119
+ "ToggleButton"
120
+ );
121
+ return /* @__PURE__ */ jsx(ToggleButton$1, { ...buttonProps });
122
+ }
123
+ );
118
124
 
119
125
  export { Button, ButtonContext, LinkButton, LinkButtonContext, ToggleButton, ToggleButtonContext };
120
126
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/button/index.tsx"],"names":["Button","RACButton","LinkButton","ToggleButton","RACToggleButton"],"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\nimport { noop } from '@accelint/core';\nimport { clsx } from 'clsx';\nimport {\n type Context,\n createContext,\n type ForwardedRef,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ButtonRenderProps,\n type ContextValue,\n Link,\n type LinkRenderProps,\n Provider,\n Button as RACButton,\n ToggleButton as RACToggleButton,\n type ToggleButtonRenderProps,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { surfaces } from '../../styles/surfaces.css';\nimport { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { IconContext } from '../icon';\nimport { buttonClassNames, buttonStateVars } from './button.css';\nimport type { OmitProtectedProps } from '../../types/props';\nimport type { IconProps } from '../icon/types';\nimport type {\n ButtonMapping,\n ButtonProps,\n ButtonSizes,\n LinkButtonProps,\n ToggleButtonProps,\n} from './types';\n\nconst noopToggleState = {\n defaultSelected: false,\n isSelected: false,\n setSelected: noop,\n toggle: noop,\n};\nconst buttonSizes: ButtonSizes[] = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nconst defaultMapping: ButtonMapping = {\n font: bodies,\n icon: buttonSizes.reduce(\n (acc, size) => {\n acc[size] = { size };\n\n return acc;\n },\n {} as Record<ButtonSizes, OmitProtectedProps<IconProps>>,\n ),\n};\n\nfunction useButton<\n P extends ButtonProps | LinkButtonProps | ToggleButtonProps,\n E extends HTMLElement,\n>(\n props: P,\n ref: ForwardedRef<E>,\n context: Context<ContextValue<P, E>>,\n key: 'Button' | 'LinkButton' | 'ToggleButton',\n) {\n const [contextProps, contextRef] = useContextProps(props, ref, context);\n\n const defaultedProps = useDefaultProps(contextProps, key);\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n color = 'primary',\n mapping: mappingProp,\n size = 'md',\n variant = 'solid',\n ...rest\n } = defaultedProps;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(buttonClassNames, theme.Button, classNamesProp, {\n button: clsx(\n mapping.font[size],\n variant === 'floating' && surfaces.default.proud,\n ),\n }),\n [theme.Button, classNamesProp, mapping.font, size, variant],\n );\n\n const style = useCallback(\n (\n renderProps:\n | ButtonRenderProps\n | LinkRenderProps\n | ToggleButtonRenderProps,\n ) =>\n inlineVars(buttonStateVars, {\n isCurrent: false,\n isSelected: false,\n ...renderProps,\n color,\n size,\n variant,\n }),\n [color, size, variant],\n );\n\n const values = useMemo<\n [[typeof IconContext, ContextValue<IconProps, HTMLDivElement>]]\n >(() => [[IconContext, mapping.icon[size]]], [mapping.icon, size]);\n\n const children = useCallback(\n (\n renderProps:\n | ButtonRenderProps\n | LinkRenderProps\n | ToggleButtonRenderProps,\n ) => (\n <Provider values={values}>\n <span className={classNames?.button}>\n {callRenderProps(childrenProp, {\n state: noopToggleState,\n isCurrent: false,\n isPending: false,\n isSelected: false,\n ...renderProps,\n })}\n </span>\n </Provider>\n ),\n [values, classNames?.button, childrenProp],\n );\n\n return useMemo(\n () => ({\n ...rest,\n ref: contextRef,\n children,\n className: classNames?.container,\n style,\n }),\n // TODO(ilk): This should be checked. \"rest changes on every re-render and should not be used as a hook dependency.\"\n // biome-ignore lint/correctness/useExhaustiveDependencies: This should be checked and verified.\n [rest, contextRef, children, classNames?.container, style],\n );\n}\n\nexport const ButtonContext =\n createContext<ContextValue<ButtonProps, HTMLButtonElement>>(null);\n\nexport const Button = forwardRef(function Button(\n props: ButtonProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n const buttonProps = useButton(props, ref, ButtonContext, 'Button');\n\n return <RACButton {...buttonProps} />;\n});\n\nexport const LinkButtonContext =\n createContext<ContextValue<LinkButtonProps, HTMLAnchorElement>>(null);\n\nexport const LinkButton = forwardRef(function LinkButton(\n props: LinkButtonProps,\n ref: ForwardedRef<HTMLAnchorElement>,\n) {\n const buttonProps = useButton(props, ref, LinkButtonContext, 'LinkButton');\n\n return <Link {...buttonProps} />;\n});\n\nexport const ToggleButtonContext =\n createContext<ContextValue<ToggleButtonProps, HTMLButtonElement>>(null);\n\nexport const ToggleButton = forwardRef(function ToggleButton(\n props: ToggleButtonProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n const buttonProps = useButton(\n props,\n ref,\n ToggleButtonContext,\n 'ToggleButton',\n );\n\n return <RACToggleButton {...buttonProps} />;\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/button/index.tsx"],"names":["Button","RACButton","LinkButton","ToggleButton","RACToggleButton"],"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\nimport { noop } from '@accelint/core';\nimport { clsx } from 'clsx';\nimport {\n type Context,\n createContext,\n type ForwardedRef,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ButtonRenderProps,\n type ContextValue,\n Link,\n type LinkRenderProps,\n Provider,\n Button as RACButton,\n ToggleButton as RACToggleButton,\n type ToggleButtonRenderProps,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { surfaces } from '../../styles/surfaces.css';\nimport { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { IconContext } from '../icon';\nimport { buttonClassNames, buttonStateVars } from './button.css';\nimport type { AsType } from '../../types/generic';\nimport type { OmitProtectedProps } from '../../types/props';\nimport type { IconProps } from '../icon/types';\nimport type {\n ButtonMapping,\n ButtonProps,\n ButtonSizes,\n LinkButtonProps,\n ToggleButtonProps,\n} from './types';\n\nconst noopToggleState = {\n defaultSelected: false,\n isSelected: false,\n setSelected: noop,\n toggle: noop,\n};\nconst buttonSizes: ButtonSizes[] = ['xs', 'sm', 'md', 'lg', 'xl'];\n\nconst defaultMapping: ButtonMapping = {\n font: bodies,\n icon: buttonSizes.reduce(\n (acc, size) => {\n acc[size] = { size };\n\n return acc;\n },\n {} as Record<ButtonSizes, OmitProtectedProps<IconProps>>,\n ),\n};\n\nfunction useButton<\n P extends ButtonProps | LinkButtonProps | ToggleButtonProps,\n E extends HTMLElement,\n>(\n props: AsType<P>,\n ref: ForwardedRef<E>,\n context: Context<ContextValue<P, E>>,\n key: 'Button' | 'LinkButton' | 'ToggleButton',\n) {\n const [contextProps, contextRef] = useContextProps(props, ref, context);\n\n const defaultedProps = useDefaultProps(contextProps, key);\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n color = 'primary',\n mapping: mappingProp,\n size = 'md',\n variant = 'solid',\n ...rest\n } = defaultedProps;\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(buttonClassNames, theme.Button, classNamesProp, {\n button: clsx(\n mapping.font[size],\n variant === 'floating' && surfaces.default.proud,\n ),\n }),\n [theme.Button, classNamesProp, mapping.font, size, variant],\n );\n\n const style = useCallback(\n (\n renderProps:\n | ButtonRenderProps\n | LinkRenderProps\n | ToggleButtonRenderProps,\n ) =>\n inlineVars(buttonStateVars, {\n isCurrent: false,\n isSelected: false,\n ...renderProps,\n color,\n size,\n variant,\n }),\n [color, size, variant],\n );\n\n const values = useMemo<\n [[typeof IconContext, ContextValue<IconProps, HTMLDivElement>]]\n >(() => [[IconContext, mapping.icon[size]]], [mapping.icon, size]);\n\n const children = useCallback(\n (\n renderProps:\n | ButtonRenderProps\n | LinkRenderProps\n | ToggleButtonRenderProps,\n ) => (\n <Provider values={values}>\n <span className={classNames?.button}>\n {callRenderProps(childrenProp, {\n state: noopToggleState,\n isCurrent: false,\n isPending: false,\n isSelected: false,\n ...renderProps,\n })}\n </span>\n </Provider>\n ),\n [values, classNames?.button, childrenProp],\n );\n\n return useMemo(\n () => ({\n ...rest,\n ref: contextRef,\n children,\n className: classNames?.container,\n style,\n }),\n // TODO(ilk): This should be checked. \"rest changes on every re-render and should not be used as a hook dependency.\"\n // biome-ignore lint/correctness/useExhaustiveDependencies: This should be checked and verified.\n [rest, contextRef, children, classNames?.container, style],\n );\n}\n\nexport const ButtonContext: Context<ContextValue<\n ButtonProps,\n HTMLButtonElement\n> | null> = createContext<ContextValue<ButtonProps, HTMLButtonElement>>(null);\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n function Button(props: ButtonProps, ref: ForwardedRef<HTMLButtonElement>) {\n const buttonProps = useButton(props, ref, ButtonContext, 'Button');\n\n return <RACButton {...buttonProps} />;\n },\n) as React.ForwardRefExoticComponent<\n ButtonProps & React.RefAttributes<HTMLButtonElement>\n>;\n\nexport const LinkButtonContext: Context<ContextValue<\n LinkButtonProps,\n HTMLAnchorElement\n> | null> =\n createContext<ContextValue<LinkButtonProps, HTMLAnchorElement>>(null);\n\nexport const LinkButton = forwardRef<HTMLAnchorElement, LinkButtonProps>(\n function LinkButton(\n props: LinkButtonProps,\n ref: ForwardedRef<HTMLAnchorElement>,\n ) {\n const buttonProps = useButton(props, ref, LinkButtonContext, 'LinkButton');\n\n return <Link {...buttonProps} />;\n },\n) as React.ForwardRefExoticComponent<\n LinkButtonProps & React.RefAttributes<HTMLAnchorElement>\n>;\n\nexport const ToggleButtonContext: Context<ContextValue<\n ToggleButtonProps,\n HTMLButtonElement\n> | null> =\n createContext<ContextValue<ToggleButtonProps, HTMLButtonElement>>(null);\n\nexport const ToggleButton = forwardRef<HTMLButtonElement, ToggleButtonProps>(\n function ToggleButton(\n props: ToggleButtonProps,\n ref: ForwardedRef<HTMLButtonElement>,\n ) {\n const buttonProps = useButton(\n props,\n ref,\n ToggleButtonContext,\n 'ToggleButton',\n );\n\n return <RACToggleButton {...buttonProps} />;\n },\n) as React.ForwardRefExoticComponent<\n ToggleButtonProps & React.RefAttributes<HTMLButtonElement>\n>;\n"]}
@@ -1,4 +1,5 @@
1
- import { ButtonRenderProps as ButtonRenderProps$1, LinkRenderProps, ToggleButtonRenderProps, ButtonProps as ButtonProps$1, LinkProps, ToggleButtonProps as ToggleButtonProps$1 } from 'react-aria-components';
1
+ import { ButtonProps as ButtonProps$1, ButtonRenderProps as ButtonRenderProps$1, LinkRenderProps, ToggleButtonRenderProps, LinkProps, ToggleButtonProps as ToggleButtonProps$1 } from 'react-aria-components';
2
+ import { AsType } from '../../types/generic.js';
2
3
  import { OmitProtectedProps } from '../../types/props.js';
3
4
  import { RenderPropsChildren } from '../../types/react-aria.js';
4
5
  import { IconProps } from '../icon/types.js';
@@ -25,7 +26,7 @@ type BaseButtonProps = {
25
26
  variant?: ButtonVariants;
26
27
  };
27
28
  type ButtonState = Omit<ButtonRenderProps, 'state'> & Required<Pick<BaseButtonProps, 'color' | 'size' | 'variant'>>;
28
- type ButtonProps = Omit<ButtonProps$1, 'children' | 'className' | 'style'> & BaseButtonProps;
29
+ type ButtonProps = AsType<Omit<ButtonProps$1, 'children' | 'className' | 'style'> & BaseButtonProps>;
29
30
  type ToggleButtonProps = Omit<ToggleButtonProps$1, 'children' | 'className' | 'style'> & BaseButtonProps;
30
31
  type LinkButtonProps = Omit<LinkProps, 'children' | 'className' | 'style'> & BaseButtonProps;
31
32
 
@@ -9,35 +9,35 @@ import '../icon/types.js';
9
9
  declare const checkboxContainer: string;
10
10
  declare const checkboxGroupContainer: string;
11
11
  declare const checkboxColorVars: {
12
- border: `var(--${string})`;
13
- background: `var(--${string})`;
14
- color: `var(--${string})`;
15
- indicator: `var(--${string})`;
12
+ border: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
13
+ background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
14
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
15
+ indicator: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16
16
  };
17
17
  declare const checkboxSpaceVars: {
18
- dimension: `var(--${string})`;
19
- gap: `var(--${string})`;
20
- elementGap: `var(--${string})`;
18
+ dimension: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
19
+ gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
20
+ elementGap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
21
21
  };
22
22
  declare const checkboxStateVars: {
23
- alignInput: `var(--${string})`;
24
- isDisabled: `var(--${string})`;
25
- isFocused: `var(--${string})`;
26
- isFocusVisible: `var(--${string})`;
27
- isHovered: `var(--${string})`;
28
- isIndeterminate: `var(--${string})`;
29
- isInvalid: `var(--${string})`;
30
- isPressed: `var(--${string})`;
31
- isReadOnly: `var(--${string})`;
32
- isRequired: `var(--${string})`;
33
- isSelected: `var(--${string})`;
23
+ alignInput: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
25
+ isFocused: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
26
+ isFocusVisible: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
27
+ isHovered: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
+ isIndeterminate: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
+ isInvalid: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
30
+ isPressed: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
31
+ isReadOnly: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
+ isRequired: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
33
+ isSelected: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
34
34
  };
35
35
  declare const checkboxGroupStateVars: {
36
- orientation: `var(--${string})`;
37
- isDisabled: `var(--${string})`;
38
- isReadOnly: `var(--${string})`;
39
- isRequired: `var(--${string})`;
40
- isInvalid: `var(--${string})`;
36
+ orientation: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
37
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
38
+ isReadOnly: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
39
+ isRequired: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
40
+ isInvalid: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
41
41
  };
42
42
  declare const checkboxClassNames: CheckboxClassNames;
43
43
 
@@ -9,32 +9,32 @@ import '../icon/types.js';
9
9
 
10
10
  declare const chipContainer: string;
11
11
  declare const chipColorVars: {
12
- background: `var(--${string})`;
13
- border: `var(--${string})`;
14
- color: `var(--${string})`;
12
+ background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
13
+ border: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
14
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
15
15
  };
16
16
  declare const chipSpaceVars: {
17
17
  list: {
18
- gap: `var(--${string})`;
18
+ gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
19
19
  };
20
20
  chip: {
21
- gap: `var(--${string})`;
22
- x: `var(--${string})`;
23
- y: `var(--${string})`;
21
+ gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
22
+ x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
+ y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
24
  };
25
25
  };
26
26
  declare const chipStateVars: {
27
- color: `var(--${string})`;
28
- size: `var(--${string})`;
29
- allowsRemoving: `var(--${string})`;
30
- selectionBehavior: `var(--${string})`;
31
- selectionMode: `var(--${string})`;
32
- isDisabled: `var(--${string})`;
33
- isFocused: `var(--${string})`;
34
- isFocusVisible: `var(--${string})`;
35
- isHovered: `var(--${string})`;
36
- isPressed: `var(--${string})`;
37
- isSelected: `var(--${string})`;
27
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
+ size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
+ allowsRemoving: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
30
+ selectionBehavior: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
31
+ selectionMode: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
33
+ isFocused: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
34
+ isFocusVisible: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
35
+ isHovered: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
36
+ isPressed: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
37
+ isSelected: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
38
38
  };
39
39
  declare const chipClassNames: ChipClassNames;
40
40
 
@@ -10,8 +10,8 @@ import '../../types/react-aria.js';
10
10
  * Section as wrapper of list items at the top level as a styleable
11
11
  * element within the RAC container
12
12
  */
13
- declare function createCollectionRenderer<C extends {
14
- readonly collection: Collection<Node<unknown>>;
13
+ declare function createCollectionRenderer<T extends Collection<Node<object>>, C extends {
14
+ readonly collection: T;
15
15
  }, V extends MergeProviderProps['values']>(context: Context<C>, values: V): CollectionRenderer;
16
16
 
17
17
  export { createCollectionRenderer };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/collection/index.tsx"],"names":[],"mappings":";;;;;;AAyBO,SAAS,wBAAA,CAGd,SAAqB,MAAA,EAA+B;AACpD,EAAA,OAAO;AAAA,IACL,gBAAgB,CAAC,EAAE,qBAAoB,qBACrC,GAAA,CAAC,iBAAc,MAAA,EACZ,QAAA,EAAA,mBAAA;AAAA,MACC,UAAA,CAAW,OAAO,CAAA,EAAG,UAAA;AAAA,MACrB,IAAA;AAAA,MACA;AAAA,KACF,EACF,CAAA;AAAA,IAEF,gBAAA,EAAkB,CAAC,EAAE,UAAA,EAAY,QAAQ,mBAAA,EAAoB,qBAC3D,GAAA,CAAC,aAAA,EAAA,EAAc,MAAA,EACZ,QAAA,EAAA,mBAAA,CAAoB,UAAA,EAAY,MAAA,EAAQ,mBAAmB,CAAA,EAC9D;AAAA,GAEJ;AACF","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { type Context, useContext } from 'react';\nimport { useCollectionRender } from '../../hooks/use-collection-render';\nimport { MergeProvider } from '../merge-provider';\nimport type { Collection, Node } from '@react-types/shared';\nimport type { CollectionRenderer } from 'react-aria-components';\nimport type { MergeProviderProps } from '../merge-provider/types';\n\n/**\n * Replace the default collection renderer to allow for injection of\n * context props for multiple composed components. Also enables use of\n * Section as wrapper of list items at the top level as a styleable\n * element within the RAC container\n */\nexport function createCollectionRenderer<\n C extends { readonly collection: Collection<Node<unknown>> },\n V extends MergeProviderProps['values'],\n>(context: Context<C>, values: V): CollectionRenderer {\n return {\n CollectionRoot: ({ renderDropIndicator }) => (\n <MergeProvider values={values}>\n {useCollectionRender(\n useContext(context)?.collection,\n null,\n renderDropIndicator,\n )}\n </MergeProvider>\n ),\n CollectionBranch: ({ collection, parent, renderDropIndicator }) => (\n <MergeProvider values={values}>\n {useCollectionRender(collection, parent, renderDropIndicator)}\n </MergeProvider>\n ),\n };\n}\n"]}
1
+ {"version":3,"sources":["../../../src/components/collection/index.tsx"],"names":[],"mappings":";;;;;;AAyBO,SAAS,wBAAA,CAId,SAAqB,MAAA,EAA+B;AACpD,EAAA,OAAO;AAAA,IACL,gBAAgB,CAAC,EAAE,qBAAoB,qBACrC,GAAA,CAAC,iBAAc,MAAA,EACZ,QAAA,EAAA,mBAAA;AAAA,MACC,UAAA,CAAW,OAAO,CAAA,EAAG,UAAA;AAAA,MACrB,IAAA;AAAA,MACA;AAAA,KACF,EACF,CAAA;AAAA,IAEF,gBAAA,EAAkB,CAAC,EAAE,UAAA,EAAY,QAAQ,mBAAA,EAAoB,qBAC3D,GAAA,CAAC,aAAA,EAAA,EAAc,MAAA,EACZ,QAAA,EAAA,mBAAA,CAAoB,UAAA,EAAY,MAAA,EAAQ,mBAAmB,CAAA,EAC9D;AAAA,GAEJ;AACF","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport { type Context, useContext } from 'react';\nimport { useCollectionRender } from '../../hooks/use-collection-render';\nimport { MergeProvider } from '../merge-provider';\nimport type { Collection, Node } from '@react-types/shared';\nimport type { CollectionRenderer } from 'react-aria-components';\nimport type { MergeProviderProps } from '../merge-provider/types';\n\n/**\n * Replace the default collection renderer to allow for injection of\n * context props for multiple composed components. Also enables use of\n * Section as wrapper of list items at the top level as a styleable\n * element within the RAC container\n */\nexport function createCollectionRenderer<\n T extends Collection<Node<object>>,\n C extends { readonly collection: T },\n V extends MergeProviderProps['values'],\n>(context: Context<C>, values: V): CollectionRenderer {\n return {\n CollectionRoot: ({ renderDropIndicator }) => (\n <MergeProvider values={values}>\n {useCollectionRender(\n useContext(context)?.collection,\n null,\n renderDropIndicator,\n )}\n </MergeProvider>\n ),\n CollectionBranch: ({ collection, parent, renderDropIndicator }) => (\n <MergeProvider values={values}>\n {useCollectionRender(collection, parent, renderDropIndicator)}\n </MergeProvider>\n ),\n };\n}\n"]}
@@ -13,22 +13,22 @@ import '../options/types.js';
13
13
  declare const comboBoxContainer: string;
14
14
  declare const comboBoxColorVars: {
15
15
  description: {
16
- color: `var(--${string})`;
16
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
17
  };
18
18
  error: {
19
- color: `var(--${string})`;
19
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
20
20
  };
21
21
  };
22
22
  declare const comboBoxSpaceVars: {
23
- x: `var(--${string})`;
24
- y: `var(--${string})`;
23
+ x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
+ y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
25
25
  };
26
26
  declare const comboBoxStateVars: {
27
- size: `var(--${string})`;
28
- isDisabled: `var(--${string})`;
29
- isInvalid: `var(--${string})`;
30
- isOpen: `var(--${string})`;
31
- isRequired: `var(--${string})`;
27
+ size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
+ isInvalid: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
30
+ isOpen: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
31
+ isRequired: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
32
  };
33
33
  declare const comboBoxClassNames: ComboBoxClassNames;
34
34
 
@@ -11,33 +11,33 @@ import '../icon/types.js';
11
11
 
12
12
  declare const dateFieldContainer: string;
13
13
  declare const dateFieldSpaceVars: {
14
- x: `var(--${string})`;
15
- y: `var(--${string})`;
16
- gap: `var(--${string})`;
17
- minWidth: `var(--${string})`;
18
- width: `var(--${string})`;
19
- maxWidth: `var(--${string})`;
14
+ x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
15
+ y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16
+ gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
+ minWidth: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
18
+ width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
19
+ maxWidth: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
20
20
  };
21
21
  declare const dateFieldColorVars: {
22
- border: `var(--${string})`;
22
+ border: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
23
  description: {
24
- color: `var(--${string})`;
24
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
25
25
  };
26
26
  error: {
27
- color: `var(--${string})`;
27
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
28
  };
29
29
  label: {
30
- color: `var(--${string})`;
30
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
31
31
  };
32
32
  };
33
33
  declare const dateFieldStateVars: {
34
- size: `var(--${string})`;
35
- isDisabled: `var(--${string})`;
36
- isFocused: `var(--${string})`;
37
- isHovered: `var(--${string})`;
38
- isInvalid: `var(--${string})`;
39
- isReadOnly: `var(--${string})`;
40
- isRequired: `var(--${string})`;
34
+ size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
35
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
36
+ isFocused: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
37
+ isHovered: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
38
+ isInvalid: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
39
+ isReadOnly: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
40
+ isRequired: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
41
41
  };
42
42
  declare const dateFieldClassNames: DateFieldClassNames;
43
43
 
@@ -10,44 +10,44 @@ import '../icon/types.js';
10
10
  declare const dateInputContainer: string;
11
11
  declare const dateSegmentsContainer: string;
12
12
  declare const dateInputStateVars: {
13
- size: `var(--${string})`;
14
- isHovered: `var(--${string})`;
15
- isFocusWithin: `var(--${string})`;
16
- isFocusVisible: `var(--${string})`;
17
- isDisabled: `var(--${string})`;
18
- isInvalid: `var(--${string})`;
13
+ size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
14
+ isHovered: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
15
+ isFocusWithin: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16
+ isFocusVisible: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
18
+ isInvalid: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
19
19
  };
20
20
  declare const dateSegmentStateVars: {
21
- isHovered: `var(--${string})`;
22
- isFocused: `var(--${string})`;
23
- isFocusVisible: `var(--${string})`;
24
- isDisabled: `var(--${string})`;
25
- isInvalid: `var(--${string})`;
26
- isPlaceholder: `var(--${string})`;
27
- isReadOnly: `var(--${string})`;
28
- isEditable: `var(--${string})`;
21
+ isHovered: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
22
+ isFocused: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
+ isFocusVisible: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
+ isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
25
+ isInvalid: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
26
+ isPlaceholder: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
27
+ isReadOnly: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
28
+ isEditable: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
29
29
  };
30
30
  declare const dateInputSpaceVars: {
31
31
  input: {
32
- x: `var(--${string})`;
33
- y: `var(--${string})`;
34
- gap: `var(--${string})`;
35
- minWidth: `var(--${string})`;
36
- width: `var(--${string})`;
37
- maxWidth: `var(--${string})`;
32
+ x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
33
+ y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
34
+ gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
35
+ minWidth: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
36
+ width: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
37
+ maxWidth: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
38
38
  };
39
39
  segments: {
40
- gap: `var(--${string})`;
40
+ gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
41
41
  };
42
42
  };
43
43
  declare const dateInputColorVars: {
44
- border: `var(--${string})`;
45
- color: `var(--${string})`;
44
+ border: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
45
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
46
46
  description: {
47
- color: `var(--${string})`;
47
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
48
48
  };
49
49
  error: {
50
- color: `var(--${string})`;
50
+ color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
51
51
  };
52
52
  };
53
53
  declare const dateInputClassNames: DateInputClassNames;
@@ -65,7 +65,10 @@ var DateInput = forwardRef(function DateInput2(props, ref) {
65
65
  [size]
66
66
  );
67
67
  const children = useCallback(
68
- (renderProps) => /* @__PURE__ */ jsx("div", { className: classNames?.input?.input, children: childrenProp && (provider ? callRenderProps(childrenProp, { ...renderProps, ...state }) : /* @__PURE__ */ jsx(Fragment, { children: state.segments.map((segment, idx) => /* @__PURE__ */ jsx(Fragment$1, { children: childrenProp(segment) }, `${segment.type}_${idx}`)) })) }),
68
+ (renderProps) => /* @__PURE__ */ jsx("div", { className: classNames?.input?.input, children: childrenProp && (provider ? callRenderProps(childrenProp, { ...renderProps, ...state }) : (
69
+ // biome-ignore lint/complexity/noUselessFragments: children group needs to be wrapped
70
+ /* @__PURE__ */ jsx(Fragment, { children: state.segments.map((segment, idx) => /* @__PURE__ */ jsx(Fragment$1, { children: childrenProp(segment) }, `${segment.type}_${idx}`)) })
71
+ )) }),
69
72
  [childrenProp, state, provider, classNames?.input]
70
73
  );
71
74
  return /* @__PURE__ */ jsxs(Fragment, { children: [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/date-input/index.tsx"],"names":["DateInput","Fragment","DateSegment","RACDateSegment"],"mappings":";;;;;;;;;;;;;AAkDA,IAAM,cAAA,GAAiB;AAAA,EACrB,IAAA,EAAM;AAAA,IACJ,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA,EAAK;AAAA,IACjB,EAAA,EAAI,EAAE,IAAA,EAAM,IAAA;AAAK,GACnB;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAI,MAAA,CAAO,EAAA;AAAA,IACX,IAAI,MAAA,CAAO;AAAA;AAEf,CAAA;AAEA,IAAM,WAAA,GAAc,IAAA;AAEb,IAAM,gBAAA,GACX,cAA4D,IAAI;AAE3D,IAAM,SAAA,GAAY,UAAA,CAAW,SAASA,UAAAA,CAC3C,OACA,GAAA,EACA;AACA,EAAA,MAAM,CAAC,YAAA,EAAc,UAAU,CAAA,GAAI,eAAA;AAAA,IACjC,KAAA;AAAA,IACA,GAAA;AAAA,IACA;AAAA,GACF;AACA,EAAA,MAAM,UAAA,GAAa,eAAA,CAAgB,YAAA,EAAc,WAAW,CAAA;AAE5D,EAAA,MAAM;AAAA,IACJ,QAAA,EAAU,YAAA;AAAA,IACV,UAAA,EAAY,cAAA;AAAA,IACZ,OAAA,EAAS,WAAA;AAAA,IACT,IAAA,GAAO,WAAA;AAAA,IACP,QAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,UAAA;AAEJ,EAAA,MAAM,cAAA,GAAiB,WAAW,qBAAqB,CAAA;AACvD,EAAA,MAAM,cAAA,GAAiB,WAAW,qBAAqB,CAAA;AACvD,EAAA,MAAM,KAAA,GAAQ,kBAAkB,cAAA,IAAkB,IAAA;AAElD,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAM,QAAQ,QAAA,EAAS;AAEvB,EAAA,MAAM,OAAA,GAAU,OAAA;AAAA,IACd,OAAO;AAAA,MACL,GAAG,cAAA;AAAA,MACH,GAAG;AAAA,KACL,CAAA;AAAA,IACA,CAAC,WAAW;AAAA,GACd;AAEA,EAAA,MAAM,UAAA,GAAa,OAAA;AAAA,IACjB,MACE,eAAA,CAAgB,mBAAA,EAAqB,KAAA,CAAM,WAAW,cAAA,EAAgB;AAAA,MACpE,OAAO,EAAE,KAAA,EAAO,OAAA,CAAQ,KAAA,CAAM,IAAI,CAAA;AAAE,KACrC,CAAA;AAAA,IACH,CAAC,KAAA,CAAM,SAAA,EAAW,cAAA,EAAgB,SAAS,IAAI;AAAA,GACjD;AAEA,EAAA,MAAM,KAAA,GAAQ,WAAA;AAAA,IACZ,CAAC,gBACC,UAAA,CAAW,kBAAA,EAAoB,EAAE,GAAG,WAAA,EAAa,MAAM,CAAA;AAAA,IACzD,CAAC,IAAI;AAAA,GACP;AAEA,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,WAAA,qBACC,GAAA,CAAC,SAAI,SAAA,EAAW,UAAA,EAAY,OAAO,KAAA,EAChC,QAAA,EAAA,YAAA,KACE,QAAA,GACC,eAAA,CAAgB,cAAc,EAAE,GAAG,aAAa,GAAG,KAAA,EAAO,CAAA,mBAE1D,GAAA,CAAAC,QAAAA,EAAA,EACG,gBAAM,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,EAAS,GAAA,yBAC3BA,UAAA,EAAA,EACE,QAAA,EAAA,YAAA,CAAa,OAAO,CAAA,EAAA,EADR,CAAA,EAAG,QAAQ,IAAI,CAAA,CAAA,EAAI,GAAG,CAAA,CAErC,CACD,GACH,CAAA,CAAA,EAEN,CAAA;AAAA,IAEF,CAAC,YAAA,EAAc,KAAA,EAAO,QAAA,EAAU,YAAY,KAAK;AAAA,GACnD;AAEA,EAAA,uBACE,IAAA,CAAAA,UAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,UAAA;AAAA,QACJ,GAAG,IAAA;AAAA,QACJ,SAAA,EAAW,YAAY,KAAA,EAAO,SAAA;AAAA,QAC9B,KAAA;AAAA,QAEC;AAAA;AAAA,KACH;AAAA,wBACC,KAAA,EAAA,EAAM;AAAA,GAAA,EACT,CAAA;AAEJ,CAAC;AAEM,IAAM,YAAA,GAAe,UAAA;AAAA,EAC1B,CAAC,OAA0B,GAAA,KAAsC;AAC/D,IAAA,MAAM,EAAE,QAAA,EAAU,UAAA,EAAY,cAAA,EAAe,GAAI,KAAA;AAEjD,IAAA,MAAM,cAAA,GAAiB,WAAW,qBAAqB,CAAA;AACvD,IAAA,MAAM,cAAA,GAAiB,WAAW,qBAAqB,CAAA;AACvD,IAAA,MAAM,KAAA,GAAQ,kBAAkB,cAAA,IAAkB,IAAA;AAElD,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA,IACF;AAEA,IAAA,MAAM,QAAQ,QAAA,EAAS;AAEvB,IAAA,MAAM,UAAA,GAAa,OAAA;AAAA,MACjB,MACE,eAAA,CAAgB,mBAAA,EAAqB,KAAA,CAAM,WAAW,cAAc,CAAA;AAAA,MACtE,CAAC,KAAA,CAAM,SAAA,EAAW,cAAc;AAAA,KAClC;AAEA,IAAA,uBACE,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,UAAA,EAAY,KAAA,EAAO,UAAU,GAAA,EAC1C,QAAA,EAAA,KAAA,CAAM,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,EAAS,wBAC5B,GAAA,CAACA,UAAA,EAAA,EACE,QAAA,EAAA,QAAA,CAAS,OAAO,CAAA,EAAA,EADJ,CAAA,EAAG,OAAA,CAAQ,IAAI,CAAA,CAAA,EAAI,GAAG,CAAA,CAErC,CACD,CAAA,EACH,CAAA;AAAA,EAEJ;AACF;AAEO,IAAM,kBAAA,GACX,cAAuD,IAAI;AAEtD,IAAM,WAAA,GAAoC,UAAA;AAAA,EAC/C,SAASC,YAAAA,CACP,KAAA,EACA,GAAA,EACA;AACA,IAAA,MAAM,CAAC,YAAA,EAAc,UAAU,CAAA,GAAI,eAAA;AAAA,MACjC,KAAA;AAAA,MACA,GAAA;AAAA,MACA;AAAA,KACF;AAEA,IAAA,MAAM;AAAA,MACJ,UAAA,EAAY,cAAA;AAAA,MACZ,QAAA,EAAU,YAAA;AAAA,MACV,GAAG;AAAA,KACL,GAAI,YAAA;AAEJ,IAAA,MAAM,UAAA,GAAa,OAAA;AAAA,MACjB,MAAM,eAAA,CAAgB,mBAAA,EAAqB,cAAc,CAAA;AAAA,MACzD,CAAC,cAAc;AAAA,KACjB;AAEA,IAAA,MAAM,KAAA,GAAQ,WAAA;AAAA,MACZ,CAAC,WAAA,KACC,UAAA,CAAW,oBAAA,EAAsB;AAAA,QAC/B,GAAG;AAAA,OACJ,CAAA;AAAA,MACH;AAAC,KACH;AAEA,IAAA,MAAM,QAAA,GAAW,WAAA;AAAA,MACf,CAAC,WAAA,KAAwC;AACvC,QAAA,MAAM,EAAE,aAAA,EAAe,WAAA,EAAa,IAAA,EAAM,OAAM,GAAI,WAAA;AACpD,QAAA,IAAI,OAAO,iBAAiB,UAAA,EAAY;AACtC,UAAA,OAAO,aAAa,EAAE,GAAG,WAAA,EAAa,eAAA,EAAiB,MAAM,CAAA;AAAA,QAC/D;AAEA,QAAA,IAAI,aAAA,EAAe;AACjB,UAAA,OAAO,WAAA;AAAA,QACT;AAEA,QAAA,2BACG,KAAA,EAAA,EAAI,SAAA,EAAW,YAAY,OAAA,EAAS,OAAA,EAAU,mBAAS,IAAA,EAAK,CAAA;AAAA,MAEjE,CAAA;AAAA,MACA,CAAC,cAAc,UAAU;AAAA,KAC3B;AAEA,IAAA,uBACE,GAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,UAAA;AAAA,QACJ,GAAG,IAAA;AAAA,QACJ,KAAA;AAAA,QACA,SAAA,EAAW,YAAY,OAAA,EAAS,SAAA;AAAA,QAE/B;AAAA;AAAA,KACH;AAAA,EAEJ;AACF","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n createContext,\n type FC,\n type ForwardedRef,\n Fragment,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n DateFieldStateContext,\n Group,\n DateSegment as RACDateSegment,\n type SlotProps,\n TimeFieldStateContext,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inputs } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { Input } from '../input';\nimport {\n dateInputClassNames,\n dateInputStateVars,\n dateSegmentStateVars,\n} from './date-input.css';\nimport type {\n DateInputProps,\n DateInputRenderProps,\n DateSegmentProps,\n DateSegmentRenderProps,\n DateSegmentsProps,\n} from './types';\n\nconst defaultMapping = {\n icon: {\n sm: { size: 'xs' },\n lg: { size: 'md' },\n },\n input: {\n sm: inputs.sm,\n lg: inputs.lg,\n },\n};\n\nconst defaultSize = 'lg';\n\nexport const DateInputContext =\n createContext<ContextValue<DateInputProps, HTMLDivElement>>(null);\n\nexport const DateInput = forwardRef(function DateInput(\n props: DateInputProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n DateInputContext,\n );\n const finalProps = useDefaultProps(contextProps, 'DateInput');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = defaultSize,\n provider,\n ...rest\n } = finalProps;\n\n const dateFieldState = useContext(DateFieldStateContext);\n const timeFieldState = useContext(TimeFieldStateContext);\n const state = dateFieldState ?? timeFieldState ?? null;\n\n if (!state) {\n throw new Error(\n 'Date Input component must be used as a child of either DateField or TimeField.',\n );\n }\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(dateInputClassNames, theme.DateInput, classNamesProp, {\n input: { input: mapping.input[size] },\n }),\n [theme.DateInput, classNamesProp, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: DateInputRenderProps) =>\n inlineVars(dateInputStateVars, { ...renderProps, size }),\n [size],\n );\n\n const children = useCallback(\n (renderProps: DateInputRenderProps) => (\n <div className={classNames?.input?.input}>\n {childrenProp &&\n (provider ? (\n callRenderProps(childrenProp, { ...renderProps, ...state })\n ) : (\n <>\n {state.segments.map((segment, idx) => (\n <Fragment key={`${segment.type}_${idx}`}>\n {childrenProp(segment)}\n </Fragment>\n ))}\n </>\n ))}\n </div>\n ),\n [childrenProp, state, provider, classNames?.input],\n );\n\n return (\n <>\n <Group\n ref={contextRef}\n {...rest}\n className={classNames?.input?.container}\n style={style}\n >\n {children}\n </Group>\n <Input />\n </>\n );\n});\n\nexport const DateSegments = forwardRef(\n (props: DateSegmentsProps, ref: ForwardedRef<HTMLDivElement>) => {\n const { children, classNames: classNamesProp } = props;\n\n const dateFieldState = useContext(DateFieldStateContext);\n const timeFieldState = useContext(TimeFieldStateContext);\n const state = dateFieldState ?? timeFieldState ?? null;\n\n if (!state) {\n throw new Error(\n 'Date Segments component must be used as a child of either DateField or TimeField.',\n );\n }\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () =>\n mergeClassNames(dateInputClassNames, theme.DateInput, classNamesProp),\n [theme.DateInput, classNamesProp],\n );\n\n return (\n <div className={classNames?.input?.segments} ref={ref}>\n {state.segments.map((segment, idx) => (\n <Fragment key={`${segment.type}_${idx}`}>\n {children(segment)}\n </Fragment>\n ))}\n </div>\n );\n },\n);\n\nexport const DateSegmentContext =\n createContext<ContextValue<SlotProps, HTMLDivElement>>(null);\n\nexport const DateSegment: FC<DateSegmentProps> = forwardRef(\n function DateSegment(\n props: DateSegmentProps,\n ref: ForwardedRef<HTMLDivElement>,\n ) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n DateSegmentContext,\n );\n\n const {\n classNames: classNamesProp,\n children: childrenProp,\n ...rest\n } = contextProps;\n\n const classNames = useMemo(\n () => mergeClassNames(dateInputClassNames, classNamesProp),\n [classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: DateSegmentRenderProps) =>\n inlineVars(dateSegmentStateVars, {\n ...renderProps,\n }),\n [],\n );\n\n const children = useCallback(\n (renderProps: DateSegmentRenderProps) => {\n const { isPlaceholder, placeholder, text, value } = renderProps;\n if (typeof childrenProp === 'function') {\n return childrenProp({ ...renderProps, defaultChildren: null });\n }\n\n if (isPlaceholder) {\n return placeholder;\n }\n\n return (\n <div className={classNames?.segment?.segment}>{value ?? text}</div>\n );\n },\n [childrenProp, classNames],\n );\n\n return (\n <RACDateSegment\n ref={contextRef}\n {...rest}\n style={style}\n className={classNames?.segment?.container}\n >\n {children}\n </RACDateSegment>\n );\n },\n);\n"]}
1
+ {"version":3,"sources":["../../../src/components/date-input/index.tsx"],"names":["DateInput","Fragment","DateSegment","RACDateSegment"],"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\nimport {\n createContext,\n type FC,\n type ForwardedRef,\n Fragment,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n DateFieldStateContext,\n Group,\n DateSegment as RACDateSegment,\n type SlotProps,\n TimeFieldStateContext,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inputs } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { Input } from '../input';\nimport {\n dateInputClassNames,\n dateInputStateVars,\n dateSegmentStateVars,\n} from './date-input.css';\nimport type {\n DateInputProps,\n DateInputRenderProps,\n DateSegmentProps,\n DateSegmentRenderProps,\n DateSegmentsProps,\n} from './types';\n\nconst defaultMapping = {\n icon: {\n sm: { size: 'xs' },\n lg: { size: 'md' },\n },\n input: {\n sm: inputs.sm,\n lg: inputs.lg,\n },\n};\n\nconst defaultSize = 'lg';\n\nexport const DateInputContext =\n createContext<ContextValue<DateInputProps, HTMLDivElement>>(null);\n\nexport const DateInput = forwardRef(function DateInput(\n props: DateInputProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n DateInputContext,\n );\n const finalProps = useDefaultProps(contextProps, 'DateInput');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = defaultSize,\n provider,\n ...rest\n } = finalProps;\n\n const dateFieldState = useContext(DateFieldStateContext);\n const timeFieldState = useContext(TimeFieldStateContext);\n const state = dateFieldState ?? timeFieldState ?? null;\n\n if (!state) {\n throw new Error(\n 'Date Input component must be used as a child of either DateField or TimeField.',\n );\n }\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(dateInputClassNames, theme.DateInput, classNamesProp, {\n input: { input: mapping.input[size] },\n }),\n [theme.DateInput, classNamesProp, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: DateInputRenderProps) =>\n inlineVars(dateInputStateVars, { ...renderProps, size }),\n [size],\n );\n\n const children = useCallback(\n (renderProps: DateInputRenderProps) => (\n <div className={classNames?.input?.input}>\n {childrenProp &&\n (provider ? (\n callRenderProps(childrenProp, { ...renderProps, ...state })\n ) : (\n // biome-ignore lint/complexity/noUselessFragments: children group needs to be wrapped\n <>\n {state.segments.map((segment, idx) => (\n <Fragment key={`${segment.type}_${idx}`}>\n {childrenProp(segment)}\n </Fragment>\n ))}\n </>\n ))}\n </div>\n ),\n [childrenProp, state, provider, classNames?.input],\n );\n\n return (\n <>\n <Group\n ref={contextRef}\n {...rest}\n className={classNames?.input?.container}\n style={style}\n >\n {children}\n </Group>\n <Input />\n </>\n );\n});\n\nexport const DateSegments = forwardRef(\n (props: DateSegmentsProps, ref: ForwardedRef<HTMLDivElement>) => {\n const { children, classNames: classNamesProp } = props;\n\n const dateFieldState = useContext(DateFieldStateContext);\n const timeFieldState = useContext(TimeFieldStateContext);\n const state = dateFieldState ?? timeFieldState ?? null;\n\n if (!state) {\n throw new Error(\n 'Date Segments component must be used as a child of either DateField or TimeField.',\n );\n }\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () =>\n mergeClassNames(dateInputClassNames, theme.DateInput, classNamesProp),\n [theme.DateInput, classNamesProp],\n );\n\n return (\n <div className={classNames?.input?.segments} ref={ref}>\n {state.segments.map((segment, idx) => (\n <Fragment key={`${segment.type}_${idx}`}>\n {children(segment)}\n </Fragment>\n ))}\n </div>\n );\n },\n);\n\nexport const DateSegmentContext =\n createContext<ContextValue<SlotProps, HTMLDivElement>>(null);\n\nexport const DateSegment: FC<DateSegmentProps> = forwardRef(\n function DateSegment(\n props: DateSegmentProps,\n ref: ForwardedRef<HTMLDivElement>,\n ) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n DateSegmentContext,\n );\n\n const {\n classNames: classNamesProp,\n children: childrenProp,\n ...rest\n } = contextProps;\n\n const classNames = useMemo(\n () => mergeClassNames(dateInputClassNames, classNamesProp),\n [classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: DateSegmentRenderProps) =>\n inlineVars(dateSegmentStateVars, {\n ...renderProps,\n }),\n [],\n );\n\n const children = useCallback(\n (renderProps: DateSegmentRenderProps) => {\n const { isPlaceholder, placeholder, text, value } = renderProps;\n if (typeof childrenProp === 'function') {\n return childrenProp({ ...renderProps, defaultChildren: null });\n }\n\n if (isPlaceholder) {\n return placeholder;\n }\n\n return (\n <div className={classNames?.segment?.segment}>{value ?? text}</div>\n );\n },\n [childrenProp, classNames],\n );\n\n return (\n <RACDateSegment\n ref={contextRef}\n {...rest}\n style={style}\n className={classNames?.segment?.container}\n >\n {children}\n </RACDateSegment>\n );\n },\n);\n"]}