@accelint/design-system 1.2.2 → 1.2.3

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 (136) hide show
  1. package/dist/components/aria/index.js.map +1 -1
  2. package/dist/components/button/button.css.d.ts +25 -24
  3. package/dist/components/button/index.d.ts +9 -40
  4. package/dist/components/button/index.js +23 -17
  5. package/dist/components/button/index.js.map +1 -1
  6. package/dist/components/button/types.d.ts +3 -2
  7. package/dist/components/checkbox/checkbox.css.d.ts +23 -23
  8. package/dist/components/checkbox/index.js.map +1 -1
  9. package/dist/components/chip/chip.css.d.ts +18 -18
  10. package/dist/components/chip/index.js.map +1 -1
  11. package/dist/components/collection/index.d.ts +3 -3
  12. package/dist/components/collection/index.js.map +1 -1
  13. package/dist/components/combo-box/combo-box.css.d.ts +9 -9
  14. package/dist/components/combo-box/index.js +9 -5
  15. package/dist/components/combo-box/index.js.map +1 -1
  16. package/dist/components/date-field/date-field.css.d.ts +17 -17
  17. package/dist/components/date-field/index.js +8 -4
  18. package/dist/components/date-field/index.js.map +1 -1
  19. package/dist/components/date-input/date-input.css.d.ts +25 -25
  20. package/dist/components/date-input/index.js +19 -8
  21. package/dist/components/date-input/index.js.map +1 -1
  22. package/dist/components/dialog/dialog.css.d.ts +16 -15
  23. package/dist/components/dialog/index.d.ts +1 -0
  24. package/dist/components/dialog/index.js +7 -5
  25. package/dist/components/dialog/index.js.map +1 -1
  26. package/dist/components/dialog/types.d.ts +1 -0
  27. package/dist/components/drawer/drawer.css.d.ts +17 -17
  28. package/dist/components/drawer/index.d.ts +1 -1
  29. package/dist/components/drawer/index.js +21 -8
  30. package/dist/components/drawer/index.js.map +1 -1
  31. package/dist/components/drawer/types.d.ts +1 -1
  32. package/dist/components/element/index.d.ts +1 -1
  33. package/dist/components/element/index.js +7 -3
  34. package/dist/components/element/index.js.map +1 -1
  35. package/dist/components/element/types.d.ts +2 -0
  36. package/dist/components/group/group.css.d.ts +7 -7
  37. package/dist/components/group/index.js +6 -6
  38. package/dist/components/group/index.js.map +1 -1
  39. package/dist/components/icon/icon.css.d.ts +9 -9
  40. package/dist/components/icon/index.js +4 -4
  41. package/dist/components/icon/index.js.map +1 -1
  42. package/dist/components/index.d.ts +35 -35
  43. package/dist/components/input/index.js +17 -8
  44. package/dist/components/input/index.js.map +1 -1
  45. package/dist/components/input/input.css.d.ts +20 -20
  46. package/dist/components/menu/index.d.ts +2 -2
  47. package/dist/components/menu/index.js +1 -1
  48. package/dist/components/menu/index.js.map +1 -1
  49. package/dist/components/menu/menu.css.d.ts +42 -42
  50. package/dist/components/merge-provider/index.js +15 -7
  51. package/dist/components/merge-provider/index.js.map +1 -1
  52. package/dist/components/merge-provider/types.d.ts +2 -0
  53. package/dist/components/number-field/index.d.ts +1 -1
  54. package/dist/components/number-field/index.js +8 -4
  55. package/dist/components/number-field/index.js.map +1 -1
  56. package/dist/components/number-field/number-field.css.d.ts +12 -12
  57. package/dist/components/number-field/types.d.ts +1 -1
  58. package/dist/components/options/index.js +1 -1
  59. package/dist/components/options/index.js.map +1 -1
  60. package/dist/components/options/options.css.d.ts +44 -44
  61. package/dist/components/picker/index.js.map +1 -1
  62. package/dist/components/picker/picker.css.d.ts +18 -18
  63. package/dist/components/popover/index.js +8 -4
  64. package/dist/components/popover/index.js.map +1 -1
  65. package/dist/components/popover/popover.css.d.ts +12 -12
  66. package/dist/components/query-builder/action-element.js.map +1 -1
  67. package/dist/components/query-builder/dataset-sample.js.map +1 -1
  68. package/dist/components/query-builder/group.js.map +1 -1
  69. package/dist/components/query-builder/index.js.map +1 -1
  70. package/dist/components/query-builder/query-builder.css.d.ts +53 -53
  71. package/dist/components/query-builder/value-editor.js.map +1 -1
  72. package/dist/components/query-builder/value-selector.js.map +1 -1
  73. package/dist/components/radio/index.js +12 -8
  74. package/dist/components/radio/index.js.map +1 -1
  75. package/dist/components/radio/radio.css.d.ts +22 -22
  76. package/dist/components/search-field/index.js +9 -5
  77. package/dist/components/search-field/index.js.map +1 -1
  78. package/dist/components/search-field/search-field.css.d.ts +9 -9
  79. package/dist/components/select/index.js +5 -5
  80. package/dist/components/select/index.js.map +1 -1
  81. package/dist/components/select/select.css.d.ts +12 -12
  82. package/dist/components/slider/index.js +48 -20
  83. package/dist/components/slider/index.js.map +1 -1
  84. package/dist/components/slider/slider.css.d.ts +27 -27
  85. package/dist/components/switch/index.js +4 -4
  86. package/dist/components/switch/index.js.map +1 -1
  87. package/dist/components/switch/switch.css.d.ts +16 -16
  88. package/dist/components/tabs/index.js +32 -20
  89. package/dist/components/tabs/index.js.map +1 -1
  90. package/dist/components/tabs/tabs.css.d.ts +25 -25
  91. package/dist/components/text-field/index.d.ts +3 -128
  92. package/dist/components/text-field/index.js +11 -7
  93. package/dist/components/text-field/index.js.map +1 -1
  94. package/dist/components/text-field/text-field.css.d.ts +8 -8
  95. package/dist/components/textarea/index.js +16 -7
  96. package/dist/components/textarea/index.js.map +1 -1
  97. package/dist/components/textarea/textarea.css.d.ts +22 -22
  98. package/dist/components/time-field/index.js +8 -4
  99. package/dist/components/time-field/index.js.map +1 -1
  100. package/dist/components/time-field/time-field.css.d.ts +17 -17
  101. package/dist/components/tooltip/index.js +17 -9
  102. package/dist/components/tooltip/index.js.map +1 -1
  103. package/dist/components/tooltip/tooltip.css.d.ts +11 -11
  104. package/dist/components/tree/index.js +5 -2
  105. package/dist/components/tree/index.js.map +1 -1
  106. package/dist/components/tree/tree.css.d.ts +45 -45
  107. package/dist/hooks/index.d.ts +13 -13
  108. package/dist/hooks/use-collection-render/index.d.ts +1 -1
  109. package/dist/hooks/use-collection-render/index.js +2 -3
  110. package/dist/hooks/use-collection-render/index.js.map +1 -1
  111. package/dist/hooks/use-context-props/index.js.map +1 -1
  112. package/dist/hooks/use-defaults/index.d.ts +32 -80
  113. package/dist/hooks/use-defaults/index.js +1 -4
  114. package/dist/hooks/use-defaults/index.js.map +1 -1
  115. package/dist/hooks/use-defaults/types.d.ts +1 -1
  116. package/dist/hooks/use-theme/index.d.ts +2 -2
  117. package/dist/hooks/use-theme/index.js.map +1 -1
  118. package/dist/hooks/use-theme/types.d.ts +1 -1
  119. package/dist/hooks/use-tree/index.js +3 -2
  120. package/dist/hooks/use-tree/index.js.map +1 -1
  121. package/dist/hooks/use-tree/utils.js +6 -9
  122. package/dist/hooks/use-tree/utils.js.map +1 -1
  123. package/dist/hooks/use-update-effect/index.js.map +1 -1
  124. package/dist/index.css +32 -32
  125. package/dist/index.d.ts +39 -39
  126. package/dist/ladle/actions.js.map +1 -1
  127. package/dist/styles/theme.css.d.ts +200 -200
  128. package/dist/test/setup.js +778 -1276
  129. package/dist/test/setup.js.map +1 -1
  130. package/dist/utils/css/index.d.ts +1 -1
  131. package/dist/utils/css/index.js.map +1 -1
  132. package/dist/utils/props/index.d.ts +1 -2
  133. package/dist/utils/props/index.js +1 -2
  134. package/dist/utils/props/index.js.map +1 -1
  135. package/dist/vanilla.d.ts +29 -29
  136. package/package.json +49 -48
@@ -31,9 +31,9 @@ var TEST_IDS = {
31
31
  };
32
32
  var TabsContext = createContext(null);
33
33
  var Tabs = forwardRef(function Tabs2(props, ref) {
34
- [props, ref] = useContextProps(props, ref, TabsContext);
35
- props = useDefaultProps(props, "Tabs");
36
- const { classNames: classNamesProp, ...rest } = props;
34
+ const [contextProps, contextRef] = useContextProps(props, ref, TabsContext);
35
+ const finalProps = useDefaultProps(contextProps, "Tabs");
36
+ const { classNames: classNamesProp, ...rest } = finalProps;
37
37
  const theme = useTheme();
38
38
  const classNames = useMemo(
39
39
  () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),
@@ -50,7 +50,7 @@ var Tabs = forwardRef(function Tabs2(props, ref) {
50
50
  Tabs$1,
51
51
  {
52
52
  ...rest,
53
- ref,
53
+ ref: contextRef,
54
54
  className: classNames?.tabs,
55
55
  "data-testid": TEST_IDS.tabs
56
56
  }
@@ -58,8 +58,12 @@ var Tabs = forwardRef(function Tabs2(props, ref) {
58
58
  });
59
59
  var TabListContext = createContext(null);
60
60
  var TabList = forwardRef(function TabList2(props, ref) {
61
- [props, ref] = useContextProps(props, ref, TabListContext);
62
- props = useDefaultProps(props, "TabList");
61
+ const [contextProps, contextRef] = useContextProps(
62
+ props,
63
+ ref,
64
+ TabListContext
65
+ );
66
+ const finalProps = useDefaultProps(contextProps, "TabList");
63
67
  const {
64
68
  children,
65
69
  classNames: classNamesProp,
@@ -70,7 +74,7 @@ var TabList = forwardRef(function TabList2(props, ref) {
70
74
  variant = "border",
71
75
  align = orientation === "horizontal" ? "center" : "start",
72
76
  ...rest
73
- } = props;
77
+ } = finalProps;
74
78
  const theme = useTheme();
75
79
  const classNames = useMemo(
76
80
  () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),
@@ -101,7 +105,7 @@ var TabList = forwardRef(function TabList2(props, ref) {
101
105
  TabList$1,
102
106
  {
103
107
  ...rest,
104
- ref,
108
+ ref: contextRef,
105
109
  className: classNames?.list?.list,
106
110
  items,
107
111
  "data-testid": TEST_IDS.list.list,
@@ -115,8 +119,8 @@ var TabContext = createContext(
115
119
  null
116
120
  );
117
121
  var Tab = forwardRef(function Tab2(props, ref) {
118
- [props, ref] = useContextProps(props, ref, TabContext);
119
- props = useDefaultProps(props, "Tab");
122
+ const [contextProps, contextRef] = useContextProps(props, ref, TabContext);
123
+ const finalProps = useDefaultProps(contextProps, "Tab");
120
124
  const {
121
125
  children: childrenProp,
122
126
  classNames: classNamesProp,
@@ -126,7 +130,7 @@ var Tab = forwardRef(function Tab2(props, ref) {
126
130
  onPressStart,
127
131
  onPressUp,
128
132
  ...rest
129
- } = props;
133
+ } = finalProps;
130
134
  const { pressProps } = usePropagatingPress({
131
135
  onPress,
132
136
  onPressChange,
@@ -162,7 +166,7 @@ var Tab = forwardRef(function Tab2(props, ref) {
162
166
  Tab$1,
163
167
  {
164
168
  ...rest,
165
- ref,
169
+ ref: contextRef,
166
170
  className: classNames?.tab?.container,
167
171
  style,
168
172
  "data-testid": TEST_IDS.tab.container,
@@ -172,13 +176,17 @@ var Tab = forwardRef(function Tab2(props, ref) {
172
176
  });
173
177
  var TabPanelsContext = createContext(null);
174
178
  var TabPanels = forwardRef(function TabPanels2(props, ref) {
175
- [props, ref] = useContextProps(props, ref, TabPanelsContext);
176
- props = useDefaultProps(props, "TabPanels");
179
+ const [contextProps, contextRef] = useContextProps(
180
+ props,
181
+ ref,
182
+ TabPanelsContext
183
+ );
184
+ const finalProps = useDefaultProps(contextProps, "TabPanels");
177
185
  const {
178
186
  children,
179
187
  classNames: classNamesProp,
180
188
  shouldForceMount = false
181
- } = props;
189
+ } = finalProps;
182
190
  const theme = useTheme();
183
191
  const classNames = useMemo(
184
192
  () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),
@@ -195,7 +203,7 @@ var TabPanels = forwardRef(function TabPanels2(props, ref) {
195
203
  return /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx(
196
204
  "div",
197
205
  {
198
- ref,
206
+ ref: contextRef,
199
207
  className: classNames?.panels?.container,
200
208
  style,
201
209
  "data-testid": TEST_IDS.panels.container,
@@ -212,14 +220,18 @@ var TabPanels = forwardRef(function TabPanels2(props, ref) {
212
220
  });
213
221
  var TabPanelContext = createContext(null);
214
222
  var TabPanel = forwardRef(function TabPanel2(props, ref) {
215
- [props, ref] = useContextProps(props, ref, TabPanelContext);
216
- props = useDefaultProps(props, "TabPanel");
223
+ const [contextProps, contextRef] = useContextProps(
224
+ props,
225
+ ref,
226
+ TabPanelContext
227
+ );
228
+ const finalProps = useDefaultProps(contextProps, "TabPanel");
217
229
  const {
218
230
  children: childrenProp,
219
231
  classNames: classNamesProp,
220
232
  shouldForceMount = false,
221
233
  ...rest
222
- } = props;
234
+ } = finalProps;
223
235
  const theme = useTheme();
224
236
  const classNames = useMemo(
225
237
  () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),
@@ -247,7 +259,7 @@ var TabPanel = forwardRef(function TabPanel2(props, ref) {
247
259
  TabPanel$1,
248
260
  {
249
261
  ...rest,
250
- ref,
262
+ ref: contextRef,
251
263
  className: classNames?.panel?.container,
252
264
  shouldForceMount,
253
265
  style,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/tabs/index.tsx"],"names":["Tabs","RACTabs","TabList","RACTabList","Tab","RACTab","TabPanels","TabPanel","RACTabPanel"],"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 Children,\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n Provider,\n Tab as RACTab,\n TabList as RACTabList,\n TabPanel as RACTabPanel,\n Tabs as RACTabs,\n type SlotProps,\n} from 'react-aria-components';\nimport type { RequiredDeep } from 'type-fest';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { usePropagatingPress } from '../../hooks/use-propagating-press';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport {\n tabListStateVars,\n tabPanelStateVars,\n tabPanelsStateVars,\n tabStateVars,\n tabsClassNames,\n} from './tabs.css';\nimport type {\n TabListProps,\n TabPanelProps,\n TabPanelRenderProps,\n TabPanelsProps,\n TabProps,\n TabRenderProps,\n TabsClassNames,\n TabsProps,\n} from './types';\n\nexport const TEST_IDS: RequiredDeep<TabsClassNames> = {\n tabs: 'tabs',\n list: {\n container: 'tabs.list.container',\n list: 'tabs.list',\n },\n tab: {\n container: 'tabs.tab.container',\n tab: 'tabs.tab',\n },\n panels: {\n container: 'tabs.panels.container',\n panels: 'tabs.panels',\n },\n panel: {\n container: 'tabs.panel.container',\n panel: 'tabs.panel',\n },\n};\n\nexport const TabsContext =\n createContext<ContextValue<TabsProps, HTMLDivElement>>(null);\n\n/**\n * A required wrapper for other Tabs components, which manages\n * and provides the state context. Other Tabs components will\n * throw an error if not wrapped with this component\n *\n * NOTE: TabList & TabPanels do not have to be direct children\n * of this component. Additional layout can be introduced around\n * this components children\n */\nexport const Tabs = forwardRef(function Tabs(\n props: TabsProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, TabsContext);\n props = useDefaultProps(props, 'Tabs');\n\n const { classNames: classNamesProp, ...rest } = props;\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),\n [theme.Tabs, classNamesProp],\n );\n\n const values = useMemo<\n [\n [\n typeof TabListContext,\n ContextValue<TabListProps<unknown>, HTMLDivElement>,\n ],\n [typeof TabPanelsContext, ContextValue<TabPanelsProps, HTMLDivElement>],\n ]\n >(\n () => [\n [TabListContext, { classNames }],\n [TabPanelsContext, { classNames }],\n ],\n [classNames],\n );\n\n return (\n <Provider values={values}>\n <RACTabs\n {...rest}\n ref={ref}\n className={classNames?.tabs}\n data-testid={TEST_IDS.tabs}\n />\n </Provider>\n );\n});\n\nexport const TabListContext =\n createContext<ContextValue<TabListProps<unknown>, HTMLDivElement>>(null);\n\n/**\n * Parent of Tab\n */\nexport const TabList = forwardRef(function TabList<T extends object>(\n props: TabListProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, TabListContext);\n props = useDefaultProps(props, 'TabList');\n\n const {\n children,\n classNames: classNamesProp,\n anchor = 'end',\n items,\n orientation = 'horizontal',\n size = 'lg',\n variant = 'border',\n align = orientation === 'horizontal' ? 'center' : 'start',\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),\n [theme.Tabs, classNamesProp],\n );\n\n const values = useMemo<[[typeof TabContext, Omit<TabProps, 'id'>]]>(\n () => [[TabContext, { classNames }]],\n [classNames],\n );\n\n const style = useMemo(\n () =>\n inlineVars(tabListStateVars, {\n align,\n anchor,\n count: items ? Array.from(items).length : Children.count(children),\n orientation,\n size,\n variant,\n }),\n [align, anchor, items, children, orientation, size, variant],\n );\n\n return (\n <Provider values={values}>\n <div\n className={classNames?.list?.container}\n style={style}\n data-testid={TEST_IDS.list.container}\n >\n <RACTabList<T>\n {...rest}\n ref={ref}\n className={classNames?.list?.list}\n items={items}\n data-testid={TEST_IDS.list.list}\n >\n {children}\n </RACTabList>\n </div>\n </Provider>\n );\n});\n\nexport const TabContext =\n createContext<ContextValue<Omit<TabProps & SlotProps, 'id'>, HTMLDivElement>>(\n null,\n );\n\n/**\n * Must be a direct child of TabList\n */\nexport const Tab = forwardRef(function Tab(\n props: TabProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, TabContext);\n props = useDefaultProps(props, 'Tab');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n onPress,\n onPressChange,\n onPressEnd,\n onPressStart,\n onPressUp,\n ...rest\n } = props;\n\n const { pressProps } = usePropagatingPress({\n onPress,\n onPressChange,\n onPressEnd,\n onPressStart,\n onPressUp,\n });\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),\n [theme.Tabs, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: TabRenderProps) => inlineVars(tabStateVars, renderProps),\n [],\n );\n\n const children = useCallback(\n (renderProps: TabRenderProps) => (\n <div\n {...pressProps}\n className={classNames?.tab?.tab}\n data-testid={TEST_IDS.tab.tab}\n >\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [pressProps, classNames?.tab?.tab, childrenProp],\n );\n\n return (\n <RACTab\n {...rest}\n ref={ref}\n className={classNames?.tab?.container}\n style={style}\n data-testid={TEST_IDS.tab.container}\n >\n {children}\n </RACTab>\n );\n});\n\nexport const TabPanelsContext =\n createContext<ContextValue<TabPanelsProps, HTMLDivElement>>(null);\n\n/**\n * Parent of TabPanel, but only required if using shouldForceMount=true\n */\nexport const TabPanels = forwardRef(function TabPanels(\n props: TabPanelsProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, TabPanelsContext);\n props = useDefaultProps(props, 'TabPanels');\n\n const {\n children,\n classNames: classNamesProp,\n shouldForceMount = false,\n } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),\n [theme.Tabs, classNamesProp],\n );\n\n const style = useMemo(\n () => inlineVars(tabPanelsStateVars, { shouldForceMount }),\n [shouldForceMount],\n );\n\n const values = useMemo<\n [\n [\n typeof TabPanelContext,\n ContextValue<Omit<TabPanelProps, 'id'>, HTMLDivElement>,\n ],\n ]\n >(\n () => [[TabPanelContext, { classNames, shouldForceMount }]],\n [classNames, shouldForceMount],\n );\n\n return (\n <Provider values={values}>\n <div\n ref={ref}\n className={classNames?.panels?.container}\n style={style}\n data-testid={TEST_IDS.panels.container}\n >\n <div\n className={classNames?.panels?.panels}\n data-testid={TEST_IDS.panels.panels}\n >\n {children}\n </div>\n </div>\n </Provider>\n );\n});\n\nexport const TabPanelContext =\n createContext<ContextValue<Omit<TabPanelProps, 'id'>, HTMLDivElement>>(null);\n\n/**\n * Must be direct child of TabPanels if TabPanel implements shouldForceMount=true\n *\n * Othewise can be used anywhere inside of Tabs. TabPanels may be desirable to use\n * if theme implements any styles that adjust layout\n */\nexport const TabPanel = forwardRef(function TabPanel(\n props: TabPanelProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, TabPanelContext);\n props = useDefaultProps(props, 'TabPanel');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n shouldForceMount = false,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),\n [theme.Tabs, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: TabPanelRenderProps) =>\n inlineVars(tabPanelStateVars, { ...renderProps, shouldForceMount }),\n [shouldForceMount],\n );\n\n const children = useCallback(\n (renderProps: TabPanelRenderProps) => (\n <div\n className={classNames?.panel?.panel}\n data-testid={TEST_IDS.panel.panel}\n >\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [childrenProp, classNames?.panel?.panel],\n );\n\n return (\n <RACTabPanel\n {...rest}\n ref={ref}\n className={classNames?.panel?.container}\n shouldForceMount={shouldForceMount}\n style={style}\n data-testid={TEST_IDS.panel.container}\n >\n {children}\n </RACTabPanel>\n );\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/tabs/index.tsx"],"names":["Tabs","RACTabs","TabList","RACTabList","Tab","RACTab","TabPanels","TabPanel","RACTabPanel"],"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 Children,\n createContext,\n type ForwardedRef,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n Provider,\n Tab as RACTab,\n TabList as RACTabList,\n TabPanel as RACTabPanel,\n Tabs as RACTabs,\n type SlotProps,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { usePropagatingPress } from '../../hooks/use-propagating-press';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport {\n tabListStateVars,\n tabPanelStateVars,\n tabPanelsStateVars,\n tabStateVars,\n tabsClassNames,\n} from './tabs.css';\nimport type { RequiredDeep } from 'type-fest';\nimport type {\n TabListProps,\n TabPanelProps,\n TabPanelRenderProps,\n TabPanelsProps,\n TabProps,\n TabRenderProps,\n TabsClassNames,\n TabsProps,\n} from './types';\n\nexport const TEST_IDS: RequiredDeep<TabsClassNames> = {\n tabs: 'tabs',\n list: {\n container: 'tabs.list.container',\n list: 'tabs.list',\n },\n tab: {\n container: 'tabs.tab.container',\n tab: 'tabs.tab',\n },\n panels: {\n container: 'tabs.panels.container',\n panels: 'tabs.panels',\n },\n panel: {\n container: 'tabs.panel.container',\n panel: 'tabs.panel',\n },\n};\n\nexport const TabsContext =\n createContext<ContextValue<TabsProps, HTMLDivElement>>(null);\n\n/**\n * A required wrapper for other Tabs components, which manages\n * and provides the state context. Other Tabs components will\n * throw an error if not wrapped with this component\n *\n * NOTE: TabList & TabPanels do not have to be direct children\n * of this component. Additional layout can be introduced around\n * this components children\n */\nexport const Tabs = forwardRef(function Tabs(\n props: TabsProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(props, ref, TabsContext);\n const finalProps = useDefaultProps(contextProps, 'Tabs');\n\n const { classNames: classNamesProp, ...rest } = finalProps;\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),\n [theme.Tabs, classNamesProp],\n );\n\n const values = useMemo<\n [\n [\n typeof TabListContext,\n ContextValue<TabListProps<unknown>, HTMLDivElement>,\n ],\n [typeof TabPanelsContext, ContextValue<TabPanelsProps, HTMLDivElement>],\n ]\n >(\n () => [\n [TabListContext, { classNames }],\n [TabPanelsContext, { classNames }],\n ],\n [classNames],\n );\n\n return (\n <Provider values={values}>\n <RACTabs\n {...rest}\n ref={contextRef}\n className={classNames?.tabs}\n data-testid={TEST_IDS.tabs}\n />\n </Provider>\n );\n});\n\nexport const TabListContext =\n createContext<ContextValue<TabListProps<unknown>, HTMLDivElement>>(null);\n\n/**\n * Parent of Tab\n */\nexport const TabList = forwardRef(function TabList<T extends object>(\n props: TabListProps<T>,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n TabListContext,\n );\n const finalProps = useDefaultProps(contextProps, 'TabList');\n\n const {\n children,\n classNames: classNamesProp,\n anchor = 'end',\n items,\n orientation = 'horizontal',\n size = 'lg',\n variant = 'border',\n align = orientation === 'horizontal' ? 'center' : 'start',\n ...rest\n } = finalProps;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),\n [theme.Tabs, classNamesProp],\n );\n\n const values = useMemo<[[typeof TabContext, Omit<TabProps, 'id'>]]>(\n () => [[TabContext, { classNames }]],\n [classNames],\n );\n\n const style = useMemo(\n () =>\n inlineVars(tabListStateVars, {\n align,\n anchor,\n count: items ? Array.from(items).length : Children.count(children),\n orientation,\n size,\n variant,\n }),\n [align, anchor, items, children, orientation, size, variant],\n );\n\n return (\n <Provider values={values}>\n <div\n className={classNames?.list?.container}\n style={style}\n data-testid={TEST_IDS.list.container}\n >\n <RACTabList<T>\n {...rest}\n ref={contextRef}\n className={classNames?.list?.list}\n items={items}\n data-testid={TEST_IDS.list.list}\n >\n {children}\n </RACTabList>\n </div>\n </Provider>\n );\n});\n\nexport const TabContext =\n createContext<ContextValue<Omit<TabProps & SlotProps, 'id'>, HTMLDivElement>>(\n null,\n );\n\n/**\n * Must be a direct child of TabList\n */\nexport const Tab = forwardRef(function Tab(\n props: TabProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(props, ref, TabContext);\n const finalProps = useDefaultProps(contextProps, 'Tab');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n onPress,\n onPressChange,\n onPressEnd,\n onPressStart,\n onPressUp,\n ...rest\n } = finalProps;\n\n const { pressProps } = usePropagatingPress({\n onPress,\n onPressChange,\n onPressEnd,\n onPressStart,\n onPressUp,\n });\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),\n [theme.Tabs, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: TabRenderProps) => inlineVars(tabStateVars, renderProps),\n [],\n );\n\n const children = useCallback(\n (renderProps: TabRenderProps) => (\n <div\n {...pressProps}\n className={classNames?.tab?.tab}\n data-testid={TEST_IDS.tab.tab}\n >\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [pressProps, classNames?.tab?.tab, childrenProp],\n );\n\n return (\n <RACTab\n {...rest}\n ref={contextRef}\n className={classNames?.tab?.container}\n style={style}\n data-testid={TEST_IDS.tab.container}\n >\n {children}\n </RACTab>\n );\n});\n\nexport const TabPanelsContext =\n createContext<ContextValue<TabPanelsProps, HTMLDivElement>>(null);\n\n/**\n * Parent of TabPanel, but only required if using shouldForceMount=true\n */\nexport const TabPanels = forwardRef(function TabPanels(\n props: TabPanelsProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n TabPanelsContext,\n );\n const finalProps = useDefaultProps(contextProps, 'TabPanels');\n\n const {\n children,\n classNames: classNamesProp,\n shouldForceMount = false,\n } = finalProps;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),\n [theme.Tabs, classNamesProp],\n );\n\n const style = useMemo(\n () => inlineVars(tabPanelsStateVars, { shouldForceMount }),\n [shouldForceMount],\n );\n\n const values = useMemo<\n [\n [\n typeof TabPanelContext,\n ContextValue<Omit<TabPanelProps, 'id'>, HTMLDivElement>,\n ],\n ]\n >(\n () => [[TabPanelContext, { classNames, shouldForceMount }]],\n [classNames, shouldForceMount],\n );\n\n return (\n <Provider values={values}>\n <div\n ref={contextRef}\n className={classNames?.panels?.container}\n style={style}\n data-testid={TEST_IDS.panels.container}\n >\n <div\n className={classNames?.panels?.panels}\n data-testid={TEST_IDS.panels.panels}\n >\n {children}\n </div>\n </div>\n </Provider>\n );\n});\n\nexport const TabPanelContext =\n createContext<ContextValue<Omit<TabPanelProps, 'id'>, HTMLDivElement>>(null);\n\n/**\n * Must be direct child of TabPanels if TabPanel implements shouldForceMount=true\n *\n * Othewise can be used anywhere inside of Tabs. TabPanels may be desirable to use\n * if theme implements any styles that adjust layout\n */\nexport const TabPanel = forwardRef(function TabPanel(\n props: TabPanelProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n TabPanelContext,\n );\n const finalProps = useDefaultProps(contextProps, 'TabPanel');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n shouldForceMount = false,\n ...rest\n } = finalProps;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(tabsClassNames, theme.Tabs, classNamesProp),\n [theme.Tabs, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: TabPanelRenderProps) =>\n inlineVars(tabPanelStateVars, { ...renderProps, shouldForceMount }),\n [shouldForceMount],\n );\n\n const children = useCallback(\n (renderProps: TabPanelRenderProps) => (\n <div\n className={classNames?.panel?.panel}\n data-testid={TEST_IDS.panel.panel}\n >\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [childrenProp, classNames?.panel?.panel],\n );\n\n return (\n <RACTabPanel\n {...rest}\n ref={contextRef}\n className={classNames?.panel?.container}\n shouldForceMount={shouldForceMount}\n style={style}\n data-testid={TEST_IDS.panel.container}\n >\n {children}\n </RACTabPanel>\n );\n});\n"]}
@@ -12,45 +12,45 @@ declare const tabsContainers: {
12
12
  panel: string;
13
13
  };
14
14
  declare const tabColorVars: {
15
- background: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
16
- border: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
- color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
15
+ background: `var(--${string})`;
16
+ border: `var(--${string})`;
17
+ color: `var(--${string})`;
18
18
  };
19
19
  declare const tabSpaceVars: {
20
20
  list: {
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})`;
21
+ gap: `var(--${string})`;
22
+ x: `var(--${string})`;
23
+ y: `var(--${string})`;
24
24
  };
25
25
  tab: {
26
- x: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
27
- y: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
26
+ x: `var(--${string})`;
27
+ y: `var(--${string})`;
28
28
  };
29
29
  };
30
30
  declare const tabListStateVars: {
31
- align: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
32
- anchor: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
33
- count: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
34
- orientation: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
35
- size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
36
- variant: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
31
+ align: `var(--${string})`;
32
+ anchor: `var(--${string})`;
33
+ count: `var(--${string})`;
34
+ orientation: `var(--${string})`;
35
+ size: `var(--${string})`;
36
+ variant: `var(--${string})`;
37
37
  };
38
38
  declare const tabStateVars: {
39
- isHovered: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
40
- isPressed: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
41
- isSelected: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
42
- isFocused: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
43
- isFocusVisible: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
44
- isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
39
+ isHovered: `var(--${string})`;
40
+ isPressed: `var(--${string})`;
41
+ isSelected: `var(--${string})`;
42
+ isFocused: `var(--${string})`;
43
+ isFocusVisible: `var(--${string})`;
44
+ isDisabled: `var(--${string})`;
45
45
  };
46
46
  declare const tabPanelsStateVars: {
47
- shouldForceMount: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
47
+ shouldForceMount: `var(--${string})`;
48
48
  };
49
49
  declare const tabPanelStateVars: {
50
- shouldForceMount: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
51
- isFocused: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
52
- isFocusVisible: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
53
- isInert: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
50
+ shouldForceMount: `var(--${string})`;
51
+ isFocused: `var(--${string})`;
52
+ isFocusVisible: `var(--${string})`;
53
+ isInert: `var(--${string})`;
54
54
  };
55
55
  declare const tabsClassNames: TabsClassNames;
56
56
 
@@ -1,136 +1,11 @@
1
- import { TextFieldClassNames, TextFieldMapping, TextFieldSizes, TextFieldProps } from './types.js';
2
- import * as _react_types_shared from '@react-types/shared';
3
1
  import * as react from 'react';
4
- import { TextFieldRenderProps, ContextValue } from 'react-aria-components';
2
+ import { ContextValue } from 'react-aria-components';
3
+ import { TextFieldProps } from './types.js';
5
4
  import 'type-fest';
6
5
  import '../../types/generic.js';
7
6
  import '../input/types.js';
8
7
 
9
8
  declare const TextFieldContext: react.Context<ContextValue<TextFieldProps, HTMLDivElement>>;
10
- declare const TextField: (props: {
11
- children?: react.ReactNode | ((values: TextFieldRenderProps & {
12
- defaultChildren: react.ReactNode | undefined;
13
- }) => react.ReactNode);
14
- slot?: string | null | undefined;
15
- defaultValue?: string | undefined;
16
- autoFocus?: boolean | undefined;
17
- dir?: string | undefined | undefined;
18
- enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
19
- hidden?: boolean | undefined | undefined;
20
- id?: string | undefined;
21
- lang?: string | undefined | undefined;
22
- spellCheck?: string | undefined;
23
- translate?: "yes" | "no" | undefined | undefined;
24
- autoCorrect?: string | undefined;
25
- inert?: boolean | undefined | undefined;
26
- inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
27
- 'aria-activedescendant'?: string | undefined;
28
- 'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined;
29
- 'aria-controls'?: string | undefined;
30
- 'aria-describedby'?: string | undefined;
31
- 'aria-details'?: string | undefined;
32
- 'aria-errormessage'?: string | undefined;
33
- 'aria-haspopup'?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
34
- 'aria-label'?: string | undefined;
35
- 'aria-labelledby'?: string | undefined;
36
- onCopy?: react.ClipboardEventHandler<HTMLInputElement> | undefined;
37
- onCut?: react.ClipboardEventHandler<HTMLInputElement> | undefined;
38
- onPaste?: react.ClipboardEventHandler<HTMLInputElement> | undefined;
39
- onCompositionEnd?: react.CompositionEventHandler<HTMLInputElement> | undefined;
40
- onCompositionStart?: react.CompositionEventHandler<HTMLInputElement> | undefined;
41
- onCompositionUpdate?: react.CompositionEventHandler<HTMLInputElement> | undefined;
42
- onFocus?: ((e: react.FocusEvent<HTMLInputElement, Element>) => void) | undefined;
43
- onBlur?: ((e: react.FocusEvent<HTMLInputElement, Element>) => void) | undefined;
44
- onChange?: ((value: string) => void) | undefined;
45
- onBeforeInput?: react.FormEventHandler<HTMLInputElement> | undefined;
46
- onInput?: react.FormEventHandler<HTMLInputElement> | undefined;
47
- onKeyDown?: ((e: _react_types_shared.KeyboardEvent) => void) | undefined;
48
- onKeyUp?: ((e: _react_types_shared.KeyboardEvent) => void) | undefined;
49
- onAuxClick?: react.MouseEventHandler<HTMLDivElement> | undefined;
50
- onAuxClickCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
51
- onClick?: react.MouseEventHandler<HTMLDivElement> | undefined;
52
- onClickCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
53
- onContextMenu?: react.MouseEventHandler<HTMLDivElement> | undefined;
54
- onContextMenuCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
55
- onDoubleClick?: react.MouseEventHandler<HTMLDivElement> | undefined;
56
- onDoubleClickCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
57
- onMouseDown?: react.MouseEventHandler<HTMLDivElement> | undefined;
58
- onMouseDownCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
59
- onMouseEnter?: react.MouseEventHandler<HTMLDivElement> | undefined;
60
- onMouseLeave?: react.MouseEventHandler<HTMLDivElement> | undefined;
61
- onMouseMove?: react.MouseEventHandler<HTMLDivElement> | undefined;
62
- onMouseMoveCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
63
- onMouseOut?: react.MouseEventHandler<HTMLDivElement> | undefined;
64
- onMouseOutCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
65
- onMouseOver?: react.MouseEventHandler<HTMLDivElement> | undefined;
66
- onMouseOverCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
67
- onMouseUp?: react.MouseEventHandler<HTMLDivElement> | undefined;
68
- onMouseUpCapture?: react.MouseEventHandler<HTMLDivElement> | undefined;
69
- onSelect?: react.ReactEventHandler<HTMLInputElement> | undefined;
70
- onTouchCancel?: react.TouchEventHandler<HTMLDivElement> | undefined;
71
- onTouchCancelCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
72
- onTouchEnd?: react.TouchEventHandler<HTMLDivElement> | undefined;
73
- onTouchEndCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
74
- onTouchMove?: react.TouchEventHandler<HTMLDivElement> | undefined;
75
- onTouchMoveCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
76
- onTouchStart?: react.TouchEventHandler<HTMLDivElement> | undefined;
77
- onTouchStartCapture?: react.TouchEventHandler<HTMLDivElement> | undefined;
78
- onPointerDown?: react.PointerEventHandler<HTMLDivElement> | undefined;
79
- onPointerDownCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
80
- onPointerMove?: react.PointerEventHandler<HTMLDivElement> | undefined;
81
- onPointerMoveCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
82
- onPointerUp?: react.PointerEventHandler<HTMLDivElement> | undefined;
83
- onPointerUpCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
84
- onPointerCancel?: react.PointerEventHandler<HTMLDivElement> | undefined;
85
- onPointerCancelCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
86
- onPointerEnter?: react.PointerEventHandler<HTMLDivElement> | undefined;
87
- onPointerLeave?: react.PointerEventHandler<HTMLDivElement> | undefined;
88
- onPointerOver?: react.PointerEventHandler<HTMLDivElement> | undefined;
89
- onPointerOverCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
90
- onPointerOut?: react.PointerEventHandler<HTMLDivElement> | undefined;
91
- onPointerOutCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
92
- onGotPointerCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
93
- onGotPointerCaptureCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
94
- onLostPointerCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
95
- onLostPointerCaptureCapture?: react.PointerEventHandler<HTMLDivElement> | undefined;
96
- onScroll?: react.UIEventHandler<HTMLDivElement> | undefined;
97
- onScrollCapture?: react.UIEventHandler<HTMLDivElement> | undefined;
98
- onWheel?: react.WheelEventHandler<HTMLDivElement> | undefined;
99
- onWheelCapture?: react.WheelEventHandler<HTMLDivElement> | undefined;
100
- onAnimationStart?: react.AnimationEventHandler<HTMLDivElement> | undefined;
101
- onAnimationStartCapture?: react.AnimationEventHandler<HTMLDivElement> | undefined;
102
- onAnimationEnd?: react.AnimationEventHandler<HTMLDivElement> | undefined;
103
- onAnimationEndCapture?: react.AnimationEventHandler<HTMLDivElement> | undefined;
104
- onAnimationIteration?: react.AnimationEventHandler<HTMLDivElement> | undefined;
105
- onAnimationIterationCapture?: react.AnimationEventHandler<HTMLDivElement> | undefined;
106
- onTransitionCancel?: react.TransitionEventHandler<HTMLDivElement> | undefined;
107
- onTransitionCancelCapture?: react.TransitionEventHandler<HTMLDivElement> | undefined;
108
- onTransitionEnd?: react.TransitionEventHandler<HTMLDivElement> | undefined;
109
- onTransitionEndCapture?: react.TransitionEventHandler<HTMLDivElement> | undefined;
110
- onTransitionRun?: react.TransitionEventHandler<HTMLDivElement> | undefined;
111
- onTransitionRunCapture?: react.TransitionEventHandler<HTMLDivElement> | undefined;
112
- onTransitionStart?: react.TransitionEventHandler<HTMLDivElement> | undefined;
113
- onTransitionStartCapture?: react.TransitionEventHandler<HTMLDivElement> | undefined;
114
- form?: string | undefined;
115
- value?: string | undefined;
116
- type?: "text" | "search" | "url" | "tel" | "email" | "password" | (string & {}) | undefined;
117
- pattern?: string | undefined;
118
- isDisabled?: boolean | undefined;
119
- onFocusChange?: ((isFocused: boolean) => void) | undefined;
120
- name?: string | undefined;
121
- excludeFromTabOrder?: boolean | undefined;
122
- isReadOnly?: boolean | undefined;
123
- isInvalid?: boolean | undefined;
124
- isRequired?: boolean | undefined;
125
- validationBehavior?: "native" | "aria" | undefined;
126
- validate?: ((value: string) => _react_types_shared.ValidationError | true | null | undefined) | undefined;
127
- autoComplete?: string | undefined;
128
- maxLength?: number | undefined;
129
- minLength?: number | undefined;
130
- } & {
131
- classNames?: TextFieldClassNames;
132
- mapping?: Partial<TextFieldMapping>;
133
- size?: TextFieldSizes;
134
- } & react.RefAttributes<HTMLDivElement>) => react.ReactElement | null;
9
+ declare const TextField: (props: TextFieldProps, ref: React.Ref<HTMLDivElement>) => React.ReactElement;
135
10
 
136
11
  export { TextField, TextFieldContext };
@@ -1,5 +1,5 @@
1
1
  import '../../chunk-PZ5AY32C.js';
2
- import { createContext, forwardRef, useMemo, useCallback } from 'react';
2
+ import { createContext, useMemo, useCallback } from 'react';
3
3
  import { LabelContext, Provider, TextField as TextField$1 } from 'react-aria-components';
4
4
  import { useContextProps } from '../../hooks/use-context-props/index.js';
5
5
  import { useDefaultProps } from '../../hooks/use-defaults/index.js';
@@ -24,16 +24,20 @@ var defaultMapping = {
24
24
  };
25
25
  var defaultSize = "lg";
26
26
  var TextFieldContext = createContext(null);
27
- var TextField = forwardRef(function TextField2(props, ref) {
28
- [props, ref] = useContextProps(props, ref, TextFieldContext);
29
- props = useDefaultProps(props, "TextField");
27
+ var TextField = (props, ref) => {
28
+ const [contextProps, contextRef] = useContextProps(
29
+ props,
30
+ ref,
31
+ TextFieldContext
32
+ );
33
+ const finalProps = useDefaultProps(contextProps, "TextField");
30
34
  const {
31
35
  children: childrenProp,
32
36
  classNames: classNamesProp,
33
37
  mapping: mappingProp,
34
38
  size = defaultSize,
35
39
  ...rest
36
- } = props;
40
+ } = finalProps;
37
41
  const theme = useTheme();
38
42
  const mapping = useMemo(
39
43
  () => ({
@@ -83,13 +87,13 @@ var TextField = forwardRef(function TextField2(props, ref) {
83
87
  TextField$1,
84
88
  {
85
89
  ...rest,
86
- ref,
90
+ ref: contextRef,
87
91
  className: classNames?.container,
88
92
  style,
89
93
  children
90
94
  }
91
95
  );
92
- });
96
+ };
93
97
 
94
98
  export { TextField, TextFieldContext };
95
99
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/text-field/index.tsx"],"names":["TextField","RACTextField"],"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 type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n type FieldErrorProps,\n LabelContext,\n type LabelProps,\n Provider,\n TextField as RACTextField,\n type TextFieldRenderProps,\n type TextProps,\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 { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport {\n AriaFieldErrorContext,\n type AriaLabelContext,\n AriaTextContext,\n} from '../aria';\nimport { InputContext } from '../input';\nimport type { InputProps } from '../input/types';\nimport { textFieldClassNames, textFieldStateVars } from './text-field.css';\nimport type { TextFieldMapping, TextFieldProps } from './types';\n\nconst defaultMapping: TextFieldMapping = {\n description: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n};\n\nconst defaultSize = 'lg';\n\nexport const TextFieldContext =\n createContext<ContextValue<TextFieldProps, HTMLDivElement>>(null);\n\nexport const TextField = forwardRef(function TextField(\n props: TextFieldProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, TextFieldContext);\n\n props = useDefaultProps(props, 'TextField');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = defaultSize,\n ...rest\n } = props;\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(textFieldClassNames, theme.TextField, classNamesProp, {\n description: mapping.description[size],\n error: mapping.error[size],\n }),\n [theme.TextField, classNamesProp, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: TextFieldRenderProps) =>\n inlineVars(textFieldStateVars, {\n ...renderProps,\n size,\n }),\n [size],\n );\n const values = useMemo<\n [\n [typeof InputContext, ContextValue<InputProps, HTMLInputElement>],\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof AriaFieldErrorContext,\n ContextValue<FieldErrorProps, HTMLElement>,\n ],\n ]\n >(\n () => [\n [InputContext, { classNames: classNames?.input, size }],\n [LabelContext, { className: classNames?.label }],\n [\n AriaTextContext,\n {\n slots: {\n description: { className: classNames?.description },\n },\n },\n ],\n [AriaFieldErrorContext, { className: classNames?.error }],\n ],\n [classNames, size],\n );\n\n const children = useCallback(\n (renderProps: TextFieldRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.textField}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n ),\n [childrenProp, classNames?.textField, values],\n );\n return (\n <RACTextField\n {...rest}\n ref={ref}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACTextField>\n );\n});\n"]}
1
+ {"version":3,"sources":["../../../src/components/text-field/index.tsx"],"names":["RACTextField"],"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 { createContext, useCallback, useMemo } from 'react';\nimport {\n type ContextValue,\n type FieldErrorProps,\n LabelContext,\n type LabelProps,\n Provider,\n TextField as RACTextField,\n type TextFieldRenderProps,\n type TextProps,\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 { bodies } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport {\n AriaFieldErrorContext,\n type AriaLabelContext,\n AriaTextContext,\n} from '../aria';\nimport { InputContext } from '../input';\nimport { textFieldClassNames, textFieldStateVars } from './text-field.css';\nimport type { InputProps } from '../input/types';\nimport type { TextFieldMapping, TextFieldProps } from './types';\n\nconst defaultMapping: TextFieldMapping = {\n description: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n error: {\n sm: bodies.xs,\n lg: bodies.xs,\n },\n};\n\nconst defaultSize = 'lg';\n\nexport const TextFieldContext =\n createContext<ContextValue<TextFieldProps, HTMLDivElement>>(null);\n\nexport const TextField = (\n props: TextFieldProps,\n ref: React.Ref<HTMLDivElement>,\n): React.ReactElement => {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n TextFieldContext,\n );\n\n const finalProps = useDefaultProps(contextProps, 'TextField');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n mapping: mappingProp,\n size = defaultSize,\n ...rest\n } = finalProps;\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(textFieldClassNames, theme.TextField, classNamesProp, {\n description: mapping.description[size],\n error: mapping.error[size],\n }),\n [theme.TextField, classNamesProp, mapping, size],\n );\n\n const style = useCallback(\n (renderProps: TextFieldRenderProps) =>\n inlineVars(textFieldStateVars, {\n ...renderProps,\n size,\n }),\n [size],\n );\n const values = useMemo<\n [\n [typeof InputContext, ContextValue<InputProps, HTMLInputElement>],\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof AriaFieldErrorContext,\n ContextValue<FieldErrorProps, HTMLElement>,\n ],\n ]\n >(\n () => [\n [InputContext, { classNames: classNames?.input, size }],\n [LabelContext, { className: classNames?.label }],\n [\n AriaTextContext,\n {\n slots: {\n description: { className: classNames?.description },\n },\n },\n ],\n [AriaFieldErrorContext, { className: classNames?.error }],\n ],\n [classNames, size],\n );\n\n const children = useCallback(\n (renderProps: TextFieldRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.textField}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n ),\n [childrenProp, classNames?.textField, values],\n );\n return (\n <RACTextField\n {...rest}\n ref={contextRef}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACTextField>\n );\n};\n"]}
@@ -7,21 +7,21 @@ import '../input/types.js';
7
7
  declare const textFieldContainer: string;
8
8
  declare const textFieldColorVars: {
9
9
  description: {
10
- color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
10
+ color: `var(--${string})`;
11
11
  };
12
12
  error: {
13
- color: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
13
+ color: `var(--${string})`;
14
14
  };
15
15
  };
16
16
  declare const textFieldSpaceVars: {
17
- gap: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
17
+ gap: `var(--${string})`;
18
18
  };
19
19
  declare const textFieldStateVars: {
20
- size: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
21
- isDisabled: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
22
- isInvalid: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
23
- isReadOnly: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
24
- isRequired: `var(--${string})` | `var(--${string}, ${string})` | `var(--${string}, ${number})`;
20
+ size: `var(--${string})`;
21
+ isDisabled: `var(--${string})`;
22
+ isInvalid: `var(--${string})`;
23
+ isReadOnly: `var(--${string})`;
24
+ isRequired: `var(--${string})`;
25
25
  };
26
26
  declare const textFieldClassNames: TextFieldClassNames;
27
27
 
@@ -18,11 +18,19 @@ var defaultMapping = {
18
18
  };
19
19
  var TextAreaContext = createContext(null);
20
20
  var TextArea = forwardRef(function TextArea2(props, ref) {
21
- [props, ref] = useContextProps(props, ref, TextAreaContext$1);
22
- props.className = void 0;
23
- props.style = void 0;
24
- [props, ref] = useContextProps(props, ref, TextAreaContext);
25
- props = useDefaultProps(props, "TextArea");
21
+ const [contextProps1, contextRef1] = useContextProps(
22
+ props,
23
+ ref,
24
+ TextAreaContext$1
25
+ );
26
+ contextProps1.className = void 0;
27
+ contextProps1.style = void 0;
28
+ const [contextProps2, contextRef2] = useContextProps(
29
+ contextProps1,
30
+ contextRef1,
31
+ TextAreaContext
32
+ );
33
+ const defaultProps = useDefaultProps(contextProps2, "TextArea");
26
34
  const {
27
35
  classNames: classNamesProp,
28
36
  defaultValue = "",
@@ -40,7 +48,7 @@ var TextArea = forwardRef(function TextArea2(props, ref) {
40
48
  onHoverEnd,
41
49
  "aria-invalid": ariaInvalid,
42
50
  ...rest
43
- } = props;
51
+ } = defaultProps;
44
52
  const [value, setValue] = useControlledState(valueProp, defaultValue);
45
53
  const isInvalid = !!ariaInvalid && ariaInvalid !== "false";
46
54
  const isPlaceholder = !!placeholder && !value;
@@ -71,6 +79,7 @@ var TextArea = forwardRef(function TextArea2(props, ref) {
71
79
  );
72
80
  const mergedProps = useMemo(
73
81
  () => mergeProps(rest, focusProps, hoverProps),
82
+ // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: Verify this dependency array is correct.
74
83
  [focusProps, hoverProps, rest]
75
84
  );
76
85
  const style = useMemo(
@@ -120,7 +129,7 @@ var TextArea = forwardRef(function TextArea2(props, ref) {
120
129
  {
121
130
  ...mergedProps,
122
131
  ...hoverProps,
123
- ref,
132
+ ref: contextRef2,
124
133
  className: classNames?.textarea,
125
134
  contentEditable: !(isDisabled || isReadOnly),
126
135
  role: "textbox",