@plasmicpkgs/react-aria 0.0.37 → 0.0.39
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/.tsbuildinfo +1 -1
- package/dist/interaction-variant-utils.d.ts +0 -4
- package/dist/react-aria.esm.js +24 -10
- package/dist/react-aria.esm.js.map +1 -1
- package/dist/react-aria.js +24 -10
- package/dist/react-aria.js.map +1 -1
- package/dist/registerRadio.d.ts +4 -2
- package/package.json +3 -3
- package/skinny/{interaction-variant-utils-d45aa2a2.cjs.js → interaction-variant-utils-244b74fb.cjs.js} +1 -5
- package/skinny/interaction-variant-utils-244b74fb.cjs.js.map +1 -0
- package/skinny/{interaction-variant-utils-0e04f834.esm.js → interaction-variant-utils-c44a9d56.esm.js} +1 -5
- package/skinny/interaction-variant-utils-c44a9d56.esm.js.map +1 -0
- package/skinny/interaction-variant-utils.d.ts +0 -4
- package/skinny/registerButton.cjs.js +1 -1
- package/skinny/registerButton.esm.js +1 -1
- package/skinny/registerCheckbox.cjs.js +1 -1
- package/skinny/registerCheckbox.esm.js +1 -1
- package/skinny/registerCheckboxGroup.cjs.js +1 -1
- package/skinny/registerCheckboxGroup.esm.js +1 -1
- package/skinny/registerComboBox.cjs.js +1 -1
- package/skinny/registerComboBox.esm.js +1 -1
- package/skinny/registerDialogTrigger.cjs.js +1 -1
- package/skinny/registerDialogTrigger.esm.js +1 -1
- package/skinny/registerInput.cjs.js +1 -1
- package/skinny/registerInput.esm.js +1 -1
- package/skinny/registerRadio.cjs.js +26 -7
- package/skinny/registerRadio.cjs.js.map +1 -1
- package/skinny/registerRadio.d.ts +4 -2
- package/skinny/registerRadio.esm.js +26 -7
- package/skinny/registerRadio.esm.js.map +1 -1
- package/skinny/registerRadioGroup.cjs.js +1 -1
- package/skinny/registerRadioGroup.esm.js +1 -1
- package/skinny/registerSelect.cjs.js +1 -1
- package/skinny/registerSelect.esm.js +1 -1
- package/skinny/{registerSlider-7d3a0b39.cjs.js → registerSlider-22197722.cjs.js} +2 -2
- package/skinny/{registerSlider-7d3a0b39.cjs.js.map → registerSlider-22197722.cjs.js.map} +1 -1
- package/skinny/{registerSlider-3d1d372e.esm.js → registerSlider-3045cc63.esm.js} +2 -2
- package/skinny/{registerSlider-3d1d372e.esm.js.map → registerSlider-3045cc63.esm.js.map} +1 -1
- package/skinny/registerSlider.cjs.js +2 -2
- package/skinny/registerSlider.esm.js +2 -2
- package/skinny/registerSliderThumb.cjs.js +1 -1
- package/skinny/registerSliderThumb.esm.js +1 -1
- package/skinny/registerSliderTrack.cjs.js +2 -2
- package/skinny/registerSliderTrack.esm.js +2 -2
- package/skinny/registerSwitch.cjs.js +1 -1
- package/skinny/registerSwitch.esm.js +1 -1
- package/skinny/registerTextArea.cjs.js +1 -1
- package/skinny/registerTextArea.esm.js +1 -1
- package/skinny/registerTextField.cjs.js +1 -1
- package/skinny/registerTextField.esm.js +1 -1
- package/skinny/interaction-variant-utils-0e04f834.esm.js.map +0 -1
- package/skinny/interaction-variant-utils-d45aa2a2.cjs.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSlider-7d3a0b39.cjs.js","sources":["../src/registerSliderTrack.tsx","../src/registerSlider.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, SliderThumbProps, SliderTrack } from \"react-aria-components\";\nimport flattenChildren from \"react-keyed-flatten-children\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { SLIDER_COMPONENT_NAME } from \"./registerSlider\";\nimport { SLIDER_THUMB_COMPONENT_NAME } from \"./registerSliderThumb\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_TRACK_INTERACTION_VARIANTS = [\"hovered\" as const];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_TRACK_INTERACTION_VARIANTS\n);\n\nexport interface BaseSliderTrackProps\n extends React.ComponentProps<typeof SliderTrack> {\n progressBar?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_TRACK_INTERACTION_VARIANTS\n >;\n children?: React.ReactElement<HTMLElement>;\n}\n\n/**\n * Finds the index of the minimum and maximum values in the slider\n * @param values\n * @returns\n */\nfunction findMinMaxIndices(values?: number | number[]): {\n minIndex: number;\n maxIndex: number;\n} {\n if (\n typeof values === \"number\" ||\n values?.length === 0 ||\n !Array.isArray(values)\n ) {\n return { minIndex: 0, maxIndex: 0 };\n }\n\n let minIndex = 0;\n let maxIndex = 0;\n\n for (let i = 1; i < values.length; i++) {\n if (values[i] < values[minIndex]) {\n minIndex = i;\n }\n if (values[i] > values[maxIndex]) {\n maxIndex = i;\n }\n }\n\n return { minIndex, maxIndex };\n}\n\nexport function BaseSliderTrack(props: BaseSliderTrackProps) {\n const context = React.useContext(PlasmicSliderContext);\n const mergedProps = mergeProps(context, props);\n const {\n children,\n progressBar,\n updateInteractionVariant,\n isMultiValue,\n ...rest\n } = mergedProps;\n\n const { minIndex, maxIndex } = useMemo(\n () => findMinMaxIndices(mergedProps.value),\n [mergedProps.value]\n );\n\n /**\n * Generates the thumb components based on the number of thumbs\n * and the number of values in the slider\n *\n * If the number of thumbs is less than the number of values, then\n * the last thumb is repeated for the remaining values\n *\n * If the number of thumbs is greater than the number of values, then\n * the additional thumbs are omitted\n */\n const thumbs = useMemo(() => {\n const rawThumbs = flattenChildren(children);\n const values = Array.isArray(mergedProps?.value)\n ? mergedProps.value\n : [mergedProps.value].filter((v) => v !== undefined);\n const difference = values.length - rawThumbs.length;\n if (!difference) {\n return rawThumbs;\n }\n if (difference < 0) {\n return rawThumbs.slice(0, values.length);\n }\n const lastThumb = rawThumbs[rawThumbs.length - 1];\n return rawThumbs.concat(new Array(difference).fill(lastThumb));\n }, [children, mergedProps.value]);\n\n const track = (\n <SliderTrack style={{ position: \"relative\" }} {...rest}>\n {({ state, isHovered }) => (\n <>\n {withObservedValues(\n <>\n <div\n style={{\n width: `${\n (!isMultiValue\n ? state.getThumbPercent(minIndex)\n : state.getThumbPercent(maxIndex) -\n state.getThumbPercent(minIndex)) * 100\n }%`,\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n left: !isMultiValue\n ? 0\n : state.getThumbPercent(minIndex) * 100 + \"%\",\n }}\n >\n {progressBar}\n </div>\n {thumbs.map(\n (thumb, i) =>\n React.isValidElement(thumb) &&\n React.cloneElement(thumb, {\n // sets the index of the thumb, so that each thumb reflects the correct value\n index: i,\n } as SliderThumbProps)\n )}\n </>,\n {\n hovered: isHovered,\n },\n updateInteractionVariant\n )}\n </>\n )}\n </SliderTrack>\n );\n\n return (\n <ErrorBoundary\n // If the Slider Track is the root of a Studio component, then we need to wrap the track in a slider\n // to ensure that the track gets the required Slider context\n fallback={\n <Slider style={{ height: \"100%\", width: \"100%\" }}>{track}</Slider>\n }\n >\n {track}\n </ErrorBoundary>\n );\n}\n\nexport const SLIDER_TRACK_COMPONENT_NAME = makeComponentName(\"sliderTrack\");\n\nexport function registerSliderTrack(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>\n) {\n registerComponentHelper(\n loader,\n BaseSliderTrack,\n {\n name: SLIDER_TRACK_COMPONENT_NAME,\n displayName: \"Aria Slider Track\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderTrack\",\n importName: \"BaseSliderTrack\",\n defaultStyles: {\n width: \"stretch\",\n backgroundColor: \"#aaa\",\n position: \"relative\",\n height: \"10px\",\n padding: 0,\n },\n interactionVariants,\n props: {\n children: {\n type: \"slot\",\n description: \"The thumbs of the slider\",\n defaultValue: [\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_THUMB_COMPONENT_NAME\n ),\n },\n ],\n },\n progressBar: {\n type: \"slot\",\n displayName: \"Progress Bar\",\n defaultValue: [\n {\n type: \"box\",\n styles: {\n height: \"100%\",\n width: \"100%\",\n backgroundColor: \"#ffa6a6\",\n padding: 0,\n },\n },\n ],\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React, { useEffect, useRef } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, type SliderProps } from \"react-aria-components\";\nimport { getCommonInputProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n SLIDER_OUTPUT_COMPONENT_NAME,\n registerSliderOutput,\n} from \"./registerSliderOutput\";\nimport { registerSliderThumb } from \"./registerSliderThumb\";\nimport {\n SLIDER_TRACK_COMPONENT_NAME,\n registerSliderTrack,\n} from \"./registerSliderTrack\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport const SLIDER_COMPONENT_NAME = makeComponentName(\"slider\");\n\nexport interface BaseSliderProps\n extends Omit<SliderProps<number | number[]>, \"onChange\"> {\n // Passed down to Slider Thumb via context\n name?: string;\n autoFocus?: boolean;\n isMultiValue?: boolean;\n range?: number[];\n defaultRange?: number[];\n onChange?: (value: number | number[], isMultiValue?: boolean) => void;\n}\n\nexport const sliderHelpers = {\n states: {\n range: {\n onChangeArgsToValue: (value: number[], isMultiValue: boolean) => {\n if (isMultiValue) {\n return Array.isArray(value) ? value : [value, value + 10];\n }\n return undefined;\n },\n },\n value: {\n onChangeArgsToValue: (value: number, isMultiValue: boolean) => {\n if (isMultiValue) {\n return undefined;\n }\n return Array.isArray(value) ? value[0] : value;\n },\n },\n },\n};\n\nexport function BaseSlider(props: BaseSliderProps) {\n const { range, value, defaultRange, defaultValue, onChange, ...rest } = props;\n const isFirstRender = useRef(true);\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n if (props.isMultiValue) {\n const minValue = props.minValue ?? 0;\n props.onChange?.(\n Array.isArray(range) && range.length > 1\n ? range\n : [minValue, minValue + 10],\n true\n );\n return;\n }\n props.onChange?.(Array.isArray(value) ? 0 : value ?? 0, false);\n }, [props.isMultiValue]);\n\n const mergedProps = mergeProps(rest, {\n value: props.isMultiValue ? range : value,\n defaultValue: props.isMultiValue ? defaultRange : defaultValue,\n });\n return (\n <PlasmicSliderContext.Provider value={mergedProps}>\n <Slider\n key={props.isMultiValue ? \"multi\" : \"single\"}\n onChange={(newValue) => {\n onChange?.(newValue, props.isMultiValue);\n }}\n {...mergedProps}\n />\n </PlasmicSliderContext.Provider>\n );\n}\n\nexport function registerSlider(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSlider>\n) {\n registerComponentHelper(\n loader,\n BaseSlider,\n {\n name: SLIDER_COMPONENT_NAME,\n displayName: \"Aria Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonInputProps<BaseSliderProps>(\"slider\", [\n \"isDisabled\",\n \"name\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n padding: \"8px 0px\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_OUTPUT_COMPONENT_NAME\n ),\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_TRACK_COMPONENT_NAME\n ),\n },\n ],\n },\n orientation: {\n type: \"choice\",\n options: [\"horizontal\", \"vertical\"],\n defaultValueHint: \"horizontal\",\n defaultValue: \"horizontal\",\n },\n minValue: {\n type: \"number\",\n description: \"The minimum value of the slider\",\n defaultValueHint: 0,\n },\n maxValue: {\n type: \"number\",\n description: \"The maximum value of the slider\",\n defaultValueHint: 100,\n },\n step: {\n type: \"number\",\n description: \"The step value of the slider\",\n defaultValueHint: 1,\n },\n isMultiValue: {\n type: \"boolean\",\n displayName: \"Multi-valued\",\n description: \"Whether the slider supports range (multiple thumbs)\",\n defaultValue: false,\n defaultValueHint: false,\n },\n range: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultRange\",\n description: \"The default range of the slider\",\n defaultValueHint: [10, 20],\n defaultValue: [10, 20],\n hidden: (ps: BaseSliderProps) => !ps.isMultiValue,\n },\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"The default value of the slider\",\n defaultValueHint: 0,\n defaultValue: 0,\n hidden: (ps: BaseSliderProps) => Boolean(ps.isMultiValue),\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n },\n states: {\n range: {\n type: \"writable\",\n valueProp: \"range\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n hidden: (ps: BaseSliderProps) => !ps.isMultiValue,\n ...sliderHelpers.states.range,\n },\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n hidden: (ps: BaseSliderProps) => Boolean(ps.isMultiValue),\n ...sliderHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: sliderHelpers,\n importName: \"sliderHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n },\n trapsFocus: true,\n },\n overrides\n );\n\n registerSliderOutput(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n registerSliderThumb(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n registerSliderTrack(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n}\n"],"names":["pickAriaComponentVariants","React","PlasmicSliderContext","mergeProps","__objRest","useMemo","flattenChildren","SliderTrack","__spreadValues","ErrorBoundary","Slider","makeComponentName","registerComponentHelper","makeChildComponentName","SLIDER_THUMB_COMPONENT_NAME","useRef","useEffect","_a","getCommonInputProps","LABEL_COMPONENT_NAME","SLIDER_OUTPUT_COMPONENT_NAME","registerSliderOutput","registerSliderThumb"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerSlider-22197722.cjs.js","sources":["../src/registerSliderTrack.tsx","../src/registerSlider.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, SliderThumbProps, SliderTrack } from \"react-aria-components\";\nimport flattenChildren from \"react-keyed-flatten-children\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { SLIDER_COMPONENT_NAME } from \"./registerSlider\";\nimport { SLIDER_THUMB_COMPONENT_NAME } from \"./registerSliderThumb\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_TRACK_INTERACTION_VARIANTS = [\"hovered\" as const];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_TRACK_INTERACTION_VARIANTS\n);\n\nexport interface BaseSliderTrackProps\n extends React.ComponentProps<typeof SliderTrack> {\n progressBar?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_TRACK_INTERACTION_VARIANTS\n >;\n children?: React.ReactElement<HTMLElement>;\n}\n\n/**\n * Finds the index of the minimum and maximum values in the slider\n * @param values\n * @returns\n */\nfunction findMinMaxIndices(values?: number | number[]): {\n minIndex: number;\n maxIndex: number;\n} {\n if (\n typeof values === \"number\" ||\n values?.length === 0 ||\n !Array.isArray(values)\n ) {\n return { minIndex: 0, maxIndex: 0 };\n }\n\n let minIndex = 0;\n let maxIndex = 0;\n\n for (let i = 1; i < values.length; i++) {\n if (values[i] < values[minIndex]) {\n minIndex = i;\n }\n if (values[i] > values[maxIndex]) {\n maxIndex = i;\n }\n }\n\n return { minIndex, maxIndex };\n}\n\nexport function BaseSliderTrack(props: BaseSliderTrackProps) {\n const context = React.useContext(PlasmicSliderContext);\n const mergedProps = mergeProps(context, props);\n const {\n children,\n progressBar,\n updateInteractionVariant,\n isMultiValue,\n ...rest\n } = mergedProps;\n\n const { minIndex, maxIndex } = useMemo(\n () => findMinMaxIndices(mergedProps.value),\n [mergedProps.value]\n );\n\n /**\n * Generates the thumb components based on the number of thumbs\n * and the number of values in the slider\n *\n * If the number of thumbs is less than the number of values, then\n * the last thumb is repeated for the remaining values\n *\n * If the number of thumbs is greater than the number of values, then\n * the additional thumbs are omitted\n */\n const thumbs = useMemo(() => {\n const rawThumbs = flattenChildren(children);\n const values = Array.isArray(mergedProps?.value)\n ? mergedProps.value\n : [mergedProps.value].filter((v) => v !== undefined);\n const difference = values.length - rawThumbs.length;\n if (!difference) {\n return rawThumbs;\n }\n if (difference < 0) {\n return rawThumbs.slice(0, values.length);\n }\n const lastThumb = rawThumbs[rawThumbs.length - 1];\n return rawThumbs.concat(new Array(difference).fill(lastThumb));\n }, [children, mergedProps.value]);\n\n const track = (\n <SliderTrack style={{ position: \"relative\" }} {...rest}>\n {({ state, isHovered }) => (\n <>\n {withObservedValues(\n <>\n <div\n style={{\n width: `${\n (!isMultiValue\n ? state.getThumbPercent(minIndex)\n : state.getThumbPercent(maxIndex) -\n state.getThumbPercent(minIndex)) * 100\n }%`,\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n left: !isMultiValue\n ? 0\n : state.getThumbPercent(minIndex) * 100 + \"%\",\n }}\n >\n {progressBar}\n </div>\n {thumbs.map(\n (thumb, i) =>\n React.isValidElement(thumb) &&\n React.cloneElement(thumb, {\n // sets the index of the thumb, so that each thumb reflects the correct value\n index: i,\n } as SliderThumbProps)\n )}\n </>,\n {\n hovered: isHovered,\n },\n updateInteractionVariant\n )}\n </>\n )}\n </SliderTrack>\n );\n\n return (\n <ErrorBoundary\n // If the Slider Track is the root of a Studio component, then we need to wrap the track in a slider\n // to ensure that the track gets the required Slider context\n fallback={\n <Slider style={{ height: \"100%\", width: \"100%\" }}>{track}</Slider>\n }\n >\n {track}\n </ErrorBoundary>\n );\n}\n\nexport const SLIDER_TRACK_COMPONENT_NAME = makeComponentName(\"sliderTrack\");\n\nexport function registerSliderTrack(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>\n) {\n registerComponentHelper(\n loader,\n BaseSliderTrack,\n {\n name: SLIDER_TRACK_COMPONENT_NAME,\n displayName: \"Aria Slider Track\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderTrack\",\n importName: \"BaseSliderTrack\",\n defaultStyles: {\n width: \"stretch\",\n backgroundColor: \"#aaa\",\n position: \"relative\",\n height: \"10px\",\n padding: 0,\n },\n interactionVariants,\n props: {\n children: {\n type: \"slot\",\n description: \"The thumbs of the slider\",\n defaultValue: [\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_THUMB_COMPONENT_NAME\n ),\n },\n ],\n },\n progressBar: {\n type: \"slot\",\n displayName: \"Progress Bar\",\n defaultValue: [\n {\n type: \"box\",\n styles: {\n height: \"100%\",\n width: \"100%\",\n backgroundColor: \"#ffa6a6\",\n padding: 0,\n },\n },\n ],\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React, { useEffect, useRef } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, type SliderProps } from \"react-aria-components\";\nimport { getCommonInputProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n SLIDER_OUTPUT_COMPONENT_NAME,\n registerSliderOutput,\n} from \"./registerSliderOutput\";\nimport { registerSliderThumb } from \"./registerSliderThumb\";\nimport {\n SLIDER_TRACK_COMPONENT_NAME,\n registerSliderTrack,\n} from \"./registerSliderTrack\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport const SLIDER_COMPONENT_NAME = makeComponentName(\"slider\");\n\nexport interface BaseSliderProps\n extends Omit<SliderProps<number | number[]>, \"onChange\"> {\n // Passed down to Slider Thumb via context\n name?: string;\n autoFocus?: boolean;\n isMultiValue?: boolean;\n range?: number[];\n defaultRange?: number[];\n onChange?: (value: number | number[], isMultiValue?: boolean) => void;\n}\n\nexport const sliderHelpers = {\n states: {\n range: {\n onChangeArgsToValue: (value: number[], isMultiValue: boolean) => {\n if (isMultiValue) {\n return Array.isArray(value) ? value : [value, value + 10];\n }\n return undefined;\n },\n },\n value: {\n onChangeArgsToValue: (value: number, isMultiValue: boolean) => {\n if (isMultiValue) {\n return undefined;\n }\n return Array.isArray(value) ? value[0] : value;\n },\n },\n },\n};\n\nexport function BaseSlider(props: BaseSliderProps) {\n const { range, value, defaultRange, defaultValue, onChange, ...rest } = props;\n const isFirstRender = useRef(true);\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n if (props.isMultiValue) {\n const minValue = props.minValue ?? 0;\n props.onChange?.(\n Array.isArray(range) && range.length > 1\n ? range\n : [minValue, minValue + 10],\n true\n );\n return;\n }\n props.onChange?.(Array.isArray(value) ? 0 : value ?? 0, false);\n }, [props.isMultiValue]);\n\n const mergedProps = mergeProps(rest, {\n value: props.isMultiValue ? range : value,\n defaultValue: props.isMultiValue ? defaultRange : defaultValue,\n });\n return (\n <PlasmicSliderContext.Provider value={mergedProps}>\n <Slider\n key={props.isMultiValue ? \"multi\" : \"single\"}\n onChange={(newValue) => {\n onChange?.(newValue, props.isMultiValue);\n }}\n {...mergedProps}\n />\n </PlasmicSliderContext.Provider>\n );\n}\n\nexport function registerSlider(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSlider>\n) {\n registerComponentHelper(\n loader,\n BaseSlider,\n {\n name: SLIDER_COMPONENT_NAME,\n displayName: \"Aria Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonInputProps<BaseSliderProps>(\"slider\", [\n \"isDisabled\",\n \"name\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n padding: \"8px 0px\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_OUTPUT_COMPONENT_NAME\n ),\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_TRACK_COMPONENT_NAME\n ),\n },\n ],\n },\n orientation: {\n type: \"choice\",\n options: [\"horizontal\", \"vertical\"],\n defaultValueHint: \"horizontal\",\n defaultValue: \"horizontal\",\n },\n minValue: {\n type: \"number\",\n description: \"The minimum value of the slider\",\n defaultValueHint: 0,\n },\n maxValue: {\n type: \"number\",\n description: \"The maximum value of the slider\",\n defaultValueHint: 100,\n },\n step: {\n type: \"number\",\n description: \"The step value of the slider\",\n defaultValueHint: 1,\n },\n isMultiValue: {\n type: \"boolean\",\n displayName: \"Multi-valued\",\n description: \"Whether the slider supports range (multiple thumbs)\",\n defaultValue: false,\n defaultValueHint: false,\n },\n range: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultRange\",\n description: \"The default range of the slider\",\n defaultValueHint: [10, 20],\n defaultValue: [10, 20],\n hidden: (ps: BaseSliderProps) => !ps.isMultiValue,\n },\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"The default value of the slider\",\n defaultValueHint: 0,\n defaultValue: 0,\n hidden: (ps: BaseSliderProps) => Boolean(ps.isMultiValue),\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n },\n states: {\n range: {\n type: \"writable\",\n valueProp: \"range\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n hidden: (ps: BaseSliderProps) => !ps.isMultiValue,\n ...sliderHelpers.states.range,\n },\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n hidden: (ps: BaseSliderProps) => Boolean(ps.isMultiValue),\n ...sliderHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: sliderHelpers,\n importName: \"sliderHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n },\n trapsFocus: true,\n },\n overrides\n );\n\n registerSliderOutput(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n registerSliderThumb(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n registerSliderTrack(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n}\n"],"names":["pickAriaComponentVariants","React","PlasmicSliderContext","mergeProps","__objRest","useMemo","flattenChildren","SliderTrack","__spreadValues","ErrorBoundary","Slider","makeComponentName","registerComponentHelper","makeChildComponentName","SLIDER_THUMB_COMPONENT_NAME","useRef","useEffect","_a","getCommonInputProps","LABEL_COMPONENT_NAME","SLIDER_OUTPUT_COMPONENT_NAME","registerSliderOutput","registerSliderThumb"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { registerSliderOutput, SLIDER_OUTPUT_COMPONENT_NAME } from './registerSl
|
|
|
8
8
|
import { SLIDER_THUMB_COMPONENT_NAME, registerSliderThumb } from './registerSliderThumb.esm.js';
|
|
9
9
|
import flattenChildren from 'react-keyed-flatten-children';
|
|
10
10
|
import { E as ErrorBoundary } from './ErrorBoundary-c6b111d3.esm.js';
|
|
11
|
-
import { p as pickAriaComponentVariants } from './interaction-variant-utils-
|
|
11
|
+
import { p as pickAriaComponentVariants } from './interaction-variant-utils-c44a9d56.esm.js';
|
|
12
12
|
import { a as makeComponentName, r as registerComponentHelper, m as makeChildComponentName } from './utils-a1785802.esm.js';
|
|
13
13
|
|
|
14
14
|
var __defProp$1 = Object.defineProperty;
|
|
@@ -417,4 +417,4 @@ function registerSlider(loader, overrides) {
|
|
|
417
417
|
}
|
|
418
418
|
|
|
419
419
|
export { BaseSliderTrack as B, SLIDER_TRACK_COMPONENT_NAME as S, SLIDER_COMPONENT_NAME as a, BaseSlider as b, registerSlider as c, registerSliderTrack as r, sliderHelpers as s };
|
|
420
|
-
//# sourceMappingURL=registerSlider-
|
|
420
|
+
//# sourceMappingURL=registerSlider-3045cc63.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSlider-3d1d372e.esm.js","sources":["../src/registerSliderTrack.tsx","../src/registerSlider.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, SliderThumbProps, SliderTrack } from \"react-aria-components\";\nimport flattenChildren from \"react-keyed-flatten-children\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { SLIDER_COMPONENT_NAME } from \"./registerSlider\";\nimport { SLIDER_THUMB_COMPONENT_NAME } from \"./registerSliderThumb\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_TRACK_INTERACTION_VARIANTS = [\"hovered\" as const];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_TRACK_INTERACTION_VARIANTS\n);\n\nexport interface BaseSliderTrackProps\n extends React.ComponentProps<typeof SliderTrack> {\n progressBar?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_TRACK_INTERACTION_VARIANTS\n >;\n children?: React.ReactElement<HTMLElement>;\n}\n\n/**\n * Finds the index of the minimum and maximum values in the slider\n * @param values\n * @returns\n */\nfunction findMinMaxIndices(values?: number | number[]): {\n minIndex: number;\n maxIndex: number;\n} {\n if (\n typeof values === \"number\" ||\n values?.length === 0 ||\n !Array.isArray(values)\n ) {\n return { minIndex: 0, maxIndex: 0 };\n }\n\n let minIndex = 0;\n let maxIndex = 0;\n\n for (let i = 1; i < values.length; i++) {\n if (values[i] < values[minIndex]) {\n minIndex = i;\n }\n if (values[i] > values[maxIndex]) {\n maxIndex = i;\n }\n }\n\n return { minIndex, maxIndex };\n}\n\nexport function BaseSliderTrack(props: BaseSliderTrackProps) {\n const context = React.useContext(PlasmicSliderContext);\n const mergedProps = mergeProps(context, props);\n const {\n children,\n progressBar,\n updateInteractionVariant,\n isMultiValue,\n ...rest\n } = mergedProps;\n\n const { minIndex, maxIndex } = useMemo(\n () => findMinMaxIndices(mergedProps.value),\n [mergedProps.value]\n );\n\n /**\n * Generates the thumb components based on the number of thumbs\n * and the number of values in the slider\n *\n * If the number of thumbs is less than the number of values, then\n * the last thumb is repeated for the remaining values\n *\n * If the number of thumbs is greater than the number of values, then\n * the additional thumbs are omitted\n */\n const thumbs = useMemo(() => {\n const rawThumbs = flattenChildren(children);\n const values = Array.isArray(mergedProps?.value)\n ? mergedProps.value\n : [mergedProps.value].filter((v) => v !== undefined);\n const difference = values.length - rawThumbs.length;\n if (!difference) {\n return rawThumbs;\n }\n if (difference < 0) {\n return rawThumbs.slice(0, values.length);\n }\n const lastThumb = rawThumbs[rawThumbs.length - 1];\n return rawThumbs.concat(new Array(difference).fill(lastThumb));\n }, [children, mergedProps.value]);\n\n const track = (\n <SliderTrack style={{ position: \"relative\" }} {...rest}>\n {({ state, isHovered }) => (\n <>\n {withObservedValues(\n <>\n <div\n style={{\n width: `${\n (!isMultiValue\n ? state.getThumbPercent(minIndex)\n : state.getThumbPercent(maxIndex) -\n state.getThumbPercent(minIndex)) * 100\n }%`,\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n left: !isMultiValue\n ? 0\n : state.getThumbPercent(minIndex) * 100 + \"%\",\n }}\n >\n {progressBar}\n </div>\n {thumbs.map(\n (thumb, i) =>\n React.isValidElement(thumb) &&\n React.cloneElement(thumb, {\n // sets the index of the thumb, so that each thumb reflects the correct value\n index: i,\n } as SliderThumbProps)\n )}\n </>,\n {\n hovered: isHovered,\n },\n updateInteractionVariant\n )}\n </>\n )}\n </SliderTrack>\n );\n\n return (\n <ErrorBoundary\n // If the Slider Track is the root of a Studio component, then we need to wrap the track in a slider\n // to ensure that the track gets the required Slider context\n fallback={\n <Slider style={{ height: \"100%\", width: \"100%\" }}>{track}</Slider>\n }\n >\n {track}\n </ErrorBoundary>\n );\n}\n\nexport const SLIDER_TRACK_COMPONENT_NAME = makeComponentName(\"sliderTrack\");\n\nexport function registerSliderTrack(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>\n) {\n registerComponentHelper(\n loader,\n BaseSliderTrack,\n {\n name: SLIDER_TRACK_COMPONENT_NAME,\n displayName: \"Aria Slider Track\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderTrack\",\n importName: \"BaseSliderTrack\",\n defaultStyles: {\n width: \"stretch\",\n backgroundColor: \"#aaa\",\n position: \"relative\",\n height: \"10px\",\n padding: 0,\n },\n interactionVariants,\n props: {\n children: {\n type: \"slot\",\n description: \"The thumbs of the slider\",\n defaultValue: [\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_THUMB_COMPONENT_NAME\n ),\n },\n ],\n },\n progressBar: {\n type: \"slot\",\n displayName: \"Progress Bar\",\n defaultValue: [\n {\n type: \"box\",\n styles: {\n height: \"100%\",\n width: \"100%\",\n backgroundColor: \"#ffa6a6\",\n padding: 0,\n },\n },\n ],\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React, { useEffect, useRef } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, type SliderProps } from \"react-aria-components\";\nimport { getCommonInputProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n SLIDER_OUTPUT_COMPONENT_NAME,\n registerSliderOutput,\n} from \"./registerSliderOutput\";\nimport { registerSliderThumb } from \"./registerSliderThumb\";\nimport {\n SLIDER_TRACK_COMPONENT_NAME,\n registerSliderTrack,\n} from \"./registerSliderTrack\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport const SLIDER_COMPONENT_NAME = makeComponentName(\"slider\");\n\nexport interface BaseSliderProps\n extends Omit<SliderProps<number | number[]>, \"onChange\"> {\n // Passed down to Slider Thumb via context\n name?: string;\n autoFocus?: boolean;\n isMultiValue?: boolean;\n range?: number[];\n defaultRange?: number[];\n onChange?: (value: number | number[], isMultiValue?: boolean) => void;\n}\n\nexport const sliderHelpers = {\n states: {\n range: {\n onChangeArgsToValue: (value: number[], isMultiValue: boolean) => {\n if (isMultiValue) {\n return Array.isArray(value) ? value : [value, value + 10];\n }\n return undefined;\n },\n },\n value: {\n onChangeArgsToValue: (value: number, isMultiValue: boolean) => {\n if (isMultiValue) {\n return undefined;\n }\n return Array.isArray(value) ? value[0] : value;\n },\n },\n },\n};\n\nexport function BaseSlider(props: BaseSliderProps) {\n const { range, value, defaultRange, defaultValue, onChange, ...rest } = props;\n const isFirstRender = useRef(true);\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n if (props.isMultiValue) {\n const minValue = props.minValue ?? 0;\n props.onChange?.(\n Array.isArray(range) && range.length > 1\n ? range\n : [minValue, minValue + 10],\n true\n );\n return;\n }\n props.onChange?.(Array.isArray(value) ? 0 : value ?? 0, false);\n }, [props.isMultiValue]);\n\n const mergedProps = mergeProps(rest, {\n value: props.isMultiValue ? range : value,\n defaultValue: props.isMultiValue ? defaultRange : defaultValue,\n });\n return (\n <PlasmicSliderContext.Provider value={mergedProps}>\n <Slider\n key={props.isMultiValue ? \"multi\" : \"single\"}\n onChange={(newValue) => {\n onChange?.(newValue, props.isMultiValue);\n }}\n {...mergedProps}\n />\n </PlasmicSliderContext.Provider>\n );\n}\n\nexport function registerSlider(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSlider>\n) {\n registerComponentHelper(\n loader,\n BaseSlider,\n {\n name: SLIDER_COMPONENT_NAME,\n displayName: \"Aria Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonInputProps<BaseSliderProps>(\"slider\", [\n \"isDisabled\",\n \"name\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n padding: \"8px 0px\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_OUTPUT_COMPONENT_NAME\n ),\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_TRACK_COMPONENT_NAME\n ),\n },\n ],\n },\n orientation: {\n type: \"choice\",\n options: [\"horizontal\", \"vertical\"],\n defaultValueHint: \"horizontal\",\n defaultValue: \"horizontal\",\n },\n minValue: {\n type: \"number\",\n description: \"The minimum value of the slider\",\n defaultValueHint: 0,\n },\n maxValue: {\n type: \"number\",\n description: \"The maximum value of the slider\",\n defaultValueHint: 100,\n },\n step: {\n type: \"number\",\n description: \"The step value of the slider\",\n defaultValueHint: 1,\n },\n isMultiValue: {\n type: \"boolean\",\n displayName: \"Multi-valued\",\n description: \"Whether the slider supports range (multiple thumbs)\",\n defaultValue: false,\n defaultValueHint: false,\n },\n range: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultRange\",\n description: \"The default range of the slider\",\n defaultValueHint: [10, 20],\n defaultValue: [10, 20],\n hidden: (ps: BaseSliderProps) => !ps.isMultiValue,\n },\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"The default value of the slider\",\n defaultValueHint: 0,\n defaultValue: 0,\n hidden: (ps: BaseSliderProps) => Boolean(ps.isMultiValue),\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n },\n states: {\n range: {\n type: \"writable\",\n valueProp: \"range\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n hidden: (ps: BaseSliderProps) => !ps.isMultiValue,\n ...sliderHelpers.states.range,\n },\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n hidden: (ps: BaseSliderProps) => Boolean(ps.isMultiValue),\n ...sliderHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: sliderHelpers,\n importName: \"sliderHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n },\n trapsFocus: true,\n },\n overrides\n );\n\n registerSliderOutput(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n registerSliderThumb(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n registerSliderTrack(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n}\n"],"names":["__objRest","__spreadValues","_a"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerSlider-3045cc63.esm.js","sources":["../src/registerSliderTrack.tsx","../src/registerSlider.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, SliderThumbProps, SliderTrack } from \"react-aria-components\";\nimport flattenChildren from \"react-keyed-flatten-children\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { SLIDER_COMPONENT_NAME } from \"./registerSlider\";\nimport { SLIDER_THUMB_COMPONENT_NAME } from \"./registerSliderThumb\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SLIDER_TRACK_INTERACTION_VARIANTS = [\"hovered\" as const];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_TRACK_INTERACTION_VARIANTS\n);\n\nexport interface BaseSliderTrackProps\n extends React.ComponentProps<typeof SliderTrack> {\n progressBar?: React.ReactNode;\n // Optional callback to update the interaction variant state\n // as it's only provided if the component is the root of a Studio component\n updateInteractionVariant?: UpdateInteractionVariant<\n typeof SLIDER_TRACK_INTERACTION_VARIANTS\n >;\n children?: React.ReactElement<HTMLElement>;\n}\n\n/**\n * Finds the index of the minimum and maximum values in the slider\n * @param values\n * @returns\n */\nfunction findMinMaxIndices(values?: number | number[]): {\n minIndex: number;\n maxIndex: number;\n} {\n if (\n typeof values === \"number\" ||\n values?.length === 0 ||\n !Array.isArray(values)\n ) {\n return { minIndex: 0, maxIndex: 0 };\n }\n\n let minIndex = 0;\n let maxIndex = 0;\n\n for (let i = 1; i < values.length; i++) {\n if (values[i] < values[minIndex]) {\n minIndex = i;\n }\n if (values[i] > values[maxIndex]) {\n maxIndex = i;\n }\n }\n\n return { minIndex, maxIndex };\n}\n\nexport function BaseSliderTrack(props: BaseSliderTrackProps) {\n const context = React.useContext(PlasmicSliderContext);\n const mergedProps = mergeProps(context, props);\n const {\n children,\n progressBar,\n updateInteractionVariant,\n isMultiValue,\n ...rest\n } = mergedProps;\n\n const { minIndex, maxIndex } = useMemo(\n () => findMinMaxIndices(mergedProps.value),\n [mergedProps.value]\n );\n\n /**\n * Generates the thumb components based on the number of thumbs\n * and the number of values in the slider\n *\n * If the number of thumbs is less than the number of values, then\n * the last thumb is repeated for the remaining values\n *\n * If the number of thumbs is greater than the number of values, then\n * the additional thumbs are omitted\n */\n const thumbs = useMemo(() => {\n const rawThumbs = flattenChildren(children);\n const values = Array.isArray(mergedProps?.value)\n ? mergedProps.value\n : [mergedProps.value].filter((v) => v !== undefined);\n const difference = values.length - rawThumbs.length;\n if (!difference) {\n return rawThumbs;\n }\n if (difference < 0) {\n return rawThumbs.slice(0, values.length);\n }\n const lastThumb = rawThumbs[rawThumbs.length - 1];\n return rawThumbs.concat(new Array(difference).fill(lastThumb));\n }, [children, mergedProps.value]);\n\n const track = (\n <SliderTrack style={{ position: \"relative\" }} {...rest}>\n {({ state, isHovered }) => (\n <>\n {withObservedValues(\n <>\n <div\n style={{\n width: `${\n (!isMultiValue\n ? state.getThumbPercent(minIndex)\n : state.getThumbPercent(maxIndex) -\n state.getThumbPercent(minIndex)) * 100\n }%`,\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n left: !isMultiValue\n ? 0\n : state.getThumbPercent(minIndex) * 100 + \"%\",\n }}\n >\n {progressBar}\n </div>\n {thumbs.map(\n (thumb, i) =>\n React.isValidElement(thumb) &&\n React.cloneElement(thumb, {\n // sets the index of the thumb, so that each thumb reflects the correct value\n index: i,\n } as SliderThumbProps)\n )}\n </>,\n {\n hovered: isHovered,\n },\n updateInteractionVariant\n )}\n </>\n )}\n </SliderTrack>\n );\n\n return (\n <ErrorBoundary\n // If the Slider Track is the root of a Studio component, then we need to wrap the track in a slider\n // to ensure that the track gets the required Slider context\n fallback={\n <Slider style={{ height: \"100%\", width: \"100%\" }}>{track}</Slider>\n }\n >\n {track}\n </ErrorBoundary>\n );\n}\n\nexport const SLIDER_TRACK_COMPONENT_NAME = makeComponentName(\"sliderTrack\");\n\nexport function registerSliderTrack(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>\n) {\n registerComponentHelper(\n loader,\n BaseSliderTrack,\n {\n name: SLIDER_TRACK_COMPONENT_NAME,\n displayName: \"Aria Slider Track\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderTrack\",\n importName: \"BaseSliderTrack\",\n defaultStyles: {\n width: \"stretch\",\n backgroundColor: \"#aaa\",\n position: \"relative\",\n height: \"10px\",\n padding: 0,\n },\n interactionVariants,\n props: {\n children: {\n type: \"slot\",\n description: \"The thumbs of the slider\",\n defaultValue: [\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_THUMB_COMPONENT_NAME\n ),\n },\n ],\n },\n progressBar: {\n type: \"slot\",\n displayName: \"Progress Bar\",\n defaultValue: [\n {\n type: \"box\",\n styles: {\n height: \"100%\",\n width: \"100%\",\n backgroundColor: \"#ffa6a6\",\n padding: 0,\n },\n },\n ],\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React, { useEffect, useRef } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport { Slider, type SliderProps } from \"react-aria-components\";\nimport { getCommonInputProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n SLIDER_OUTPUT_COMPONENT_NAME,\n registerSliderOutput,\n} from \"./registerSliderOutput\";\nimport { registerSliderThumb } from \"./registerSliderThumb\";\nimport {\n SLIDER_TRACK_COMPONENT_NAME,\n registerSliderTrack,\n} from \"./registerSliderTrack\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeChildComponentName,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport const SLIDER_COMPONENT_NAME = makeComponentName(\"slider\");\n\nexport interface BaseSliderProps\n extends Omit<SliderProps<number | number[]>, \"onChange\"> {\n // Passed down to Slider Thumb via context\n name?: string;\n autoFocus?: boolean;\n isMultiValue?: boolean;\n range?: number[];\n defaultRange?: number[];\n onChange?: (value: number | number[], isMultiValue?: boolean) => void;\n}\n\nexport const sliderHelpers = {\n states: {\n range: {\n onChangeArgsToValue: (value: number[], isMultiValue: boolean) => {\n if (isMultiValue) {\n return Array.isArray(value) ? value : [value, value + 10];\n }\n return undefined;\n },\n },\n value: {\n onChangeArgsToValue: (value: number, isMultiValue: boolean) => {\n if (isMultiValue) {\n return undefined;\n }\n return Array.isArray(value) ? value[0] : value;\n },\n },\n },\n};\n\nexport function BaseSlider(props: BaseSliderProps) {\n const { range, value, defaultRange, defaultValue, onChange, ...rest } = props;\n const isFirstRender = useRef(true);\n\n useEffect(() => {\n if (isFirstRender.current) {\n isFirstRender.current = false;\n return;\n }\n if (props.isMultiValue) {\n const minValue = props.minValue ?? 0;\n props.onChange?.(\n Array.isArray(range) && range.length > 1\n ? range\n : [minValue, minValue + 10],\n true\n );\n return;\n }\n props.onChange?.(Array.isArray(value) ? 0 : value ?? 0, false);\n }, [props.isMultiValue]);\n\n const mergedProps = mergeProps(rest, {\n value: props.isMultiValue ? range : value,\n defaultValue: props.isMultiValue ? defaultRange : defaultValue,\n });\n return (\n <PlasmicSliderContext.Provider value={mergedProps}>\n <Slider\n key={props.isMultiValue ? \"multi\" : \"single\"}\n onChange={(newValue) => {\n onChange?.(newValue, props.isMultiValue);\n }}\n {...mergedProps}\n />\n </PlasmicSliderContext.Provider>\n );\n}\n\nexport function registerSlider(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSlider>\n) {\n registerComponentHelper(\n loader,\n BaseSlider,\n {\n name: SLIDER_COMPONENT_NAME,\n displayName: \"Aria Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonInputProps<BaseSliderProps>(\"slider\", [\n \"isDisabled\",\n \"name\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n padding: \"8px 0px\",\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_OUTPUT_COMPONENT_NAME\n ),\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: makeChildComponentName(\n SLIDER_COMPONENT_NAME,\n SLIDER_TRACK_COMPONENT_NAME\n ),\n },\n ],\n },\n orientation: {\n type: \"choice\",\n options: [\"horizontal\", \"vertical\"],\n defaultValueHint: \"horizontal\",\n defaultValue: \"horizontal\",\n },\n minValue: {\n type: \"number\",\n description: \"The minimum value of the slider\",\n defaultValueHint: 0,\n },\n maxValue: {\n type: \"number\",\n description: \"The maximum value of the slider\",\n defaultValueHint: 100,\n },\n step: {\n type: \"number\",\n description: \"The step value of the slider\",\n defaultValueHint: 1,\n },\n isMultiValue: {\n type: \"boolean\",\n displayName: \"Multi-valued\",\n description: \"Whether the slider supports range (multiple thumbs)\",\n defaultValue: false,\n defaultValueHint: false,\n },\n range: {\n type: \"array\",\n editOnly: true,\n uncontrolledProp: \"defaultRange\",\n description: \"The default range of the slider\",\n defaultValueHint: [10, 20],\n defaultValue: [10, 20],\n hidden: (ps: BaseSliderProps) => !ps.isMultiValue,\n },\n value: {\n type: \"number\",\n editOnly: true,\n uncontrolledProp: \"defaultValue\",\n description: \"The default value of the slider\",\n defaultValueHint: 0,\n defaultValue: 0,\n hidden: (ps: BaseSliderProps) => Boolean(ps.isMultiValue),\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"object\" }],\n },\n },\n states: {\n range: {\n type: \"writable\",\n valueProp: \"range\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n hidden: (ps: BaseSliderProps) => !ps.isMultiValue,\n ...sliderHelpers.states.range,\n },\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n hidden: (ps: BaseSliderProps) => Boolean(ps.isMultiValue),\n ...sliderHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: sliderHelpers,\n importName: \"sliderHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n },\n trapsFocus: true,\n },\n overrides\n );\n\n registerSliderOutput(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n registerSliderThumb(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n registerSliderTrack(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n}\n"],"names":["__objRest","__spreadValues","_a"],"mappings":"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"}
|
|
@@ -8,11 +8,11 @@ require('./contexts-b21f6b12.cjs.js');
|
|
|
8
8
|
require('./registerLabel.cjs.js');
|
|
9
9
|
require('./registerSliderOutput.cjs.js');
|
|
10
10
|
require('./registerSliderThumb.cjs.js');
|
|
11
|
-
var registerSliderTrack = require('./registerSlider-
|
|
11
|
+
var registerSliderTrack = require('./registerSlider-22197722.cjs.js');
|
|
12
12
|
require('./utils-d3708034.cjs.js');
|
|
13
13
|
require('@plasmicapp/host/registerComponent');
|
|
14
14
|
require('./ErrorBoundary-e9b86248.cjs.js');
|
|
15
|
-
require('./interaction-variant-utils-
|
|
15
|
+
require('./interaction-variant-utils-244b74fb.cjs.js');
|
|
16
16
|
require('react-keyed-flatten-children');
|
|
17
17
|
|
|
18
18
|
|
|
@@ -6,10 +6,10 @@ import './contexts-9475faad.esm.js';
|
|
|
6
6
|
import './registerLabel.esm.js';
|
|
7
7
|
import './registerSliderOutput.esm.js';
|
|
8
8
|
import './registerSliderThumb.esm.js';
|
|
9
|
-
export { b as BaseSlider, a as SLIDER_COMPONENT_NAME, c as registerSlider, s as sliderHelpers } from './registerSlider-
|
|
9
|
+
export { b as BaseSlider, a as SLIDER_COMPONENT_NAME, c as registerSlider, s as sliderHelpers } from './registerSlider-3045cc63.esm.js';
|
|
10
10
|
import './utils-a1785802.esm.js';
|
|
11
11
|
import '@plasmicapp/host/registerComponent';
|
|
12
12
|
import './ErrorBoundary-c6b111d3.esm.js';
|
|
13
|
-
import './interaction-variant-utils-
|
|
13
|
+
import './interaction-variant-utils-c44a9d56.esm.js';
|
|
14
14
|
import 'react-keyed-flatten-children';
|
|
15
15
|
//# sourceMappingURL=registerSlider.esm.js.map
|
|
@@ -5,7 +5,7 @@ var reactAria = require('react-aria');
|
|
|
5
5
|
var reactAriaComponents = require('react-aria-components');
|
|
6
6
|
var contexts = require('./contexts-b21f6b12.cjs.js');
|
|
7
7
|
var ErrorBoundary = require('./ErrorBoundary-e9b86248.cjs.js');
|
|
8
|
-
var interactionVariantUtils = require('./interaction-variant-utils-
|
|
8
|
+
var interactionVariantUtils = require('./interaction-variant-utils-244b74fb.cjs.js');
|
|
9
9
|
var utils = require('./utils-d3708034.cjs.js');
|
|
10
10
|
require('@plasmicapp/host/registerComponent');
|
|
11
11
|
|
|
@@ -3,7 +3,7 @@ import { mergeProps } from 'react-aria';
|
|
|
3
3
|
import { SliderThumb, Slider, SliderTrack } from 'react-aria-components';
|
|
4
4
|
import { i as PlasmicSliderContext } from './contexts-9475faad.esm.js';
|
|
5
5
|
import { E as ErrorBoundary } from './ErrorBoundary-c6b111d3.esm.js';
|
|
6
|
-
import { p as pickAriaComponentVariants } from './interaction-variant-utils-
|
|
6
|
+
import { p as pickAriaComponentVariants } from './interaction-variant-utils-c44a9d56.esm.js';
|
|
7
7
|
import { a as makeComponentName, r as registerComponentHelper } from './utils-a1785802.esm.js';
|
|
8
8
|
import '@plasmicapp/host/registerComponent';
|
|
9
9
|
|
|
@@ -6,8 +6,8 @@ require('react-aria-components');
|
|
|
6
6
|
require('react-keyed-flatten-children');
|
|
7
7
|
require('./contexts-b21f6b12.cjs.js');
|
|
8
8
|
require('./ErrorBoundary-e9b86248.cjs.js');
|
|
9
|
-
require('./interaction-variant-utils-
|
|
10
|
-
var registerSliderTrack = require('./registerSlider-
|
|
9
|
+
require('./interaction-variant-utils-244b74fb.cjs.js');
|
|
10
|
+
var registerSliderTrack = require('./registerSlider-22197722.cjs.js');
|
|
11
11
|
require('./registerSliderThumb.cjs.js');
|
|
12
12
|
require('./utils-d3708034.cjs.js');
|
|
13
13
|
require('./common-e74a9214.cjs.js');
|
|
@@ -4,8 +4,8 @@ import 'react-aria-components';
|
|
|
4
4
|
import 'react-keyed-flatten-children';
|
|
5
5
|
import './contexts-9475faad.esm.js';
|
|
6
6
|
import './ErrorBoundary-c6b111d3.esm.js';
|
|
7
|
-
import './interaction-variant-utils-
|
|
8
|
-
export { B as BaseSliderTrack, S as SLIDER_TRACK_COMPONENT_NAME, r as registerSliderTrack } from './registerSlider-
|
|
7
|
+
import './interaction-variant-utils-c44a9d56.esm.js';
|
|
8
|
+
export { B as BaseSliderTrack, S as SLIDER_TRACK_COMPONENT_NAME, r as registerSliderTrack } from './registerSlider-3045cc63.esm.js';
|
|
9
9
|
import './registerSliderThumb.esm.js';
|
|
10
10
|
import './utils-a1785802.esm.js';
|
|
11
11
|
import './common-52c26d37.esm.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var reactAriaComponents = require('react-aria-components');
|
|
5
5
|
var common = require('./common-e74a9214.cjs.js');
|
|
6
|
-
var interactionVariantUtils = require('./interaction-variant-utils-
|
|
6
|
+
var interactionVariantUtils = require('./interaction-variant-utils-244b74fb.cjs.js');
|
|
7
7
|
var registerDescription = require('./registerDescription.cjs.js');
|
|
8
8
|
var registerLabel = require('./registerLabel.cjs.js');
|
|
9
9
|
var utils = require('./utils-d3708034.cjs.js');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Switch } from 'react-aria-components';
|
|
3
3
|
import { g as getCommonInputProps } from './common-52c26d37.esm.js';
|
|
4
|
-
import { p as pickAriaComponentVariants } from './interaction-variant-utils-
|
|
4
|
+
import { p as pickAriaComponentVariants } from './interaction-variant-utils-c44a9d56.esm.js';
|
|
5
5
|
import { DESCRIPTION_COMPONENT_NAME } from './registerDescription.esm.js';
|
|
6
6
|
import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
|
|
7
7
|
import { r as registerComponentHelper, a as makeComponentName } from './utils-a1785802.esm.js';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var reactAriaComponents = require('react-aria-components');
|
|
5
|
-
var interactionVariantUtils = require('./interaction-variant-utils-
|
|
5
|
+
var interactionVariantUtils = require('./interaction-variant-utils-244b74fb.cjs.js');
|
|
6
6
|
var utils = require('./utils-d3708034.cjs.js');
|
|
7
7
|
require('@plasmicapp/host/registerComponent');
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { TextArea } from 'react-aria-components';
|
|
3
|
-
import { p as pickAriaComponentVariants } from './interaction-variant-utils-
|
|
3
|
+
import { p as pickAriaComponentVariants } from './interaction-variant-utils-c44a9d56.esm.js';
|
|
4
4
|
import { r as registerComponentHelper, a as makeComponentName } from './utils-a1785802.esm.js';
|
|
5
5
|
import '@plasmicapp/host/registerComponent';
|
|
6
6
|
|
|
@@ -10,7 +10,7 @@ var registerLabel = require('./registerLabel.cjs.js');
|
|
|
10
10
|
var registerTextArea = require('./registerTextArea.cjs.js');
|
|
11
11
|
var utils = require('./utils-d3708034.cjs.js');
|
|
12
12
|
require('./registerText.cjs.js');
|
|
13
|
-
require('./interaction-variant-utils-
|
|
13
|
+
require('./interaction-variant-utils-244b74fb.cjs.js');
|
|
14
14
|
require('@plasmicapp/host/registerComponent');
|
|
15
15
|
|
|
16
16
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -8,7 +8,7 @@ import { registerLabel, LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
|
|
|
8
8
|
import { registerTextArea } from './registerTextArea.esm.js';
|
|
9
9
|
import { a as makeComponentName, r as registerComponentHelper, m as makeChildComponentName } from './utils-a1785802.esm.js';
|
|
10
10
|
import './registerText.esm.js';
|
|
11
|
-
import './interaction-variant-utils-
|
|
11
|
+
import './interaction-variant-utils-c44a9d56.esm.js';
|
|
12
12
|
import '@plasmicapp/host/registerComponent';
|
|
13
13
|
|
|
14
14
|
var __defProp = Object.defineProperty;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interaction-variant-utils-0e04f834.esm.js","sources":["../src/interaction-variant-utils.tsx"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\n\nconst ARIA_COMPONENTS_INTERACTION_VARIANTS = {\n hovered: {\n cssSelector: \"[data-hovered]\",\n displayName: \"Hovered\",\n },\n pressed: {\n cssSelector: \"[data-pressed]\",\n displayName: \"Pressed\",\n },\n focused: {\n cssSelector: \"[data-focused]\",\n displayName: \"Focused\",\n },\n focusVisible: {\n cssSelector: \"[data-focus-visible]\",\n displayName: \"Focus Visible\",\n },\n dragging: {\n cssSelector: \"[data-dragging]\",\n displayName: \"Dragging\",\n },\n selected: {\n cssSelector: \"[data-selected]\",\n displayName: \"Selected\",\n },\n};\n\ntype AriaInteractionVariant = keyof typeof ARIA_COMPONENTS_INTERACTION_VARIANTS;\n\ntype CodeComponentInteractionVariantsMeta = NonNullable<\n CodeComponentMeta<unknown>[\"interactionVariants\"]\n>;\n\ntype InteractionVariantMeta = CodeComponentInteractionVariantsMeta[string];\n\ntype ArrayElement<T> = T extends (infer U)[] ? U : never;\n\nexport type UpdateInteractionVariant<T extends AriaInteractionVariant[]> =\n | ((changes: Partial<Record<ArrayElement<T>, boolean>>) => void)\n | undefined;\n\ntype WithObservedValues<T extends AriaInteractionVariant[]> = (\n children: React.ReactNode,\n state: Record<ArrayElement<T>, boolean>,\n updateInteractionVariant: UpdateInteractionVariant<T>\n) => React.ReactNode;\n\nfunction ChangesObserver<T extends AriaInteractionVariant[]>({\n children,\n changes,\n updateInteractionVariant,\n}: {\n children: React.ReactNode;\n changes: Partial<Record<ArrayElement<T>, boolean>>;\n updateInteractionVariant?: UpdateInteractionVariant<T>;\n}) {\n React.useEffect(() => {\n if (updateInteractionVariant) {\n updateInteractionVariant(changes);\n }\n }, [changes, updateInteractionVariant]);\n return children;\n}\n\nfunction realWithObservedValues<T extends AriaInteractionVariant[]>(\n children: React.ReactNode,\n changes: Partial<Record<ArrayElement<T>, boolean>>,\n updateInteractionVariant?: UpdateInteractionVariant<T>\n) {\n return (\n <ChangesObserver\n changes={changes}\n updateInteractionVariant={updateInteractionVariant}\n >\n {children}\n </ChangesObserver>\n );\n}\n\nexport function pickAriaComponentVariants<T extends AriaInteractionVariant[]>(\n keys: T\n): {\n interactionVariants: Record<ArrayElement<T>, InteractionVariantMeta>;\n withObservedValues: WithObservedValues<T>;\n} {\n return {\n interactionVariants: Object.fromEntries(\n keys.map((key) => [key, ARIA_COMPONENTS_INTERACTION_VARIANTS[key]])\n ) as Record<ArrayElement<T>, InteractionVariantMeta>,\n withObservedValues: realWithObservedValues<T>,\n };\n}\n"],"names":[],"mappings":";;AAGA,MAAM,oCAAuC,GAAA;AAAA,EAC3C,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,WAAa,EAAA,sBAAA;AAAA,IACb,WAAa,EAAA,eAAA;AAAA,GACf;AAAA,EACA,QAAU,EAAA;AAAA,IACR,WAAa,EAAA,iBAAA;AAAA,IACb,WAAa,EAAA,UAAA;AAAA,GACf;AAAA,EACA,QAAU,EAAA;AAAA,IACR,WAAa,EAAA,iBAAA;AAAA,IACb,WAAa,EAAA,UAAA;AAAA,GACf;AACF,CAAA,CAAA;AAsBA,SAAS,eAAoD,CAAA;AAAA,EAC3D,QAAA;AAAA,EACA,OAAA;AAAA,EACA,wBAAA;AACF,CAIG,EAAA;AACD,EAAA,KAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,wBAA0B,EAAA;AAC5B,MAAA,wBAAA,CAAyB,OAAO,CAAA,CAAA;AAAA,KAClC;AAAA,GACC,EAAA,CAAC,OAAS,EAAA,wBAAwB,CAAC,CAAA,CAAA;AACtC,EAAO,OAAA,QAAA,CAAA;AACT,CAAA;AAEA,SAAS,sBAAA,CACP,QACA,EAAA,OAAA,EACA,wBACA,EAAA;AACA,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,wBAAA;AAAA,KAAA;AAAA,IAEC,QAAA;AAAA,GACH,CAAA;AAEJ,CAAA;AAEO,SAAS,0BACd,IAIA,EAAA;AACA,EAAO,OAAA;AAAA,IACL,qBAAqB,MAAO,CAAA,WAAA;AAAA,MAC1B,IAAA,CAAK,IAAI,CAAC,GAAA,KAAQ,CAAC,GAAK,EAAA,oCAAA,CAAqC,GAAG,CAAC,CAAC,CAAA;AAAA,KACpE;AAAA,IACA,kBAAoB,EAAA,sBAAA;AAAA,GACtB,CAAA;AACF;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interaction-variant-utils-d45aa2a2.cjs.js","sources":["../src/interaction-variant-utils.tsx"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\n\nconst ARIA_COMPONENTS_INTERACTION_VARIANTS = {\n hovered: {\n cssSelector: \"[data-hovered]\",\n displayName: \"Hovered\",\n },\n pressed: {\n cssSelector: \"[data-pressed]\",\n displayName: \"Pressed\",\n },\n focused: {\n cssSelector: \"[data-focused]\",\n displayName: \"Focused\",\n },\n focusVisible: {\n cssSelector: \"[data-focus-visible]\",\n displayName: \"Focus Visible\",\n },\n dragging: {\n cssSelector: \"[data-dragging]\",\n displayName: \"Dragging\",\n },\n selected: {\n cssSelector: \"[data-selected]\",\n displayName: \"Selected\",\n },\n};\n\ntype AriaInteractionVariant = keyof typeof ARIA_COMPONENTS_INTERACTION_VARIANTS;\n\ntype CodeComponentInteractionVariantsMeta = NonNullable<\n CodeComponentMeta<unknown>[\"interactionVariants\"]\n>;\n\ntype InteractionVariantMeta = CodeComponentInteractionVariantsMeta[string];\n\ntype ArrayElement<T> = T extends (infer U)[] ? U : never;\n\nexport type UpdateInteractionVariant<T extends AriaInteractionVariant[]> =\n | ((changes: Partial<Record<ArrayElement<T>, boolean>>) => void)\n | undefined;\n\ntype WithObservedValues<T extends AriaInteractionVariant[]> = (\n children: React.ReactNode,\n state: Record<ArrayElement<T>, boolean>,\n updateInteractionVariant: UpdateInteractionVariant<T>\n) => React.ReactNode;\n\nfunction ChangesObserver<T extends AriaInteractionVariant[]>({\n children,\n changes,\n updateInteractionVariant,\n}: {\n children: React.ReactNode;\n changes: Partial<Record<ArrayElement<T>, boolean>>;\n updateInteractionVariant?: UpdateInteractionVariant<T>;\n}) {\n React.useEffect(() => {\n if (updateInteractionVariant) {\n updateInteractionVariant(changes);\n }\n }, [changes, updateInteractionVariant]);\n return children;\n}\n\nfunction realWithObservedValues<T extends AriaInteractionVariant[]>(\n children: React.ReactNode,\n changes: Partial<Record<ArrayElement<T>, boolean>>,\n updateInteractionVariant?: UpdateInteractionVariant<T>\n) {\n return (\n <ChangesObserver\n changes={changes}\n updateInteractionVariant={updateInteractionVariant}\n >\n {children}\n </ChangesObserver>\n );\n}\n\nexport function pickAriaComponentVariants<T extends AriaInteractionVariant[]>(\n keys: T\n): {\n interactionVariants: Record<ArrayElement<T>, InteractionVariantMeta>;\n withObservedValues: WithObservedValues<T>;\n} {\n return {\n interactionVariants: Object.fromEntries(\n keys.map((key) => [key, ARIA_COMPONENTS_INTERACTION_VARIANTS[key]])\n ) as Record<ArrayElement<T>, InteractionVariantMeta>,\n withObservedValues: realWithObservedValues<T>,\n };\n}\n"],"names":["React"],"mappings":";;;;;;;;AAGA,MAAM,oCAAuC,GAAA;AAAA,EAC3C,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,OAAS,EAAA;AAAA,IACP,WAAa,EAAA,gBAAA;AAAA,IACb,WAAa,EAAA,SAAA;AAAA,GACf;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,WAAa,EAAA,sBAAA;AAAA,IACb,WAAa,EAAA,eAAA;AAAA,GACf;AAAA,EACA,QAAU,EAAA;AAAA,IACR,WAAa,EAAA,iBAAA;AAAA,IACb,WAAa,EAAA,UAAA;AAAA,GACf;AAAA,EACA,QAAU,EAAA;AAAA,IACR,WAAa,EAAA,iBAAA;AAAA,IACb,WAAa,EAAA,UAAA;AAAA,GACf;AACF,CAAA,CAAA;AAsBA,SAAS,eAAoD,CAAA;AAAA,EAC3D,QAAA;AAAA,EACA,OAAA;AAAA,EACA,wBAAA;AACF,CAIG,EAAA;AACD,EAAAA,sBAAA,CAAM,UAAU,MAAM;AACpB,IAAA,IAAI,wBAA0B,EAAA;AAC5B,MAAA,wBAAA,CAAyB,OAAO,CAAA,CAAA;AAAA,KAClC;AAAA,GACC,EAAA,CAAC,OAAS,EAAA,wBAAwB,CAAC,CAAA,CAAA;AACtC,EAAO,OAAA,QAAA,CAAA;AACT,CAAA;AAEA,SAAS,sBAAA,CACP,QACA,EAAA,OAAA,EACA,wBACA,EAAA;AACA,EACE,uBAAAA,sBAAA,CAAA,aAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,wBAAA;AAAA,KAAA;AAAA,IAEC,QAAA;AAAA,GACH,CAAA;AAEJ,CAAA;AAEO,SAAS,0BACd,IAIA,EAAA;AACA,EAAO,OAAA;AAAA,IACL,qBAAqB,MAAO,CAAA,WAAA;AAAA,MAC1B,IAAA,CAAK,IAAI,CAAC,GAAA,KAAQ,CAAC,GAAK,EAAA,oCAAA,CAAqC,GAAG,CAAC,CAAC,CAAA;AAAA,KACpE;AAAA,IACA,kBAAoB,EAAA,sBAAA;AAAA,GACtB,CAAA;AACF;;;;"}
|