@accelint/design-system 1.1.3 → 1.1.4
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/index.js.map +1 -1
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/collection/index.d.ts +1 -1
- package/dist/components/collection/index.js.map +1 -1
- package/dist/components/combo-box/index.js +9 -5
- package/dist/components/combo-box/index.js.map +1 -1
- package/dist/components/date-field/index.js +8 -4
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/date-input/index.js +15 -7
- package/dist/components/date-input/index.js.map +1 -1
- package/dist/components/dialog/index.js +7 -5
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/drawer/index.js +21 -8
- package/dist/components/drawer/index.js.map +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/index.js +6 -6
- package/dist/components/group/index.js.map +1 -1
- package/dist/components/icon/index.js +4 -4
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/index.d.ts +34 -34
- package/dist/components/input/index.js +17 -8
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/menu/index.js.map +1 -1
- 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.js +8 -4
- package/dist/components/number-field/index.js.map +1 -1
- package/dist/components/options/index.js.map +1 -1
- package/dist/components/picker/index.js.map +1 -1
- package/dist/components/popover/index.js +8 -4
- package/dist/components/popover/index.js.map +1 -1
- 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/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/search-field/index.js +9 -5
- package/dist/components/search-field/index.js.map +1 -1
- package/dist/components/select/index.js +5 -5
- package/dist/components/select/index.js.map +1 -1
- package/dist/components/slider/index.js +48 -20
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/switch/index.js +4 -4
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/tabs/index.js +32 -20
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/text-field/index.js +8 -4
- package/dist/components/text-field/index.js.map +1 -1
- package/dist/components/textarea/index.js +16 -7
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/time-field/index.js +8 -4
- package/dist/components/time-field/index.js.map +1 -1
- package/dist/components/tooltip/index.js +17 -9
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tree/index.js.map +1 -1
- package/dist/components/tree/utils.js +3 -1
- package/dist/components/tree/utils.js.map +1 -1
- package/dist/hooks/index.d.ts +4 -4
- package/dist/hooks/use-theme/index.d.ts +1 -1
- package/dist/hooks/use-theme/index.js.map +1 -1
- package/dist/hooks/use-tree/index.js.map +1 -1
- package/dist/hooks/use-update-effect/index.js.map +1 -1
- package/dist/index.d.ts +34 -34
- package/dist/ladle/actions.js.map +1 -1
- package/dist/test/setup.js +10 -10
- package/dist/test/setup.js.map +1 -1
- package/dist/utils/css/index.js.map +1 -1
- 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 +11 -10
|
@@ -15,9 +15,13 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
15
15
|
|
|
16
16
|
var SliderBarContext = createContext(null);
|
|
17
17
|
var SliderBar = forwardRef(function SliderBar2(props, ref) {
|
|
18
|
-
[
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
const [contextProps, contextRef] = useContextProps(
|
|
19
|
+
props,
|
|
20
|
+
ref,
|
|
21
|
+
SliderBarContext
|
|
22
|
+
);
|
|
23
|
+
const finalProps = useDefaultProps(contextProps, "SliderBar");
|
|
24
|
+
const { classNames: classNamesProp, ...rest } = finalProps;
|
|
21
25
|
const theme = useTheme();
|
|
22
26
|
const classNames = useMemo(
|
|
23
27
|
() => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
|
|
@@ -33,7 +37,7 @@ var SliderBar = forwardRef(function SliderBar2(props, ref) {
|
|
|
33
37
|
"div",
|
|
34
38
|
{
|
|
35
39
|
...rest,
|
|
36
|
-
ref,
|
|
40
|
+
ref: contextRef,
|
|
37
41
|
className: classNames?.track?.bar,
|
|
38
42
|
style: {
|
|
39
43
|
position: "absolute",
|
|
@@ -51,9 +55,17 @@ var SliderBar = forwardRef(function SliderBar2(props, ref) {
|
|
|
51
55
|
});
|
|
52
56
|
var SliderOutputContext = createContext(null);
|
|
53
57
|
var SliderOutput = forwardRef(function SliderOutput2(props, ref) {
|
|
54
|
-
[
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
const [contextProps, contextRef] = useContextProps(
|
|
59
|
+
props,
|
|
60
|
+
ref,
|
|
61
|
+
SliderOutputContext
|
|
62
|
+
);
|
|
63
|
+
const finalProps = useDefaultProps(contextProps, "SliderOutput");
|
|
64
|
+
const {
|
|
65
|
+
children: childrenProp,
|
|
66
|
+
classNames: classNamesProp,
|
|
67
|
+
...rest
|
|
68
|
+
} = finalProps;
|
|
57
69
|
const theme = useTheme();
|
|
58
70
|
const classNames = useMemo(
|
|
59
71
|
() => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
|
|
@@ -74,7 +86,7 @@ var SliderOutput = forwardRef(function SliderOutput2(props, ref) {
|
|
|
74
86
|
SliderOutput$1,
|
|
75
87
|
{
|
|
76
88
|
...rest,
|
|
77
|
-
ref,
|
|
89
|
+
ref: contextRef,
|
|
78
90
|
className: classNames?.output?.container,
|
|
79
91
|
style,
|
|
80
92
|
children
|
|
@@ -83,9 +95,17 @@ var SliderOutput = forwardRef(function SliderOutput2(props, ref) {
|
|
|
83
95
|
});
|
|
84
96
|
var SliderTrackContext = createContext(null);
|
|
85
97
|
var SliderTrack = forwardRef(function SliderTrack2(props, ref) {
|
|
86
|
-
[
|
|
87
|
-
|
|
88
|
-
|
|
98
|
+
const [contextProps, contextRef] = useContextProps(
|
|
99
|
+
props,
|
|
100
|
+
ref,
|
|
101
|
+
SliderTrackContext
|
|
102
|
+
);
|
|
103
|
+
const finalProps = useDefaultProps(contextProps, "SliderTrack");
|
|
104
|
+
const {
|
|
105
|
+
children: childrenProp,
|
|
106
|
+
classNames: classNamesProp,
|
|
107
|
+
...rest
|
|
108
|
+
} = finalProps;
|
|
89
109
|
const theme = useTheme();
|
|
90
110
|
const classNames = useMemo(
|
|
91
111
|
() => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
|
|
@@ -113,7 +133,7 @@ var SliderTrack = forwardRef(function SliderTrack2(props, ref) {
|
|
|
113
133
|
SliderTrack$1,
|
|
114
134
|
{
|
|
115
135
|
...rest,
|
|
116
|
-
ref,
|
|
136
|
+
ref: contextRef,
|
|
117
137
|
className: classNames?.track?.container,
|
|
118
138
|
style,
|
|
119
139
|
children
|
|
@@ -122,9 +142,17 @@ var SliderTrack = forwardRef(function SliderTrack2(props, ref) {
|
|
|
122
142
|
});
|
|
123
143
|
var SliderThumbContext = createContext(null);
|
|
124
144
|
var SliderThumb = forwardRef(function SliderThumb2(props, ref) {
|
|
125
|
-
[
|
|
126
|
-
|
|
127
|
-
|
|
145
|
+
const [contextProps, contextRef] = useContextProps(
|
|
146
|
+
props,
|
|
147
|
+
ref,
|
|
148
|
+
SliderThumbContext
|
|
149
|
+
);
|
|
150
|
+
const finalProps = useDefaultProps(contextProps, "SliderThumb");
|
|
151
|
+
const {
|
|
152
|
+
children: childrenProp,
|
|
153
|
+
classNames: classNamesProp,
|
|
154
|
+
...rest
|
|
155
|
+
} = finalProps;
|
|
128
156
|
const theme = useTheme();
|
|
129
157
|
const classNames = useMemo(
|
|
130
158
|
() => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
|
|
@@ -145,7 +173,7 @@ var SliderThumb = forwardRef(function SliderThumb2(props, ref) {
|
|
|
145
173
|
SliderThumb$1,
|
|
146
174
|
{
|
|
147
175
|
...rest,
|
|
148
|
-
ref,
|
|
176
|
+
ref: contextRef,
|
|
149
177
|
className: classNames?.thumb?.container,
|
|
150
178
|
style,
|
|
151
179
|
children
|
|
@@ -154,8 +182,8 @@ var SliderThumb = forwardRef(function SliderThumb2(props, ref) {
|
|
|
154
182
|
});
|
|
155
183
|
var SliderContext = createContext(null);
|
|
156
184
|
var Slider = forwardRef(function Slider2(props, ref) {
|
|
157
|
-
[
|
|
158
|
-
|
|
185
|
+
const [contextProps, contextRef] = useContextProps(props, ref, SliderContext);
|
|
186
|
+
const finalProps = useDefaultProps(contextProps, "Slider");
|
|
159
187
|
const {
|
|
160
188
|
children: childrenProp,
|
|
161
189
|
classNames: classNamesProp,
|
|
@@ -163,7 +191,7 @@ var Slider = forwardRef(function Slider2(props, ref) {
|
|
|
163
191
|
orientation = "horizontal",
|
|
164
192
|
isDisabled,
|
|
165
193
|
...rest
|
|
166
|
-
} =
|
|
194
|
+
} = finalProps;
|
|
167
195
|
const theme = useTheme();
|
|
168
196
|
const classNames = useMemo(
|
|
169
197
|
() => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),
|
|
@@ -223,7 +251,7 @@ var Slider = forwardRef(function Slider2(props, ref) {
|
|
|
223
251
|
Slider$1,
|
|
224
252
|
{
|
|
225
253
|
...rest,
|
|
226
|
-
ref,
|
|
254
|
+
ref: contextRef,
|
|
227
255
|
className: classNames?.slider?.container,
|
|
228
256
|
orientation,
|
|
229
257
|
style,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/slider/index.tsx"],"names":["SliderBar","SliderOutput","RACSliderOutput","SliderTrack","RACSliderTrack","SliderThumb","RACSliderThumb","Slider","RACSlider"],"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 { clsx } from 'clsx';\nimport {\n type ForwardedRef,\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n DEFAULT_SLOT,\n LabelContext,\n type LabelProps,\n Provider,\n Slider as RACSlider,\n SliderOutput as RACSliderOutput,\n SliderThumb as RACSliderThumb,\n SliderTrack as RACSliderTrack,\n SliderStateContext,\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 { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { type AriaLabelContext, AriaTextContext } from '../aria';\nimport { GroupContext } from '../group';\nimport type { GroupProps } from '../group/types';\nimport { NumberFieldContext } from '../number-field';\nimport type { NumberFieldProps } from '../number-field/types';\nimport {\n sliderClassNames,\n sliderStateVars,\n sliderThumbStateVars,\n sliderTrackStateVars,\n} from './slider.css';\nimport type {\n SliderBarProps,\n SliderOutputProps,\n SliderProps,\n SliderRenderProps,\n SliderThumbProps,\n SliderThumbRenderProps,\n SliderTrackProps,\n SliderTrackRenderProps,\n} from './types';\n\nexport const SliderBarContext =\n createContext<ContextValue<SliderBarProps, HTMLDivElement>>(null);\n\n/**\n * SliderBar is optional, but must be used as a child of SliderTrack\n */\nexport const SliderBar = forwardRef(function SliderBar(\n props: SliderBarProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderBarContext);\n\n props = useDefaultProps(props, 'SliderBar');\n\n const { classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const state = useContext(SliderStateContext);\n if (!state) {\n throw new Error('SliderBar must be used as a child of Slider.');\n }\n\n const min = state.getThumbPercent(0);\n const max = state.getThumbPercent(1);\n\n return (\n <div\n {...rest}\n ref={ref}\n className={classNames?.track?.bar}\n style={{\n position: 'absolute',\n ...(state.orientation === 'horizontal' && {\n left: max ? `${min * 100}%` : 0,\n width: max\n ? `${(max * 100 || 0) - (min * 100 || 0)}%`\n : `${min * 100}%`,\n }),\n ...(state.orientation === 'vertical' && {\n bottom: max ? `${min * 100}%` : 0,\n height: max\n ? `${(max * 100 || 0) - (min * 100 || 0)}%`\n : `${min * 100}%`,\n }),\n }}\n />\n );\n});\n\nexport const SliderOutputContext =\n createContext<ContextValue<SliderOutputProps, HTMLOutputElement>>(null);\n\nexport const SliderOutput = forwardRef(function SliderOutput(\n props: SliderOutputProps,\n ref: ForwardedRef<HTMLOutputElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderOutputContext);\n\n props = useDefaultProps(props, 'SliderOutput');\n\n const { children: childrenProp, classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderRenderProps) =>\n inlineVars(sliderStateVars, renderProps),\n [],\n );\n\n const children = useCallback(\n (renderProps: SliderRenderProps) => (\n <div className={classNames?.output?.output}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [childrenProp, classNames?.output?.output],\n );\n\n return (\n <RACSliderOutput\n {...rest}\n ref={ref}\n className={classNames?.output?.container}\n style={style}\n >\n {children}\n </RACSliderOutput>\n );\n});\n\nexport const SliderTrackContext =\n createContext<ContextValue<SliderTrackProps, HTMLDivElement>>(null);\n\n/**\n * SliderTrack must be used as a child of Slider, a parent of SliderThumb,\n * and if used, a parent of SliderBar\n */\nexport const SliderTrack = forwardRef(function SliderTrack(\n props: SliderTrackProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderTrackContext);\n\n props = useDefaultProps(props, 'SliderTrack');\n\n const { children: childrenProp, classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderTrackRenderProps) =>\n inlineVars(sliderTrackStateVars, renderProps),\n [],\n );\n\n const values = useMemo<\n [\n [\n typeof SliderThumbContext,\n ContextValue<SliderThumbProps, HTMLDivElement>,\n ],\n [typeof SliderBarContext, ContextValue<SliderBarProps, HTMLDivElement>],\n ]\n >(\n () => [\n [SliderThumbContext, { classNames }],\n [SliderBarContext, { classNames }],\n ],\n [classNames],\n );\n\n const children = useCallback(\n (renderProps: SliderTrackRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.track?.track}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n ),\n [childrenProp, values, classNames?.track?.track],\n );\n\n return (\n <RACSliderTrack\n {...rest}\n ref={ref}\n className={classNames?.track?.container}\n style={style}\n >\n {children}\n </RACSliderTrack>\n );\n});\n\nexport const SliderThumbContext =\n createContext<ContextValue<SliderThumbProps, HTMLDivElement>>(null);\n\n/**\n * SliderThumb must be used as a child of SliderTrack\n */\nexport const SliderThumb = forwardRef(function SliderThumb(\n props: SliderThumbProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderThumbContext);\n\n props = useDefaultProps(props, 'SliderThumb');\n\n const { children: childrenProp, classNames: classNamesProp, ...rest } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderThumbRenderProps) =>\n inlineVars(sliderThumbStateVars, renderProps),\n [],\n );\n\n const children = useCallback(\n (renderProps: SliderThumbRenderProps) => (\n <div className={classNames?.thumb?.thumb}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [childrenProp, classNames?.thumb?.thumb],\n );\n\n return (\n <RACSliderThumb\n {...rest}\n ref={ref}\n className={classNames?.thumb?.container}\n style={style}\n >\n {children}\n </RACSliderThumb>\n );\n});\n\nexport const SliderContext =\n createContext<ContextValue<SliderProps, HTMLDivElement>>(null);\n\nexport const Slider = forwardRef(function Slider(\n props: SliderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n [props, ref] = useContextProps(props, ref, SliderContext);\n\n props = useDefaultProps(props, 'Slider');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n layout = 'stacked',\n orientation = 'horizontal',\n isDisabled,\n ...rest\n } = props;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n ({ ...renderProps }: SliderRenderProps) =>\n inlineVars(sliderStateVars, {\n ...renderProps,\n layout,\n }),\n [layout],\n );\n\n const values = useMemo<\n [\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof NumberFieldContext,\n ContextValue<NumberFieldProps, HTMLDivElement>,\n ],\n [\n typeof SliderOutputContext,\n ContextValue<SliderOutputProps, HTMLOutputElement>,\n ],\n [\n typeof SliderTrackContext,\n ContextValue<SliderTrackProps, HTMLDivElement>,\n ],\n [\n typeof GroupContext,\n ContextValue<\n GroupProps<NumberFieldProps, HTMLDivElement>,\n HTMLDivElement\n >,\n ],\n ]\n >(\n () => [\n [LabelContext, { className: classNames?.slider?.label }],\n [\n AriaTextContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n min: {\n className: clsx(\n classNames?.slider?.tick,\n classNames?.slider?.min,\n ),\n },\n max: {\n className: clsx(\n classNames?.slider?.tick,\n classNames?.slider?.max,\n ),\n },\n },\n },\n ],\n [NumberFieldContext, { classNames: classNames?.numberField, isDisabled }],\n [SliderOutputContext, { classNames }],\n [SliderTrackContext, { classNames }],\n [\n GroupContext,\n {\n classNames: classNames?.group,\n context: NumberFieldContext,\n orientation,\n reverse: orientation === 'vertical',\n values: { classNames: classNames?.group?.numberField },\n },\n ],\n ],\n [classNames, orientation, isDisabled],\n );\n\n const children = useCallback(\n (renderProps: SliderRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.slider?.slider}>\n {callRenderProps(childrenProp, renderProps)}\n </div>\n </Provider>\n ),\n [childrenProp, classNames?.slider, values],\n );\n\n return (\n <RACSlider\n {...rest}\n ref={ref}\n className={classNames?.slider?.container}\n orientation={orientation}\n style={style}\n isDisabled={isDisabled}\n >\n {children}\n </RACSlider>\n );\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/slider/index.tsx"],"names":["SliderBar","SliderOutput","RACSliderOutput","SliderTrack","RACSliderTrack","SliderThumb","RACSliderThumb","Slider","RACSlider"],"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 { clsx } from 'clsx';\nimport {\n createContext,\n type ForwardedRef,\n forwardRef,\n useCallback,\n useContext,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n DEFAULT_SLOT,\n LabelContext,\n type LabelProps,\n Provider,\n Slider as RACSlider,\n SliderOutput as RACSliderOutput,\n SliderThumb as RACSliderThumb,\n SliderTrack as RACSliderTrack,\n SliderStateContext,\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 { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { type AriaLabelContext, AriaTextContext } from '../aria';\nimport { GroupContext } from '../group';\nimport { NumberFieldContext } from '../number-field';\nimport {\n sliderClassNames,\n sliderStateVars,\n sliderThumbStateVars,\n sliderTrackStateVars,\n} from './slider.css';\nimport type { GroupProps } from '../group/types';\nimport type { NumberFieldProps } from '../number-field/types';\nimport type {\n SliderBarProps,\n SliderOutputProps,\n SliderProps,\n SliderRenderProps,\n SliderThumbProps,\n SliderThumbRenderProps,\n SliderTrackProps,\n SliderTrackRenderProps,\n} from './types';\n\nexport const SliderBarContext =\n createContext<ContextValue<SliderBarProps, HTMLDivElement>>(null);\n\n/**\n * SliderBar is optional, but must be used as a child of SliderTrack\n */\nexport const SliderBar = forwardRef(function SliderBar(\n props: SliderBarProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n SliderBarContext,\n );\n\n const finalProps = useDefaultProps(contextProps, 'SliderBar');\n\n const { classNames: classNamesProp, ...rest } = finalProps;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const state = useContext(SliderStateContext);\n if (!state) {\n throw new Error('SliderBar must be used as a child of Slider.');\n }\n\n const min = state.getThumbPercent(0);\n const max = state.getThumbPercent(1);\n\n return (\n <div\n {...rest}\n ref={contextRef}\n className={classNames?.track?.bar}\n style={{\n position: 'absolute',\n ...(state.orientation === 'horizontal' && {\n left: max ? `${min * 100}%` : 0,\n width: max\n ? `${(max * 100 || 0) - (min * 100 || 0)}%`\n : `${min * 100}%`,\n }),\n ...(state.orientation === 'vertical' && {\n bottom: max ? `${min * 100}%` : 0,\n height: max\n ? `${(max * 100 || 0) - (min * 100 || 0)}%`\n : `${min * 100}%`,\n }),\n }}\n />\n );\n});\n\nexport const SliderOutputContext =\n createContext<ContextValue<SliderOutputProps, HTMLOutputElement>>(null);\n\nexport const SliderOutput = forwardRef(function SliderOutput(\n props: SliderOutputProps,\n ref: ForwardedRef<HTMLOutputElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n SliderOutputContext,\n );\n\n const finalProps = useDefaultProps(contextProps, 'SliderOutput');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n ...rest\n } = finalProps;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderRenderProps) =>\n inlineVars(sliderStateVars, renderProps),\n [],\n );\n\n const children = useCallback(\n (renderProps: SliderRenderProps) => (\n <div className={classNames?.output?.output}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [childrenProp, classNames?.output?.output],\n );\n\n return (\n <RACSliderOutput\n {...rest}\n ref={contextRef}\n className={classNames?.output?.container}\n style={style}\n >\n {children}\n </RACSliderOutput>\n );\n});\n\nexport const SliderTrackContext =\n createContext<ContextValue<SliderTrackProps, HTMLDivElement>>(null);\n\n/**\n * SliderTrack must be used as a child of Slider, a parent of SliderThumb,\n * and if used, a parent of SliderBar\n */\nexport const SliderTrack = forwardRef(function SliderTrack(\n props: SliderTrackProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n SliderTrackContext,\n );\n\n const finalProps = useDefaultProps(contextProps, 'SliderTrack');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n ...rest\n } = finalProps;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderTrackRenderProps) =>\n inlineVars(sliderTrackStateVars, renderProps),\n [],\n );\n\n const values = useMemo<\n [\n [\n typeof SliderThumbContext,\n ContextValue<SliderThumbProps, HTMLDivElement>,\n ],\n [typeof SliderBarContext, ContextValue<SliderBarProps, HTMLDivElement>],\n ]\n >(\n () => [\n [SliderThumbContext, { classNames }],\n [SliderBarContext, { classNames }],\n ],\n [classNames],\n );\n\n const children = useCallback(\n (renderProps: SliderTrackRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.track?.track}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n </Provider>\n ),\n [childrenProp, values, classNames?.track?.track],\n );\n\n return (\n <RACSliderTrack\n {...rest}\n ref={contextRef}\n className={classNames?.track?.container}\n style={style}\n >\n {children}\n </RACSliderTrack>\n );\n});\n\nexport const SliderThumbContext =\n createContext<ContextValue<SliderThumbProps, HTMLDivElement>>(null);\n\n/**\n * SliderThumb must be used as a child of SliderTrack\n */\nexport const SliderThumb = forwardRef(function SliderThumb(\n props: SliderThumbProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n SliderThumbContext,\n );\n\n const finalProps = useDefaultProps(contextProps, 'SliderThumb');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n ...rest\n } = finalProps;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n (renderProps: SliderThumbRenderProps) =>\n inlineVars(sliderThumbStateVars, renderProps),\n [],\n );\n\n const children = useCallback(\n (renderProps: SliderThumbRenderProps) => (\n <div className={classNames?.thumb?.thumb}>\n {callRenderProps(childrenProp, {\n ...renderProps,\n defaultChildren: null,\n })}\n </div>\n ),\n [childrenProp, classNames?.thumb?.thumb],\n );\n\n return (\n <RACSliderThumb\n {...rest}\n ref={contextRef}\n className={classNames?.thumb?.container}\n style={style}\n >\n {children}\n </RACSliderThumb>\n );\n});\n\nexport const SliderContext =\n createContext<ContextValue<SliderProps, HTMLDivElement>>(null);\n\nexport const Slider = forwardRef(function Slider(\n props: SliderProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n const [contextProps, contextRef] = useContextProps(props, ref, SliderContext);\n\n const finalProps = useDefaultProps(contextProps, 'Slider');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n layout = 'stacked',\n orientation = 'horizontal',\n isDisabled,\n ...rest\n } = finalProps;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(sliderClassNames, theme.Slider, classNamesProp),\n [theme.Slider, classNamesProp],\n );\n\n const style = useCallback(\n ({ ...renderProps }: SliderRenderProps) =>\n inlineVars(sliderStateVars, {\n ...renderProps,\n layout,\n }),\n [layout],\n );\n\n const values = useMemo<\n [\n [typeof AriaLabelContext, ContextValue<LabelProps, HTMLLabelElement>],\n [typeof AriaTextContext, ContextValue<TextProps, HTMLElement>],\n [\n typeof NumberFieldContext,\n ContextValue<NumberFieldProps, HTMLDivElement>,\n ],\n [\n typeof SliderOutputContext,\n ContextValue<SliderOutputProps, HTMLOutputElement>,\n ],\n [\n typeof SliderTrackContext,\n ContextValue<SliderTrackProps, HTMLDivElement>,\n ],\n [\n typeof GroupContext,\n ContextValue<\n GroupProps<NumberFieldProps, HTMLDivElement>,\n HTMLDivElement\n >,\n ],\n ]\n >(\n () => [\n [LabelContext, { className: classNames?.slider?.label }],\n [\n AriaTextContext,\n {\n slots: {\n [DEFAULT_SLOT]: {},\n min: {\n className: clsx(\n classNames?.slider?.tick,\n classNames?.slider?.min,\n ),\n },\n max: {\n className: clsx(\n classNames?.slider?.tick,\n classNames?.slider?.max,\n ),\n },\n },\n },\n ],\n [NumberFieldContext, { classNames: classNames?.numberField, isDisabled }],\n [SliderOutputContext, { classNames }],\n [SliderTrackContext, { classNames }],\n [\n GroupContext,\n {\n classNames: classNames?.group,\n context: NumberFieldContext,\n orientation,\n reverse: orientation === 'vertical',\n values: { classNames: classNames?.group?.numberField },\n },\n ],\n ],\n [classNames, orientation, isDisabled],\n );\n\n const children = useCallback(\n (renderProps: SliderRenderProps) => (\n <Provider values={values}>\n <div className={classNames?.slider?.slider}>\n {callRenderProps(childrenProp, renderProps)}\n </div>\n </Provider>\n ),\n [childrenProp, classNames?.slider, values],\n );\n\n return (\n <RACSlider\n {...rest}\n ref={contextRef}\n className={classNames?.slider?.container}\n orientation={orientation}\n style={style}\n isDisabled={isDisabled}\n >\n {children}\n </RACSlider>\n );\n});\n"]}
|
|
@@ -11,14 +11,14 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
11
11
|
|
|
12
12
|
var SwitchContext = createContext(null);
|
|
13
13
|
var Switch = forwardRef(function Switch2(props, ref) {
|
|
14
|
-
[
|
|
15
|
-
|
|
14
|
+
const [contextProps, contextRef] = useContextProps(props, ref, SwitchContext);
|
|
15
|
+
const defaultProps = useDefaultProps(contextProps, "Switch");
|
|
16
16
|
const {
|
|
17
17
|
children: childrenProp,
|
|
18
18
|
classNames: classNamesProp,
|
|
19
19
|
alignInput,
|
|
20
20
|
...rest
|
|
21
|
-
} =
|
|
21
|
+
} = defaultProps;
|
|
22
22
|
const theme = useTheme();
|
|
23
23
|
const classNames = useMemo(
|
|
24
24
|
() => mergeClassNames(switchClassNames, theme.Switch, classNamesProp),
|
|
@@ -50,7 +50,7 @@ var Switch = forwardRef(function Switch2(props, ref) {
|
|
|
50
50
|
Switch$1,
|
|
51
51
|
{
|
|
52
52
|
...rest,
|
|
53
|
-
ref,
|
|
53
|
+
ref: contextRef,
|
|
54
54
|
className: classNames?.container,
|
|
55
55
|
style,
|
|
56
56
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/switch/index.tsx"],"names":["Switch","RACSwitch"],"mappings":";;;;;;;;;;;AA4BO,IAAM,aAAA,GACX,cAA2D,IAAI;AAE1D,IAAM,MAAA,GAAS,UAAA,CAAW,SAASA,OAAAA,CACxC,OACA,GAAA,EACA;AACA,EAAA,CAAC,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/switch/index.tsx"],"names":["Switch","RACSwitch"],"mappings":";;;;;;;;;;;AA4BO,IAAM,aAAA,GACX,cAA2D,IAAI;AAE1D,IAAM,MAAA,GAAS,UAAA,CAAW,SAASA,OAAAA,CACxC,OACA,GAAA,EACA;AACA,EAAA,MAAM,CAAC,YAAA,EAAc,UAAU,IAAI,eAAA,CAAgB,KAAA,EAAO,KAAK,aAAa,CAAA;AAE5E,EAAA,MAAM,YAAA,GAAe,eAAA,CAAgB,YAAA,EAAc,QAAQ,CAAA;AAE3D,EAAA,MAAM;AAAA,IACJ,QAAA,EAAU,YAAA;AAAA,IACV,UAAA,EAAY,cAAA;AAAA,IACZ,UAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,YAAA;AAEJ,EAAA,MAAM,QAAQ,QAAA,EAAS;AAEvB,EAAA,MAAM,UAAA,GAAa,OAAA;AAAA,IACjB,MAAM,eAAA,CAAgB,gBAAA,EAAkB,KAAA,CAAM,QAAQ,cAAc,CAAA;AAAA,IACpE,CAAC,KAAA,CAAM,MAAA,EAAQ,cAAc;AAAA,GAC/B;AAEA,EAAA,MAAM,KAAA,GAAQ,WAAA;AAAA,IACZ,CAAC,EAAE,KAAA,EAAO,GAAG,WAAA,EAAY,KACvB,WAAW,eAAA,EAAiB;AAAA,MAC1B,GAAG,WAAA;AAAA,MACH;AAAA,KACD,CAAA;AAAA,IACH,CAAC,UAAU;AAAA,GACb;AAEA,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,WAAA,KAAmC;AAClC,MAAA,MAAM,KAAA,GAAQ,eAAA,CAAgB,YAAA,EAAc,WAAW,CAAA;AAEvD,MAAA,uBACE,IAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,UAAA,EAAY,MAAA,EAC1B,QAAA,EAAA;AAAA,QAAA,KAAA,oBAAS,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,UAAA,EAAY,OAAQ,QAAA,EAAA,KAAA,EAAM,CAAA;AAAA,wBACrD,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,UAAA,EAAY,SAAA,EAAW;AAAA,OAAA,EAC1C,CAAA;AAAA,IAEJ,CAAA;AAAA,IACA;AAAA,MACE,YAAA;AAAA,MACA,UAAA,EAAY,MAAA;AAAA,MACZ,UAAA,EAAY,KAAA;AAAA,MACZ,UAAA,EAAY;AAAA;AACd,GACF;AAEA,EAAA,uBACE,GAAA;AAAA,IAACC,QAAA;AAAA,IAAA;AAAA,MACE,GAAG,IAAA;AAAA,MACJ,GAAA,EAAK,UAAA;AAAA,MACL,WAAW,UAAA,EAAY,SAAA;AAAA,MACvB,KAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAC","file":"index.js","sourcesContent":["/*\n * Copyright 2025 Hypergiant Galactic Systems Inc. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {\n createContext,\n type ForwardedRef,\n forwardRef,\n useCallback,\n useMemo,\n} from 'react';\nimport { type ContextValue, Switch as RACSwitch } from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inlineVars } from '../../utils/css';\nimport { callRenderProps, mergeClassNames } from '../../utils/props';\nimport { switchClassNames, switchStateVars } from './switch.css';\nimport type { SwitchProps, SwitchRenderProps } from './types';\n\nexport const SwitchContext =\n createContext<ContextValue<SwitchProps, HTMLLabelElement>>(null);\n\nexport const Switch = forwardRef(function Switch(\n props: SwitchProps,\n ref: ForwardedRef<HTMLLabelElement>,\n) {\n const [contextProps, contextRef] = useContextProps(props, ref, SwitchContext);\n\n const defaultProps = useDefaultProps(contextProps, 'Switch');\n\n const {\n children: childrenProp,\n classNames: classNamesProp,\n alignInput,\n ...rest\n } = defaultProps;\n\n const theme = useTheme();\n\n const classNames = useMemo(\n () => mergeClassNames(switchClassNames, theme.Switch, classNamesProp),\n [theme.Switch, classNamesProp],\n );\n\n const style = useCallback(\n ({ state, ...renderProps }: SwitchRenderProps) =>\n inlineVars(switchStateVars, {\n ...renderProps,\n alignInput,\n }),\n [alignInput],\n );\n\n const children = useCallback(\n (renderProps: SwitchRenderProps) => {\n const child = callRenderProps(childrenProp, renderProps);\n\n return (\n <span className={classNames?.switch}>\n {child && <span className={classNames?.label}>{child}</span>}\n <span className={classNames?.indicator} />\n </span>\n );\n },\n [\n childrenProp,\n classNames?.switch,\n classNames?.label,\n classNames?.indicator,\n ],\n );\n\n return (\n <RACSwitch\n {...rest}\n ref={contextRef}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACSwitch>\n );\n});\n"]}
|
|
@@ -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"]}
|
|
@@ -25,15 +25,19 @@ var defaultMapping = {
|
|
|
25
25
|
var defaultSize = "lg";
|
|
26
26
|
var TextFieldContext = createContext(null);
|
|
27
27
|
var TextField = forwardRef(function TextField2(props, ref) {
|
|
28
|
-
[
|
|
29
|
-
|
|
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,7 +87,7 @@ 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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/text-field/index.tsx"],"names":["TextField","RACTextField"],"mappings":";;;;;;;;;;;;;;AA6CA,IAAM,cAAA,GAAmC;AAAA,EACvC,WAAA,EAAa;AAAA,IACX,IAAI,MAAA,CAAO,EAAA;AAAA,IACX,IAAI,MAAA,CAAO;AAAA,GACb;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAI,MAAA,CAAO,EAAA;AAAA,IACX,IAAI,MAAA,CAAO;AAAA;AAEf,CAAA;AAEA,IAAM,WAAA,GAAc,IAAA;AAEb,IAAM,gBAAA,GACX,cAA4D,IAAI;AAE3D,IAAM,SAAA,GAAY,UAAA,CAAW,SAASA,UAAAA,CAC3C,OACA,GAAA,EACA;AACA,EAAA,CAAC,
|
|
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 createContext,\n type ForwardedRef,\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 { 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 = forwardRef(function TextField(\n props: TextFieldProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\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"]}
|
|
@@ -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",
|