@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.
- package/dist/components/aria/index.js.map +1 -1
- package/dist/components/button/button.css.d.ts +25 -24
- package/dist/components/button/index.d.ts +9 -40
- package/dist/components/button/index.js +23 -17
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/types.d.ts +3 -2
- package/dist/components/checkbox/checkbox.css.d.ts +23 -23
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/chip/chip.css.d.ts +18 -18
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/collection/index.d.ts +3 -3
- package/dist/components/collection/index.js.map +1 -1
- package/dist/components/combo-box/combo-box.css.d.ts +9 -9
- package/dist/components/combo-box/index.js +9 -5
- package/dist/components/combo-box/index.js.map +1 -1
- package/dist/components/date-field/date-field.css.d.ts +17 -17
- package/dist/components/date-field/index.js +8 -4
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/date-input/date-input.css.d.ts +25 -25
- package/dist/components/date-input/index.js +19 -8
- package/dist/components/date-input/index.js.map +1 -1
- package/dist/components/dialog/dialog.css.d.ts +16 -15
- package/dist/components/dialog/index.d.ts +1 -0
- package/dist/components/dialog/index.js +7 -5
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dialog/types.d.ts +1 -0
- package/dist/components/drawer/drawer.css.d.ts +17 -17
- package/dist/components/drawer/index.d.ts +1 -1
- package/dist/components/drawer/index.js +21 -8
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/types.d.ts +1 -1
- package/dist/components/element/index.d.ts +1 -1
- package/dist/components/element/index.js +7 -3
- package/dist/components/element/index.js.map +1 -1
- package/dist/components/element/types.d.ts +2 -0
- package/dist/components/group/group.css.d.ts +7 -7
- package/dist/components/group/index.js +6 -6
- package/dist/components/group/index.js.map +1 -1
- package/dist/components/icon/icon.css.d.ts +9 -9
- package/dist/components/icon/index.js +4 -4
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/index.d.ts +35 -35
- package/dist/components/input/index.js +17 -8
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/input.css.d.ts +20 -20
- package/dist/components/menu/index.d.ts +2 -2
- package/dist/components/menu/index.js +1 -1
- package/dist/components/menu/index.js.map +1 -1
- package/dist/components/menu/menu.css.d.ts +42 -42
- package/dist/components/merge-provider/index.js +15 -7
- package/dist/components/merge-provider/index.js.map +1 -1
- package/dist/components/merge-provider/types.d.ts +2 -0
- package/dist/components/number-field/index.d.ts +1 -1
- package/dist/components/number-field/index.js +8 -4
- package/dist/components/number-field/index.js.map +1 -1
- package/dist/components/number-field/number-field.css.d.ts +12 -12
- package/dist/components/number-field/types.d.ts +1 -1
- package/dist/components/options/index.js +1 -1
- package/dist/components/options/index.js.map +1 -1
- package/dist/components/options/options.css.d.ts +44 -44
- package/dist/components/picker/index.js.map +1 -1
- package/dist/components/picker/picker.css.d.ts +18 -18
- package/dist/components/popover/index.js +8 -4
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/popover/popover.css.d.ts +12 -12
- package/dist/components/query-builder/action-element.js.map +1 -1
- package/dist/components/query-builder/dataset-sample.js.map +1 -1
- package/dist/components/query-builder/group.js.map +1 -1
- package/dist/components/query-builder/index.js.map +1 -1
- package/dist/components/query-builder/query-builder.css.d.ts +53 -53
- package/dist/components/query-builder/value-editor.js.map +1 -1
- package/dist/components/query-builder/value-selector.js.map +1 -1
- package/dist/components/radio/index.js +12 -8
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio/radio.css.d.ts +22 -22
- package/dist/components/search-field/index.js +9 -5
- package/dist/components/search-field/index.js.map +1 -1
- package/dist/components/search-field/search-field.css.d.ts +9 -9
- package/dist/components/select/index.js +5 -5
- package/dist/components/select/index.js.map +1 -1
- package/dist/components/select/select.css.d.ts +12 -12
- package/dist/components/slider/index.js +48 -20
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/slider/slider.css.d.ts +27 -27
- package/dist/components/switch/index.js +4 -4
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/switch/switch.css.d.ts +16 -16
- package/dist/components/tabs/index.js +32 -20
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/tabs/tabs.css.d.ts +25 -25
- package/dist/components/text-field/index.d.ts +3 -128
- package/dist/components/text-field/index.js +11 -7
- package/dist/components/text-field/index.js.map +1 -1
- package/dist/components/text-field/text-field.css.d.ts +8 -8
- package/dist/components/textarea/index.js +16 -7
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/textarea/textarea.css.d.ts +22 -22
- package/dist/components/time-field/index.js +8 -4
- package/dist/components/time-field/index.js.map +1 -1
- package/dist/components/time-field/time-field.css.d.ts +17 -17
- package/dist/components/tooltip/index.js +17 -9
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tooltip/tooltip.css.d.ts +11 -11
- package/dist/components/tree/index.js +5 -2
- package/dist/components/tree/index.js.map +1 -1
- package/dist/components/tree/tree.css.d.ts +45 -45
- package/dist/hooks/index.d.ts +13 -13
- package/dist/hooks/use-collection-render/index.d.ts +1 -1
- package/dist/hooks/use-collection-render/index.js +2 -3
- package/dist/hooks/use-collection-render/index.js.map +1 -1
- package/dist/hooks/use-context-props/index.js.map +1 -1
- package/dist/hooks/use-defaults/index.d.ts +32 -80
- package/dist/hooks/use-defaults/index.js +1 -4
- package/dist/hooks/use-defaults/index.js.map +1 -1
- package/dist/hooks/use-defaults/types.d.ts +1 -1
- package/dist/hooks/use-theme/index.d.ts +2 -2
- package/dist/hooks/use-theme/index.js.map +1 -1
- package/dist/hooks/use-theme/types.d.ts +1 -1
- package/dist/hooks/use-tree/index.js +3 -2
- package/dist/hooks/use-tree/index.js.map +1 -1
- package/dist/hooks/use-tree/utils.js +6 -9
- package/dist/hooks/use-tree/utils.js.map +1 -1
- package/dist/hooks/use-update-effect/index.js.map +1 -1
- package/dist/index.css +32 -32
- package/dist/index.d.ts +39 -39
- package/dist/ladle/actions.js.map +1 -1
- package/dist/styles/theme.css.d.ts +200 -200
- package/dist/test/setup.js +778 -1276
- package/dist/test/setup.js.map +1 -1
- package/dist/utils/css/index.d.ts +1 -1
- package/dist/utils/css/index.js.map +1 -1
- package/dist/utils/props/index.d.ts +1 -2
- package/dist/utils/props/index.js +1 -2
- package/dist/utils/props/index.js.map +1 -1
- package/dist/vanilla.d.ts +29 -29
- 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
|
-
[
|
|
35
|
-
|
|
36
|
-
const { classNames: classNamesProp, ...rest } =
|
|
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
|
-
[
|
|
62
|
-
|
|
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
|
-
} =
|
|
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
|
-
[
|
|
119
|
-
|
|
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
|
-
} =
|
|
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
|
-
[
|
|
176
|
-
|
|
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
|
-
} =
|
|
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
|
-
[
|
|
216
|
-
|
|
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
|
-
} =
|
|
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})
|
|
16
|
-
border: `var(--${string})
|
|
17
|
-
color: `var(--${string})
|
|
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})
|
|
22
|
-
x: `var(--${string})
|
|
23
|
-
y: `var(--${string})
|
|
21
|
+
gap: `var(--${string})`;
|
|
22
|
+
x: `var(--${string})`;
|
|
23
|
+
y: `var(--${string})`;
|
|
24
24
|
};
|
|
25
25
|
tab: {
|
|
26
|
-
x: `var(--${string})
|
|
27
|
-
y: `var(--${string})
|
|
26
|
+
x: `var(--${string})`;
|
|
27
|
+
y: `var(--${string})`;
|
|
28
28
|
};
|
|
29
29
|
};
|
|
30
30
|
declare const tabListStateVars: {
|
|
31
|
-
align: `var(--${string})
|
|
32
|
-
anchor: `var(--${string})
|
|
33
|
-
count: `var(--${string})
|
|
34
|
-
orientation: `var(--${string})
|
|
35
|
-
size: `var(--${string})
|
|
36
|
-
variant: `var(--${string})
|
|
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})
|
|
40
|
-
isPressed: `var(--${string})
|
|
41
|
-
isSelected: `var(--${string})
|
|
42
|
-
isFocused: `var(--${string})
|
|
43
|
-
isFocusVisible: `var(--${string})
|
|
44
|
-
isDisabled: `var(--${string})
|
|
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})
|
|
47
|
+
shouldForceMount: `var(--${string})`;
|
|
48
48
|
};
|
|
49
49
|
declare const tabPanelStateVars: {
|
|
50
|
-
shouldForceMount: `var(--${string})
|
|
51
|
-
isFocused: `var(--${string})
|
|
52
|
-
isFocusVisible: `var(--${string})
|
|
53
|
-
isInert: `var(--${string})
|
|
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 {
|
|
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,
|
|
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 =
|
|
28
|
-
[
|
|
29
|
-
|
|
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
|
-
} =
|
|
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":["
|
|
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})
|
|
10
|
+
color: `var(--${string})`;
|
|
11
11
|
};
|
|
12
12
|
error: {
|
|
13
|
-
color: `var(--${string})
|
|
13
|
+
color: `var(--${string})`;
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
16
|
declare const textFieldSpaceVars: {
|
|
17
|
-
gap: `var(--${string})
|
|
17
|
+
gap: `var(--${string})`;
|
|
18
18
|
};
|
|
19
19
|
declare const textFieldStateVars: {
|
|
20
|
-
size: `var(--${string})
|
|
21
|
-
isDisabled: `var(--${string})
|
|
22
|
-
isInvalid: `var(--${string})
|
|
23
|
-
isReadOnly: `var(--${string})
|
|
24
|
-
isRequired: `var(--${string})
|
|
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
|
-
[
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
} =
|
|
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",
|