@plasmicpkgs/react-aria 0.0.42 → 0.0.44

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.
Files changed (146) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/common.d.ts +8 -1
  3. package/dist/contexts.d.ts +3 -2
  4. package/dist/react-aria.esm.js +863 -670
  5. package/dist/react-aria.esm.js.map +1 -1
  6. package/dist/react-aria.js +861 -668
  7. package/dist/react-aria.js.map +1 -1
  8. package/dist/registerButton.d.ts +1 -1
  9. package/dist/registerCheckbox.d.ts +3 -4
  10. package/dist/registerCheckboxGroup.d.ts +2 -2
  11. package/dist/registerInput.d.ts +12 -5
  12. package/dist/registerListBox.d.ts +2 -3
  13. package/dist/registerModal.d.ts +2 -3
  14. package/dist/registerPopover.d.ts +4 -6
  15. package/dist/registerRadio.d.ts +3 -5
  16. package/dist/registerRadioGroup.d.ts +1 -1
  17. package/dist/registerSlider.d.ts +3 -20
  18. package/dist/registerSliderOutput.d.ts +1 -1
  19. package/dist/registerSliderThumb.d.ts +3 -3
  20. package/dist/registerSliderTrack.d.ts +3 -1
  21. package/dist/registerSwitch.d.ts +1 -1
  22. package/dist/registerTextArea.d.ts +11 -5
  23. package/dist/registerTextField.d.ts +3 -3
  24. package/dist/utils.d.ts +7 -1
  25. package/package.json +2 -2
  26. package/skinny/common-96be13c3.esm.js +341 -0
  27. package/skinny/common-96be13c3.esm.js.map +1 -0
  28. package/skinny/common-f51484c1.cjs.js +345 -0
  29. package/skinny/common-f51484c1.cjs.js.map +1 -0
  30. package/skinny/common.d.ts +8 -1
  31. package/skinny/{contexts-7236059e.cjs.js → contexts-3a98471a.cjs.js} +1 -3
  32. package/skinny/contexts-3a98471a.cjs.js.map +1 -0
  33. package/skinny/{contexts-21e0d928.esm.js → contexts-87c261f6.esm.js} +2 -3
  34. package/skinny/contexts-87c261f6.esm.js.map +1 -0
  35. package/skinny/contexts.d.ts +3 -2
  36. package/skinny/registerButton.cjs.js +2 -2
  37. package/skinny/registerButton.cjs.js.map +1 -1
  38. package/skinny/registerButton.d.ts +1 -1
  39. package/skinny/registerButton.esm.js +2 -2
  40. package/skinny/registerButton.esm.js.map +1 -1
  41. package/skinny/registerCheckbox.cjs.js +13 -18
  42. package/skinny/registerCheckbox.cjs.js.map +1 -1
  43. package/skinny/registerCheckbox.d.ts +3 -4
  44. package/skinny/registerCheckbox.esm.js +13 -18
  45. package/skinny/registerCheckbox.esm.js.map +1 -1
  46. package/skinny/registerCheckboxGroup.cjs.js +5 -5
  47. package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
  48. package/skinny/registerCheckboxGroup.d.ts +2 -2
  49. package/skinny/registerCheckboxGroup.esm.js +5 -5
  50. package/skinny/registerCheckboxGroup.esm.js.map +1 -1
  51. package/skinny/registerComboBox.cjs.js +3 -3
  52. package/skinny/registerComboBox.esm.js +3 -3
  53. package/skinny/registerDialogTrigger.cjs.js +2 -2
  54. package/skinny/registerDialogTrigger.esm.js +2 -2
  55. package/skinny/registerHeader.cjs.js +1 -1
  56. package/skinny/registerHeader.esm.js +1 -1
  57. package/skinny/registerInput.cjs.js +76 -16
  58. package/skinny/registerInput.cjs.js.map +1 -1
  59. package/skinny/registerInput.d.ts +12 -5
  60. package/skinny/registerInput.esm.js +76 -17
  61. package/skinny/registerInput.esm.js.map +1 -1
  62. package/skinny/{registerListBox-f060da58.cjs.js → registerListBox-44316bb6.cjs.js} +7 -7
  63. package/skinny/registerListBox-44316bb6.cjs.js.map +1 -0
  64. package/skinny/{registerListBox-38a08460.esm.js → registerListBox-ccd14a2e.esm.js} +7 -7
  65. package/skinny/registerListBox-ccd14a2e.esm.js.map +1 -0
  66. package/skinny/registerListBox.cjs.js +3 -2
  67. package/skinny/registerListBox.cjs.js.map +1 -1
  68. package/skinny/registerListBox.d.ts +2 -3
  69. package/skinny/registerListBox.esm.js +3 -2
  70. package/skinny/registerListBox.esm.js.map +1 -1
  71. package/skinny/registerListBoxItem.cjs.js +1 -1
  72. package/skinny/registerListBoxItem.esm.js +1 -1
  73. package/skinny/registerModal.cjs.js +5 -4
  74. package/skinny/registerModal.cjs.js.map +1 -1
  75. package/skinny/registerModal.d.ts +2 -3
  76. package/skinny/registerModal.esm.js +5 -4
  77. package/skinny/registerModal.esm.js.map +1 -1
  78. package/skinny/registerPopover.cjs.js +23 -24
  79. package/skinny/registerPopover.cjs.js.map +1 -1
  80. package/skinny/registerPopover.d.ts +4 -6
  81. package/skinny/registerPopover.esm.js +24 -25
  82. package/skinny/registerPopover.esm.js.map +1 -1
  83. package/skinny/registerRadio.cjs.js +14 -26
  84. package/skinny/registerRadio.cjs.js.map +1 -1
  85. package/skinny/registerRadio.d.ts +3 -5
  86. package/skinny/registerRadio.esm.js +14 -26
  87. package/skinny/registerRadio.esm.js.map +1 -1
  88. package/skinny/registerRadioGroup.cjs.js +4 -4
  89. package/skinny/registerRadioGroup.cjs.js.map +1 -1
  90. package/skinny/registerRadioGroup.d.ts +1 -1
  91. package/skinny/registerRadioGroup.esm.js +4 -4
  92. package/skinny/registerRadioGroup.esm.js.map +1 -1
  93. package/skinny/registerSection.cjs.js +1 -1
  94. package/skinny/registerSection.esm.js +1 -1
  95. package/skinny/registerSelect.cjs.js +3 -3
  96. package/skinny/registerSelect.esm.js +3 -3
  97. package/skinny/registerSlider.cjs.js +305 -15
  98. package/skinny/registerSlider.cjs.js.map +1 -1
  99. package/skinny/registerSlider.d.ts +3 -20
  100. package/skinny/registerSlider.esm.js +303 -11
  101. package/skinny/registerSlider.esm.js.map +1 -1
  102. package/skinny/registerSliderOutput.cjs.js +1 -1
  103. package/skinny/registerSliderOutput.cjs.js.map +1 -1
  104. package/skinny/registerSliderOutput.d.ts +1 -1
  105. package/skinny/registerSliderOutput.esm.js +1 -1
  106. package/skinny/registerSliderOutput.esm.js.map +1 -1
  107. package/skinny/registerSliderThumb.cjs.js +4 -4
  108. package/skinny/registerSliderThumb.cjs.js.map +1 -1
  109. package/skinny/registerSliderThumb.d.ts +3 -3
  110. package/skinny/registerSliderThumb.esm.js +4 -4
  111. package/skinny/registerSliderThumb.esm.js.map +1 -1
  112. package/skinny/registerSliderTrack.cjs.js +188 -16
  113. package/skinny/registerSliderTrack.cjs.js.map +1 -1
  114. package/skinny/registerSliderTrack.d.ts +3 -1
  115. package/skinny/registerSliderTrack.esm.js +184 -13
  116. package/skinny/registerSliderTrack.esm.js.map +1 -1
  117. package/skinny/registerSwitch.cjs.js +10 -4
  118. package/skinny/registerSwitch.cjs.js.map +1 -1
  119. package/skinny/registerSwitch.d.ts +1 -1
  120. package/skinny/registerSwitch.esm.js +10 -4
  121. package/skinny/registerSwitch.esm.js.map +1 -1
  122. package/skinny/registerTextArea.cjs.js +56 -35
  123. package/skinny/registerTextArea.cjs.js.map +1 -1
  124. package/skinny/registerTextArea.d.ts +11 -5
  125. package/skinny/registerTextArea.esm.js +56 -36
  126. package/skinny/registerTextArea.esm.js.map +1 -1
  127. package/skinny/registerTextField.cjs.js +34 -215
  128. package/skinny/registerTextField.cjs.js.map +1 -1
  129. package/skinny/registerTextField.d.ts +3 -3
  130. package/skinny/registerTextField.esm.js +34 -215
  131. package/skinny/registerTextField.esm.js.map +1 -1
  132. package/skinny/utils-a1785802.esm.js.map +1 -1
  133. package/skinny/utils-d3708034.cjs.js.map +1 -1
  134. package/skinny/utils.d.ts +7 -1
  135. package/skinny/common-52c26d37.esm.js +0 -52
  136. package/skinny/common-52c26d37.esm.js.map +0 -1
  137. package/skinny/common-e74a9214.cjs.js +0 -54
  138. package/skinny/common-e74a9214.cjs.js.map +0 -1
  139. package/skinny/contexts-21e0d928.esm.js.map +0 -1
  140. package/skinny/contexts-7236059e.cjs.js.map +0 -1
  141. package/skinny/registerListBox-38a08460.esm.js.map +0 -1
  142. package/skinny/registerListBox-f060da58.cjs.js.map +0 -1
  143. package/skinny/registerSlider-58ef7e20.cjs.js +0 -473
  144. package/skinny/registerSlider-58ef7e20.cjs.js.map +0 -1
  145. package/skinny/registerSlider-d74e2330.esm.js +0 -460
  146. package/skinny/registerSlider-d74e2330.esm.js.map +0 -1
@@ -1,23 +1,195 @@
1
1
  'use strict';
2
2
 
3
- require('react');
4
- require('react-aria');
5
- require('react-aria-components');
6
- require('react-keyed-flatten-children');
7
- require('./contexts-7236059e.cjs.js');
8
- require('./ErrorBoundary-e9b86248.cjs.js');
9
- require('./interaction-variant-utils-36f1b397.cjs.js');
10
- var registerSliderTrack = require('./registerSlider-58ef7e20.cjs.js');
11
- require('./registerSliderThumb.cjs.js');
12
- require('./utils-d3708034.cjs.js');
13
- require('./common-e74a9214.cjs.js');
14
- require('./registerLabel.cjs.js');
3
+ var React = require('react');
4
+ var reactAria = require('react-aria');
5
+ var reactAriaComponents = require('react-aria-components');
6
+ var flattenChildren = require('react-keyed-flatten-children');
7
+ var contexts = require('./contexts-3a98471a.cjs.js');
8
+ var interactionVariantUtils = require('./interaction-variant-utils-36f1b397.cjs.js');
9
+ var utils = require('./utils-d3708034.cjs.js');
15
10
  require('@plasmicapp/host/registerComponent');
16
- require('./registerSliderOutput.cjs.js');
17
11
 
12
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
18
13
 
14
+ var React__default = /*#__PURE__*/_interopDefault(React);
15
+ var flattenChildren__default = /*#__PURE__*/_interopDefault(flattenChildren);
19
16
 
20
- exports.BaseSliderTrack = registerSliderTrack.BaseSliderTrack;
21
- exports.SLIDER_TRACK_COMPONENT_NAME = registerSliderTrack.SLIDER_TRACK_COMPONENT_NAME;
22
- exports.registerSliderTrack = registerSliderTrack.registerSliderTrack;
17
+ var __defProp = Object.defineProperty;
18
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
19
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
20
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
21
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
22
+ var __spreadValues = (a, b) => {
23
+ for (var prop in b || (b = {}))
24
+ if (__hasOwnProp.call(b, prop))
25
+ __defNormalProp(a, prop, b[prop]);
26
+ if (__getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(b)) {
28
+ if (__propIsEnum.call(b, prop))
29
+ __defNormalProp(a, prop, b[prop]);
30
+ }
31
+ return a;
32
+ };
33
+ var __objRest = (source, exclude) => {
34
+ var target = {};
35
+ for (var prop in source)
36
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
37
+ target[prop] = source[prop];
38
+ if (source != null && __getOwnPropSymbols)
39
+ for (var prop of __getOwnPropSymbols(source)) {
40
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
41
+ target[prop] = source[prop];
42
+ }
43
+ return target;
44
+ };
45
+ const SLIDER_TRACK_INTERACTION_VARIANTS = ["hovered"];
46
+ const { interactionVariants, withObservedValues } = interactionVariantUtils.pickAriaComponentVariants(
47
+ SLIDER_TRACK_INTERACTION_VARIANTS
48
+ );
49
+ function findMinMaxIndices(values) {
50
+ let minIndex = 0;
51
+ let maxIndex = 0;
52
+ if (Array.isArray(values)) {
53
+ for (let i = 1; i < values.length; i++) {
54
+ if (values[i] < values[minIndex]) {
55
+ minIndex = i;
56
+ }
57
+ if (values[i] > values[maxIndex]) {
58
+ maxIndex = i;
59
+ }
60
+ }
61
+ }
62
+ return { minIndex, maxIndex };
63
+ }
64
+ function isMultiValueGuard(value) {
65
+ return Array.isArray(value) && value.length > 1;
66
+ }
67
+ function BaseSliderTrack(props) {
68
+ const context = React__default.default.useContext(contexts.PlasmicSliderContext);
69
+ const isStandalone = !context;
70
+ const mergedProps = reactAria.mergeProps(context, props);
71
+ const _a = mergedProps, { children, progressBar, updateInteractionVariant } = _a, rest = __objRest(_a, ["children", "progressBar", "updateInteractionVariant"]);
72
+ const isMultiValue = isMultiValueGuard(mergedProps.value);
73
+ const { minIndex, maxIndex } = React.useMemo(() => {
74
+ if (!context || !Array.isArray(context.value) || context.value.length <= 1) {
75
+ return { minIndex: 0, maxIndex: 0 };
76
+ }
77
+ return findMinMaxIndices(context.value);
78
+ }, [context == null ? void 0 : context.value]);
79
+ const thumbs = React.useMemo(() => {
80
+ const thumbNodes = flattenChildren__default.default(children);
81
+ if (!thumbNodes || thumbNodes.length === 0 || !utils.isDefined(context == null ? void 0 : context.value)) {
82
+ return [];
83
+ }
84
+ const values = utils.isDefined(context) ? Array.isArray(context.value) ? context.value : [context.value] : [];
85
+ const lastThumb = thumbNodes[thumbNodes.length - 1];
86
+ return values.map((v, i) => {
87
+ const currentThumb = thumbNodes[i];
88
+ if (i >= thumbNodes.length) {
89
+ if (React__default.default.isValidElement(lastThumb)) {
90
+ return React__default.default.cloneElement(lastThumb, {
91
+ index: i
92
+ });
93
+ }
94
+ }
95
+ if (!React__default.default.isValidElement(currentThumb)) {
96
+ return null;
97
+ }
98
+ return React__default.default.cloneElement(currentThumb, {
99
+ index: i
100
+ });
101
+ });
102
+ }, [children, context == null ? void 0 : context.value]);
103
+ const track = /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.SliderTrack, __spreadValues({ style: { position: "relative" } }, rest), ({ state, isHovered }) => /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, withObservedValues(
104
+ /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(
105
+ "div",
106
+ {
107
+ style: {
108
+ width: `${(!isMultiValue ? state.getThumbPercent(minIndex) : state.getThumbPercent(maxIndex) - state.getThumbPercent(minIndex)) * 100}%`,
109
+ height: "100%",
110
+ position: "absolute",
111
+ top: 0,
112
+ left: !isMultiValue ? 0 : state.getThumbPercent(minIndex) * 100 + "%"
113
+ }
114
+ },
115
+ progressBar
116
+ ), thumbs),
117
+ {
118
+ hovered: isHovered
119
+ },
120
+ updateInteractionVariant
121
+ )));
122
+ if (isStandalone) {
123
+ return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Slider, { style: { height: "100%", width: "100%" } }, track);
124
+ }
125
+ return track;
126
+ }
127
+ const SLIDER_TRACK_COMPONENT_NAME = utils.makeComponentName("sliderTrack");
128
+ function registerSliderTrack(sliderThumbMeta, loader, overrides) {
129
+ return utils.registerComponentHelper(
130
+ loader,
131
+ BaseSliderTrack,
132
+ {
133
+ name: SLIDER_TRACK_COMPONENT_NAME,
134
+ displayName: "Aria Slider Track",
135
+ importPath: "@plasmicpkgs/react-aria/skinny/registerSliderTrack",
136
+ importName: "BaseSliderTrack",
137
+ interactionVariants,
138
+ defaultStyles: {
139
+ width: "stretch",
140
+ backgroundColor: "#aaa",
141
+ position: "relative",
142
+ height: "10px",
143
+ padding: 0
144
+ },
145
+ props: {
146
+ children: {
147
+ type: "slot",
148
+ displayName: "Thumbs",
149
+ description: "The thumbs of the slider. For range slider, you can add more than one thumb.",
150
+ allowedComponents: [sliderThumbMeta.name],
151
+ defaultValue: [
152
+ {
153
+ type: "component",
154
+ name: sliderThumbMeta.name
155
+ }
156
+ ]
157
+ },
158
+ progressBar: {
159
+ type: "slot",
160
+ displayName: "Progress Bar",
161
+ defaultValue: [
162
+ {
163
+ type: "box",
164
+ styles: {
165
+ height: "100%",
166
+ width: "100%",
167
+ backgroundColor: "#ffa6a6",
168
+ padding: 0
169
+ }
170
+ }
171
+ ]
172
+ },
173
+ onHoverStart: {
174
+ type: "eventHandler",
175
+ argTypes: [{ name: "event", type: "object" }]
176
+ },
177
+ onHoverEnd: {
178
+ type: "eventHandler",
179
+ argTypes: [{ name: "event", type: "object" }]
180
+ },
181
+ onHoverChange: {
182
+ type: "eventHandler",
183
+ argTypes: [{ name: "isHovering", type: "boolean" }]
184
+ }
185
+ },
186
+ trapsFocus: true
187
+ },
188
+ overrides
189
+ );
190
+ }
191
+
192
+ exports.BaseSliderTrack = BaseSliderTrack;
193
+ exports.SLIDER_TRACK_COMPONENT_NAME = SLIDER_TRACK_COMPONENT_NAME;
194
+ exports.registerSliderTrack = registerSliderTrack;
23
195
  //# sourceMappingURL=registerSliderTrack.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerSliderTrack.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"registerSliderTrack.cjs.js","sources":["../src/registerSliderTrack.tsx"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport 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 {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { BaseSliderThumbProps } from \"./registerSliderThumb\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n isDefined,\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[]): {\n minIndex: number;\n maxIndex: number;\n} {\n let minIndex = 0;\n let maxIndex = 0;\n\n if (Array.isArray(values)) {\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\n return { minIndex, maxIndex };\n}\n\nfunction isMultiValueGuard(value?: number | number[]): value is number[] {\n return Array.isArray(value) && value.length > 1;\n}\n\nexport function BaseSliderTrack(props: BaseSliderTrackProps) {\n const context = React.useContext(PlasmicSliderContext);\n const isStandalone = !context;\n const mergedProps = mergeProps(context, props);\n const { children, progressBar, updateInteractionVariant, ...rest } =\n mergedProps;\n\n const isMultiValue = isMultiValueGuard(mergedProps.value);\n\n const { minIndex, maxIndex } = useMemo(() => {\n if (\n !context ||\n !Array.isArray(context.value) ||\n context.value.length <= 1\n ) {\n return { minIndex: 0, maxIndex: 0 };\n }\n return findMinMaxIndices(context.value);\n }, [context?.value]);\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 thumbNodes = flattenChildren(children);\n if (!thumbNodes || thumbNodes.length === 0 || !isDefined(context?.value)) {\n return [];\n }\n\n const values = isDefined(context)\n ? Array.isArray(context.value)\n ? context.value\n : [context.value]\n : [];\n\n // Last thumb be re-used if the number of thumbs is less than the number of values\n const lastThumb = thumbNodes[thumbNodes.length - 1];\n\n return values.map((v, i) => {\n const currentThumb = thumbNodes[i];\n // Re-use the last thumb if there are no more thumbs left ( this is for ease of use - the user can just add one more value to the initial-values array and see another thumb right away, without having to explicitly add a new thumb component )\n if (i >= thumbNodes.length) {\n if (React.isValidElement(lastThumb)) {\n return React.cloneElement(lastThumb, {\n index: i,\n } as SliderThumbProps);\n }\n }\n if (!React.isValidElement(currentThumb)) {\n return null;\n }\n return React.cloneElement(currentThumb, {\n index: i,\n } as SliderThumbProps);\n });\n }, [children, context?.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}\n </>,\n {\n hovered: isHovered,\n },\n updateInteractionVariant\n )}\n </>\n )}\n </SliderTrack>\n );\n\n if (isStandalone) {\n return <Slider style={{ height: \"100%\", width: \"100%\" }}>{track}</Slider>;\n }\n\n return track;\n}\n\nexport const SLIDER_TRACK_COMPONENT_NAME = makeComponentName(\"sliderTrack\");\n\nexport function registerSliderTrack(\n sliderThumbMeta: CodeComponentMeta<BaseSliderThumbProps>,\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>\n) {\n return 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 interactionVariants,\n defaultStyles: {\n width: \"stretch\",\n backgroundColor: \"#aaa\",\n position: \"relative\",\n height: \"10px\",\n padding: 0,\n },\n props: {\n children: {\n type: \"slot\",\n displayName: \"Thumbs\",\n description:\n \"The thumbs of the slider. For range slider, you can add more than one thumb.\",\n allowedComponents: [sliderThumbMeta.name],\n defaultValue: [\n {\n type: \"component\",\n name: sliderThumbMeta.name,\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 onHoverStart: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n onHoverEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n onHoverChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isHovering\", type: \"boolean\" }],\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","React","PlasmicSliderContext","mergeProps","useMemo","flattenChildren","isDefined","SliderTrack","Slider","makeComponentName","registerComponentHelper"],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ import { CodeComponentMeta } from "@plasmicapp/host";
1
2
  import React from "react";
2
3
  import { SliderTrack } from "react-aria-components";
3
4
  import { UpdateInteractionVariant } from "./interaction-variant-utils";
5
+ import { BaseSliderThumbProps } from "./registerSliderThumb";
4
6
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
5
7
  declare const SLIDER_TRACK_INTERACTION_VARIANTS: "hovered"[];
6
8
  export interface BaseSliderTrackProps extends React.ComponentProps<typeof SliderTrack> {
@@ -10,5 +12,5 @@ export interface BaseSliderTrackProps extends React.ComponentProps<typeof Slider
10
12
  }
11
13
  export declare function BaseSliderTrack(props: BaseSliderTrackProps): React.JSX.Element;
12
14
  export declare const SLIDER_TRACK_COMPONENT_NAME: string;
13
- export declare function registerSliderTrack(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>): void;
15
+ export declare function registerSliderTrack(sliderThumbMeta: CodeComponentMeta<BaseSliderThumbProps>, loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>): CodeComponentMeta<BaseSliderTrackProps>;
14
16
  export {};
@@ -1,15 +1,186 @@
1
- import 'react';
2
- import 'react-aria';
3
- import 'react-aria-components';
4
- import 'react-keyed-flatten-children';
5
- import './contexts-21e0d928.esm.js';
6
- import './ErrorBoundary-c6b111d3.esm.js';
7
- import './interaction-variant-utils-abd0c319.esm.js';
8
- export { B as BaseSliderTrack, S as SLIDER_TRACK_COMPONENT_NAME, r as registerSliderTrack } from './registerSlider-d74e2330.esm.js';
9
- import './registerSliderThumb.esm.js';
10
- import './utils-a1785802.esm.js';
11
- import './common-52c26d37.esm.js';
12
- import './registerLabel.esm.js';
1
+ import React, { useMemo } from 'react';
2
+ import { mergeProps } from 'react-aria';
3
+ import { SliderTrack, Slider } from 'react-aria-components';
4
+ import flattenChildren from 'react-keyed-flatten-children';
5
+ import { h as PlasmicSliderContext } from './contexts-87c261f6.esm.js';
6
+ import { p as pickAriaComponentVariants } from './interaction-variant-utils-abd0c319.esm.js';
7
+ import { i as isDefined, a as makeComponentName, r as registerComponentHelper } from './utils-a1785802.esm.js';
13
8
  import '@plasmicapp/host/registerComponent';
14
- import './registerSliderOutput.esm.js';
9
+
10
+ var __defProp = Object.defineProperty;
11
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
12
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
13
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
14
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
15
+ var __spreadValues = (a, b) => {
16
+ for (var prop in b || (b = {}))
17
+ if (__hasOwnProp.call(b, prop))
18
+ __defNormalProp(a, prop, b[prop]);
19
+ if (__getOwnPropSymbols)
20
+ for (var prop of __getOwnPropSymbols(b)) {
21
+ if (__propIsEnum.call(b, prop))
22
+ __defNormalProp(a, prop, b[prop]);
23
+ }
24
+ return a;
25
+ };
26
+ var __objRest = (source, exclude) => {
27
+ var target = {};
28
+ for (var prop in source)
29
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
30
+ target[prop] = source[prop];
31
+ if (source != null && __getOwnPropSymbols)
32
+ for (var prop of __getOwnPropSymbols(source)) {
33
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
34
+ target[prop] = source[prop];
35
+ }
36
+ return target;
37
+ };
38
+ const SLIDER_TRACK_INTERACTION_VARIANTS = ["hovered"];
39
+ const { interactionVariants, withObservedValues } = pickAriaComponentVariants(
40
+ SLIDER_TRACK_INTERACTION_VARIANTS
41
+ );
42
+ function findMinMaxIndices(values) {
43
+ let minIndex = 0;
44
+ let maxIndex = 0;
45
+ if (Array.isArray(values)) {
46
+ for (let i = 1; i < values.length; i++) {
47
+ if (values[i] < values[minIndex]) {
48
+ minIndex = i;
49
+ }
50
+ if (values[i] > values[maxIndex]) {
51
+ maxIndex = i;
52
+ }
53
+ }
54
+ }
55
+ return { minIndex, maxIndex };
56
+ }
57
+ function isMultiValueGuard(value) {
58
+ return Array.isArray(value) && value.length > 1;
59
+ }
60
+ function BaseSliderTrack(props) {
61
+ const context = React.useContext(PlasmicSliderContext);
62
+ const isStandalone = !context;
63
+ const mergedProps = mergeProps(context, props);
64
+ const _a = mergedProps, { children, progressBar, updateInteractionVariant } = _a, rest = __objRest(_a, ["children", "progressBar", "updateInteractionVariant"]);
65
+ const isMultiValue = isMultiValueGuard(mergedProps.value);
66
+ const { minIndex, maxIndex } = useMemo(() => {
67
+ if (!context || !Array.isArray(context.value) || context.value.length <= 1) {
68
+ return { minIndex: 0, maxIndex: 0 };
69
+ }
70
+ return findMinMaxIndices(context.value);
71
+ }, [context == null ? void 0 : context.value]);
72
+ const thumbs = useMemo(() => {
73
+ const thumbNodes = flattenChildren(children);
74
+ if (!thumbNodes || thumbNodes.length === 0 || !isDefined(context == null ? void 0 : context.value)) {
75
+ return [];
76
+ }
77
+ const values = isDefined(context) ? Array.isArray(context.value) ? context.value : [context.value] : [];
78
+ const lastThumb = thumbNodes[thumbNodes.length - 1];
79
+ return values.map((v, i) => {
80
+ const currentThumb = thumbNodes[i];
81
+ if (i >= thumbNodes.length) {
82
+ if (React.isValidElement(lastThumb)) {
83
+ return React.cloneElement(lastThumb, {
84
+ index: i
85
+ });
86
+ }
87
+ }
88
+ if (!React.isValidElement(currentThumb)) {
89
+ return null;
90
+ }
91
+ return React.cloneElement(currentThumb, {
92
+ index: i
93
+ });
94
+ });
95
+ }, [children, context == null ? void 0 : context.value]);
96
+ const track = /* @__PURE__ */ React.createElement(SliderTrack, __spreadValues({ style: { position: "relative" } }, rest), ({ state, isHovered }) => /* @__PURE__ */ React.createElement(React.Fragment, null, withObservedValues(
97
+ /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
98
+ "div",
99
+ {
100
+ style: {
101
+ width: `${(!isMultiValue ? state.getThumbPercent(minIndex) : state.getThumbPercent(maxIndex) - state.getThumbPercent(minIndex)) * 100}%`,
102
+ height: "100%",
103
+ position: "absolute",
104
+ top: 0,
105
+ left: !isMultiValue ? 0 : state.getThumbPercent(minIndex) * 100 + "%"
106
+ }
107
+ },
108
+ progressBar
109
+ ), thumbs),
110
+ {
111
+ hovered: isHovered
112
+ },
113
+ updateInteractionVariant
114
+ )));
115
+ if (isStandalone) {
116
+ return /* @__PURE__ */ React.createElement(Slider, { style: { height: "100%", width: "100%" } }, track);
117
+ }
118
+ return track;
119
+ }
120
+ const SLIDER_TRACK_COMPONENT_NAME = makeComponentName("sliderTrack");
121
+ function registerSliderTrack(sliderThumbMeta, loader, overrides) {
122
+ return registerComponentHelper(
123
+ loader,
124
+ BaseSliderTrack,
125
+ {
126
+ name: SLIDER_TRACK_COMPONENT_NAME,
127
+ displayName: "Aria Slider Track",
128
+ importPath: "@plasmicpkgs/react-aria/skinny/registerSliderTrack",
129
+ importName: "BaseSliderTrack",
130
+ interactionVariants,
131
+ defaultStyles: {
132
+ width: "stretch",
133
+ backgroundColor: "#aaa",
134
+ position: "relative",
135
+ height: "10px",
136
+ padding: 0
137
+ },
138
+ props: {
139
+ children: {
140
+ type: "slot",
141
+ displayName: "Thumbs",
142
+ description: "The thumbs of the slider. For range slider, you can add more than one thumb.",
143
+ allowedComponents: [sliderThumbMeta.name],
144
+ defaultValue: [
145
+ {
146
+ type: "component",
147
+ name: sliderThumbMeta.name
148
+ }
149
+ ]
150
+ },
151
+ progressBar: {
152
+ type: "slot",
153
+ displayName: "Progress Bar",
154
+ defaultValue: [
155
+ {
156
+ type: "box",
157
+ styles: {
158
+ height: "100%",
159
+ width: "100%",
160
+ backgroundColor: "#ffa6a6",
161
+ padding: 0
162
+ }
163
+ }
164
+ ]
165
+ },
166
+ onHoverStart: {
167
+ type: "eventHandler",
168
+ argTypes: [{ name: "event", type: "object" }]
169
+ },
170
+ onHoverEnd: {
171
+ type: "eventHandler",
172
+ argTypes: [{ name: "event", type: "object" }]
173
+ },
174
+ onHoverChange: {
175
+ type: "eventHandler",
176
+ argTypes: [{ name: "isHovering", type: "boolean" }]
177
+ }
178
+ },
179
+ trapsFocus: true
180
+ },
181
+ overrides
182
+ );
183
+ }
184
+
185
+ export { BaseSliderTrack, SLIDER_TRACK_COMPONENT_NAME, registerSliderTrack };
15
186
  //# sourceMappingURL=registerSliderTrack.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"registerSliderTrack.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
1
+ {"version":3,"file":"registerSliderTrack.esm.js","sources":["../src/registerSliderTrack.tsx"],"sourcesContent":["import { CodeComponentMeta } from \"@plasmicapp/host\";\nimport 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 {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { BaseSliderThumbProps } from \"./registerSliderThumb\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n isDefined,\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[]): {\n minIndex: number;\n maxIndex: number;\n} {\n let minIndex = 0;\n let maxIndex = 0;\n\n if (Array.isArray(values)) {\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\n return { minIndex, maxIndex };\n}\n\nfunction isMultiValueGuard(value?: number | number[]): value is number[] {\n return Array.isArray(value) && value.length > 1;\n}\n\nexport function BaseSliderTrack(props: BaseSliderTrackProps) {\n const context = React.useContext(PlasmicSliderContext);\n const isStandalone = !context;\n const mergedProps = mergeProps(context, props);\n const { children, progressBar, updateInteractionVariant, ...rest } =\n mergedProps;\n\n const isMultiValue = isMultiValueGuard(mergedProps.value);\n\n const { minIndex, maxIndex } = useMemo(() => {\n if (\n !context ||\n !Array.isArray(context.value) ||\n context.value.length <= 1\n ) {\n return { minIndex: 0, maxIndex: 0 };\n }\n return findMinMaxIndices(context.value);\n }, [context?.value]);\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 thumbNodes = flattenChildren(children);\n if (!thumbNodes || thumbNodes.length === 0 || !isDefined(context?.value)) {\n return [];\n }\n\n const values = isDefined(context)\n ? Array.isArray(context.value)\n ? context.value\n : [context.value]\n : [];\n\n // Last thumb be re-used if the number of thumbs is less than the number of values\n const lastThumb = thumbNodes[thumbNodes.length - 1];\n\n return values.map((v, i) => {\n const currentThumb = thumbNodes[i];\n // Re-use the last thumb if there are no more thumbs left ( this is for ease of use - the user can just add one more value to the initial-values array and see another thumb right away, without having to explicitly add a new thumb component )\n if (i >= thumbNodes.length) {\n if (React.isValidElement(lastThumb)) {\n return React.cloneElement(lastThumb, {\n index: i,\n } as SliderThumbProps);\n }\n }\n if (!React.isValidElement(currentThumb)) {\n return null;\n }\n return React.cloneElement(currentThumb, {\n index: i,\n } as SliderThumbProps);\n });\n }, [children, context?.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}\n </>,\n {\n hovered: isHovered,\n },\n updateInteractionVariant\n )}\n </>\n )}\n </SliderTrack>\n );\n\n if (isStandalone) {\n return <Slider style={{ height: \"100%\", width: \"100%\" }}>{track}</Slider>;\n }\n\n return track;\n}\n\nexport const SLIDER_TRACK_COMPONENT_NAME = makeComponentName(\"sliderTrack\");\n\nexport function registerSliderTrack(\n sliderThumbMeta: CodeComponentMeta<BaseSliderThumbProps>,\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSliderTrack>\n) {\n return 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 interactionVariants,\n defaultStyles: {\n width: \"stretch\",\n backgroundColor: \"#aaa\",\n position: \"relative\",\n height: \"10px\",\n padding: 0,\n },\n props: {\n children: {\n type: \"slot\",\n displayName: \"Thumbs\",\n description:\n \"The thumbs of the slider. For range slider, you can add more than one thumb.\",\n allowedComponents: [sliderThumbMeta.name],\n defaultValue: [\n {\n type: \"component\",\n name: sliderThumbMeta.name,\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 onHoverStart: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n onHoverEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"event\", type: \"object\" }],\n },\n onHoverChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isHovering\", type: \"boolean\" }],\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var common = require('./common-e74a9214.cjs.js');
5
+ var common = require('./common-f51484c1.cjs.js');
6
6
  var interactionVariantUtils = require('./interaction-variant-utils-36f1b397.cjs.js');
7
7
  var registerDescription = require('./registerDescription.cjs.js');
8
8
  var registerLabel = require('./registerLabel.cjs.js');
@@ -98,7 +98,7 @@ function registerSwitch(loader, overrides) {
98
98
  justifyContent: "flex-start",
99
99
  padding: 0
100
100
  },
101
- props: __spreadProps(__spreadValues({}, common.getCommonInputProps("switch", [
101
+ props: __spreadProps(__spreadValues({}, common.getCommonProps("switch", [
102
102
  "name",
103
103
  "isDisabled",
104
104
  "isReadOnly",
@@ -177,10 +177,16 @@ function registerSwitch(loader, overrides) {
177
177
  ]
178
178
  },
179
179
  value: {
180
+ type: "string",
181
+ description: 'The value of the switch in "selected" state, used when submitting an HTML form.',
182
+ defaultValueHint: "on"
183
+ },
184
+ isSelected: {
180
185
  type: "boolean",
181
186
  editOnly: true,
187
+ displayName: "Default Selected",
182
188
  uncontrolledProp: "defaultSelected",
183
- description: "Whether the switch is toggled on",
189
+ description: "Whether the switch should be selected by default",
184
190
  defaultValueHint: false
185
191
  },
186
192
  onChange: {
@@ -191,7 +197,7 @@ function registerSwitch(loader, overrides) {
191
197
  states: {
192
198
  isSelected: {
193
199
  type: "writable",
194
- valueProp: "value",
200
+ valueProp: "isSelected",
195
201
  onChangeProp: "onChange",
196
202
  variableType: "boolean"
197
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registerSwitch.cjs.js","sources":["../src/registerSwitch.tsx"],"sourcesContent":["import React from \"react\";\nimport type { SwitchProps } from \"react-aria-components\";\nimport { Switch } from \"react-aria-components\";\nimport { getCommonInputProps } from \"./common\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SWITCH_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"selected\" as const,\n \"disabled\" as const,\n \"readonly\" as const,\n];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SWITCH_INTERACTION_VARIANTS\n);\n\ninterface BaseSwitchProps extends SwitchProps {\n children: 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 SWITCH_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseSwitch(props: BaseSwitchProps) {\n const { children, updateInteractionVariant, ...rest } = props;\n\n return (\n <Switch {...rest}>\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isSelected,\n isDisabled,\n isReadOnly,\n }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n selected: isSelected,\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </Switch>\n );\n}\n\nexport function registerSwitch(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSwitch>\n) {\n registerComponentHelper(\n loader,\n BaseSwitch,\n {\n name: makeComponentName(\"switch\"),\n displayName: \"Aria Switch\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSwitch\",\n importName: \"BaseSwitch\",\n interactionVariants,\n defaultStyles: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n padding: 0,\n },\n props: {\n ...getCommonInputProps<SwitchProps>(\"switch\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"10px\",\n padding: 0,\n },\n children: [\n {\n // the track\n type: \"hbox\",\n styles: {\n width: \"30px\",\n height: \"16px\",\n padding: 0,\n backgroundColor: \"#D5D5D5\",\n cursor: \"pointer\",\n borderRadius: \"999px\",\n },\n children: {\n // the thumb\n type: \"hbox\",\n styles: {\n width: \"12px\",\n height: \"12px\",\n position: \"absolute\",\n top: \"2px\",\n left: \"2px\",\n borderRadius: \"100%\",\n backgroundColor: \"#fff\",\n padding: 0,\n transitionProperty: \"all\",\n transitionDuration: \"0.5s\",\n transitionTimingFunction: \"ease-in-out\",\n },\n },\n },\n {\n // the label\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n styles: {\n fontSize: \"12px\",\n },\n props: {\n children: {\n type: \"text\",\n value: \"Add interaction variants to see it in action...\",\n },\n },\n },\n ],\n },\n value: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultSelected\",\n description: \"Whether the switch is toggled on\",\n defaultValueHint: false,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isSelected\", type: \"boolean\" }],\n },\n },\n states: {\n isSelected: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","React","Switch","registerComponentHelper","makeComponentName","getCommonInputProps","LABEL_COMPONENT_NAME","DESCRIPTION_COMPONENT_NAME"],"mappings":"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"}
1
+ {"version":3,"file":"registerSwitch.cjs.js","sources":["../src/registerSwitch.tsx"],"sourcesContent":["import React from \"react\";\nimport type { SwitchProps } from \"react-aria-components\";\nimport { Switch } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport {\n UpdateInteractionVariant,\n pickAriaComponentVariants,\n} from \"./interaction-variant-utils\";\nimport { DESCRIPTION_COMPONENT_NAME } from \"./registerDescription\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nconst SWITCH_INTERACTION_VARIANTS = [\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"selected\" as const,\n \"disabled\" as const,\n \"readonly\" as const,\n];\n\nconst { interactionVariants, withObservedValues } = pickAriaComponentVariants(\n SWITCH_INTERACTION_VARIANTS\n);\n\ninterface BaseSwitchProps extends SwitchProps {\n children: 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 SWITCH_INTERACTION_VARIANTS\n >;\n}\n\nexport function BaseSwitch(props: BaseSwitchProps) {\n const { children, updateInteractionVariant, ...rest } = props;\n return (\n <Switch {...rest}>\n {({\n isHovered,\n isPressed,\n isFocused,\n isFocusVisible,\n isSelected,\n isDisabled,\n isReadOnly,\n }) =>\n withObservedValues(\n children,\n {\n hovered: isHovered,\n pressed: isPressed,\n focused: isFocused,\n focusVisible: isFocusVisible,\n selected: isSelected,\n disabled: isDisabled,\n readonly: isReadOnly,\n },\n updateInteractionVariant\n )\n }\n </Switch>\n );\n}\n\nexport function registerSwitch(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSwitch>\n) {\n registerComponentHelper(\n loader,\n BaseSwitch,\n {\n name: makeComponentName(\"switch\"),\n displayName: \"Aria Switch\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSwitch\",\n importName: \"BaseSwitch\",\n interactionVariants,\n defaultStyles: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n padding: 0,\n },\n props: {\n ...getCommonProps<BaseSwitchProps>(\"switch\", [\n \"name\",\n \"isDisabled\",\n \"isReadOnly\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true as any,\n defaultValue: [\n {\n type: \"hbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: \"10px\",\n padding: 0,\n },\n children: [\n {\n // the track\n type: \"hbox\",\n styles: {\n width: \"30px\",\n height: \"16px\",\n padding: 0,\n backgroundColor: \"#D5D5D5\",\n cursor: \"pointer\",\n borderRadius: \"999px\",\n },\n children: {\n // the thumb\n type: \"hbox\",\n styles: {\n width: \"12px\",\n height: \"12px\",\n position: \"absolute\",\n top: \"2px\",\n left: \"2px\",\n borderRadius: \"100%\",\n backgroundColor: \"#fff\",\n padding: 0,\n transitionProperty: \"all\",\n transitionDuration: \"0.5s\",\n transitionTimingFunction: \"ease-in-out\",\n },\n },\n },\n {\n // the label\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n ],\n },\n {\n type: \"component\",\n name: DESCRIPTION_COMPONENT_NAME,\n styles: {\n fontSize: \"12px\",\n },\n props: {\n children: {\n type: \"text\",\n value: \"Add interaction variants to see it in action...\",\n },\n },\n },\n ],\n },\n value: {\n type: \"string\",\n description:\n 'The value of the switch in \"selected\" state, used when submitting an HTML form.',\n defaultValueHint: \"on\",\n },\n isSelected: {\n type: \"boolean\",\n editOnly: true,\n displayName: \"Default Selected\",\n uncontrolledProp: \"defaultSelected\",\n description: \"Whether the switch should be selected by default\",\n defaultValueHint: false,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isSelected\", type: \"boolean\" }],\n },\n },\n states: {\n isSelected: {\n type: \"writable\",\n valueProp: \"isSelected\",\n onChangeProp: \"onChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","React","Switch","registerComponentHelper","makeComponentName","getCommonProps","LABEL_COMPONENT_NAME","DESCRIPTION_COMPONENT_NAME"],"mappings":"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"}
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import type { SwitchProps } from "react-aria-components";
3
3
  import { UpdateInteractionVariant } from "./interaction-variant-utils";
4
4
  import { CodeComponentMetaOverrides, Registerable } from "./utils";
5
- declare const SWITCH_INTERACTION_VARIANTS: ("hovered" | "pressed" | "focused" | "focusVisible" | "selected" | "readonly" | "disabled")[];
5
+ declare const SWITCH_INTERACTION_VARIANTS: ("disabled" | "readonly" | "hovered" | "pressed" | "focused" | "focusVisible" | "selected")[];
6
6
  interface BaseSwitchProps extends SwitchProps {
7
7
  children: React.ReactNode;
8
8
  updateInteractionVariant?: UpdateInteractionVariant<typeof SWITCH_INTERACTION_VARIANTS>;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Switch } from 'react-aria-components';
3
- import { g as getCommonInputProps } from './common-52c26d37.esm.js';
3
+ import { g as getCommonProps } from './common-96be13c3.esm.js';
4
4
  import { p as pickAriaComponentVariants } from './interaction-variant-utils-abd0c319.esm.js';
5
5
  import { DESCRIPTION_COMPONENT_NAME } from './registerDescription.esm.js';
6
6
  import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
@@ -92,7 +92,7 @@ function registerSwitch(loader, overrides) {
92
92
  justifyContent: "flex-start",
93
93
  padding: 0
94
94
  },
95
- props: __spreadProps(__spreadValues({}, getCommonInputProps("switch", [
95
+ props: __spreadProps(__spreadValues({}, getCommonProps("switch", [
96
96
  "name",
97
97
  "isDisabled",
98
98
  "isReadOnly",
@@ -171,10 +171,16 @@ function registerSwitch(loader, overrides) {
171
171
  ]
172
172
  },
173
173
  value: {
174
+ type: "string",
175
+ description: 'The value of the switch in "selected" state, used when submitting an HTML form.',
176
+ defaultValueHint: "on"
177
+ },
178
+ isSelected: {
174
179
  type: "boolean",
175
180
  editOnly: true,
181
+ displayName: "Default Selected",
176
182
  uncontrolledProp: "defaultSelected",
177
- description: "Whether the switch is toggled on",
183
+ description: "Whether the switch should be selected by default",
178
184
  defaultValueHint: false
179
185
  },
180
186
  onChange: {
@@ -185,7 +191,7 @@ function registerSwitch(loader, overrides) {
185
191
  states: {
186
192
  isSelected: {
187
193
  type: "writable",
188
- valueProp: "value",
194
+ valueProp: "isSelected",
189
195
  onChangeProp: "onChange",
190
196
  variableType: "boolean"
191
197
  }