@plasmicpkgs/react-aria 0.0.41 → 0.0.43
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/common.d.ts +8 -1
- package/dist/contexts.d.ts +0 -1
- package/dist/react-aria.esm.js +638 -465
- package/dist/react-aria.esm.js.map +1 -1
- package/dist/react-aria.js +637 -464
- package/dist/react-aria.js.map +1 -1
- package/dist/registerButton.d.ts +1 -1
- package/dist/registerCheckbox.d.ts +3 -4
- package/dist/registerCheckboxGroup.d.ts +2 -2
- package/dist/registerInput.d.ts +12 -5
- package/dist/registerListBox.d.ts +2 -3
- package/dist/registerModal.d.ts +2 -3
- package/dist/registerPopover.d.ts +4 -6
- package/dist/registerRadio.d.ts +3 -5
- package/dist/registerRadioGroup.d.ts +1 -1
- package/dist/registerSliderThumb.d.ts +1 -1
- package/dist/registerSwitch.d.ts +1 -1
- package/dist/registerTextArea.d.ts +11 -5
- package/dist/registerTextField.d.ts +3 -3
- package/dist/utils.d.ts +7 -1
- package/package.json +3 -3
- package/skinny/common-96be13c3.esm.js +341 -0
- package/skinny/common-96be13c3.esm.js.map +1 -0
- package/skinny/common-f51484c1.cjs.js +345 -0
- package/skinny/common-f51484c1.cjs.js.map +1 -0
- package/skinny/common.d.ts +8 -1
- package/skinny/{contexts-7236059e.cjs.js → contexts-3a98471a.cjs.js} +1 -3
- package/skinny/contexts-3a98471a.cjs.js.map +1 -0
- package/skinny/{contexts-21e0d928.esm.js → contexts-87c261f6.esm.js} +2 -3
- package/skinny/contexts-87c261f6.esm.js.map +1 -0
- package/skinny/contexts.d.ts +0 -1
- package/skinny/registerButton.cjs.js +2 -2
- package/skinny/registerButton.cjs.js.map +1 -1
- package/skinny/registerButton.d.ts +1 -1
- package/skinny/registerButton.esm.js +2 -2
- package/skinny/registerButton.esm.js.map +1 -1
- package/skinny/registerCheckbox.cjs.js +13 -18
- package/skinny/registerCheckbox.cjs.js.map +1 -1
- package/skinny/registerCheckbox.d.ts +3 -4
- package/skinny/registerCheckbox.esm.js +13 -18
- package/skinny/registerCheckbox.esm.js.map +1 -1
- package/skinny/registerCheckboxGroup.cjs.js +5 -5
- package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
- package/skinny/registerCheckboxGroup.d.ts +2 -2
- package/skinny/registerCheckboxGroup.esm.js +5 -5
- package/skinny/registerCheckboxGroup.esm.js.map +1 -1
- package/skinny/registerComboBox.cjs.js +3 -3
- package/skinny/registerComboBox.esm.js +3 -3
- package/skinny/registerDialogTrigger.cjs.js +2 -2
- package/skinny/registerDialogTrigger.esm.js +2 -2
- package/skinny/registerHeader.cjs.js +1 -1
- package/skinny/registerHeader.esm.js +1 -1
- package/skinny/registerInput.cjs.js +76 -16
- package/skinny/registerInput.cjs.js.map +1 -1
- package/skinny/registerInput.d.ts +12 -5
- package/skinny/registerInput.esm.js +76 -17
- package/skinny/registerInput.esm.js.map +1 -1
- package/skinny/{registerListBox-f060da58.cjs.js → registerListBox-44316bb6.cjs.js} +7 -7
- package/skinny/registerListBox-44316bb6.cjs.js.map +1 -0
- package/skinny/{registerListBox-38a08460.esm.js → registerListBox-ccd14a2e.esm.js} +7 -7
- package/skinny/registerListBox-ccd14a2e.esm.js.map +1 -0
- package/skinny/registerListBox.cjs.js +3 -2
- package/skinny/registerListBox.cjs.js.map +1 -1
- package/skinny/registerListBox.d.ts +2 -3
- package/skinny/registerListBox.esm.js +3 -2
- 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 +5 -4
- package/skinny/registerModal.cjs.js.map +1 -1
- package/skinny/registerModal.d.ts +2 -3
- package/skinny/registerModal.esm.js +5 -4
- package/skinny/registerModal.esm.js.map +1 -1
- package/skinny/registerPopover.cjs.js +23 -24
- package/skinny/registerPopover.cjs.js.map +1 -1
- package/skinny/registerPopover.d.ts +4 -6
- package/skinny/registerPopover.esm.js +24 -25
- package/skinny/registerPopover.esm.js.map +1 -1
- package/skinny/registerRadio.cjs.js +14 -26
- package/skinny/registerRadio.cjs.js.map +1 -1
- package/skinny/registerRadio.d.ts +3 -5
- package/skinny/registerRadio.esm.js +14 -26
- package/skinny/registerRadio.esm.js.map +1 -1
- package/skinny/registerRadioGroup.cjs.js +4 -4
- package/skinny/registerRadioGroup.cjs.js.map +1 -1
- package/skinny/registerRadioGroup.d.ts +1 -1
- package/skinny/registerRadioGroup.esm.js +4 -4
- package/skinny/registerRadioGroup.esm.js.map +1 -1
- package/skinny/registerSection.cjs.js +1 -1
- package/skinny/registerSection.esm.js +1 -1
- package/skinny/registerSelect.cjs.js +3 -3
- package/skinny/registerSelect.esm.js +3 -3
- package/skinny/{registerSlider-58ef7e20.cjs.js → registerSlider-cd08b960.cjs.js} +4 -4
- package/skinny/registerSlider-cd08b960.cjs.js.map +1 -0
- package/skinny/{registerSlider-d74e2330.esm.js → registerSlider-df0fdf82.esm.js} +4 -4
- package/skinny/registerSlider-df0fdf82.esm.js.map +1 -0
- package/skinny/registerSlider.cjs.js +3 -3
- package/skinny/registerSlider.esm.js +3 -3
- package/skinny/registerSliderThumb.cjs.js +3 -3
- package/skinny/registerSliderThumb.cjs.js.map +1 -1
- package/skinny/registerSliderThumb.d.ts +1 -1
- package/skinny/registerSliderThumb.esm.js +3 -3
- package/skinny/registerSliderThumb.esm.js.map +1 -1
- package/skinny/registerSliderTrack.cjs.js +3 -3
- package/skinny/registerSliderTrack.esm.js +3 -3
- package/skinny/registerSwitch.cjs.js +10 -4
- package/skinny/registerSwitch.cjs.js.map +1 -1
- package/skinny/registerSwitch.d.ts +1 -1
- package/skinny/registerSwitch.esm.js +10 -4
- package/skinny/registerSwitch.esm.js.map +1 -1
- package/skinny/registerTextArea.cjs.js +56 -35
- package/skinny/registerTextArea.cjs.js.map +1 -1
- package/skinny/registerTextArea.d.ts +11 -5
- package/skinny/registerTextArea.esm.js +56 -36
- package/skinny/registerTextArea.esm.js.map +1 -1
- package/skinny/registerTextField.cjs.js +34 -215
- package/skinny/registerTextField.cjs.js.map +1 -1
- package/skinny/registerTextField.d.ts +3 -3
- package/skinny/registerTextField.esm.js +34 -215
- package/skinny/registerTextField.esm.js.map +1 -1
- package/skinny/utils-a1785802.esm.js.map +1 -1
- package/skinny/utils-d3708034.cjs.js.map +1 -1
- package/skinny/utils.d.ts +7 -1
- package/skinny/common-52c26d37.esm.js +0 -52
- package/skinny/common-52c26d37.esm.js.map +0 -1
- package/skinny/common-e74a9214.cjs.js +0 -54
- package/skinny/common-e74a9214.cjs.js.map +0 -1
- package/skinny/contexts-21e0d928.esm.js.map +0 -1
- package/skinny/contexts-7236059e.cjs.js.map +0 -1
- package/skinny/registerListBox-38a08460.esm.js.map +0 -1
- package/skinny/registerListBox-f060da58.cjs.js.map +0 -1
- package/skinny/registerSlider-58ef7e20.cjs.js.map +0 -1
- package/skinny/registerSlider-d74e2330.esm.js.map +0 -1
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var reactAria = require('react-aria');
|
|
5
5
|
var reactAriaComponents = require('react-aria-components');
|
|
6
|
-
var
|
|
6
|
+
var common = require('./common-f51484c1.cjs.js');
|
|
7
|
+
var contexts = require('./contexts-3a98471a.cjs.js');
|
|
7
8
|
var interactionVariantUtils = require('./interaction-variant-utils-36f1b397.cjs.js');
|
|
8
9
|
var utils = require('./utils-d3708034.cjs.js');
|
|
9
10
|
require('@plasmicapp/host/registerComponent');
|
|
@@ -48,23 +49,49 @@ const INPUT_INTERACTION_VARIANTS = [
|
|
|
48
49
|
const { interactionVariants } = interactionVariantUtils.pickAriaComponentVariants(
|
|
49
50
|
INPUT_INTERACTION_VARIANTS
|
|
50
51
|
);
|
|
52
|
+
const inputHelpers = {
|
|
53
|
+
states: {
|
|
54
|
+
value: {
|
|
55
|
+
onChangeArgsToValue: (e) => {
|
|
56
|
+
return e.target.value;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
51
61
|
function BaseInput(props) {
|
|
52
62
|
var _b;
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
63
|
+
const _a = props, {
|
|
64
|
+
updateInteractionVariant,
|
|
65
|
+
setControlContextData,
|
|
66
|
+
disabled,
|
|
67
|
+
autoComplete
|
|
68
|
+
} = _a, rest = __objRest(_a, [
|
|
69
|
+
"updateInteractionVariant",
|
|
70
|
+
"setControlContextData",
|
|
71
|
+
"disabled",
|
|
72
|
+
"autoComplete"
|
|
73
|
+
]);
|
|
74
|
+
const textFieldContext = React__default.default.useContext(contexts.PlasmicTextFieldContext);
|
|
75
|
+
setControlContextData == null ? void 0 : setControlContextData({
|
|
76
|
+
parent: textFieldContext
|
|
77
|
+
});
|
|
56
78
|
const mergedProps = reactAria.mergeProps(rest, {
|
|
57
|
-
|
|
79
|
+
/**
|
|
80
|
+
* While react-aria internally does the merging of the disabled prop,
|
|
81
|
+
* we need to explicity do it here, because react-aria does it behind the scenes,
|
|
82
|
+
* whereas we need the calculated value of the disabled prop to be able to update the "disabled" interaction variant.
|
|
83
|
+
* */
|
|
84
|
+
disabled: (_b = textFieldContext == null ? void 0 : textFieldContext.isDisabled) != null ? _b : disabled
|
|
58
85
|
});
|
|
59
86
|
React.useEffect(() => {
|
|
60
87
|
updateInteractionVariant == null ? void 0 : updateInteractionVariant({
|
|
61
88
|
disabled: mergedProps.disabled
|
|
62
89
|
});
|
|
63
90
|
}, [mergedProps.disabled, updateInteractionVariant]);
|
|
64
|
-
setControlContextData == null ? void 0 : setControlContextData({ isStandalone });
|
|
65
91
|
return /* @__PURE__ */ React__default.default.createElement(
|
|
66
92
|
reactAriaComponents.Input,
|
|
67
93
|
__spreadValues({
|
|
94
|
+
autoComplete: common.resolveAutoComplete(autoComplete),
|
|
68
95
|
onHoverChange: (isHovered) => {
|
|
69
96
|
updateInteractionVariant == null ? void 0 : updateInteractionVariant({
|
|
70
97
|
hovered: isHovered
|
|
@@ -101,16 +128,48 @@ function registerInput(loader, overrides) {
|
|
|
101
128
|
borderColor: "black",
|
|
102
129
|
padding: "2px 10px"
|
|
103
130
|
},
|
|
104
|
-
props: {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
131
|
+
props: __spreadValues({}, common.getCommonProps("Input", [
|
|
132
|
+
"name",
|
|
133
|
+
"disabled",
|
|
134
|
+
"readOnly",
|
|
135
|
+
"autoFocus",
|
|
136
|
+
"aria-label",
|
|
137
|
+
"required",
|
|
138
|
+
"placeholder",
|
|
139
|
+
"value",
|
|
140
|
+
"maxLength",
|
|
141
|
+
"minLength",
|
|
142
|
+
"pattern",
|
|
143
|
+
"type",
|
|
144
|
+
"inputMode",
|
|
145
|
+
"autoComplete",
|
|
146
|
+
"onChange",
|
|
147
|
+
"onFocus",
|
|
148
|
+
"onBlur",
|
|
149
|
+
"onKeyDown",
|
|
150
|
+
"onKeyUp",
|
|
151
|
+
"onCopy",
|
|
152
|
+
"onCut",
|
|
153
|
+
"onPaste",
|
|
154
|
+
"onCompositionStart",
|
|
155
|
+
"onCompositionEnd",
|
|
156
|
+
"onCompositionUpdate",
|
|
157
|
+
"onSelect",
|
|
158
|
+
"onBeforeInput",
|
|
159
|
+
"onInput"
|
|
160
|
+
])),
|
|
161
|
+
states: {
|
|
162
|
+
value: __spreadValues({
|
|
163
|
+
type: "writable",
|
|
164
|
+
valueProp: "value",
|
|
165
|
+
onChangeProp: "onChange",
|
|
166
|
+
variableType: "text"
|
|
167
|
+
}, inputHelpers.states.value)
|
|
168
|
+
},
|
|
169
|
+
componentHelpers: {
|
|
170
|
+
helpers: inputHelpers,
|
|
171
|
+
importName: "inputHelpers",
|
|
172
|
+
importPath: "@plasmicpkgs/react-aria/skinny/registerInput"
|
|
114
173
|
},
|
|
115
174
|
trapsFocus: true
|
|
116
175
|
},
|
|
@@ -120,5 +179,6 @@ function registerInput(loader, overrides) {
|
|
|
120
179
|
|
|
121
180
|
exports.BaseInput = BaseInput;
|
|
122
181
|
exports.INPUT_COMPONENT_NAME = INPUT_COMPONENT_NAME;
|
|
182
|
+
exports.inputHelpers = inputHelpers;
|
|
123
183
|
exports.registerInput = registerInput;
|
|
124
184
|
//# sourceMappingURL=registerInput.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerInput.cjs.js","sources":["../src/registerInput.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport type { InputProps } from \"react-aria-components\";\nimport { Input } from \"react-aria-components\";\nimport { PlasmicTextFieldContext } from \"./contexts\";\nimport {\n pickAriaComponentVariants,\n UpdateInteractionVariant,\n} from \"./interaction-variant-utils\";\nimport {\n
|
|
1
|
+
{"version":3,"file":"registerInput.cjs.js","sources":["../src/registerInput.tsx"],"sourcesContent":["import React, { ChangeEvent, useEffect } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport type { InputProps } from \"react-aria-components\";\nimport { Input } from \"react-aria-components\";\nimport { getCommonProps, resolveAutoComplete } from \"./common\";\nimport { PlasmicTextFieldContext } from \"./contexts\";\nimport {\n pickAriaComponentVariants,\n UpdateInteractionVariant,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nconst INPUT_INTERACTION_VARIANTS = [\n \"focused\" as const,\n \"hovered\" as const,\n \"disabled\" as const,\n];\n\nconst { interactionVariants } = pickAriaComponentVariants(\n INPUT_INTERACTION_VARIANTS\n);\n\nexport interface BaseInputProps\n extends Omit<InputProps, \"autoComplete\">,\n HasControlContextData {\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 INPUT_INTERACTION_VARIANTS\n >;\n autoComplete?: string[];\n}\n\nexport const inputHelpers = {\n states: {\n value: {\n onChangeArgsToValue: (e: ChangeEvent<HTMLInputElement>) => {\n return e.target.value;\n },\n },\n },\n};\n\nexport function BaseInput(props: BaseInputProps) {\n const {\n updateInteractionVariant,\n setControlContextData,\n disabled,\n autoComplete,\n ...rest\n } = props;\n const textFieldContext = React.useContext(PlasmicTextFieldContext);\n\n setControlContextData?.({\n parent: textFieldContext,\n });\n\n const mergedProps = mergeProps(rest, {\n /**\n * While react-aria internally does the merging of the disabled prop,\n * we need to explicity do it here, because react-aria does it behind the scenes,\n * whereas we need the calculated value of the disabled prop to be able to update the \"disabled\" interaction variant.\n * */\n disabled: textFieldContext?.isDisabled ?? disabled,\n });\n\n // NOTE: Aria <Input> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state\n useEffect(() => {\n updateInteractionVariant?.({\n disabled: mergedProps.disabled,\n });\n }, [mergedProps.disabled, updateInteractionVariant]);\n\n return (\n <Input\n autoComplete={resolveAutoComplete(autoComplete)}\n onHoverChange={(isHovered) => {\n updateInteractionVariant?.({\n hovered: isHovered,\n });\n }}\n onFocus={() => {\n updateInteractionVariant?.({\n focused: true,\n });\n }}\n onBlur={() => {\n updateInteractionVariant?.({\n focused: false,\n });\n }}\n {...mergedProps}\n />\n );\n}\n\nexport const INPUT_COMPONENT_NAME = makeComponentName(\"input\");\n\nexport function registerInput(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseInput>\n) {\n registerComponentHelper(\n loader,\n BaseInput,\n {\n name: INPUT_COMPONENT_NAME,\n displayName: \"Aria Input\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerInput\",\n importName: \"BaseInput\",\n interactionVariants,\n defaultStyles: {\n width: \"300px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"2px 10px\",\n },\n props: {\n ...getCommonProps<BaseInputProps>(\"Input\", [\n \"name\",\n \"disabled\",\n \"readOnly\",\n \"autoFocus\",\n \"aria-label\",\n \"required\",\n \"placeholder\",\n \"value\",\n \"maxLength\",\n \"minLength\",\n \"pattern\",\n \"type\",\n \"inputMode\",\n \"autoComplete\",\n \"onChange\",\n \"onFocus\",\n \"onBlur\",\n \"onKeyDown\",\n \"onKeyUp\",\n \"onCopy\",\n \"onCut\",\n \"onPaste\",\n \"onCompositionStart\",\n \"onCompositionEnd\",\n \"onCompositionUpdate\",\n \"onSelect\",\n \"onBeforeInput\",\n \"onInput\",\n ]),\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...inputHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: inputHelpers,\n importName: \"inputHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerInput\",\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","React","PlasmicTextFieldContext","mergeProps","useEffect","Input","resolveAutoComplete","makeComponentName","registerComponentHelper","getCommonProps"],"mappings":"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"}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { ChangeEvent } from "react";
|
|
2
2
|
import type { InputProps } from "react-aria-components";
|
|
3
3
|
import { UpdateInteractionVariant } from "./interaction-variant-utils";
|
|
4
|
-
import {
|
|
5
|
-
declare const INPUT_INTERACTION_VARIANTS: ("
|
|
6
|
-
export interface BaseInputProps extends InputProps {
|
|
4
|
+
import { CodeComponentMetaOverrides, HasControlContextData, Registerable } from "./utils";
|
|
5
|
+
declare const INPUT_INTERACTION_VARIANTS: ("disabled" | "hovered" | "focused")[];
|
|
6
|
+
export interface BaseInputProps extends Omit<InputProps, "autoComplete">, HasControlContextData {
|
|
7
7
|
updateInteractionVariant?: UpdateInteractionVariant<typeof INPUT_INTERACTION_VARIANTS>;
|
|
8
|
-
|
|
8
|
+
autoComplete?: string[];
|
|
9
9
|
}
|
|
10
|
+
export declare const inputHelpers: {
|
|
11
|
+
states: {
|
|
12
|
+
value: {
|
|
13
|
+
onChangeArgsToValue: (e: ChangeEvent<HTMLInputElement>) => string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
};
|
|
10
17
|
export declare function BaseInput(props: BaseInputProps): React.JSX.Element;
|
|
11
18
|
export declare const INPUT_COMPONENT_NAME: string;
|
|
12
19
|
export declare function registerInput(loader?: Registerable, overrides?: CodeComponentMetaOverrides<typeof BaseInput>): void;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React, { useEffect } from 'react';
|
|
2
2
|
import { mergeProps } from 'react-aria';
|
|
3
3
|
import { Input } from 'react-aria-components';
|
|
4
|
-
import {
|
|
4
|
+
import { r as resolveAutoComplete, g as getCommonProps } from './common-96be13c3.esm.js';
|
|
5
|
+
import { i as PlasmicTextFieldContext } from './contexts-87c261f6.esm.js';
|
|
5
6
|
import { p as pickAriaComponentVariants } from './interaction-variant-utils-abd0c319.esm.js';
|
|
6
7
|
import { a as makeComponentName, r as registerComponentHelper } from './utils-a1785802.esm.js';
|
|
7
8
|
import '@plasmicapp/host/registerComponent';
|
|
@@ -42,23 +43,49 @@ const INPUT_INTERACTION_VARIANTS = [
|
|
|
42
43
|
const { interactionVariants } = pickAriaComponentVariants(
|
|
43
44
|
INPUT_INTERACTION_VARIANTS
|
|
44
45
|
);
|
|
46
|
+
const inputHelpers = {
|
|
47
|
+
states: {
|
|
48
|
+
value: {
|
|
49
|
+
onChangeArgsToValue: (e) => {
|
|
50
|
+
return e.target.value;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
};
|
|
45
55
|
function BaseInput(props) {
|
|
46
56
|
var _b;
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
57
|
+
const _a = props, {
|
|
58
|
+
updateInteractionVariant,
|
|
59
|
+
setControlContextData,
|
|
60
|
+
disabled,
|
|
61
|
+
autoComplete
|
|
62
|
+
} = _a, rest = __objRest(_a, [
|
|
63
|
+
"updateInteractionVariant",
|
|
64
|
+
"setControlContextData",
|
|
65
|
+
"disabled",
|
|
66
|
+
"autoComplete"
|
|
67
|
+
]);
|
|
68
|
+
const textFieldContext = React.useContext(PlasmicTextFieldContext);
|
|
69
|
+
setControlContextData == null ? void 0 : setControlContextData({
|
|
70
|
+
parent: textFieldContext
|
|
71
|
+
});
|
|
50
72
|
const mergedProps = mergeProps(rest, {
|
|
51
|
-
|
|
73
|
+
/**
|
|
74
|
+
* While react-aria internally does the merging of the disabled prop,
|
|
75
|
+
* we need to explicity do it here, because react-aria does it behind the scenes,
|
|
76
|
+
* whereas we need the calculated value of the disabled prop to be able to update the "disabled" interaction variant.
|
|
77
|
+
* */
|
|
78
|
+
disabled: (_b = textFieldContext == null ? void 0 : textFieldContext.isDisabled) != null ? _b : disabled
|
|
52
79
|
});
|
|
53
80
|
useEffect(() => {
|
|
54
81
|
updateInteractionVariant == null ? void 0 : updateInteractionVariant({
|
|
55
82
|
disabled: mergedProps.disabled
|
|
56
83
|
});
|
|
57
84
|
}, [mergedProps.disabled, updateInteractionVariant]);
|
|
58
|
-
setControlContextData == null ? void 0 : setControlContextData({ isStandalone });
|
|
59
85
|
return /* @__PURE__ */ React.createElement(
|
|
60
86
|
Input,
|
|
61
87
|
__spreadValues({
|
|
88
|
+
autoComplete: resolveAutoComplete(autoComplete),
|
|
62
89
|
onHoverChange: (isHovered) => {
|
|
63
90
|
updateInteractionVariant == null ? void 0 : updateInteractionVariant({
|
|
64
91
|
hovered: isHovered
|
|
@@ -95,16 +122,48 @@ function registerInput(loader, overrides) {
|
|
|
95
122
|
borderColor: "black",
|
|
96
123
|
padding: "2px 10px"
|
|
97
124
|
},
|
|
98
|
-
props: {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
125
|
+
props: __spreadValues({}, getCommonProps("Input", [
|
|
126
|
+
"name",
|
|
127
|
+
"disabled",
|
|
128
|
+
"readOnly",
|
|
129
|
+
"autoFocus",
|
|
130
|
+
"aria-label",
|
|
131
|
+
"required",
|
|
132
|
+
"placeholder",
|
|
133
|
+
"value",
|
|
134
|
+
"maxLength",
|
|
135
|
+
"minLength",
|
|
136
|
+
"pattern",
|
|
137
|
+
"type",
|
|
138
|
+
"inputMode",
|
|
139
|
+
"autoComplete",
|
|
140
|
+
"onChange",
|
|
141
|
+
"onFocus",
|
|
142
|
+
"onBlur",
|
|
143
|
+
"onKeyDown",
|
|
144
|
+
"onKeyUp",
|
|
145
|
+
"onCopy",
|
|
146
|
+
"onCut",
|
|
147
|
+
"onPaste",
|
|
148
|
+
"onCompositionStart",
|
|
149
|
+
"onCompositionEnd",
|
|
150
|
+
"onCompositionUpdate",
|
|
151
|
+
"onSelect",
|
|
152
|
+
"onBeforeInput",
|
|
153
|
+
"onInput"
|
|
154
|
+
])),
|
|
155
|
+
states: {
|
|
156
|
+
value: __spreadValues({
|
|
157
|
+
type: "writable",
|
|
158
|
+
valueProp: "value",
|
|
159
|
+
onChangeProp: "onChange",
|
|
160
|
+
variableType: "text"
|
|
161
|
+
}, inputHelpers.states.value)
|
|
162
|
+
},
|
|
163
|
+
componentHelpers: {
|
|
164
|
+
helpers: inputHelpers,
|
|
165
|
+
importName: "inputHelpers",
|
|
166
|
+
importPath: "@plasmicpkgs/react-aria/skinny/registerInput"
|
|
108
167
|
},
|
|
109
168
|
trapsFocus: true
|
|
110
169
|
},
|
|
@@ -112,5 +171,5 @@ function registerInput(loader, overrides) {
|
|
|
112
171
|
);
|
|
113
172
|
}
|
|
114
173
|
|
|
115
|
-
export { BaseInput, INPUT_COMPONENT_NAME, registerInput };
|
|
174
|
+
export { BaseInput, INPUT_COMPONENT_NAME, inputHelpers, registerInput };
|
|
116
175
|
//# sourceMappingURL=registerInput.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerInput.esm.js","sources":["../src/registerInput.tsx"],"sourcesContent":["import React, { useEffect } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport type { InputProps } from \"react-aria-components\";\nimport { Input } from \"react-aria-components\";\nimport { PlasmicTextFieldContext } from \"./contexts\";\nimport {\n pickAriaComponentVariants,\n UpdateInteractionVariant,\n} from \"./interaction-variant-utils\";\nimport {\n
|
|
1
|
+
{"version":3,"file":"registerInput.esm.js","sources":["../src/registerInput.tsx"],"sourcesContent":["import React, { ChangeEvent, useEffect } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport type { InputProps } from \"react-aria-components\";\nimport { Input } from \"react-aria-components\";\nimport { getCommonProps, resolveAutoComplete } from \"./common\";\nimport { PlasmicTextFieldContext } from \"./contexts\";\nimport {\n pickAriaComponentVariants,\n UpdateInteractionVariant,\n} from \"./interaction-variant-utils\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nconst INPUT_INTERACTION_VARIANTS = [\n \"focused\" as const,\n \"hovered\" as const,\n \"disabled\" as const,\n];\n\nconst { interactionVariants } = pickAriaComponentVariants(\n INPUT_INTERACTION_VARIANTS\n);\n\nexport interface BaseInputProps\n extends Omit<InputProps, \"autoComplete\">,\n HasControlContextData {\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 INPUT_INTERACTION_VARIANTS\n >;\n autoComplete?: string[];\n}\n\nexport const inputHelpers = {\n states: {\n value: {\n onChangeArgsToValue: (e: ChangeEvent<HTMLInputElement>) => {\n return e.target.value;\n },\n },\n },\n};\n\nexport function BaseInput(props: BaseInputProps) {\n const {\n updateInteractionVariant,\n setControlContextData,\n disabled,\n autoComplete,\n ...rest\n } = props;\n const textFieldContext = React.useContext(PlasmicTextFieldContext);\n\n setControlContextData?.({\n parent: textFieldContext,\n });\n\n const mergedProps = mergeProps(rest, {\n /**\n * While react-aria internally does the merging of the disabled prop,\n * we need to explicity do it here, because react-aria does it behind the scenes,\n * whereas we need the calculated value of the disabled prop to be able to update the \"disabled\" interaction variant.\n * */\n disabled: textFieldContext?.isDisabled ?? disabled,\n });\n\n // NOTE: Aria <Input> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state\n useEffect(() => {\n updateInteractionVariant?.({\n disabled: mergedProps.disabled,\n });\n }, [mergedProps.disabled, updateInteractionVariant]);\n\n return (\n <Input\n autoComplete={resolveAutoComplete(autoComplete)}\n onHoverChange={(isHovered) => {\n updateInteractionVariant?.({\n hovered: isHovered,\n });\n }}\n onFocus={() => {\n updateInteractionVariant?.({\n focused: true,\n });\n }}\n onBlur={() => {\n updateInteractionVariant?.({\n focused: false,\n });\n }}\n {...mergedProps}\n />\n );\n}\n\nexport const INPUT_COMPONENT_NAME = makeComponentName(\"input\");\n\nexport function registerInput(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseInput>\n) {\n registerComponentHelper(\n loader,\n BaseInput,\n {\n name: INPUT_COMPONENT_NAME,\n displayName: \"Aria Input\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerInput\",\n importName: \"BaseInput\",\n interactionVariants,\n defaultStyles: {\n width: \"300px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"2px 10px\",\n },\n props: {\n ...getCommonProps<BaseInputProps>(\"Input\", [\n \"name\",\n \"disabled\",\n \"readOnly\",\n \"autoFocus\",\n \"aria-label\",\n \"required\",\n \"placeholder\",\n \"value\",\n \"maxLength\",\n \"minLength\",\n \"pattern\",\n \"type\",\n \"inputMode\",\n \"autoComplete\",\n \"onChange\",\n \"onFocus\",\n \"onBlur\",\n \"onKeyDown\",\n \"onKeyUp\",\n \"onCopy\",\n \"onCut\",\n \"onPaste\",\n \"onCompositionStart\",\n \"onCompositionEnd\",\n \"onCompositionUpdate\",\n \"onSelect\",\n \"onBeforeInput\",\n \"onInput\",\n ]),\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n ...inputHelpers.states.value,\n },\n },\n componentHelpers: {\n helpers: inputHelpers,\n importName: \"inputHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerInput\",\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
var utils = require('@react-aria/utils');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var reactAriaComponents = require('react-aria-components');
|
|
6
|
-
var
|
|
6
|
+
var common = require('./common-f51484c1.cjs.js');
|
|
7
|
+
var contexts = require('./contexts-3a98471a.cjs.js');
|
|
7
8
|
var registerListBoxItem = require('./registerListBoxItem.cjs.js');
|
|
8
9
|
var registerSection = require('./registerSection.cjs.js');
|
|
9
10
|
var utils$1 = require('./utils-d3708034.cjs.js');
|
|
@@ -209,18 +210,17 @@ var __objRest = (source, exclude) => {
|
|
|
209
210
|
return target;
|
|
210
211
|
};
|
|
211
212
|
function BaseListBox(props) {
|
|
212
|
-
var _c;
|
|
213
213
|
const contextProps = React__default.default.useContext(contexts.PlasmicListBoxContext);
|
|
214
214
|
const isStandalone = !contextProps;
|
|
215
|
-
const _a = props, rest = __objRest(_a, ["options"]);
|
|
215
|
+
const _a = props, { options: _rawOptions, setControlContextData } = _a, rest = __objRest(_a, ["options", "setControlContextData"]);
|
|
216
216
|
const { options } = useStrictOptions(props);
|
|
217
217
|
const _b = utils.mergeProps(
|
|
218
218
|
contextProps,
|
|
219
219
|
rest,
|
|
220
220
|
isStandalone ? { items: options } : {}
|
|
221
221
|
), { renderItem, renderSection } = _b, mergedProps = __objRest(_b, ["renderItem", "renderSection"]);
|
|
222
|
-
|
|
223
|
-
isStandalone
|
|
222
|
+
setControlContextData == null ? void 0 : setControlContextData({
|
|
223
|
+
parent: isStandalone ? void 0 : {}
|
|
224
224
|
});
|
|
225
225
|
return /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.ListBox, __spreadValues({}, mergedProps), (item) => {
|
|
226
226
|
var _a2;
|
|
@@ -266,7 +266,7 @@ function registerListBox(loader, overrides) {
|
|
|
266
266
|
props: {
|
|
267
267
|
options: __spreadProps(__spreadValues({}, makeOptionsPropType()), {
|
|
268
268
|
displayName: "Items",
|
|
269
|
-
hidden:
|
|
269
|
+
hidden: common.hasParent
|
|
270
270
|
}),
|
|
271
271
|
renderItem: {
|
|
272
272
|
type: "slot",
|
|
@@ -308,4 +308,4 @@ exports.makeOptionsPropType = makeOptionsPropType;
|
|
|
308
308
|
exports.makeValuePropType = makeValuePropType;
|
|
309
309
|
exports.registerListBox = registerListBox;
|
|
310
310
|
exports.useStrictOptions = useStrictOptions;
|
|
311
|
-
//# sourceMappingURL=registerListBox-
|
|
311
|
+
//# sourceMappingURL=registerListBox-44316bb6.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerListBox-44316bb6.cjs.js","sources":["../src/option-utils.ts","../src/registerListBox.tsx"],"sourcesContent":["import type { ArrayType, ChoiceType } from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport interface ObjectSectionType<T extends object> {\n label?: string;\n items?: ObjectItemType<T>[];\n}\ninterface FlexSectionType<T extends object> {\n label?: string;\n items?: FlexItemType<T>[];\n}\n\nexport type ObjectItemType<T extends object> = StrictOptionType | T;\ntype FlexItemType<T extends object> = ObjectItemType<T> | string;\n\nexport type FlexOptionType<T extends object> =\n | FlexItemType<T>\n | FlexSectionType<T>;\n\nexport type ObjectOptionType<T extends object> =\n | ObjectSectionType<T>\n | ObjectItemType<T>;\n\nexport interface HasOptions<T extends object> {\n options?: FlexOptionType<T>[];\n optionInfo?: (option: FlexOptionType<T>) => StrictOptionType;\n}\n\nexport interface StrictItemType {\n type?: \"option\";\n id: string;\n label?: string;\n isDisabled?: boolean;\n}\n\nexport interface StrictSectionType {\n type: \"option-group\";\n label?: string;\n items?: StrictItemType[];\n key: string;\n}\n\nexport type StrictOptionType = StrictItemType | StrictSectionType;\n\nexport function useStrictOptions<T extends object>(props: HasOptions<T>) {\n const { options, optionInfo } = props;\n return React.useMemo(() => {\n return deriveStrictOptions({ options, optionInfo });\n }, [options, optionInfo]);\n}\n\nexport function deriveStrictOptions<T extends object>(props: HasOptions<T>) {\n const { options, optionInfo } = props;\n let sectionCount = 0;\n\n const makeStrict = (op: FlexOptionType<T>): StrictOptionType | undefined => {\n if (!op) {\n return undefined;\n } else if (typeof op === \"string\" || typeof op === \"number\") {\n const item = {\n id: op,\n };\n return item;\n } else if (optionInfo) {\n const info = optionInfo(op);\n if (info.type === \"option-group\") {\n const section: StrictSectionType = {\n type: \"option-group\",\n items: info.items\n ?.map?.((item) => makeStrict(item) as StrictItemType)\n ?.filter((x) => !!x),\n label: info.label,\n key: `option-group-${sectionCount}`,\n };\n sectionCount += 1;\n return section;\n } else {\n let item = info;\n if (!(\"id\" in item)) {\n item = {\n type: \"option\",\n id: JSON.stringify(item),\n };\n }\n return item;\n }\n } else if (typeof op === \"object\") {\n if (\"items\" in op) {\n const section: StrictSectionType = {\n type: \"option-group\",\n items: op.items\n ?.map?.((item) => makeStrict(item) as StrictItemType)\n ?.filter((x) => !!x),\n label: op.label,\n key: `option-group-${sectionCount}`,\n };\n sectionCount += 1;\n return section;\n } else {\n let item = op;\n if (!(\"id\" in item)) {\n item = {\n type: \"option\",\n id: JSON.stringify(item),\n };\n }\n return item;\n }\n } else {\n return undefined;\n }\n };\n\n const strictOptions = options\n ?.map(makeStrict)\n ?.filter((x): x is StrictOptionType => !!x);\n\n const optionText = (op: StrictItemType) => {\n return op.label ?? op.id;\n };\n\n return { options: strictOptions, optionText };\n}\n\nexport function flattenOptions(\n options: (StrictItemType | StrictSectionType)[] | undefined\n): StrictItemType[] {\n if (!options) {\n return [];\n } else {\n return options.flatMap((op) =>\n op.type === \"option-group\" ? op.items ?? [] : op\n );\n }\n}\n\nexport function makeOptionsPropType() {\n const type: ArrayType<HasOptions<any>> = {\n type: \"array\",\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.id,\n fields: {\n type: {\n type: \"choice\",\n options: [\n { value: \"option\", label: \"Option\" },\n { value: \"option-group\", label: \"Option Group\" },\n ],\n defaultValue: \"option\",\n },\n id: {\n type: \"string\",\n hidden: (_ps: any, _ctx: any, { item }: any) =>\n item.type !== \"option\",\n },\n label: \"string\",\n items: {\n type: \"array\",\n displayName: \"Options\",\n hidden: (_ps: any, _ctx: any, { item }: any) => {\n return item.type !== \"option-group\";\n },\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.id,\n fields: {\n id: \"string\",\n label: \"string\",\n },\n },\n },\n },\n },\n defaultValue: [\n {\n id: \"option1\",\n label: \"Option 1\",\n type: \"option\",\n },\n {\n id: \"option2\",\n label: \"Option 2\",\n type: \"option\",\n },\n {\n label: \"Section 1\",\n type: \"option-group\",\n items: [\n {\n id: \"section-1-1\",\n label: \"Section item 1\",\n type: \"option\",\n },\n {\n id: \"section-1-2\",\n label: \"Section item 2\",\n type: \"option\",\n },\n ],\n },\n ],\n };\n return type;\n}\n\nexport function makeValuePropType() {\n const type: ChoiceType<HasOptions<any>> = {\n type: \"choice\",\n options: (ps: HasOptions<any>) => {\n const { options, optionText } = deriveStrictOptions(ps);\n return flattenOptions(options).map((op) => ({\n value: op.id,\n label: optionText(op),\n }));\n },\n };\n return type;\n}\n","import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { ListBox } from \"react-aria-components\";\nimport { hasParent } from \"./common\";\nimport {\n PlasmicItemContext,\n PlasmicListBoxContext,\n PlasmicSectionContext,\n} from \"./contexts\";\nimport {\n HasOptions,\n makeOptionsPropType,\n StrictOptionType,\n useStrictOptions,\n} from \"./option-utils\";\nimport {\n makeDefaultListBoxItemChildren,\n registerListBoxItem,\n} from \"./registerListBoxItem\";\nimport { registerSection } from \"./registerSection\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseListBoxProps\n extends React.ComponentProps<typeof ListBox>,\n HasOptions<any>,\n HasControlContextData {\n renderItem?: (item: any) => React.ReactNode;\n renderSection?: (section: any) => React.ReactNode;\n getItemType?: (thing: any) => \"item\" | \"section\";\n}\n\nexport function BaseListBox(props: BaseListBoxProps) {\n const contextProps = React.useContext(PlasmicListBoxContext);\n const isStandalone: boolean = !contextProps;\n const { options: _rawOptions, setControlContextData, ...rest } = props;\n const { options } = useStrictOptions(props);\n const { renderItem, renderSection, ...mergedProps } = mergeProps(\n contextProps,\n rest,\n isStandalone ? { items: options } : {}\n );\n\n // Tell the prop control about whether the listbox is standalone or not, so it can hide/show the items prop\n setControlContextData?.({\n parent: isStandalone ? undefined : {},\n });\n\n return (\n <ListBox {...mergedProps}>\n {(item: StrictOptionType) => {\n if (item.type === \"option-group\") {\n return (\n <>\n <PlasmicSectionContext.Provider\n value={{\n renderItem,\n key: item.key ?? item.label,\n section: item,\n }}\n >\n {renderSection?.(item)}\n </PlasmicSectionContext.Provider>\n </>\n );\n } else {\n return (\n <PlasmicItemContext.Provider value={item}>\n {renderItem?.(item)}\n </PlasmicItemContext.Provider>\n );\n }\n }}\n </ListBox>\n );\n}\n\nexport const LIST_BOX_COMPONENT_NAME = makeComponentName(\"listbox\");\n\nexport function registerListBox(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseListBox>\n) {\n const listBoxItemMeta = registerListBoxItem(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n });\n const sectionMeta = registerSection(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n });\n\n registerComponentHelper(\n loader,\n BaseListBox,\n {\n name: LIST_BOX_COMPONENT_NAME,\n displayName: \"Aria ListBox\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBox\",\n importName: \"BaseListBox\",\n defaultStyles: {\n width: \"250px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n props: {\n options: {\n ...makeOptionsPropType(),\n displayName: \"Items\",\n hidden: hasParent,\n },\n renderItem: {\n type: \"slot\",\n displayName: \"Render Item\",\n renderPropParams: [\"itemProps\"],\n defaultValue: {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n children: makeDefaultListBoxItemChildren(\n \"Item (itemProps.label)\",\n \"Connect with `itemProps` in the data picker to display list box items\"\n ),\n },\n },\n },\n renderSection: {\n type: \"slot\",\n displayName: \"Render Section\",\n renderPropParams: [\"sectionProps\"],\n defaultValue: {\n type: \"component\",\n name: sectionMeta.name,\n styles: {\n backgroundColor: \"#F4FAFF\",\n },\n },\n },\n },\n },\n overrides\n );\n}\n"],"names":["React","_a","PlasmicListBoxContext","mergeProps","ListBox","PlasmicSectionContext","PlasmicItemContext","makeComponentName","registerListBoxItem","registerSection","registerComponentHelper","hasParent","makeDefaultListBoxItemChildren"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { mergeProps } from '@react-aria/utils';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { ListBox } from 'react-aria-components';
|
|
4
|
-
import {
|
|
4
|
+
import { h as hasParent } from './common-96be13c3.esm.js';
|
|
5
|
+
import { a as PlasmicListBoxContext, e as PlasmicSectionContext, f as PlasmicItemContext } from './contexts-87c261f6.esm.js';
|
|
5
6
|
import { registerListBoxItem, makeDefaultListBoxItemChildren } from './registerListBoxItem.esm.js';
|
|
6
7
|
import { registerSection } from './registerSection.esm.js';
|
|
7
8
|
import { a as makeComponentName, r as registerComponentHelper } from './utils-a1785802.esm.js';
|
|
@@ -203,18 +204,17 @@ var __objRest = (source, exclude) => {
|
|
|
203
204
|
return target;
|
|
204
205
|
};
|
|
205
206
|
function BaseListBox(props) {
|
|
206
|
-
var _c;
|
|
207
207
|
const contextProps = React.useContext(PlasmicListBoxContext);
|
|
208
208
|
const isStandalone = !contextProps;
|
|
209
|
-
const _a = props, rest = __objRest(_a, ["options"]);
|
|
209
|
+
const _a = props, { options: _rawOptions, setControlContextData } = _a, rest = __objRest(_a, ["options", "setControlContextData"]);
|
|
210
210
|
const { options } = useStrictOptions(props);
|
|
211
211
|
const _b = mergeProps(
|
|
212
212
|
contextProps,
|
|
213
213
|
rest,
|
|
214
214
|
isStandalone ? { items: options } : {}
|
|
215
215
|
), { renderItem, renderSection } = _b, mergedProps = __objRest(_b, ["renderItem", "renderSection"]);
|
|
216
|
-
|
|
217
|
-
isStandalone
|
|
216
|
+
setControlContextData == null ? void 0 : setControlContextData({
|
|
217
|
+
parent: isStandalone ? void 0 : {}
|
|
218
218
|
});
|
|
219
219
|
return /* @__PURE__ */ React.createElement(ListBox, __spreadValues({}, mergedProps), (item) => {
|
|
220
220
|
var _a2;
|
|
@@ -260,7 +260,7 @@ function registerListBox(loader, overrides) {
|
|
|
260
260
|
props: {
|
|
261
261
|
options: __spreadProps(__spreadValues({}, makeOptionsPropType()), {
|
|
262
262
|
displayName: "Items",
|
|
263
|
-
hidden:
|
|
263
|
+
hidden: hasParent
|
|
264
264
|
}),
|
|
265
265
|
renderItem: {
|
|
266
266
|
type: "slot",
|
|
@@ -296,4 +296,4 @@ function registerListBox(loader, overrides) {
|
|
|
296
296
|
}
|
|
297
297
|
|
|
298
298
|
export { BaseListBox as B, LIST_BOX_COMPONENT_NAME as L, makeValuePropType as a, flattenOptions as f, makeOptionsPropType as m, registerListBox as r, useStrictOptions as u };
|
|
299
|
-
//# sourceMappingURL=registerListBox-
|
|
299
|
+
//# sourceMappingURL=registerListBox-ccd14a2e.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerListBox-ccd14a2e.esm.js","sources":["../src/option-utils.ts","../src/registerListBox.tsx"],"sourcesContent":["import type { ArrayType, ChoiceType } from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport interface ObjectSectionType<T extends object> {\n label?: string;\n items?: ObjectItemType<T>[];\n}\ninterface FlexSectionType<T extends object> {\n label?: string;\n items?: FlexItemType<T>[];\n}\n\nexport type ObjectItemType<T extends object> = StrictOptionType | T;\ntype FlexItemType<T extends object> = ObjectItemType<T> | string;\n\nexport type FlexOptionType<T extends object> =\n | FlexItemType<T>\n | FlexSectionType<T>;\n\nexport type ObjectOptionType<T extends object> =\n | ObjectSectionType<T>\n | ObjectItemType<T>;\n\nexport interface HasOptions<T extends object> {\n options?: FlexOptionType<T>[];\n optionInfo?: (option: FlexOptionType<T>) => StrictOptionType;\n}\n\nexport interface StrictItemType {\n type?: \"option\";\n id: string;\n label?: string;\n isDisabled?: boolean;\n}\n\nexport interface StrictSectionType {\n type: \"option-group\";\n label?: string;\n items?: StrictItemType[];\n key: string;\n}\n\nexport type StrictOptionType = StrictItemType | StrictSectionType;\n\nexport function useStrictOptions<T extends object>(props: HasOptions<T>) {\n const { options, optionInfo } = props;\n return React.useMemo(() => {\n return deriveStrictOptions({ options, optionInfo });\n }, [options, optionInfo]);\n}\n\nexport function deriveStrictOptions<T extends object>(props: HasOptions<T>) {\n const { options, optionInfo } = props;\n let sectionCount = 0;\n\n const makeStrict = (op: FlexOptionType<T>): StrictOptionType | undefined => {\n if (!op) {\n return undefined;\n } else if (typeof op === \"string\" || typeof op === \"number\") {\n const item = {\n id: op,\n };\n return item;\n } else if (optionInfo) {\n const info = optionInfo(op);\n if (info.type === \"option-group\") {\n const section: StrictSectionType = {\n type: \"option-group\",\n items: info.items\n ?.map?.((item) => makeStrict(item) as StrictItemType)\n ?.filter((x) => !!x),\n label: info.label,\n key: `option-group-${sectionCount}`,\n };\n sectionCount += 1;\n return section;\n } else {\n let item = info;\n if (!(\"id\" in item)) {\n item = {\n type: \"option\",\n id: JSON.stringify(item),\n };\n }\n return item;\n }\n } else if (typeof op === \"object\") {\n if (\"items\" in op) {\n const section: StrictSectionType = {\n type: \"option-group\",\n items: op.items\n ?.map?.((item) => makeStrict(item) as StrictItemType)\n ?.filter((x) => !!x),\n label: op.label,\n key: `option-group-${sectionCount}`,\n };\n sectionCount += 1;\n return section;\n } else {\n let item = op;\n if (!(\"id\" in item)) {\n item = {\n type: \"option\",\n id: JSON.stringify(item),\n };\n }\n return item;\n }\n } else {\n return undefined;\n }\n };\n\n const strictOptions = options\n ?.map(makeStrict)\n ?.filter((x): x is StrictOptionType => !!x);\n\n const optionText = (op: StrictItemType) => {\n return op.label ?? op.id;\n };\n\n return { options: strictOptions, optionText };\n}\n\nexport function flattenOptions(\n options: (StrictItemType | StrictSectionType)[] | undefined\n): StrictItemType[] {\n if (!options) {\n return [];\n } else {\n return options.flatMap((op) =>\n op.type === \"option-group\" ? op.items ?? [] : op\n );\n }\n}\n\nexport function makeOptionsPropType() {\n const type: ArrayType<HasOptions<any>> = {\n type: \"array\",\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.id,\n fields: {\n type: {\n type: \"choice\",\n options: [\n { value: \"option\", label: \"Option\" },\n { value: \"option-group\", label: \"Option Group\" },\n ],\n defaultValue: \"option\",\n },\n id: {\n type: \"string\",\n hidden: (_ps: any, _ctx: any, { item }: any) =>\n item.type !== \"option\",\n },\n label: \"string\",\n items: {\n type: \"array\",\n displayName: \"Options\",\n hidden: (_ps: any, _ctx: any, { item }: any) => {\n return item.type !== \"option-group\";\n },\n itemType: {\n type: \"object\",\n nameFunc: (item: any) => item.label || item.id,\n fields: {\n id: \"string\",\n label: \"string\",\n },\n },\n },\n },\n },\n defaultValue: [\n {\n id: \"option1\",\n label: \"Option 1\",\n type: \"option\",\n },\n {\n id: \"option2\",\n label: \"Option 2\",\n type: \"option\",\n },\n {\n label: \"Section 1\",\n type: \"option-group\",\n items: [\n {\n id: \"section-1-1\",\n label: \"Section item 1\",\n type: \"option\",\n },\n {\n id: \"section-1-2\",\n label: \"Section item 2\",\n type: \"option\",\n },\n ],\n },\n ],\n };\n return type;\n}\n\nexport function makeValuePropType() {\n const type: ChoiceType<HasOptions<any>> = {\n type: \"choice\",\n options: (ps: HasOptions<any>) => {\n const { options, optionText } = deriveStrictOptions(ps);\n return flattenOptions(options).map((op) => ({\n value: op.id,\n label: optionText(op),\n }));\n },\n };\n return type;\n}\n","import { mergeProps } from \"@react-aria/utils\";\nimport React from \"react\";\nimport { ListBox } from \"react-aria-components\";\nimport { hasParent } from \"./common\";\nimport {\n PlasmicItemContext,\n PlasmicListBoxContext,\n PlasmicSectionContext,\n} from \"./contexts\";\nimport {\n HasOptions,\n makeOptionsPropType,\n StrictOptionType,\n useStrictOptions,\n} from \"./option-utils\";\nimport {\n makeDefaultListBoxItemChildren,\n registerListBoxItem,\n} from \"./registerListBoxItem\";\nimport { registerSection } from \"./registerSection\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseListBoxProps\n extends React.ComponentProps<typeof ListBox>,\n HasOptions<any>,\n HasControlContextData {\n renderItem?: (item: any) => React.ReactNode;\n renderSection?: (section: any) => React.ReactNode;\n getItemType?: (thing: any) => \"item\" | \"section\";\n}\n\nexport function BaseListBox(props: BaseListBoxProps) {\n const contextProps = React.useContext(PlasmicListBoxContext);\n const isStandalone: boolean = !contextProps;\n const { options: _rawOptions, setControlContextData, ...rest } = props;\n const { options } = useStrictOptions(props);\n const { renderItem, renderSection, ...mergedProps } = mergeProps(\n contextProps,\n rest,\n isStandalone ? { items: options } : {}\n );\n\n // Tell the prop control about whether the listbox is standalone or not, so it can hide/show the items prop\n setControlContextData?.({\n parent: isStandalone ? undefined : {},\n });\n\n return (\n <ListBox {...mergedProps}>\n {(item: StrictOptionType) => {\n if (item.type === \"option-group\") {\n return (\n <>\n <PlasmicSectionContext.Provider\n value={{\n renderItem,\n key: item.key ?? item.label,\n section: item,\n }}\n >\n {renderSection?.(item)}\n </PlasmicSectionContext.Provider>\n </>\n );\n } else {\n return (\n <PlasmicItemContext.Provider value={item}>\n {renderItem?.(item)}\n </PlasmicItemContext.Provider>\n );\n }\n }}\n </ListBox>\n );\n}\n\nexport const LIST_BOX_COMPONENT_NAME = makeComponentName(\"listbox\");\n\nexport function registerListBox(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseListBox>\n) {\n const listBoxItemMeta = registerListBoxItem(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n });\n const sectionMeta = registerSection(loader, {\n parentComponentName: LIST_BOX_COMPONENT_NAME,\n });\n\n registerComponentHelper(\n loader,\n BaseListBox,\n {\n name: LIST_BOX_COMPONENT_NAME,\n displayName: \"Aria ListBox\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBox\",\n importName: \"BaseListBox\",\n defaultStyles: {\n width: \"250px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n props: {\n options: {\n ...makeOptionsPropType(),\n displayName: \"Items\",\n hidden: hasParent,\n },\n renderItem: {\n type: \"slot\",\n displayName: \"Render Item\",\n renderPropParams: [\"itemProps\"],\n defaultValue: {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n children: makeDefaultListBoxItemChildren(\n \"Item (itemProps.label)\",\n \"Connect with `itemProps` in the data picker to display list box items\"\n ),\n },\n },\n },\n renderSection: {\n type: \"slot\",\n displayName: \"Render Section\",\n renderPropParams: [\"sectionProps\"],\n defaultValue: {\n type: \"component\",\n name: sectionMeta.name,\n styles: {\n backgroundColor: \"#F4FAFF\",\n },\n },\n },\n },\n },\n overrides\n );\n}\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
require('@react-aria/utils');
|
|
4
4
|
require('react');
|
|
5
5
|
require('react-aria-components');
|
|
6
|
-
require('./
|
|
7
|
-
|
|
6
|
+
require('./common-f51484c1.cjs.js');
|
|
7
|
+
require('./contexts-3a98471a.cjs.js');
|
|
8
|
+
var registerListBox = require('./registerListBox-44316bb6.cjs.js');
|
|
8
9
|
require('./registerListBoxItem.cjs.js');
|
|
9
10
|
require('./registerSection.cjs.js');
|
|
10
11
|
require('./utils-d3708034.cjs.js');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerListBox.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerListBox.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ListBox } from "react-aria-components";
|
|
3
3
|
import { HasOptions } from "./option-utils";
|
|
4
|
-
import {
|
|
5
|
-
export interface BaseListBoxProps extends React.ComponentProps<typeof ListBox>, HasOptions<any
|
|
4
|
+
import { CodeComponentMetaOverrides, HasControlContextData, Registerable } from "./utils";
|
|
5
|
+
export interface BaseListBoxProps extends React.ComponentProps<typeof ListBox>, HasOptions<any>, HasControlContextData {
|
|
6
6
|
renderItem?: (item: any) => React.ReactNode;
|
|
7
7
|
renderSection?: (section: any) => React.ReactNode;
|
|
8
8
|
getItemType?: (thing: any) => "item" | "section";
|
|
9
|
-
setControlContextData?: (ctxData: BaseControlContextData) => void;
|
|
10
9
|
}
|
|
11
10
|
export declare function BaseListBox(props: BaseListBoxProps): React.JSX.Element;
|
|
12
11
|
export declare const LIST_BOX_COMPONENT_NAME: string;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import '@react-aria/utils';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'react-aria-components';
|
|
4
|
-
import './
|
|
5
|
-
|
|
4
|
+
import './common-96be13c3.esm.js';
|
|
5
|
+
import './contexts-87c261f6.esm.js';
|
|
6
|
+
export { B as BaseListBox, L as LIST_BOX_COMPONENT_NAME, r as registerListBox } from './registerListBox-ccd14a2e.esm.js';
|
|
6
7
|
import './registerListBoxItem.esm.js';
|
|
7
8
|
import './registerSection.esm.js';
|
|
8
9
|
import './utils-a1785802.esm.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerListBox.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"registerListBox.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var utils = require('@react-aria/utils');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var reactAriaComponents = require('react-aria-components');
|
|
6
|
-
var contexts = require('./contexts-
|
|
6
|
+
var contexts = require('./contexts-3a98471a.cjs.js');
|
|
7
7
|
var ErrorBoundary = require('./ErrorBoundary-e9b86248.cjs.js');
|
|
8
8
|
var registerDescription = require('./registerDescription.cjs.js');
|
|
9
9
|
var registerText = require('./registerText.cjs.js');
|