@accelint/design-system 1.1.7 → 1.1.9
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.d.ts +4 -4
- package/dist/components/button/index.js +2 -2
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/checkbox/index.js +7 -11
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/chip/index.js +2 -2
- package/dist/components/chip/index.js.map +1 -1
- package/dist/components/combo-box/index.js +2 -6
- package/dist/components/combo-box/index.js.map +1 -1
- package/dist/components/date-field/index.js +2 -2
- package/dist/components/date-field/index.js.map +1 -1
- package/dist/components/date-input/index.js +4 -4
- package/dist/components/date-input/index.js.map +1 -1
- package/dist/components/dialog/index.js +2 -2
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/drawer/index.js +4 -4
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/element/index.js +3 -7
- package/dist/components/element/index.js.map +1 -1
- package/dist/components/element/types.d.ts +4 -2
- package/dist/components/group/index.js +4 -4
- package/dist/components/group/index.js.map +1 -1
- package/dist/components/icon/index.js +2 -2
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/input/index.js +10 -10
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/menu/index.js +9 -9
- package/dist/components/menu/index.js.map +1 -1
- package/dist/components/number-field/index.js +2 -2
- package/dist/components/number-field/index.js.map +1 -1
- package/dist/components/options/index.js +11 -17
- package/dist/components/options/index.js.map +1 -1
- package/dist/components/picker/index.js +6 -10
- package/dist/components/picker/index.js.map +1 -1
- package/dist/components/popover/index.js +2 -6
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/radio/index.js +4 -4
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/search-field/index.js +2 -2
- package/dist/components/search-field/index.js.map +1 -1
- package/dist/components/select/index.d.ts +1 -1
- package/dist/components/select/index.js +2 -2
- package/dist/components/select/index.js.map +1 -1
- package/dist/components/slider/index.js +10 -10
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/switch/index.js +2 -2
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/tabs/index.js +10 -18
- package/dist/components/tabs/index.js.map +1 -1
- package/dist/components/tabs/tabs.css.d.ts +2 -0
- package/dist/components/tabs/tabs.css.js +2 -2
- package/dist/components/tabs/tabs.css.js.map +1 -1
- package/dist/components/text-field/index.js +2 -2
- package/dist/components/text-field/index.js.map +1 -1
- package/dist/components/textarea/index.js +8 -8
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/time-field/index.js +2 -2
- package/dist/components/time-field/index.js.map +1 -1
- package/dist/components/tooltip/index.js +5 -9
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tree/index.js +2 -2
- package/dist/components/tree/index.js.map +1 -1
- package/dist/index.css +30 -30
- package/dist/ladle/actions.js.map +1 -1
- package/dist/styles/layers.css.d.ts +3 -3
- package/dist/test/setup.js +4 -4
- package/dist/test/setup.js.map +1 -1
- package/package.json +43 -43
|
@@ -15,7 +15,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
15
15
|
|
|
16
16
|
var SliderBarContext = createContext(null);
|
|
17
17
|
var SliderBar = forwardRef(function SliderBar2(props, ref) {
|
|
18
|
-
const [contextProps,
|
|
18
|
+
const [contextProps, finalRef] = useContextProps(
|
|
19
19
|
props,
|
|
20
20
|
ref,
|
|
21
21
|
SliderBarContext
|
|
@@ -37,7 +37,7 @@ var SliderBar = forwardRef(function SliderBar2(props, ref) {
|
|
|
37
37
|
"div",
|
|
38
38
|
{
|
|
39
39
|
...rest,
|
|
40
|
-
ref:
|
|
40
|
+
ref: finalRef,
|
|
41
41
|
className: classNames?.track?.bar,
|
|
42
42
|
style: {
|
|
43
43
|
position: "absolute",
|
|
@@ -55,7 +55,7 @@ var SliderBar = forwardRef(function SliderBar2(props, ref) {
|
|
|
55
55
|
});
|
|
56
56
|
var SliderOutputContext = createContext(null);
|
|
57
57
|
var SliderOutput = forwardRef(function SliderOutput2(props, ref) {
|
|
58
|
-
const [contextProps,
|
|
58
|
+
const [contextProps, finalRef] = useContextProps(
|
|
59
59
|
props,
|
|
60
60
|
ref,
|
|
61
61
|
SliderOutputContext
|
|
@@ -86,7 +86,7 @@ var SliderOutput = forwardRef(function SliderOutput2(props, ref) {
|
|
|
86
86
|
SliderOutput$1,
|
|
87
87
|
{
|
|
88
88
|
...rest,
|
|
89
|
-
ref:
|
|
89
|
+
ref: finalRef,
|
|
90
90
|
className: classNames?.output?.container,
|
|
91
91
|
style,
|
|
92
92
|
children
|
|
@@ -95,7 +95,7 @@ var SliderOutput = forwardRef(function SliderOutput2(props, ref) {
|
|
|
95
95
|
});
|
|
96
96
|
var SliderTrackContext = createContext(null);
|
|
97
97
|
var SliderTrack = forwardRef(function SliderTrack2(props, ref) {
|
|
98
|
-
const [contextProps,
|
|
98
|
+
const [contextProps, finalRef] = useContextProps(
|
|
99
99
|
props,
|
|
100
100
|
ref,
|
|
101
101
|
SliderTrackContext
|
|
@@ -133,7 +133,7 @@ var SliderTrack = forwardRef(function SliderTrack2(props, ref) {
|
|
|
133
133
|
SliderTrack$1,
|
|
134
134
|
{
|
|
135
135
|
...rest,
|
|
136
|
-
ref:
|
|
136
|
+
ref: finalRef,
|
|
137
137
|
className: classNames?.track?.container,
|
|
138
138
|
style,
|
|
139
139
|
children
|
|
@@ -142,7 +142,7 @@ var SliderTrack = forwardRef(function SliderTrack2(props, ref) {
|
|
|
142
142
|
});
|
|
143
143
|
var SliderThumbContext = createContext(null);
|
|
144
144
|
var SliderThumb = forwardRef(function SliderThumb2(props, ref) {
|
|
145
|
-
const [contextProps,
|
|
145
|
+
const [contextProps, finalRef] = useContextProps(
|
|
146
146
|
props,
|
|
147
147
|
ref,
|
|
148
148
|
SliderThumbContext
|
|
@@ -173,7 +173,7 @@ var SliderThumb = forwardRef(function SliderThumb2(props, ref) {
|
|
|
173
173
|
SliderThumb$1,
|
|
174
174
|
{
|
|
175
175
|
...rest,
|
|
176
|
-
ref:
|
|
176
|
+
ref: finalRef,
|
|
177
177
|
className: classNames?.thumb?.container,
|
|
178
178
|
style,
|
|
179
179
|
children
|
|
@@ -182,7 +182,7 @@ var SliderThumb = forwardRef(function SliderThumb2(props, ref) {
|
|
|
182
182
|
});
|
|
183
183
|
var SliderContext = createContext(null);
|
|
184
184
|
var Slider = forwardRef(function Slider2(props, ref) {
|
|
185
|
-
const [contextProps,
|
|
185
|
+
const [contextProps, finalRef] = useContextProps(props, ref, SliderContext);
|
|
186
186
|
const finalProps = useDefaultProps(contextProps, "Slider");
|
|
187
187
|
const {
|
|
188
188
|
children: childrenProp,
|
|
@@ -251,7 +251,7 @@ var Slider = forwardRef(function Slider2(props, ref) {
|
|
|
251
251
|
Slider$1,
|
|
252
252
|
{
|
|
253
253
|
...rest,
|
|
254
|
-
ref:
|
|
254
|
+
ref: finalRef,
|
|
255
255
|
className: classNames?.slider?.container,
|
|
256
256
|
orientation,
|
|
257
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 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"]}
|
|
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, finalRef] = 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={finalRef}\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, finalRef] = 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={finalRef}\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, finalRef] = 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={finalRef}\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, finalRef] = 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={finalRef}\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, finalRef] = 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={finalRef}\n className={classNames?.slider?.container}\n orientation={orientation}\n style={style}\n isDisabled={isDisabled}\n >\n {children}\n </RACSlider>\n );\n});\n"]}
|
|
@@ -11,7 +11,7 @@ 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
|
-
const [contextProps,
|
|
14
|
+
const [contextProps, finalRef] = useContextProps(props, ref, SwitchContext);
|
|
15
15
|
const defaultProps = useDefaultProps(contextProps, "Switch");
|
|
16
16
|
const {
|
|
17
17
|
children: childrenProp,
|
|
@@ -50,7 +50,7 @@ var Switch = forwardRef(function Switch2(props, ref) {
|
|
|
50
50
|
Switch$1,
|
|
51
51
|
{
|
|
52
52
|
...rest,
|
|
53
|
-
ref:
|
|
53
|
+
ref: finalRef,
|
|
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,MAAM,CAAC,YAAA,EAAc,
|
|
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,QAAQ,IAAI,eAAA,CAAgB,KAAA,EAAO,KAAK,aAAa,CAAA;AAE1E,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,QAAA;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, finalRef] = 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={finalRef}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACSwitch>\n );\n});\n"]}
|
|
@@ -31,7 +31,7 @@ var TEST_IDS = {
|
|
|
31
31
|
};
|
|
32
32
|
var TabsContext = createContext(null);
|
|
33
33
|
var Tabs = forwardRef(function Tabs2(props, ref) {
|
|
34
|
-
const [contextProps,
|
|
34
|
+
const [contextProps, finalRef] = useContextProps(props, ref, TabsContext);
|
|
35
35
|
const finalProps = useDefaultProps(contextProps, "Tabs");
|
|
36
36
|
const { classNames: classNamesProp, ...rest } = finalProps;
|
|
37
37
|
const theme = useTheme();
|
|
@@ -50,7 +50,7 @@ var Tabs = forwardRef(function Tabs2(props, ref) {
|
|
|
50
50
|
Tabs$1,
|
|
51
51
|
{
|
|
52
52
|
...rest,
|
|
53
|
-
ref:
|
|
53
|
+
ref: finalRef,
|
|
54
54
|
className: classNames?.tabs,
|
|
55
55
|
"data-testid": TEST_IDS.tabs
|
|
56
56
|
}
|
|
@@ -58,11 +58,7 @@ 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
|
-
const [contextProps,
|
|
62
|
-
props,
|
|
63
|
-
ref,
|
|
64
|
-
TabListContext
|
|
65
|
-
);
|
|
61
|
+
const [contextProps, finalRef] = useContextProps(props, ref, TabListContext);
|
|
66
62
|
const finalProps = useDefaultProps(contextProps, "TabList");
|
|
67
63
|
const {
|
|
68
64
|
children,
|
|
@@ -105,7 +101,7 @@ var TabList = forwardRef(function TabList2(props, ref) {
|
|
|
105
101
|
TabList$1,
|
|
106
102
|
{
|
|
107
103
|
...rest,
|
|
108
|
-
ref:
|
|
104
|
+
ref: finalRef,
|
|
109
105
|
className: classNames?.list?.list,
|
|
110
106
|
items,
|
|
111
107
|
"data-testid": TEST_IDS.list.list,
|
|
@@ -119,7 +115,7 @@ var TabContext = createContext(
|
|
|
119
115
|
null
|
|
120
116
|
);
|
|
121
117
|
var Tab = forwardRef(function Tab2(props, ref) {
|
|
122
|
-
const [contextProps,
|
|
118
|
+
const [contextProps, finalRef] = useContextProps(props, ref, TabContext);
|
|
123
119
|
const finalProps = useDefaultProps(contextProps, "Tab");
|
|
124
120
|
const {
|
|
125
121
|
children: childrenProp,
|
|
@@ -166,7 +162,7 @@ var Tab = forwardRef(function Tab2(props, ref) {
|
|
|
166
162
|
Tab$1,
|
|
167
163
|
{
|
|
168
164
|
...rest,
|
|
169
|
-
ref:
|
|
165
|
+
ref: finalRef,
|
|
170
166
|
className: classNames?.tab?.container,
|
|
171
167
|
style,
|
|
172
168
|
"data-testid": TEST_IDS.tab.container,
|
|
@@ -176,7 +172,7 @@ var Tab = forwardRef(function Tab2(props, ref) {
|
|
|
176
172
|
});
|
|
177
173
|
var TabPanelsContext = createContext(null);
|
|
178
174
|
var TabPanels = forwardRef(function TabPanels2(props, ref) {
|
|
179
|
-
const [contextProps,
|
|
175
|
+
const [contextProps, finalRef] = useContextProps(
|
|
180
176
|
props,
|
|
181
177
|
ref,
|
|
182
178
|
TabPanelsContext
|
|
@@ -203,7 +199,7 @@ var TabPanels = forwardRef(function TabPanels2(props, ref) {
|
|
|
203
199
|
return /* @__PURE__ */ jsx(Provider, { values, children: /* @__PURE__ */ jsx(
|
|
204
200
|
"div",
|
|
205
201
|
{
|
|
206
|
-
ref:
|
|
202
|
+
ref: finalRef,
|
|
207
203
|
className: classNames?.panels?.container,
|
|
208
204
|
style,
|
|
209
205
|
"data-testid": TEST_IDS.panels.container,
|
|
@@ -220,11 +216,7 @@ var TabPanels = forwardRef(function TabPanels2(props, ref) {
|
|
|
220
216
|
});
|
|
221
217
|
var TabPanelContext = createContext(null);
|
|
222
218
|
var TabPanel = forwardRef(function TabPanel2(props, ref) {
|
|
223
|
-
const [contextProps,
|
|
224
|
-
props,
|
|
225
|
-
ref,
|
|
226
|
-
TabPanelContext
|
|
227
|
-
);
|
|
219
|
+
const [contextProps, finalRef] = useContextProps(props, ref, TabPanelContext);
|
|
228
220
|
const finalProps = useDefaultProps(contextProps, "TabPanel");
|
|
229
221
|
const {
|
|
230
222
|
children: childrenProp,
|
|
@@ -259,7 +251,7 @@ var TabPanel = forwardRef(function TabPanel2(props, ref) {
|
|
|
259
251
|
TabPanel$1,
|
|
260
252
|
{
|
|
261
253
|
...rest,
|
|
262
|
-
ref:
|
|
254
|
+
ref: finalRef,
|
|
263
255
|
className: classNames?.panel?.container,
|
|
264
256
|
shouldForceMount,
|
|
265
257
|
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 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"]}
|
|
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, finalRef] = 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={finalRef}\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, finalRef] = useContextProps(props, ref, TabListContext);\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={finalRef}\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, finalRef] = 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={finalRef}\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, finalRef] = 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={finalRef}\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, finalRef] = useContextProps(props, ref, TabPanelContext);\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={finalRef}\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"]}
|
|
@@ -51,6 +51,8 @@ declare const tabPanelStateVars: {
|
|
|
51
51
|
isFocused: `var(--${string})`;
|
|
52
52
|
isFocusVisible: `var(--${string})`;
|
|
53
53
|
isInert: `var(--${string})`;
|
|
54
|
+
isEntering: `var(--${string})`;
|
|
55
|
+
isExiting: `var(--${string})`;
|
|
54
56
|
};
|
|
55
57
|
declare const tabsClassNames: TabsClassNames;
|
|
56
58
|
|
|
@@ -3,11 +3,11 @@ import '../../chunk-PZ5AY32C.js';
|
|
|
3
3
|
// src/components/tabs/tabs.css.ts
|
|
4
4
|
var tabColorVars = { background: "var(--background__plnfe24)", border: "var(--border__plnfe25)", color: "var(--color__plnfe26)" };
|
|
5
5
|
var tabListStateVars = { align: "var(--align__plnfe2c)", anchor: "var(--anchor__plnfe2d)", count: "var(--count__plnfe2e)", orientation: "var(--orientation__plnfe2f)", size: "var(--size__plnfe2g)", variant: "var(--variant__plnfe2h)" };
|
|
6
|
-
var tabPanelStateVars = { shouldForceMount: "var(--shouldForceMount__plnfe2p)", isFocused: "var(--isFocused__plnfe2q)", isFocusVisible: "var(--isFocusVisible__plnfe2r)", isInert: "var(--isInert__plnfe2s)" };
|
|
6
|
+
var tabPanelStateVars = { shouldForceMount: "var(--shouldForceMount__plnfe2p)", isFocused: "var(--isFocused__plnfe2q)", isFocusVisible: "var(--isFocusVisible__plnfe2r)", isInert: "var(--isInert__plnfe2s)", isEntering: "var(--isEntering__plnfe2t)", isExiting: "var(--isExiting__plnfe2u)" };
|
|
7
7
|
var tabPanelsStateVars = { shouldForceMount: "var(--shouldForceMount__plnfe2o)" };
|
|
8
8
|
var tabSpaceVars = { list: { gap: "var(--list-gap__plnfe27)", x: "var(--list-x__plnfe28)", y: "var(--list-y__plnfe29)" }, tab: { x: "var(--tab-x__plnfe2a)", y: "var(--tab-y__plnfe2b)" } };
|
|
9
9
|
var tabStateVars = { isHovered: "var(--isHovered__plnfe2i)", isPressed: "var(--isPressed__plnfe2j)", isSelected: "var(--isSelected__plnfe2k)", isFocused: "var(--isFocused__plnfe2l)", isFocusVisible: "var(--isFocusVisible__plnfe2m)", isDisabled: "var(--isDisabled__plnfe2n)" };
|
|
10
|
-
var tabsClassNames = { tabs: "
|
|
10
|
+
var tabsClassNames = { tabs: "tabs_tabsClassNames_tabs__plnfe2v", list: { container: "tabs_tabsClassNames_list_container__plnfe2w", list: "tabs_tabsClassNames_list_list__plnfe2x" }, tab: { container: "tabs_tabsClassNames_tab_container__plnfe2y", tab: "tabs_tabsClassNames_tab_tab__plnfe2z typography_label__j8fgabg" }, panels: { container: "tabs_tabsClassNames_panels_container__plnfe210", panels: "tabs_tabsClassNames_panels_panels__plnfe211" }, panel: { container: "tabs_tabsClassNames_panel_container__plnfe212", panel: "tabs_tabsClassNames_panel_panel__plnfe213" } };
|
|
11
11
|
var tabsContainers = { list: "tabs_tabsContainers_list__plnfe20", tab: "tabs_tabsContainers_tab__plnfe21", panels: "tabs_tabsContainers_panels__plnfe22", panel: "tabs_tabsContainers_panel__plnfe23" };
|
|
12
12
|
|
|
13
13
|
export { tabColorVars, tabListStateVars, tabPanelStateVars, tabPanelsStateVars, tabSpaceVars, tabStateVars, tabsClassNames, tabsContainers };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/tabs/tabs.css.ts"],"names":[],"mappings":";;;AAAO,IAAI,eAAe,EAAC,UAAA,EAAW,8BAA6B,MAAA,EAAO,wBAAA,EAAyB,OAAM,uBAAA;AAClG,IAAI,gBAAA,GAAmB,EAAC,KAAA,EAAM,uBAAA,EAAwB,MAAA,EAAO,wBAAA,EAAyB,KAAA,EAAM,uBAAA,EAAwB,WAAA,EAAY,6BAAA,EAA8B,IAAA,EAAK,sBAAA,EAAuB,SAAQ,yBAAA;AAClM,IAAI,iBAAA,GAAoB,EAAC,gBAAA,EAAiB,kCAAA,EAAmC,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/tabs/tabs.css.ts"],"names":[],"mappings":";;;AAAO,IAAI,eAAe,EAAC,UAAA,EAAW,8BAA6B,MAAA,EAAO,wBAAA,EAAyB,OAAM,uBAAA;AAClG,IAAI,gBAAA,GAAmB,EAAC,KAAA,EAAM,uBAAA,EAAwB,MAAA,EAAO,wBAAA,EAAyB,KAAA,EAAM,uBAAA,EAAwB,WAAA,EAAY,6BAAA,EAA8B,IAAA,EAAK,sBAAA,EAAuB,SAAQ,yBAAA;AAClM,IAAI,iBAAA,GAAoB,EAAC,gBAAA,EAAiB,kCAAA,EAAmC,SAAA,EAAU,2BAAA,EAA4B,cAAA,EAAe,gCAAA,EAAiC,OAAA,EAAQ,yBAAA,EAA0B,UAAA,EAAW,4BAAA,EAA6B,WAAU,2BAAA;AACvP,IAAI,kBAAA,GAAqB,EAAC,gBAAA,EAAiB,kCAAA;AAC3C,IAAI,eAAe,EAAC,IAAA,EAAK,EAAC,GAAA,EAAI,4BAA2B,CAAA,EAAE,wBAAA,EAAyB,CAAA,EAAE,wBAAA,IAA0B,GAAA,EAAI,EAAC,GAAE,uBAAA,EAAwB,CAAA,EAAE,yBAAuB;AACxK,IAAI,YAAA,GAAe,EAAC,SAAA,EAAU,2BAAA,EAA4B,SAAA,EAAU,2BAAA,EAA4B,UAAA,EAAW,4BAAA,EAA6B,SAAA,EAAU,2BAAA,EAA4B,cAAA,EAAe,gCAAA,EAAiC,YAAW,4BAAA;AACzO,IAAI,cAAA,GAAiB,EAAC,IAAA,EAAK,mCAAA,EAAoC,IAAA,EAAK,EAAC,SAAA,EAAU,6CAAA,EAA8C,IAAA,EAAK,wCAAA,EAAwC,EAAE,GAAA,EAAI,EAAC,SAAA,EAAU,4CAAA,EAA6C,GAAA,EAAI,gEAAA,EAAgE,EAAE,MAAA,EAAO,EAAC,SAAA,EAAU,kDAAiD,MAAA,EAAO,6CAAA,EAA6C,EAAE,KAAA,EAAM,EAAC,SAAA,EAAU,+CAAA,EAAgD,KAAA,EAAM,6CAA2C;AACzhB,IAAI,cAAA,GAAiB,EAAC,IAAA,EAAK,mCAAA,EAAoC,KAAI,kCAAA,EAAmC,MAAA,EAAO,qCAAA,EAAsC,KAAA,EAAM,oCAAA","file":"tabs.css.js","sourcesContent":["export var tabColorVars = {background:'var(--background__plnfe24)',border:'var(--border__plnfe25)',color:'var(--color__plnfe26)'};\nexport var tabListStateVars = {align:'var(--align__plnfe2c)',anchor:'var(--anchor__plnfe2d)',count:'var(--count__plnfe2e)',orientation:'var(--orientation__plnfe2f)',size:'var(--size__plnfe2g)',variant:'var(--variant__plnfe2h)'};\nexport var tabPanelStateVars = {shouldForceMount:'var(--shouldForceMount__plnfe2p)',isFocused:'var(--isFocused__plnfe2q)',isFocusVisible:'var(--isFocusVisible__plnfe2r)',isInert:'var(--isInert__plnfe2s)',isEntering:'var(--isEntering__plnfe2t)',isExiting:'var(--isExiting__plnfe2u)'};\nexport var tabPanelsStateVars = {shouldForceMount:'var(--shouldForceMount__plnfe2o)'};\nexport var tabSpaceVars = {list:{gap:'var(--list-gap__plnfe27)',x:'var(--list-x__plnfe28)',y:'var(--list-y__plnfe29)'},tab:{x:'var(--tab-x__plnfe2a)',y:'var(--tab-y__plnfe2b)'}};\nexport var tabStateVars = {isHovered:'var(--isHovered__plnfe2i)',isPressed:'var(--isPressed__plnfe2j)',isSelected:'var(--isSelected__plnfe2k)',isFocused:'var(--isFocused__plnfe2l)',isFocusVisible:'var(--isFocusVisible__plnfe2m)',isDisabled:'var(--isDisabled__plnfe2n)'};\nexport var tabsClassNames = {tabs:'tabs_tabsClassNames_tabs__plnfe2v',list:{container:'tabs_tabsClassNames_list_container__plnfe2w',list:'tabs_tabsClassNames_list_list__plnfe2x'},tab:{container:'tabs_tabsClassNames_tab_container__plnfe2y',tab:'tabs_tabsClassNames_tab_tab__plnfe2z typography_label__j8fgabg'},panels:{container:'tabs_tabsClassNames_panels_container__plnfe210',panels:'tabs_tabsClassNames_panels_panels__plnfe211'},panel:{container:'tabs_tabsClassNames_panel_container__plnfe212',panel:'tabs_tabsClassNames_panel_panel__plnfe213'}};\nexport var tabsContainers = {list:'tabs_tabsContainers_list__plnfe20',tab:'tabs_tabsContainers_tab__plnfe21',panels:'tabs_tabsContainers_panels__plnfe22',panel:'tabs_tabsContainers_panel__plnfe23'};"]}
|
|
@@ -25,7 +25,7 @@ var defaultMapping = {
|
|
|
25
25
|
var defaultSize = "lg";
|
|
26
26
|
var TextFieldContext = createContext(null);
|
|
27
27
|
var TextField = (props, ref) => {
|
|
28
|
-
const [contextProps,
|
|
28
|
+
const [contextProps, finalRef] = useContextProps(
|
|
29
29
|
props,
|
|
30
30
|
ref,
|
|
31
31
|
TextFieldContext
|
|
@@ -87,7 +87,7 @@ var TextField = (props, ref) => {
|
|
|
87
87
|
TextField$1,
|
|
88
88
|
{
|
|
89
89
|
...rest,
|
|
90
|
-
ref:
|
|
90
|
+
ref: finalRef,
|
|
91
91
|
className: classNames?.container,
|
|
92
92
|
style,
|
|
93
93
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/text-field/index.tsx"],"names":["RACTextField"],"mappings":";;;;;;;;;;;;;;AAuCA,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,CACvB,KAAA,EACA,GAAA,KACuB;AACvB,EAAA,MAAM,CAAC,YAAA,EAAc,
|
|
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, finalRef] = 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={finalRef}\n className={classNames?.container}\n style={style}\n >\n {children}\n </RACTextField>\n );\n};\n"]}
|
|
@@ -18,19 +18,19 @@ var defaultMapping = {
|
|
|
18
18
|
};
|
|
19
19
|
var TextAreaContext = createContext(null);
|
|
20
20
|
var TextArea = forwardRef(function TextArea2(props, ref) {
|
|
21
|
-
const [
|
|
21
|
+
const [contextProps, contextRef] = useContextProps(
|
|
22
22
|
props,
|
|
23
23
|
ref,
|
|
24
24
|
TextAreaContext$1
|
|
25
25
|
);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const [
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
contextProps.className = void 0;
|
|
27
|
+
contextProps.style = void 0;
|
|
28
|
+
const [intermediateProps, finalRef] = useContextProps(
|
|
29
|
+
contextProps,
|
|
30
|
+
contextRef,
|
|
31
31
|
TextAreaContext
|
|
32
32
|
);
|
|
33
|
-
const defaultProps = useDefaultProps(
|
|
33
|
+
const defaultProps = useDefaultProps(intermediateProps, "TextArea");
|
|
34
34
|
const {
|
|
35
35
|
classNames: classNamesProp,
|
|
36
36
|
defaultValue = "",
|
|
@@ -129,7 +129,7 @@ var TextArea = forwardRef(function TextArea2(props, ref) {
|
|
|
129
129
|
{
|
|
130
130
|
...mergedProps,
|
|
131
131
|
...hoverProps,
|
|
132
|
-
ref:
|
|
132
|
+
ref: finalRef,
|
|
133
133
|
className: classNames?.textarea,
|
|
134
134
|
contentEditable: !(isDisabled || isReadOnly),
|
|
135
135
|
role: "textbox",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/textarea/index.tsx"],"names":["TextArea","RACTextAreaContext"],"mappings":";;;;;;;;;;;;;;;AAsCA,IAAM,cAAA,GAAkC;AAAA,EACtC,IAAA,EAAM;AACR,CAAA;AAEO,IAAM,eAAA,GACX,cAAgE,IAAI;AAY/D,IAAM,QAAA,GAAW,UAAA,CAAW,SAASA,SAAAA,CAC1C,OACA,GAAA,EACA;AACA,EAAA,MAAM,CAAC,
|
|
1
|
+
{"version":3,"sources":["../../../src/components/textarea/index.tsx"],"names":["TextArea","RACTextAreaContext"],"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 { useFocusRing } from '@react-aria/focus';\nimport { useHover } from '@react-aria/interactions';\nimport { useControlledState } from '@react-stately/utils';\nimport {\n createContext,\n type FormEvent,\n type ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n} from 'react';\nimport {\n type ContextValue,\n TextAreaContext as RACTextAreaContext,\n type TextAreaProps as RACTextAreaProps,\n} from 'react-aria-components';\nimport { useContextProps } from '../../hooks/use-context-props';\nimport { useDefaultProps } from '../../hooks/use-defaults';\nimport { useTheme } from '../../hooks/use-theme';\nimport { inputs } from '../../styles/typography.css';\nimport { inlineVars } from '../../utils/css';\nimport { mergeClassNames, mergeProps } from '../../utils/props';\nimport { textAreaClassNames, textAreaStateVars } from './textarea.css';\nimport type { TextAreaMapping, TextAreaProps } from './types';\n\nconst defaultMapping: TextAreaMapping = {\n font: inputs,\n};\n\nexport const TextAreaContext =\n createContext<ContextValue<TextAreaProps, HTMLTextAreaElement>>(null);\n\n/**\n * We implement a textarea as a content editable span to provide\n * improved UX, where the input area automatically grows with input\n * content length. This can be overriden by applying max-height\n * and overflow CSS, if desired.\n *\n * This also has the side effect of changing the target element in\n * the ref and event handlers. The normal `event.target.value` is not\n * available, and must be substituted with `event.currentTarget.textContent`\n */\nexport const TextArea = forwardRef(function TextArea(\n props: TextAreaProps,\n ref: ForwardedRef<HTMLTextAreaElement>,\n) {\n const [contextProps, contextRef] = useContextProps(\n props,\n ref,\n RACTextAreaContext,\n );\n\n // Disallow props possibly provided by React Aria context\n // could be render props functions we don't want to support\n (contextProps as RACTextAreaProps).className = undefined;\n (contextProps as RACTextAreaProps).style = undefined;\n\n // Duplicate context prop merging to support React Aria's context\n // and our own which establishes a superset type for the props\n const [intermediateProps, finalRef] = useContextProps(\n contextProps,\n contextRef,\n TextAreaContext,\n );\n const defaultProps = useDefaultProps(intermediateProps, 'TextArea');\n\n const {\n classNames: classNamesProp,\n defaultValue = '',\n disabled: isDisabled = false,\n mapping: mappingProp,\n placeholder,\n readOnly: isReadOnly = false,\n required: isRequired = false,\n resize = 'none',\n size = 'lg',\n value: valueProp,\n onChange,\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n 'aria-invalid': ariaInvalid,\n ...rest\n } = defaultProps;\n\n const [value, setValue] = useControlledState(valueProp, defaultValue);\n const isInvalid = !!ariaInvalid && ariaInvalid !== 'false';\n const isPlaceholder = !!placeholder && !value;\n const isEmpty = !value;\n\n const { isFocused, isFocusVisible, focusProps } = useFocusRing({\n autoFocus: props.autoFocus,\n isTextInput: true,\n });\n\n const { hoverProps, isHovered } = useHover({\n isDisabled,\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n });\n\n const theme = useTheme();\n\n const mapping = useMemo(\n () => ({\n ...defaultMapping,\n ...mappingProp,\n }),\n [mappingProp],\n );\n\n const classNames = useMemo(\n () =>\n mergeClassNames(textAreaClassNames, theme.TextArea, classNamesProp, {\n textarea: mapping.font[size],\n }),\n [theme.TextArea, classNamesProp, mapping.font, size],\n );\n\n const mergedProps = useMemo(\n () => mergeProps(rest, focusProps, hoverProps),\n // biome-ignore lint/correctness/useExhaustiveDependencies: TODO: Verify this dependency array is correct.\n [focusProps, hoverProps, rest],\n );\n\n const style = useMemo(\n () =>\n inlineVars(textAreaStateVars, {\n resize,\n size,\n isDisabled,\n isEmpty,\n isFocused,\n isFocusVisible,\n isHovered,\n isInvalid,\n isPlaceholder,\n isReadOnly,\n isRequired,\n }),\n [\n resize,\n size,\n isDisabled,\n isEmpty,\n isFocused,\n isFocusVisible,\n isHovered,\n isInvalid,\n isPlaceholder,\n isReadOnly,\n isRequired,\n ],\n );\n\n const handleChange = useCallback(\n (event: FormEvent<HTMLSpanElement>) => {\n onChange?.(event);\n\n if (!event.defaultPrevented) {\n setValue(event.currentTarget.textContent ?? '');\n }\n },\n [onChange, setValue],\n );\n\n /**\n * In order to provide the UX of an \"input\" that auto grows in height\n * thats driven by content, we implement a content-editable span instead\n * of a textarea. However, this has the side effect that it must be\n * updated as an \"uncontrolled\" element, otherwise the cursor resets\n * to the beginning of the input area after every keystroke if the value\n * is passed in as \"children\"\n */\n useEffect(() => {\n if (typeof ref !== 'function' && ref?.current) {\n ref.current.textContent = `${value ?? ''}`;\n }\n }, [ref, value]);\n\n return (\n <div className={classNames?.container} style={style}>\n {/* biome-ignore lint/a11y/useFocusableInteractive: TODO: refactor */}\n {/** biome-ignore lint/a11y/useSemanticElements: Legacy */}\n <span\n {...mergedProps}\n {...hoverProps}\n ref={finalRef}\n className={classNames?.textarea}\n contentEditable={!(isDisabled || isReadOnly)}\n role='textbox'\n suppressContentEditableWarning\n onInput={handleChange}\n aria-invalid={ariaInvalid}\n data-placeholder={placeholder}\n />\n </div>\n );\n});\n"]}
|
|
@@ -27,7 +27,7 @@ var defaultMapping = {
|
|
|
27
27
|
var defaultSize = "lg";
|
|
28
28
|
var TimeFieldContext = createContext(null);
|
|
29
29
|
var TimeField = forwardRef(function TimeField2(props, ref) {
|
|
30
|
-
const [contextProps,
|
|
30
|
+
const [contextProps, finalRef] = useContextProps(
|
|
31
31
|
props,
|
|
32
32
|
ref,
|
|
33
33
|
TimeFieldContext
|
|
@@ -96,7 +96,7 @@ var TimeField = forwardRef(function TimeField2(props, ref) {
|
|
|
96
96
|
TimeField$1,
|
|
97
97
|
{
|
|
98
98
|
...rest,
|
|
99
|
-
ref:
|
|
99
|
+
ref: finalRef,
|
|
100
100
|
className: classNames?.container,
|
|
101
101
|
style,
|
|
102
102
|
value,
|