@plasmicpkgs/react-aria 0.0.75 → 0.0.77
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/contexts.d.ts +1 -1
- package/dist/react-aria.esm.js +52 -27
- package/dist/react-aria.esm.js.map +1 -1
- package/dist/react-aria.js +52 -27
- package/dist/react-aria.js.map +1 -1
- package/dist/registerPopover.d.ts +6 -2
- package/package.json +2 -2
- package/skinny/{contexts-081d65a0.esm.js → contexts-5cb81c2f.esm.js} +3 -3
- package/skinny/contexts-5cb81c2f.esm.js.map +1 -0
- package/skinny/{contexts-baa37b74.cjs.js → contexts-6d0cb2b1.cjs.js} +3 -3
- package/skinny/contexts-6d0cb2b1.cjs.js.map +1 -0
- package/skinny/contexts.d.ts +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 +6 -5
- package/skinny/registerComboBox.cjs.js.map +1 -1
- package/skinny/registerComboBox.esm.js +6 -5
- package/skinny/registerComboBox.esm.js.map +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/{registerListBox-64bcf3d2.esm.js → registerListBox-25d602fa.esm.js} +3 -5
- package/skinny/registerListBox-25d602fa.esm.js.map +1 -0
- package/skinny/{registerListBox-c2c63064.cjs.js → registerListBox-f4f6beb5.cjs.js} +8 -10
- package/skinny/registerListBox-f4f6beb5.cjs.js.map +1 -0
- package/skinny/registerListBox.cjs.js +2 -3
- package/skinny/registerListBox.cjs.js.map +1 -1
- package/skinny/registerListBox.esm.js +2 -3
- package/skinny/registerListBox.esm.js.map +1 -1
- package/skinny/registerListBoxItem.cjs.js +1 -1
- package/skinny/registerListBoxItem.esm.js +1 -1
- package/skinny/registerModal.cjs.js +1 -1
- package/skinny/registerModal.esm.js +1 -1
- package/skinny/registerPopover.cjs.js +40 -14
- package/skinny/registerPopover.cjs.js.map +1 -1
- package/skinny/registerPopover.d.ts +6 -2
- package/skinny/registerPopover.esm.js +41 -15
- package/skinny/registerPopover.esm.js.map +1 -1
- package/skinny/registerRadio.cjs.js +1 -1
- package/skinny/registerRadio.esm.js +1 -1
- package/skinny/registerRadioGroup.cjs.js +1 -1
- package/skinny/registerRadioGroup.esm.js +1 -1
- package/skinny/registerSection.cjs.js +2 -3
- package/skinny/registerSection.cjs.js.map +1 -1
- package/skinny/registerSection.esm.js +2 -3
- package/skinny/registerSection.esm.js.map +1 -1
- package/skinny/registerSelect.cjs.js +6 -5
- package/skinny/registerSelect.cjs.js.map +1 -1
- package/skinny/registerSelect.esm.js +6 -5
- package/skinny/registerSelect.esm.js.map +1 -1
- package/skinny/registerSlider.cjs.js +1 -2
- package/skinny/registerSlider.cjs.js.map +1 -1
- package/skinny/registerSlider.esm.js +1 -2
- package/skinny/registerSlider.esm.js.map +1 -1
- package/skinny/registerSliderThumb.cjs.js +1 -5
- package/skinny/registerSliderThumb.cjs.js.map +1 -1
- package/skinny/registerSliderThumb.esm.js +1 -5
- package/skinny/registerSliderThumb.esm.js.map +1 -1
- package/skinny/registerSliderTrack.cjs.js +5 -6
- package/skinny/registerSliderTrack.cjs.js.map +1 -1
- package/skinny/registerSliderTrack.esm.js +5 -6
- package/skinny/registerSliderTrack.esm.js.map +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/contexts-081d65a0.esm.js.map +0 -1
- package/skinny/contexts-baa37b74.cjs.js.map +0 -1
- package/skinny/registerListBox-64bcf3d2.esm.js.map +0 -1
- package/skinny/registerListBox-c2c63064.cjs.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSelect.cjs.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport {\n Select,\n SelectProps,\n SelectStateContext,\n SelectValue,\n} from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicListBoxContext, PlasmicPopoverContext } from \"./contexts\";\nimport { ListBoxItemIdManager } from \"./ListBoxItemIdManager\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n useAutoOpen,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\n// It cannot be used as a hook like useAutoOpen() within the BaseSelect component\n// because it needs access to SelectStateContext, which is only created in the BaseSelect component's render function.\nfunction SelectAutoOpen(props: any) {\n const { open, close } = React.useContext(SelectStateContext) ?? {};\n useAutoOpen({ props, open, close });\n\n return null;\n}\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n customize?: boolean;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children, customize, className } = props;\n const placeholder = customize ? children : \"Select an item\";\n return (\n <SelectValue className={className}>\n {({ isPlaceholder, selectedText }) => (\n <>{isPlaceholder ? placeholder : selectedText}</>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectControlContextData {\n itemIds: string[];\n}\n\nconst SELECT_VARIANTS = [\"disabled\" as const];\n\nconst { variants: SELECT_VARIANTS_DATA } =\n pickAriaComponentVariants(SELECT_VARIANTS);\n\nexport interface BaseSelectProps\n extends SelectProps<{}>, // NOTE: We don't need generic type here since we don't use items prop (that needs it). We just need to make the type checker happy\n WithVariants<typeof SELECT_VARIANTS>,\n HasControlContextData<BaseSelectControlContextData> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseSelect(props: BaseSelectProps) {\n const {\n selectedKey,\n onSelectionChange,\n placeholder,\n onOpenChange,\n isDisabled,\n className,\n style,\n children,\n disabledKeys,\n name,\n setControlContextData,\n plasmicUpdateVariant,\n \"aria-label\": ariaLabel,\n } = props;\n\n const idManager = useMemo(() => new ListBoxItemIdManager(), []);\n\n useEffect(() => {\n idManager.subscribe((ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n });\n }, []);\n\n // NOTE: Aria <Select> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state.\n useEffect(() => {\n plasmicUpdateVariant?.({\n disabled: isDisabled,\n });\n }, [isDisabled, plasmicUpdateVariant]);\n\n return (\n <Select\n placeholder={placeholder}\n selectedKey={selectedKey}\n onSelectionChange={onSelectionChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n // Not calling plasmicUpdateVariant within className callback (which has access to render props) because it would then run on every render\n className={className}\n style={style}\n name={name}\n disabledKeys={disabledKeys}\n aria-label={ariaLabel}\n {...extractPlasmicDataProps(props)}\n >\n <SelectAutoOpen {...props} />\n <PlasmicPopoverContext.Provider value={{}}>\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {children}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n customize: {\n type: \"boolean\",\n description: \"Whether to customize the selected value display\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Selected value...\",\n },\n ],\n hidden: (props) => !props.customize,\n },\n },\n trapsFocus: true,\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n variants: SELECT_VARIANTS_DATA,\n props: {\n ...getCommonProps<BaseSelectProps>(\"Select\", [\n \"name\",\n \"aria-label\",\n \"placeholder\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n selectedKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKey\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n // React Aria Select do not support multiple selections yet\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValue\", type: \"string\" }],\n },\n disabledKeys: {\n type: \"choice\",\n displayName: \"Disabled values\",\n description:\n \"The items that are disabled. These items cannot be selected, focused, or otherwise interacted with.\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n multiSelect: true,\n advanced: true,\n },\n isOpen: {\n type: \"boolean\",\n defaultValue: false,\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\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: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: \"2px 5px\",\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"20px\",\n width: \"20px\",\n transform: \"rotate(180deg)\",\n },\n },\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n props: {\n selectionMode: \"single\",\n },\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKey\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n });\n}\n"],"names":["SelectStateContext","useAutoOpen","React","SelectValue","makeComponentName","pickAriaComponentVariants","useMemo","ListBoxItemIdManager","useEffect","Select","extractPlasmicDataProps","PlasmicPopoverContext","PlasmicListBoxContext","registerComponentHelper","getCommonProps","LABEL_COMPONENT_NAME","BUTTON_COMPONENT_NAME","POPOVER_COMPONENT_NAME","LIST_BOX_COMPONENT_NAME"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerSelect.cjs.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport {\n Select,\n SelectProps,\n SelectStateContext,\n SelectValue,\n} from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport {\n PlasmicListBoxContext,\n PlasmicPopoverTriggerContext,\n} from \"./contexts\";\nimport { ListBoxItemIdManager } from \"./ListBoxItemIdManager\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n useAutoOpen,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\n// It cannot be used as a hook like useAutoOpen() within the BaseSelect component\n// because it needs access to SelectStateContext, which is only created in the BaseSelect component's render function.\nfunction SelectAutoOpen(props: any) {\n const { open, close } = React.useContext(SelectStateContext) ?? {};\n useAutoOpen({ props, open, close });\n\n return null;\n}\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n customize?: boolean;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children, customize, className } = props;\n const placeholder = customize ? children : \"Select an item\";\n return (\n <SelectValue className={className}>\n {({ isPlaceholder, selectedText }) => (\n <>{isPlaceholder ? placeholder : selectedText}</>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectControlContextData {\n itemIds: string[];\n}\n\nconst SELECT_VARIANTS = [\"disabled\" as const];\n\nconst { variants: SELECT_VARIANTS_DATA } =\n pickAriaComponentVariants(SELECT_VARIANTS);\n\nexport interface BaseSelectProps\n extends SelectProps<{}>, // NOTE: We don't need generic type here since we don't use items prop (that needs it). We just need to make the type checker happy\n WithVariants<typeof SELECT_VARIANTS>,\n HasControlContextData<BaseSelectControlContextData> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseSelect(props: BaseSelectProps) {\n const {\n selectedKey,\n onSelectionChange,\n placeholder,\n onOpenChange,\n isDisabled,\n className,\n style,\n children,\n disabledKeys,\n name,\n setControlContextData,\n plasmicUpdateVariant,\n \"aria-label\": ariaLabel,\n } = props;\n\n const idManager = useMemo(() => new ListBoxItemIdManager(), []);\n\n useEffect(() => {\n idManager.subscribe((ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n });\n }, []);\n\n // NOTE: Aria <Select> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state.\n useEffect(() => {\n plasmicUpdateVariant?.({\n disabled: isDisabled,\n });\n }, [isDisabled, plasmicUpdateVariant]);\n\n return (\n <Select\n placeholder={placeholder}\n selectedKey={selectedKey}\n onSelectionChange={onSelectionChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n // Not calling plasmicUpdateVariant within className callback (which has access to render props) because it would then run on every render\n className={className}\n style={style}\n name={name}\n disabledKeys={disabledKeys}\n aria-label={ariaLabel}\n {...extractPlasmicDataProps(props)}\n >\n <SelectAutoOpen {...props} />\n <PlasmicPopoverTriggerContext.Provider value={true}>\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {children}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverTriggerContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n customize: {\n type: \"boolean\",\n description: \"Whether to customize the selected value display\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Selected value...\",\n },\n ],\n hidden: (props) => !props.customize,\n },\n },\n trapsFocus: true,\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n variants: SELECT_VARIANTS_DATA,\n props: {\n ...getCommonProps<BaseSelectProps>(\"Select\", [\n \"name\",\n \"aria-label\",\n \"placeholder\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n selectedKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKey\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n // React Aria Select do not support multiple selections yet\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValue\", type: \"string\" }],\n },\n disabledKeys: {\n type: \"choice\",\n displayName: \"Disabled values\",\n description:\n \"The items that are disabled. These items cannot be selected, focused, or otherwise interacted with.\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n multiSelect: true,\n advanced: true,\n },\n isOpen: {\n type: \"boolean\",\n defaultValue: false,\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\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: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: \"2px 5px\",\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"20px\",\n width: \"20px\",\n transform: \"rotate(180deg)\",\n },\n },\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n width: \"unset\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n props: {\n selectionMode: \"single\",\n },\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKey\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n });\n}\n"],"names":["SelectStateContext","useAutoOpen","React","SelectValue","makeComponentName","pickAriaComponentVariants","useMemo","ListBoxItemIdManager","useEffect","Select","extractPlasmicDataProps","PlasmicPopoverTriggerContext","PlasmicListBoxContext","registerComponentHelper","getCommonProps","LABEL_COMPONENT_NAME","BUTTON_COMPONENT_NAME","POPOVER_COMPONENT_NAME","LIST_BOX_COMPONENT_NAME"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { useMemo, useEffect } from 'react';
|
|
2
2
|
import { SelectValue, Select, SelectStateContext } from 'react-aria-components';
|
|
3
3
|
import { g as getCommonProps } from './common-70efdf8a.esm.js';
|
|
4
|
-
import { a as
|
|
5
|
-
import { L as ListBoxItemIdManager, a as LIST_BOX_COMPONENT_NAME } from './registerListBox-
|
|
4
|
+
import { a as PlasmicPopoverTriggerContext, b as PlasmicListBoxContext } from './contexts-5cb81c2f.esm.js';
|
|
5
|
+
import { L as ListBoxItemIdManager, a as LIST_BOX_COMPONENT_NAME } from './registerListBox-25d602fa.esm.js';
|
|
6
6
|
import { BUTTON_COMPONENT_NAME } from './registerButton.esm.js';
|
|
7
7
|
import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
|
|
8
8
|
import { POPOVER_COMPONENT_NAME } from './registerPopover.esm.js';
|
|
@@ -11,8 +11,8 @@ import { p as pickAriaComponentVariants } from './variant-utils-7c2ea202.esm.js'
|
|
|
11
11
|
import './registerListBoxItem.esm.js';
|
|
12
12
|
import './registerDescription.esm.js';
|
|
13
13
|
import './registerText.esm.js';
|
|
14
|
-
import '@react-aria/utils';
|
|
15
14
|
import '@plasmicapp/host';
|
|
15
|
+
import '@react-aria/utils';
|
|
16
16
|
import '@plasmicapp/host/registerComponent';
|
|
17
17
|
|
|
18
18
|
var __defProp = Object.defineProperty;
|
|
@@ -92,7 +92,7 @@ function BaseSelect(props) {
|
|
|
92
92
|
"aria-label": ariaLabel
|
|
93
93
|
}, extractPlasmicDataProps(props)),
|
|
94
94
|
/* @__PURE__ */ React.createElement(SelectAutoOpen, __spreadValues({}, props)),
|
|
95
|
-
/* @__PURE__ */ React.createElement(
|
|
95
|
+
/* @__PURE__ */ React.createElement(PlasmicPopoverTriggerContext.Provider, { value: true }, /* @__PURE__ */ React.createElement(
|
|
96
96
|
PlasmicListBoxContext.Provider,
|
|
97
97
|
{
|
|
98
98
|
value: {
|
|
@@ -234,7 +234,8 @@ function registerSelect(loader) {
|
|
|
234
234
|
styles: {
|
|
235
235
|
backgroundColor: "white",
|
|
236
236
|
padding: "10px",
|
|
237
|
-
overflow: "scroll"
|
|
237
|
+
overflow: "scroll",
|
|
238
|
+
width: "unset"
|
|
238
239
|
},
|
|
239
240
|
props: {
|
|
240
241
|
children: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSelect.esm.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport {\n Select,\n SelectProps,\n SelectStateContext,\n SelectValue,\n} from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicListBoxContext, PlasmicPopoverContext } from \"./contexts\";\nimport { ListBoxItemIdManager } from \"./ListBoxItemIdManager\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n useAutoOpen,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\n// It cannot be used as a hook like useAutoOpen() within the BaseSelect component\n// because it needs access to SelectStateContext, which is only created in the BaseSelect component's render function.\nfunction SelectAutoOpen(props: any) {\n const { open, close } = React.useContext(SelectStateContext) ?? {};\n useAutoOpen({ props, open, close });\n\n return null;\n}\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n customize?: boolean;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children, customize, className } = props;\n const placeholder = customize ? children : \"Select an item\";\n return (\n <SelectValue className={className}>\n {({ isPlaceholder, selectedText }) => (\n <>{isPlaceholder ? placeholder : selectedText}</>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectControlContextData {\n itemIds: string[];\n}\n\nconst SELECT_VARIANTS = [\"disabled\" as const];\n\nconst { variants: SELECT_VARIANTS_DATA } =\n pickAriaComponentVariants(SELECT_VARIANTS);\n\nexport interface BaseSelectProps\n extends SelectProps<{}>, // NOTE: We don't need generic type here since we don't use items prop (that needs it). We just need to make the type checker happy\n WithVariants<typeof SELECT_VARIANTS>,\n HasControlContextData<BaseSelectControlContextData> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseSelect(props: BaseSelectProps) {\n const {\n selectedKey,\n onSelectionChange,\n placeholder,\n onOpenChange,\n isDisabled,\n className,\n style,\n children,\n disabledKeys,\n name,\n setControlContextData,\n plasmicUpdateVariant,\n \"aria-label\": ariaLabel,\n } = props;\n\n const idManager = useMemo(() => new ListBoxItemIdManager(), []);\n\n useEffect(() => {\n idManager.subscribe((ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n });\n }, []);\n\n // NOTE: Aria <Select> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state.\n useEffect(() => {\n plasmicUpdateVariant?.({\n disabled: isDisabled,\n });\n }, [isDisabled, plasmicUpdateVariant]);\n\n return (\n <Select\n placeholder={placeholder}\n selectedKey={selectedKey}\n onSelectionChange={onSelectionChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n // Not calling plasmicUpdateVariant within className callback (which has access to render props) because it would then run on every render\n className={className}\n style={style}\n name={name}\n disabledKeys={disabledKeys}\n aria-label={ariaLabel}\n {...extractPlasmicDataProps(props)}\n >\n <SelectAutoOpen {...props} />\n <PlasmicPopoverContext.Provider value={{}}>\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {children}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n customize: {\n type: \"boolean\",\n description: \"Whether to customize the selected value display\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Selected value...\",\n },\n ],\n hidden: (props) => !props.customize,\n },\n },\n trapsFocus: true,\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n variants: SELECT_VARIANTS_DATA,\n props: {\n ...getCommonProps<BaseSelectProps>(\"Select\", [\n \"name\",\n \"aria-label\",\n \"placeholder\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n selectedKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKey\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n // React Aria Select do not support multiple selections yet\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValue\", type: \"string\" }],\n },\n disabledKeys: {\n type: \"choice\",\n displayName: \"Disabled values\",\n description:\n \"The items that are disabled. These items cannot be selected, focused, or otherwise interacted with.\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n multiSelect: true,\n advanced: true,\n },\n isOpen: {\n type: \"boolean\",\n defaultValue: false,\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\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: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: \"2px 5px\",\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"20px\",\n width: \"20px\",\n transform: \"rotate(180deg)\",\n },\n },\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n props: {\n selectionMode: \"single\",\n },\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKey\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n });\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerSelect.esm.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport {\n Select,\n SelectProps,\n SelectStateContext,\n SelectValue,\n} from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport {\n PlasmicListBoxContext,\n PlasmicPopoverTriggerContext,\n} from \"./contexts\";\nimport { ListBoxItemIdManager } from \"./ListBoxItemIdManager\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n useAutoOpen,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\n// It cannot be used as a hook like useAutoOpen() within the BaseSelect component\n// because it needs access to SelectStateContext, which is only created in the BaseSelect component's render function.\nfunction SelectAutoOpen(props: any) {\n const { open, close } = React.useContext(SelectStateContext) ?? {};\n useAutoOpen({ props, open, close });\n\n return null;\n}\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n customize?: boolean;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children, customize, className } = props;\n const placeholder = customize ? children : \"Select an item\";\n return (\n <SelectValue className={className}>\n {({ isPlaceholder, selectedText }) => (\n <>{isPlaceholder ? placeholder : selectedText}</>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectControlContextData {\n itemIds: string[];\n}\n\nconst SELECT_VARIANTS = [\"disabled\" as const];\n\nconst { variants: SELECT_VARIANTS_DATA } =\n pickAriaComponentVariants(SELECT_VARIANTS);\n\nexport interface BaseSelectProps\n extends SelectProps<{}>, // NOTE: We don't need generic type here since we don't use items prop (that needs it). We just need to make the type checker happy\n WithVariants<typeof SELECT_VARIANTS>,\n HasControlContextData<BaseSelectControlContextData> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseSelect(props: BaseSelectProps) {\n const {\n selectedKey,\n onSelectionChange,\n placeholder,\n onOpenChange,\n isDisabled,\n className,\n style,\n children,\n disabledKeys,\n name,\n setControlContextData,\n plasmicUpdateVariant,\n \"aria-label\": ariaLabel,\n } = props;\n\n const idManager = useMemo(() => new ListBoxItemIdManager(), []);\n\n useEffect(() => {\n idManager.subscribe((ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n });\n }, []);\n\n // NOTE: Aria <Select> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state.\n useEffect(() => {\n plasmicUpdateVariant?.({\n disabled: isDisabled,\n });\n }, [isDisabled, plasmicUpdateVariant]);\n\n return (\n <Select\n placeholder={placeholder}\n selectedKey={selectedKey}\n onSelectionChange={onSelectionChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n // Not calling plasmicUpdateVariant within className callback (which has access to render props) because it would then run on every render\n className={className}\n style={style}\n name={name}\n disabledKeys={disabledKeys}\n aria-label={ariaLabel}\n {...extractPlasmicDataProps(props)}\n >\n <SelectAutoOpen {...props} />\n <PlasmicPopoverTriggerContext.Provider value={true}>\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {children}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverTriggerContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n customize: {\n type: \"boolean\",\n description: \"Whether to customize the selected value display\",\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Selected value...\",\n },\n ],\n hidden: (props) => !props.customize,\n },\n },\n trapsFocus: true,\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n variants: SELECT_VARIANTS_DATA,\n props: {\n ...getCommonProps<BaseSelectProps>(\"Select\", [\n \"name\",\n \"aria-label\",\n \"placeholder\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n selectedKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKey\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n // React Aria Select do not support multiple selections yet\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValue\", type: \"string\" }],\n },\n disabledKeys: {\n type: \"choice\",\n displayName: \"Disabled values\",\n description:\n \"The items that are disabled. These items cannot be selected, focused, or otherwise interacted with.\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n multiSelect: true,\n advanced: true,\n },\n isOpen: {\n type: \"boolean\",\n defaultValue: false,\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\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: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: \"2px 5px\",\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"20px\",\n width: \"20px\",\n transform: \"rotate(180deg)\",\n },\n },\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n width: \"unset\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n props: {\n selectionMode: \"single\",\n },\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKey\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n });\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var reactAriaComponents = require('react-aria-components');
|
|
5
5
|
var common = require('./common-f6de262a.cjs.js');
|
|
6
|
-
var contexts = require('./contexts-
|
|
6
|
+
var contexts = require('./contexts-6d0cb2b1.cjs.js');
|
|
7
7
|
var registerLabel = require('./registerLabel.cjs.js');
|
|
8
8
|
var registerSliderOutput = require('./registerSliderOutput.cjs.js');
|
|
9
9
|
var registerSliderThumb = require('./registerSliderThumb.cjs.js');
|
|
10
10
|
var registerSliderTrack = require('./registerSliderTrack.cjs.js');
|
|
11
11
|
var utils = require('./utils-3e796b18.cjs.js');
|
|
12
12
|
var variantUtils = require('./variant-utils-8cb38f8f.cjs.js');
|
|
13
|
-
require('react-aria');
|
|
14
13
|
require('react-keyed-flatten-children');
|
|
15
14
|
require('@plasmicapp/host');
|
|
16
15
|
require('@plasmicapp/host/registerComponent');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSlider.cjs.js","sources":["../src/registerSlider.tsx"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { Slider, type SliderProps } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { registerSliderOutput } from \"./registerSliderOutput\";\nimport { registerSliderThumb } from \"./registerSliderThumb\";\nimport { registerSliderTrack } from \"./registerSliderTrack\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst SLIDER_COMPONENT_NAME = makeComponentName(\"slider\");\nconst RANGE_SLIDER_COMPONENT_NAME = makeComponentName(\"range-slider\");\nconst SLIDER_VARIANTS = [\"disabled\" as const];\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(SLIDER_VARIANTS);\n\nexport interface BaseSliderProps<T extends number | number[]>\n extends SliderProps<T>,\n WithVariants<typeof SLIDER_VARIANTS> {\n children?: React.ReactNode;\n}\n\nexport function BaseSlider<T extends number | number[]>(\n props: BaseSliderProps<T>\n) {\n const { children, plasmicUpdateVariant, ...rest } = props;\n return (\n <PlasmicSliderContext.Provider\n value={{\n ...rest,\n // Here's why the type casting is needed here: https://github.com/Microsoft/TypeScript/issues/3410\n onChange: rest.onChange as (value: number | number[]) => void,\n onChangeEnd: rest.onChangeEnd as (value: number | number[]) => void,\n }}\n >\n <Slider<T> {...rest}>\n {({ isDisabled }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n },\n plasmicUpdateVariant\n )\n }\n </Slider>\n </PlasmicSliderContext.Provider>\n );\n}\n\nfunction getCommonSliderProps<T extends number | number[]>(): CodeComponentMeta<\n BaseSliderProps<T>\n>[\"props\"] {\n return {\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 };\n}\n\nexport function registerSlider(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSlider<number>>\n) {\n const sliderOutputMeta = registerSliderOutput(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n const sliderThumbMeta = registerSliderThumb(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n const sliderTrackMeta = registerSliderTrack(sliderThumbMeta, loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n // Register the range slider\n registerComponentHelper(\n loader,\n BaseSlider<number[]>,\n {\n name: RANGE_SLIDER_COMPONENT_NAME,\n displayName: \"Aria Range Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n variants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number[]>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number[]>(),\n value: {\n type: \"array\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The intial value of the slider\",\n defaultValue: [20, 50],\n validator: (value) => {\n if (!Array.isArray(value)) {\n return \"Input must be an array.\";\n }\n\n for (let i = 1; i < value.length; i++) {\n if (value[i] < value[i - 1]) {\n return \"Array elements are not in ascending order.\";\n }\n }\n\n return true;\n },\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: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n props: {\n children: [\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n },\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n styles: {\n backgroundColor: \"blue\",\n },\n },\n ],\n },\n },\n ],\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 value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n {\n parentComponentName: SLIDER_COMPONENT_NAME,\n }\n );\n\n registerComponentHelper(\n loader,\n BaseSlider<number>,\n {\n name: SLIDER_COMPONENT_NAME,\n displayName: \"Aria Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n variants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number>(),\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: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n },\n ],\n },\n value: {\n type: \"number\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The initial value of the slider\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["makeComponentName","pickAriaComponentVariants","React","PlasmicSliderContext","Slider","registerSliderOutput","registerSliderThumb","registerSliderTrack","registerComponentHelper","getCommonProps","LABEL_COMPONENT_NAME"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerSlider.cjs.js","sources":["../src/registerSlider.tsx"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { Slider, type SliderProps } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { registerSliderOutput } from \"./registerSliderOutput\";\nimport { registerSliderThumb } from \"./registerSliderThumb\";\nimport { registerSliderTrack } from \"./registerSliderTrack\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst SLIDER_COMPONENT_NAME = makeComponentName(\"slider\");\nconst RANGE_SLIDER_COMPONENT_NAME = makeComponentName(\"range-slider\");\nconst SLIDER_VARIANTS = [\"disabled\" as const];\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(SLIDER_VARIANTS);\n\nexport interface BaseSliderProps<T extends number | number[]>\n extends SliderProps<T>,\n WithVariants<typeof SLIDER_VARIANTS> {\n children?: React.ReactNode;\n}\n\nexport function BaseSlider<T extends number | number[]>(\n props: BaseSliderProps<T>\n) {\n const { children, plasmicUpdateVariant, ...rest } = props;\n return (\n <PlasmicSliderContext.Provider\n value={{\n ...rest,\n // Here's why the type casting is needed here: https://github.com/Microsoft/TypeScript/issues/3410\n onChange: rest.onChange as (value: number | number[]) => void,\n onChangeEnd: rest.onChangeEnd as (value: number | number[]) => void,\n }}\n >\n <Slider<T> {...rest}>\n {({ isDisabled }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n },\n plasmicUpdateVariant\n )\n }\n </Slider>\n </PlasmicSliderContext.Provider>\n );\n}\n\nfunction getCommonSliderProps<T extends number | number[]>(): CodeComponentMeta<\n BaseSliderProps<T>\n>[\"props\"] {\n return {\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 };\n}\n\nexport function registerSlider(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSlider<number>>\n) {\n const sliderOutputMeta = registerSliderOutput(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n const sliderThumbMeta = registerSliderThumb(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n const sliderTrackMeta = registerSliderTrack(sliderThumbMeta, loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n // Register the range slider\n registerComponentHelper(\n loader,\n BaseSlider<number[]>,\n {\n name: RANGE_SLIDER_COMPONENT_NAME,\n displayName: \"Aria Range Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n variants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number[]>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number[]>(),\n value: {\n type: \"array\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The intial value of the slider\",\n defaultValue: [20, 50],\n validator: (value) => {\n if (!Array.isArray(value)) {\n return \"Input must be an array.\";\n }\n\n for (let i = 1; i < value.length; i++) {\n if (value[i] < value[i - 1]) {\n return \"Array elements are not in ascending order.\";\n }\n }\n\n return true;\n },\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: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n props: {\n children: [\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n },\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n styles: {\n backgroundColor: \"blue\",\n },\n },\n ],\n },\n },\n ],\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 value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n {\n parentComponentName: SLIDER_COMPONENT_NAME,\n }\n );\n\n registerComponentHelper(\n loader,\n BaseSlider<number>,\n {\n name: SLIDER_COMPONENT_NAME,\n displayName: \"Aria Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n variants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number>(),\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: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n },\n ],\n },\n value: {\n type: \"number\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The initial value of the slider\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["makeComponentName","pickAriaComponentVariants","React","PlasmicSliderContext","Slider","registerSliderOutput","registerSliderThumb","registerSliderTrack","registerComponentHelper","getCommonProps","LABEL_COMPONENT_NAME"],"mappings":"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"}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Slider } from 'react-aria-components';
|
|
3
3
|
import { g as getCommonProps } from './common-70efdf8a.esm.js';
|
|
4
|
-
import { f as PlasmicSliderContext } from './contexts-
|
|
4
|
+
import { f as PlasmicSliderContext } from './contexts-5cb81c2f.esm.js';
|
|
5
5
|
import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
|
|
6
6
|
import { registerSliderOutput } from './registerSliderOutput.esm.js';
|
|
7
7
|
import { registerSliderThumb } from './registerSliderThumb.esm.js';
|
|
8
8
|
import { registerSliderTrack } from './registerSliderTrack.esm.js';
|
|
9
9
|
import { r as registerComponentHelper, a as makeComponentName } from './utils-25448fbd.esm.js';
|
|
10
10
|
import { p as pickAriaComponentVariants } from './variant-utils-7c2ea202.esm.js';
|
|
11
|
-
import 'react-aria';
|
|
12
11
|
import 'react-keyed-flatten-children';
|
|
13
12
|
import '@plasmicapp/host';
|
|
14
13
|
import '@plasmicapp/host/registerComponent';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSlider.esm.js","sources":["../src/registerSlider.tsx"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { Slider, type SliderProps } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { registerSliderOutput } from \"./registerSliderOutput\";\nimport { registerSliderThumb } from \"./registerSliderThumb\";\nimport { registerSliderTrack } from \"./registerSliderTrack\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst SLIDER_COMPONENT_NAME = makeComponentName(\"slider\");\nconst RANGE_SLIDER_COMPONENT_NAME = makeComponentName(\"range-slider\");\nconst SLIDER_VARIANTS = [\"disabled\" as const];\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(SLIDER_VARIANTS);\n\nexport interface BaseSliderProps<T extends number | number[]>\n extends SliderProps<T>,\n WithVariants<typeof SLIDER_VARIANTS> {\n children?: React.ReactNode;\n}\n\nexport function BaseSlider<T extends number | number[]>(\n props: BaseSliderProps<T>\n) {\n const { children, plasmicUpdateVariant, ...rest } = props;\n return (\n <PlasmicSliderContext.Provider\n value={{\n ...rest,\n // Here's why the type casting is needed here: https://github.com/Microsoft/TypeScript/issues/3410\n onChange: rest.onChange as (value: number | number[]) => void,\n onChangeEnd: rest.onChangeEnd as (value: number | number[]) => void,\n }}\n >\n <Slider<T> {...rest}>\n {({ isDisabled }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n },\n plasmicUpdateVariant\n )\n }\n </Slider>\n </PlasmicSliderContext.Provider>\n );\n}\n\nfunction getCommonSliderProps<T extends number | number[]>(): CodeComponentMeta<\n BaseSliderProps<T>\n>[\"props\"] {\n return {\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 };\n}\n\nexport function registerSlider(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSlider<number>>\n) {\n const sliderOutputMeta = registerSliderOutput(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n const sliderThumbMeta = registerSliderThumb(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n const sliderTrackMeta = registerSliderTrack(sliderThumbMeta, loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n // Register the range slider\n registerComponentHelper(\n loader,\n BaseSlider<number[]>,\n {\n name: RANGE_SLIDER_COMPONENT_NAME,\n displayName: \"Aria Range Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n variants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number[]>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number[]>(),\n value: {\n type: \"array\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The intial value of the slider\",\n defaultValue: [20, 50],\n validator: (value) => {\n if (!Array.isArray(value)) {\n return \"Input must be an array.\";\n }\n\n for (let i = 1; i < value.length; i++) {\n if (value[i] < value[i - 1]) {\n return \"Array elements are not in ascending order.\";\n }\n }\n\n return true;\n },\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: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n props: {\n children: [\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n },\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n styles: {\n backgroundColor: \"blue\",\n },\n },\n ],\n },\n },\n ],\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 value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n {\n parentComponentName: SLIDER_COMPONENT_NAME,\n }\n );\n\n registerComponentHelper(\n loader,\n BaseSlider<number>,\n {\n name: SLIDER_COMPONENT_NAME,\n displayName: \"Aria Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n variants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number>(),\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: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n },\n ],\n },\n value: {\n type: \"number\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The initial value of the slider\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerSlider.esm.js","sources":["../src/registerSlider.tsx"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { Slider, type SliderProps } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicSliderContext } from \"./contexts\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { registerSliderOutput } from \"./registerSliderOutput\";\nimport { registerSliderThumb } from \"./registerSliderThumb\";\nimport { registerSliderTrack } from \"./registerSliderTrack\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst SLIDER_COMPONENT_NAME = makeComponentName(\"slider\");\nconst RANGE_SLIDER_COMPONENT_NAME = makeComponentName(\"range-slider\");\nconst SLIDER_VARIANTS = [\"disabled\" as const];\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(SLIDER_VARIANTS);\n\nexport interface BaseSliderProps<T extends number | number[]>\n extends SliderProps<T>,\n WithVariants<typeof SLIDER_VARIANTS> {\n children?: React.ReactNode;\n}\n\nexport function BaseSlider<T extends number | number[]>(\n props: BaseSliderProps<T>\n) {\n const { children, plasmicUpdateVariant, ...rest } = props;\n return (\n <PlasmicSliderContext.Provider\n value={{\n ...rest,\n // Here's why the type casting is needed here: https://github.com/Microsoft/TypeScript/issues/3410\n onChange: rest.onChange as (value: number | number[]) => void,\n onChangeEnd: rest.onChangeEnd as (value: number | number[]) => void,\n }}\n >\n <Slider<T> {...rest}>\n {({ isDisabled }) =>\n withObservedValues(\n children,\n {\n disabled: isDisabled,\n },\n plasmicUpdateVariant\n )\n }\n </Slider>\n </PlasmicSliderContext.Provider>\n );\n}\n\nfunction getCommonSliderProps<T extends number | number[]>(): CodeComponentMeta<\n BaseSliderProps<T>\n>[\"props\"] {\n return {\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 };\n}\n\nexport function registerSlider(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSlider<number>>\n) {\n const sliderOutputMeta = registerSliderOutput(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n const sliderThumbMeta = registerSliderThumb(loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n const sliderTrackMeta = registerSliderTrack(sliderThumbMeta, loader, {\n parentComponentName: SLIDER_COMPONENT_NAME,\n });\n\n // Register the range slider\n registerComponentHelper(\n loader,\n BaseSlider<number[]>,\n {\n name: RANGE_SLIDER_COMPONENT_NAME,\n displayName: \"Aria Range Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n variants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number[]>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number[]>(),\n value: {\n type: \"array\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The intial value of the slider\",\n defaultValue: [20, 50],\n validator: (value) => {\n if (!Array.isArray(value)) {\n return \"Input must be an array.\";\n }\n\n for (let i = 1; i < value.length; i++) {\n if (value[i] < value[i - 1]) {\n return \"Array elements are not in ascending order.\";\n }\n }\n\n return true;\n },\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: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n props: {\n children: [\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n },\n {\n type: \"component\",\n name: sliderThumbMeta.name,\n styles: {\n backgroundColor: \"blue\",\n },\n },\n ],\n },\n },\n ],\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 value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"array\",\n },\n },\n trapsFocus: true,\n },\n {\n parentComponentName: SLIDER_COMPONENT_NAME,\n }\n );\n\n registerComponentHelper(\n loader,\n BaseSlider<number>,\n {\n name: SLIDER_COMPONENT_NAME,\n displayName: \"Aria Slider\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSlider\",\n importName: \"BaseSlider\",\n variants,\n defaultStyles: {\n width: \"300px\",\n },\n props: {\n ...getCommonProps<BaseSliderProps<number>>(\"slider\", [\n \"isDisabled\",\n \"aria-label\",\n ]),\n ...getCommonSliderProps<number>(),\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: sliderOutputMeta.name,\n props: {\n children: {\n type: \"text\",\n value: \"Output\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: sliderTrackMeta.name,\n },\n ],\n },\n value: {\n type: \"number\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: \"The initial value of the slider\",\n defaultValueHint: 0,\n defaultValue: 0,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n onChangeEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"number\" }],\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"number\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,MAAM,qBAAA,GAAwB,kBAAkB,QAAQ,CAAA,CAAA;AACxD,MAAM,2BAAA,GAA8B,kBAAkB,cAAc,CAAA,CAAA;AACpE,MAAM,eAAA,GAAkB,CAAC,UAAmB,CAAA,CAAA;AAE5C,MAAM,EAAE,QAAA,EAAU,kBAAmB,EAAA,GACnC,0BAA0B,eAAe,CAAA,CAAA;AAQpC,SAAS,WACd,KACA,EAAA;AACA,EAAoD,MAAA,EAAA,GAAA,KAAA,EAA5C,YAAU,oBAjCpB,EAAA,GAiCsD,IAAT,IAAS,GAAA,SAAA,CAAA,EAAA,EAAT,CAAnC,UAAU,EAAA,sBAAA,CAAA,CAAA,CAAA;AAClB,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,oBAAqB,CAAA,QAAA;AAAA,IAArB;AAAA,MACC,KAAA,EAAO,iCACF,IADE,CAAA,EAAA;AAAA;AAAA,QAGL,UAAU,IAAK,CAAA,QAAA;AAAA,QACf,aAAa,IAAK,CAAA,WAAA;AAAA,OACpB,CAAA;AAAA,KAAA;AAAA,wCAEC,MAAc,EAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAA,EACZ,CAAC,EAAE,YACF,KAAA,kBAAA;AAAA,MACE,QAAA;AAAA,MACA;AAAA,QACE,QAAU,EAAA,UAAA;AAAA,OACZ;AAAA,MACA,oBAAA;AAAA,KAGN,CAAA;AAAA,GACF,CAAA;AAEJ,CAAA;AAEA,SAAS,oBAEE,GAAA;AACT,EAAO,OAAA;AAAA,IACL,WAAa,EAAA;AAAA,MACX,IAAM,EAAA,QAAA;AAAA,MACN,OAAA,EAAS,CAAC,YAAA,EAAc,UAAU,CAAA;AAAA,MAClC,gBAAkB,EAAA,YAAA;AAAA,MAClB,YAAc,EAAA,YAAA;AAAA,KAChB;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,iCAAA;AAAA,MACb,gBAAkB,EAAA,CAAA;AAAA,KACpB;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,iCAAA;AAAA,MACb,gBAAkB,EAAA,GAAA;AAAA,KACpB;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,8BAAA;AAAA,MACb,gBAAkB,EAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AACF,CAAA;AAEgB,SAAA,cAAA,CACd,QACA,SACA,EAAA;AACA,EAAM,MAAA,gBAAA,GAAmB,qBAAqB,MAAQ,EAAA;AAAA,IACpD,mBAAqB,EAAA,qBAAA;AAAA,GACtB,CAAA,CAAA;AAED,EAAM,MAAA,eAAA,GAAkB,oBAAoB,MAAQ,EAAA;AAAA,IAClD,mBAAqB,EAAA,qBAAA;AAAA,GACtB,CAAA,CAAA;AACD,EAAM,MAAA,eAAA,GAAkB,mBAAoB,CAAA,eAAA,EAAiB,MAAQ,EAAA;AAAA,IACnE,mBAAqB,EAAA,qBAAA;AAAA,GACtB,CAAA,CAAA;AAGD,EAAA,uBAAA;AAAA,IACE,MAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAA,2BAAA;AAAA,MACN,WAAa,EAAA,mBAAA;AAAA,MACb,UAAY,EAAA,+CAAA;AAAA,MACZ,UAAY,EAAA,YAAA;AAAA,MACZ,QAAA;AAAA,MACA,aAAe,EAAA;AAAA,QACb,KAAO,EAAA,OAAA;AAAA,OACT;AAAA,MACA,KAAA,EAAO,aACF,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EAAA,cAAA,CAA0C,QAAU,EAAA;AAAA,QACrD,YAAA;AAAA,QACA,YAAA;AAAA,OACD,CACE,CAAA,EAAA,oBAAA,EALE,CAAA,EAAA;AAAA,QAML,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,OAAA;AAAA,UACN,QAAU,EAAA,IAAA;AAAA,UACV,WAAa,EAAA,eAAA;AAAA,UACb,gBAAkB,EAAA,cAAA;AAAA,UAClB,WAAa,EAAA,gCAAA;AAAA,UACb,YAAA,EAAc,CAAC,EAAA,EAAI,EAAE,CAAA;AAAA,UACrB,SAAA,EAAW,CAAC,KAAU,KAAA;AACpB,YAAA,IAAI,CAAC,KAAA,CAAM,OAAQ,CAAA,KAAK,CAAG,EAAA;AACzB,cAAO,OAAA,yBAAA,CAAA;AAAA,aACT;AAEA,YAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAK,EAAA,EAAA;AACrC,cAAA,IAAI,MAAM,CAAC,CAAA,GAAI,KAAM,CAAA,CAAA,GAAI,CAAC,CAAG,EAAA;AAC3B,gBAAO,OAAA,4CAAA,CAAA;AAAA,eACT;AAAA,aACF;AAEA,YAAO,OAAA,IAAA,CAAA;AAAA,WACT;AAAA,SACF;AAAA,QACA,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,UACN,YAAc,EAAA;AAAA,YACZ;AAAA,cACE,IAAM,EAAA,MAAA;AAAA,cACN,MAAQ,EAAA;AAAA,gBACN,KAAO,EAAA,SAAA;AAAA,gBACP,cAAgB,EAAA,eAAA;AAAA,gBAChB,OAAS,EAAA,SAAA;AAAA,eACX;AAAA,cACA,QAAU,EAAA;AAAA,gBACR;AAAA,kBACE,IAAM,EAAA,WAAA;AAAA,kBACN,IAAM,EAAA,oBAAA;AAAA,kBACN,KAAO,EAAA;AAAA,oBACL,QAAU,EAAA;AAAA,sBACR,IAAM,EAAA,MAAA;AAAA,sBACN,KAAO,EAAA,OAAA;AAAA,qBACT;AAAA,mBACF;AAAA,iBACF;AAAA,gBACA;AAAA,kBACE,IAAM,EAAA,WAAA;AAAA,kBACN,MAAM,gBAAiB,CAAA,IAAA;AAAA,kBACvB,KAAO,EAAA;AAAA,oBACL,QAAU,EAAA;AAAA,sBACR,IAAM,EAAA,MAAA;AAAA,sBACN,KAAO,EAAA,QAAA;AAAA,qBACT;AAAA,mBACF;AAAA,iBACF;AAAA,eACF;AAAA,aACF;AAAA,YACA;AAAA,cACE,IAAM,EAAA,WAAA;AAAA,cACN,MAAM,eAAgB,CAAA,IAAA;AAAA,cACtB,KAAO,EAAA;AAAA,gBACL,QAAU,EAAA;AAAA,kBACR;AAAA,oBACE,IAAM,EAAA,WAAA;AAAA,oBACN,MAAM,eAAgB,CAAA,IAAA;AAAA,mBACxB;AAAA,kBACA;AAAA,oBACE,IAAM,EAAA,WAAA;AAAA,oBACN,MAAM,eAAgB,CAAA,IAAA;AAAA,oBACtB,MAAQ,EAAA;AAAA,sBACN,eAAiB,EAAA,MAAA;AAAA,qBACnB;AAAA,mBACF;AAAA,iBACF;AAAA,eACF;AAAA,aACF;AAAA,WACF;AAAA,SACF;AAAA,QACA,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,cAAA;AAAA,UACN,UAAU,CAAC,EAAE,MAAM,OAAS,EAAA,IAAA,EAAM,UAAU,CAAA;AAAA,SAC9C;AAAA,QACA,WAAa,EAAA;AAAA,UACX,IAAM,EAAA,cAAA;AAAA,UACN,UAAU,CAAC,EAAE,MAAM,OAAS,EAAA,IAAA,EAAM,UAAU,CAAA;AAAA,SAC9C;AAAA,OACF,CAAA;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,UAAA;AAAA,UACN,SAAW,EAAA,OAAA;AAAA,UACX,YAAc,EAAA,UAAA;AAAA,UACd,YAAc,EAAA,OAAA;AAAA,SAChB;AAAA,OACF;AAAA,MACA,UAAY,EAAA,IAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,mBAAqB,EAAA,qBAAA;AAAA,KACvB;AAAA,GACF,CAAA;AAEA,EAAA,uBAAA;AAAA,IACE,MAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAA,qBAAA;AAAA,MACN,WAAa,EAAA,aAAA;AAAA,MACb,UAAY,EAAA,+CAAA;AAAA,MACZ,UAAY,EAAA,YAAA;AAAA,MACZ,QAAA;AAAA,MACA,aAAe,EAAA;AAAA,QACb,KAAO,EAAA,OAAA;AAAA,OACT;AAAA,MACA,KAAA,EAAO,aACF,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EAAA,cAAA,CAAwC,QAAU,EAAA;AAAA,QACnD,YAAA;AAAA,QACA,YAAA;AAAA,OACD,CACE,CAAA,EAAA,oBAAA,EALE,CAAA,EAAA;AAAA,QAML,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,UACN,YAAc,EAAA;AAAA,YACZ;AAAA,cACE,IAAM,EAAA,MAAA;AAAA,cACN,MAAQ,EAAA;AAAA,gBACN,KAAO,EAAA,SAAA;AAAA,gBACP,cAAgB,EAAA,eAAA;AAAA,gBAChB,OAAS,EAAA,SAAA;AAAA,eACX;AAAA,cACA,QAAU,EAAA;AAAA,gBACR;AAAA,kBACE,IAAM,EAAA,WAAA;AAAA,kBACN,IAAM,EAAA,oBAAA;AAAA,kBACN,KAAO,EAAA;AAAA,oBACL,QAAU,EAAA;AAAA,sBACR,IAAM,EAAA,MAAA;AAAA,sBACN,KAAO,EAAA,OAAA;AAAA,qBACT;AAAA,mBACF;AAAA,iBACF;AAAA,gBACA;AAAA,kBACE,IAAM,EAAA,WAAA;AAAA,kBACN,MAAM,gBAAiB,CAAA,IAAA;AAAA,kBACvB,KAAO,EAAA;AAAA,oBACL,QAAU,EAAA;AAAA,sBACR,IAAM,EAAA,MAAA;AAAA,sBACN,KAAO,EAAA,QAAA;AAAA,qBACT;AAAA,mBACF;AAAA,iBACF;AAAA,eACF;AAAA,aACF;AAAA,YACA;AAAA,cACE,IAAM,EAAA,WAAA;AAAA,cACN,MAAM,eAAgB,CAAA,IAAA;AAAA,aACxB;AAAA,WACF;AAAA,SACF;AAAA,QACA,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,QAAA;AAAA,UACN,QAAU,EAAA,IAAA;AAAA,UACV,WAAa,EAAA,eAAA;AAAA,UACb,gBAAkB,EAAA,cAAA;AAAA,UAClB,WAAa,EAAA,iCAAA;AAAA,UACb,gBAAkB,EAAA,CAAA;AAAA,UAClB,YAAc,EAAA,CAAA;AAAA,SAChB;AAAA,QACA,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,cAAA;AAAA,UACN,UAAU,CAAC,EAAE,MAAM,OAAS,EAAA,IAAA,EAAM,UAAU,CAAA;AAAA,SAC9C;AAAA,QACA,WAAa,EAAA;AAAA,UACX,IAAM,EAAA,cAAA;AAAA,UACN,UAAU,CAAC,EAAE,MAAM,OAAS,EAAA,IAAA,EAAM,UAAU,CAAA;AAAA,SAC9C;AAAA,OACF,CAAA;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,UAAA;AAAA,UACN,SAAW,EAAA,OAAA;AAAA,UACX,YAAc,EAAA,UAAA;AAAA,UACd,YAAc,EAAA,QAAA;AAAA,SAChB;AAAA,OACF;AAAA,MACA,UAAY,EAAA,IAAA;AAAA,KACd;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var reactAria = require('react-aria');
|
|
5
4
|
var reactAriaComponents = require('react-aria-components');
|
|
6
5
|
var common = require('./common-f6de262a.cjs.js');
|
|
7
|
-
var contexts = require('./contexts-baa37b74.cjs.js');
|
|
8
6
|
var utils = require('./utils-3e796b18.cjs.js');
|
|
9
7
|
var variantUtils = require('./variant-utils-8cb38f8f.cjs.js');
|
|
10
8
|
require('@plasmicapp/host');
|
|
@@ -81,9 +79,7 @@ function BaseSliderThumb(_a) {
|
|
|
81
79
|
"advanced",
|
|
82
80
|
"plasmicUpdateVariant"
|
|
83
81
|
]);
|
|
84
|
-
const
|
|
85
|
-
const mergedProps = reactAria.mergeProps(context, rest);
|
|
86
|
-
const thumb = /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.SliderThumb, __spreadValues({}, mergedProps), ({ isDragging, isHovered, isFocused, isFocusVisible, isDisabled }) => withObservedValues(
|
|
82
|
+
const thumb = /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.SliderThumb, __spreadValues({}, rest), ({ isDragging, isHovered, isFocused, isFocusVisible, isDisabled }) => withObservedValues(
|
|
87
83
|
/* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, advanced ? children : void 0),
|
|
88
84
|
{
|
|
89
85
|
dragging: isDragging,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSliderThumb.cjs.js","sources":["../src/ErrorBoundary.tsx","../src/registerSliderThumb.tsx"],"sourcesContent":["import { Component, ReactNode } from \"react\";\n\ninterface ErrorBoundaryProps {\n children: ReactNode;\n fallback: ReactNode;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n}\n\nclass ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(_: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return { hasError: true };\n }\n\n render() {\n if (this.state.hasError) {\n return this.props.fallback;\n }\n\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"registerSliderThumb.cjs.js","sources":["../src/ErrorBoundary.tsx","../src/registerSliderThumb.tsx"],"sourcesContent":["import { Component, ReactNode } from \"react\";\n\ninterface ErrorBoundaryProps {\n children: ReactNode;\n fallback: ReactNode;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n}\n\nclass ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(_: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return { hasError: true };\n }\n\n render() {\n if (this.state.hasError) {\n return this.props.fallback;\n }\n\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from \"react\";\nimport { Slider, SliderThumb, SliderTrack } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst SLIDER_THUMB_VARIANTS = [\n \"dragging\" as const,\n \"hovered\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n];\n\nconst { variants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_THUMB_VARIANTS\n);\nexport interface BaseSliderThumbProps\n extends React.ComponentProps<typeof SliderThumb>,\n WithVariants<typeof SLIDER_THUMB_VARIANTS> {\n advanced?: boolean;\n}\n\nexport function BaseSliderThumb({\n children,\n advanced,\n plasmicUpdateVariant,\n ...rest\n}: BaseSliderThumbProps) {\n const thumb = (\n <SliderThumb {...rest}>\n {({ isDragging, isHovered, isFocused, isFocusVisible, isDisabled }) =>\n withObservedValues(\n <>{advanced ? children : undefined}</>,\n {\n dragging: isDragging,\n hovered: isHovered,\n focused: isFocused,\n focusVisible: isFocusVisible,\n disabled: isDisabled,\n },\n plasmicUpdateVariant\n )\n }\n </SliderThumb>\n );\n\n return (\n <ErrorBoundary\n // If the Slider Thumb is the root of a Studio component, then we need to wrap the thumb in a track\n // to ensure that the thumb gets the required Slider context\n fallback={\n <Slider style={{ height: \"100%\", width: \"100%\" }}>\n <SliderTrack>{thumb}</SliderTrack>\n </Slider>\n }\n >\n {thumb}\n </ErrorBoundary>\n );\n}\n\nexport const SLIDER_THUMB_COMPONENT_NAME = makeComponentName(\"sliderThumb\");\n\nexport function registerSliderThumb(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderThumb>\n) {\n return registerComponentHelper(\n loader,\n BaseSliderThumb,\n {\n name: SLIDER_THUMB_COMPONENT_NAME,\n displayName: \"Aria Slider Thumb\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderThumb\",\n importName: \"BaseSliderThumb\",\n defaultStyles: {\n position: \"absolute\",\n top: \"5px\",\n width: \"20px\",\n height: \"20px\",\n backgroundColor: \"#C80101\",\n borderRadius: \"100%\",\n cursor: \"pointer\",\n },\n variants,\n props: {\n ...getCommonProps<BaseSliderThumbProps>(\"slider thumb\", [\n \"name\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n advanced: {\n type: \"boolean\",\n displayName: \"Advanced\",\n description:\n \"Enables the children slot for creating a more customized thumb\",\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n hidden: (props) => !props.advanced,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["Component","pickAriaComponentVariants","React","SliderThumb","Slider","SliderTrack","makeComponentName","registerComponentHelper","getCommonProps"],"mappings":";;;;;;;;;;;;;;AAWA,MAAM,sBAAsBA,eAAkD,CAAA;AAAA,EAC5E,YAAY,KAA2B,EAAA;AACrC,IAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACX,IAAK,IAAA,CAAA,KAAA,GAAQ,EAAE,QAAA,EAAU,KAAM,EAAA,CAAA;AAAA,GACjC;AAAA,EAEA,OAAO,yBAAyB,CAA8B,EAAA;AAE5D,IAAO,OAAA,EAAE,UAAU,IAAK,EAAA,CAAA;AAAA,GAC1B;AAAA,EAEA,MAAS,GAAA;AACP,IAAI,IAAA,IAAA,CAAK,MAAM,QAAU,EAAA;AACvB,MAAA,OAAO,KAAK,KAAM,CAAA,QAAA,CAAA;AAAA,KACpB;AAEA,IAAA,OAAO,KAAK,KAAM,CAAA,QAAA,CAAA;AAAA,GACpB;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBA,MAAM,qBAAwB,GAAA;AAAA,EAC5B,UAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AACF,CAAA,CAAA;AAEA,MAAM,EAAE,QAAU,EAAA,kBAAA,EAAuB,GAAAC,sCAAA;AAAA,EACvC,qBAAA;AACF,CAAA,CAAA;AAOO,SAAS,gBAAgB,EAKP,EAAA;AALO,EAC9B,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,oBAAA;AAAA,GAhCF,GA6BgC,EAI3B,EAAA,IAAA,GAAA,SAAA,CAJ2B,EAI3B,EAAA;AAAA,IAHH,UAAA;AAAA,IACA,UAAA;AAAA,IACA,sBAAA;AAAA,GAAA,CAAA,CAAA;AAGA,EAAM,MAAA,KAAA,mBACHC,sBAAA,CAAA,aAAA,CAAAC,+BAAA,EAAA,cAAA,CAAA,EAAA,EAAgB,IACd,CAAA,EAAA,CAAC,EAAE,UAAA,EAAY,SAAW,EAAA,SAAA,EAAW,cAAgB,EAAA,UAAA,EACpD,KAAA,kBAAA;AAAA,oBACED,sBAAA,CAAA,aAAA,CAAAA,sBAAA,CAAA,QAAA,EAAA,IAAA,EAAG,QAAW,GAAA,QAAA,GAAW,KAAU,CAAA,CAAA;AAAA,IACnC;AAAA,MACE,QAAU,EAAA,UAAA;AAAA,MACV,OAAS,EAAA,SAAA;AAAA,MACT,OAAS,EAAA,SAAA;AAAA,MACT,YAAc,EAAA,cAAA;AAAA,MACd,QAAU,EAAA,UAAA;AAAA,KACZ;AAAA,IACA,oBAAA;AAAA,GAGN,CAAA,CAAA;AAGF,EACE,uBAAAA,sBAAA,CAAA,aAAA;AAAA,IAAC,aAAA;AAAA,IAAA;AAAA,MAGC,QACE,kBAAAA,sBAAA,CAAA,aAAA,CAACE,0BAAO,EAAA,EAAA,KAAA,EAAO,EAAE,MAAA,EAAQ,MAAQ,EAAA,KAAA,EAAO,MAAO,EAAA,EAAA,kBAC5CF,sBAAA,CAAA,aAAA,CAAAG,+BAAA,EAAA,IAAA,EAAa,KAAM,CACtB,CAAA;AAAA,KAAA;AAAA,IAGD,KAAA;AAAA,GACH,CAAA;AAEJ,CAAA;AAEa,MAAA,2BAAA,GAA8BC,wBAAkB,aAAa,EAAA;AAE1D,SAAA,mBAAA,CACd,QACA,SACA,EAAA;AACA,EAAO,OAAAC,6BAAA;AAAA,IACL,MAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAA,2BAAA;AAAA,MACN,WAAa,EAAA,mBAAA;AAAA,MACb,UAAY,EAAA,oDAAA;AAAA,MACZ,UAAY,EAAA,iBAAA;AAAA,MACZ,aAAe,EAAA;AAAA,QACb,QAAU,EAAA,UAAA;AAAA,QACV,GAAK,EAAA,KAAA;AAAA,QACL,KAAO,EAAA,MAAA;AAAA,QACP,MAAQ,EAAA,MAAA;AAAA,QACR,eAAiB,EAAA,SAAA;AAAA,QACjB,YAAc,EAAA,MAAA;AAAA,QACd,MAAQ,EAAA,SAAA;AAAA,OACV;AAAA,MACA,QAAA;AAAA,MACA,KAAA,EAAO,aACF,CAAA,cAAA,CAAA,EAAA,EAAAC,qBAAA,CAAqC,cAAgB,EAAA;AAAA,QACtD,MAAA;AAAA,QACA,YAAA;AAAA,QACA,WAAA;AAAA,OACD,CALI,CAAA,EAAA;AAAA,QAML,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,SAAA;AAAA,UACN,WAAa,EAAA,UAAA;AAAA,UACb,WACE,EAAA,gEAAA;AAAA,SACJ;AAAA,QACA,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,UACN,eAAiB,EAAA,IAAA;AAAA,UACjB,MAAQ,EAAA,CAAC,KAAU,KAAA,CAAC,KAAM,CAAA,QAAA;AAAA,SAC5B;AAAA,OACF,CAAA;AAAA,MACA,UAAY,EAAA,IAAA;AAAA,KACd;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;;;"}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import React, { Component } from 'react';
|
|
2
|
-
import { mergeProps } from 'react-aria';
|
|
3
2
|
import { SliderThumb, Slider, SliderTrack } from 'react-aria-components';
|
|
4
3
|
import { g as getCommonProps } from './common-70efdf8a.esm.js';
|
|
5
|
-
import { f as PlasmicSliderContext } from './contexts-081d65a0.esm.js';
|
|
6
4
|
import { a as makeComponentName, r as registerComponentHelper } from './utils-25448fbd.esm.js';
|
|
7
5
|
import { p as pickAriaComponentVariants } from './variant-utils-7c2ea202.esm.js';
|
|
8
6
|
import '@plasmicapp/host';
|
|
@@ -75,9 +73,7 @@ function BaseSliderThumb(_a) {
|
|
|
75
73
|
"advanced",
|
|
76
74
|
"plasmicUpdateVariant"
|
|
77
75
|
]);
|
|
78
|
-
const
|
|
79
|
-
const mergedProps = mergeProps(context, rest);
|
|
80
|
-
const thumb = /* @__PURE__ */ React.createElement(SliderThumb, __spreadValues({}, mergedProps), ({ isDragging, isHovered, isFocused, isFocusVisible, isDisabled }) => withObservedValues(
|
|
76
|
+
const thumb = /* @__PURE__ */ React.createElement(SliderThumb, __spreadValues({}, rest), ({ isDragging, isHovered, isFocused, isFocusVisible, isDisabled }) => withObservedValues(
|
|
81
77
|
/* @__PURE__ */ React.createElement(React.Fragment, null, advanced ? children : void 0),
|
|
82
78
|
{
|
|
83
79
|
dragging: isDragging,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerSliderThumb.esm.js","sources":["../src/ErrorBoundary.tsx","../src/registerSliderThumb.tsx"],"sourcesContent":["import { Component, ReactNode } from \"react\";\n\ninterface ErrorBoundaryProps {\n children: ReactNode;\n fallback: ReactNode;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n}\n\nclass ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(_: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return { hasError: true };\n }\n\n render() {\n if (this.state.hasError) {\n return this.props.fallback;\n }\n\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"registerSliderThumb.esm.js","sources":["../src/ErrorBoundary.tsx","../src/registerSliderThumb.tsx"],"sourcesContent":["import { Component, ReactNode } from \"react\";\n\ninterface ErrorBoundaryProps {\n children: ReactNode;\n fallback: ReactNode;\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean;\n}\n\nclass ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(_: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return { hasError: true };\n }\n\n render() {\n if (this.state.hasError) {\n return this.props.fallback;\n }\n\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from \"react\";\nimport { Slider, SliderThumb, SliderTrack } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport ErrorBoundary from \"./ErrorBoundary\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst SLIDER_THUMB_VARIANTS = [\n \"dragging\" as const,\n \"hovered\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n];\n\nconst { variants, withObservedValues } = pickAriaComponentVariants(\n SLIDER_THUMB_VARIANTS\n);\nexport interface BaseSliderThumbProps\n extends React.ComponentProps<typeof SliderThumb>,\n WithVariants<typeof SLIDER_THUMB_VARIANTS> {\n advanced?: boolean;\n}\n\nexport function BaseSliderThumb({\n children,\n advanced,\n plasmicUpdateVariant,\n ...rest\n}: BaseSliderThumbProps) {\n const thumb = (\n <SliderThumb {...rest}>\n {({ isDragging, isHovered, isFocused, isFocusVisible, isDisabled }) =>\n withObservedValues(\n <>{advanced ? children : undefined}</>,\n {\n dragging: isDragging,\n hovered: isHovered,\n focused: isFocused,\n focusVisible: isFocusVisible,\n disabled: isDisabled,\n },\n plasmicUpdateVariant\n )\n }\n </SliderThumb>\n );\n\n return (\n <ErrorBoundary\n // If the Slider Thumb is the root of a Studio component, then we need to wrap the thumb in a track\n // to ensure that the thumb gets the required Slider context\n fallback={\n <Slider style={{ height: \"100%\", width: \"100%\" }}>\n <SliderTrack>{thumb}</SliderTrack>\n </Slider>\n }\n >\n {thumb}\n </ErrorBoundary>\n );\n}\n\nexport const SLIDER_THUMB_COMPONENT_NAME = makeComponentName(\"sliderThumb\");\n\nexport function registerSliderThumb(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderThumb>\n) {\n return registerComponentHelper(\n loader,\n BaseSliderThumb,\n {\n name: SLIDER_THUMB_COMPONENT_NAME,\n displayName: \"Aria Slider Thumb\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSliderThumb\",\n importName: \"BaseSliderThumb\",\n defaultStyles: {\n position: \"absolute\",\n top: \"5px\",\n width: \"20px\",\n height: \"20px\",\n backgroundColor: \"#C80101\",\n borderRadius: \"100%\",\n cursor: \"pointer\",\n },\n variants,\n props: {\n ...getCommonProps<BaseSliderThumbProps>(\"slider thumb\", [\n \"name\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n advanced: {\n type: \"boolean\",\n displayName: \"Advanced\",\n description:\n \"Enables the children slot for creating a more customized thumb\",\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n hidden: (props) => !props.advanced,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
-
var reactAria = require('react-aria');
|
|
5
4
|
var reactAriaComponents = require('react-aria-components');
|
|
6
5
|
var flattenChildren = require('react-keyed-flatten-children');
|
|
7
|
-
var contexts = require('./contexts-
|
|
6
|
+
var contexts = require('./contexts-6d0cb2b1.cjs.js');
|
|
8
7
|
var utils = require('./utils-3e796b18.cjs.js');
|
|
9
8
|
var variantUtils = require('./variant-utils-8cb38f8f.cjs.js');
|
|
10
9
|
require('@plasmicapp/host');
|
|
@@ -68,15 +67,15 @@ function isMultiValueGuard(value) {
|
|
|
68
67
|
function BaseSliderTrack(props) {
|
|
69
68
|
const context = React__default.default.useContext(contexts.PlasmicSliderContext);
|
|
70
69
|
const isStandalone = !context;
|
|
71
|
-
const
|
|
72
|
-
const
|
|
73
|
-
const isMultiValue =
|
|
70
|
+
const _a = props, { children, progressBar, plasmicUpdateVariant } = _a, rest = __objRest(_a, ["children", "progressBar", "plasmicUpdateVariant"]);
|
|
71
|
+
const thumbsLength = context && isMultiValueGuard(context.value) ? context.value.length : 1;
|
|
72
|
+
const isMultiValue = thumbsLength > 1;
|
|
74
73
|
const { minIndex, maxIndex } = React.useMemo(() => {
|
|
75
74
|
if (!context || !Array.isArray(context.value) || context.value.length <= 1) {
|
|
76
75
|
return { minIndex: 0, maxIndex: 0 };
|
|
77
76
|
}
|
|
78
77
|
return findMinMaxIndices(context.value);
|
|
79
|
-
}, [
|
|
78
|
+
}, [thumbsLength]);
|
|
80
79
|
const thumbs = React.useMemo(() => {
|
|
81
80
|
const thumbNodes = flattenChildren__default.default(children);
|
|
82
81
|
if (!thumbNodes || thumbNodes.length === 0 || !utils.isDefined(context == null ? void 0 : context.value)) {
|