@plasmicpkgs/react-aria 0.0.2

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 (86) hide show
  1. package/LICENSE.md +21 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/contexts.d.ts +14 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/option-utils.d.ts +51 -0
  6. package/dist/react-aria.esm.js +1191 -0
  7. package/dist/react-aria.esm.js.map +1 -0
  8. package/dist/react-aria.js +1198 -0
  9. package/dist/react-aria.js.map +1 -0
  10. package/dist/registerButton.d.ts +4 -0
  11. package/dist/registerComboBox.d.ts +21 -0
  12. package/dist/registerHeader.d.ts +5 -0
  13. package/dist/registerInput.d.ts +5 -0
  14. package/dist/registerLabel.d.ts +5 -0
  15. package/dist/registerListBox.d.ts +14 -0
  16. package/dist/registerListBoxItem.d.ts +7 -0
  17. package/dist/registerPopover.d.ts +7 -0
  18. package/dist/registerSection.d.ts +14 -0
  19. package/dist/registerSelect.d.ts +23 -0
  20. package/dist/utils.d.ts +18 -0
  21. package/package.json +74 -0
  22. package/skinny/contexts-c0294d96.cjs.js +24 -0
  23. package/skinny/contexts-c0294d96.cjs.js.map +1 -0
  24. package/skinny/contexts-fd3e1077.esm.js +12 -0
  25. package/skinny/contexts-fd3e1077.esm.js.map +1 -0
  26. package/skinny/contexts.d.ts +14 -0
  27. package/skinny/option-utils-0db61f6d.cjs.js +162 -0
  28. package/skinny/option-utils-0db61f6d.cjs.js.map +1 -0
  29. package/skinny/option-utils-765a1782.esm.js +153 -0
  30. package/skinny/option-utils-765a1782.esm.js.map +1 -0
  31. package/skinny/option-utils.d.ts +51 -0
  32. package/skinny/registerButton.cjs.js +31 -0
  33. package/skinny/registerButton.cjs.js.map +1 -0
  34. package/skinny/registerButton.d.ts +4 -0
  35. package/skinny/registerButton.esm.js +26 -0
  36. package/skinny/registerButton.esm.js.map +1 -0
  37. package/skinny/registerComboBox.cjs.js +291 -0
  38. package/skinny/registerComboBox.cjs.js.map +1 -0
  39. package/skinny/registerComboBox.d.ts +21 -0
  40. package/skinny/registerComboBox.esm.js +284 -0
  41. package/skinny/registerComboBox.esm.js.map +1 -0
  42. package/skinny/registerHeader.cjs.js +51 -0
  43. package/skinny/registerHeader.cjs.js.map +1 -0
  44. package/skinny/registerHeader.d.ts +5 -0
  45. package/skinny/registerHeader.esm.js +44 -0
  46. package/skinny/registerHeader.esm.js.map +1 -0
  47. package/skinny/registerInput.cjs.js +78 -0
  48. package/skinny/registerInput.cjs.js.map +1 -0
  49. package/skinny/registerInput.d.ts +5 -0
  50. package/skinny/registerInput.esm.js +71 -0
  51. package/skinny/registerInput.esm.js.map +1 -0
  52. package/skinny/registerLabel.cjs.js +59 -0
  53. package/skinny/registerLabel.cjs.js.map +1 -0
  54. package/skinny/registerLabel.d.ts +5 -0
  55. package/skinny/registerLabel.esm.js +52 -0
  56. package/skinny/registerLabel.esm.js.map +1 -0
  57. package/skinny/registerListBox.cjs.js +145 -0
  58. package/skinny/registerListBox.cjs.js.map +1 -0
  59. package/skinny/registerListBox.d.ts +14 -0
  60. package/skinny/registerListBox.esm.js +138 -0
  61. package/skinny/registerListBox.esm.js.map +1 -0
  62. package/skinny/registerListBoxItem.cjs.js +72 -0
  63. package/skinny/registerListBoxItem.cjs.js.map +1 -0
  64. package/skinny/registerListBoxItem.d.ts +7 -0
  65. package/skinny/registerListBoxItem.esm.js +65 -0
  66. package/skinny/registerListBoxItem.esm.js.map +1 -0
  67. package/skinny/registerPopover.cjs.js +111 -0
  68. package/skinny/registerPopover.cjs.js.map +1 -0
  69. package/skinny/registerPopover.d.ts +7 -0
  70. package/skinny/registerPopover.esm.js +104 -0
  71. package/skinny/registerPopover.esm.js.map +1 -0
  72. package/skinny/registerSection.cjs.js +82 -0
  73. package/skinny/registerSection.cjs.js.map +1 -0
  74. package/skinny/registerSection.d.ts +14 -0
  75. package/skinny/registerSection.esm.js +75 -0
  76. package/skinny/registerSection.esm.js.map +1 -0
  77. package/skinny/registerSelect.cjs.js +199 -0
  78. package/skinny/registerSelect.cjs.js.map +1 -0
  79. package/skinny/registerSelect.d.ts +23 -0
  80. package/skinny/registerSelect.esm.js +189 -0
  81. package/skinny/registerSelect.esm.js.map +1 -0
  82. package/skinny/utils-044c7f37.cjs.js +74 -0
  83. package/skinny/utils-044c7f37.cjs.js.map +1 -0
  84. package/skinny/utils-d92b3b76.esm.js +64 -0
  85. package/skinny/utils-d92b3b76.esm.js.map +1 -0
  86. package/skinny/utils.d.ts +18 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerSelect.cjs.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport {\n Key,\n Select,\n SelectValue as BaseSelectValue,\n} from \"react-aria-components\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport {\n flattenOptions,\n HasOptions,\n makeOptionsPropType,\n makeValuePropType,\n useStrictOptions,\n} from \"./option-utils\";\nimport {\n extractPlasmicDataProps,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n Styleable,\n} from \"./utils\";\n\nexport { BaseSelectValue };\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectProps<T extends object>\n extends HasOptions<T>,\n Styleable {\n placeholder?: string;\n isDisabled?: boolean;\n\n value?: Key;\n onChange?: (value: Key) => void;\n\n previewOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n structure?: React.ReactNode;\n\n name?: string;\n \"aria-label\"?: string;\n\n renderOption?: (item: {\n value: string;\n label?: string;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nexport function BaseSelect<T extends object>(props: BaseSelectProps<T>) {\n const {\n value,\n onChange,\n placeholder,\n previewOpen,\n onOpenChange,\n isDisabled,\n className,\n style,\n structure,\n renderOption,\n name,\n \"aria-label\": ariaLabel,\n } = props;\n\n const { options, optionText } = useStrictOptions(props);\n\n const canvas = usePlasmicCanvasContext();\n\n const disabledKeys = flattenOptions(options)\n .filter((op) => op.isDisabled)\n .map((op) => op.value);\n\n return (\n <Select\n placeholder={placeholder}\n selectedKey={value}\n onSelectionChange={onChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n className={className}\n style={style}\n name={name}\n aria-label={ariaLabel}\n {...(previewOpen && canvas ? { isOpen: previewOpen } : undefined)}\n {...extractPlasmicDataProps(props)}\n >\n <PlasmicListBoxContext.Provider\n value={{\n items: options,\n disabledKeys: disabledKeys,\n makeItemProps: (item) => ({\n key: item.value,\n textValue: optionText(item),\n children: renderOption ? renderOption(item) : optionText(item),\n }),\n makeSectionProps: (section) => ({\n section,\n key: section.key,\n }),\n getItemType: (option) =>\n option.type === \"section\" ? \"section\" : \"item\",\n }}\n >\n {structure}\n </PlasmicListBoxContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"BaseSelect\",\n importPath: \"@plasmicpkgs/react-aria/registerSelect\",\n importName: \"BaseSelect\",\n props: {\n options: makeOptionsPropType(),\n placeholder: {\n type: \"string\",\n },\n isDisabled: {\n type: \"boolean\",\n },\n value: makeValuePropType(),\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n previewOpen: {\n type: \"boolean\",\n displayName: \"Preview opened?\",\n description: \"Preview opened state while designing in Plasmic editor\",\n editOnly: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n // optionValue: {\n // type: \"string\",\n // displayName: \"Field key for an option's value\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns the key to use\",\n // },\n // optionText: {\n // type: \"string\",\n // displayName: \"Field key for an option's text value\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns the text value to use\",\n // },\n // optionDisabled: {\n // type: \"string\",\n // displayName: \"Field key for whether an option is disabled\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns true if option should be disabled\",\n // },\n\n structure: {\n type: \"slot\",\n },\n\n // renderOption: {\n // type: \"slot\",\n // displayName: \"Custom render option\",\n // renderPropParams: [\"item\"],\n // hidePlaceholder: true\n // },\n\n name: {\n type: \"string\",\n displayName: \"Form field key\",\n description: \"Name of the input, when submitting in an HTML form\",\n advanced: true,\n },\n\n \"aria-label\": {\n type: \"string\",\n displayName: \"Aria Label\",\n description: \"Label for this input, if no visible label is used\",\n advanced: true,\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"readonly\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n });\n\n registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Base Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/registerSelect\",\n importName: \"SelectValue\",\n parentComponentName: SELECT_NAME,\n props: {},\n });\n}\n"],"names":["makeComponentName","useStrictOptions","usePlasmicCanvasContext","flattenOptions","React","Select","extractPlasmicDataProps","PlasmicListBoxContext","registerComponentHelper","makeOptionsPropType","makeValuePropType","BaseSelectValue"],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { Key, SelectValue as BaseSelectValue } from "react-aria-components";
3
+ import { HasOptions } from "./option-utils";
4
+ import { Registerable, Styleable } from "./utils";
5
+ export { BaseSelectValue };
6
+ export interface BaseSelectProps<T extends object> extends HasOptions<T>, Styleable {
7
+ placeholder?: string;
8
+ isDisabled?: boolean;
9
+ value?: Key;
10
+ onChange?: (value: Key) => void;
11
+ previewOpen?: boolean;
12
+ onOpenChange?: (open: boolean) => void;
13
+ structure?: React.ReactNode;
14
+ name?: string;
15
+ "aria-label"?: string;
16
+ renderOption?: (item: {
17
+ value: string;
18
+ label?: string;
19
+ isDisabled?: boolean;
20
+ }) => React.ReactNode;
21
+ }
22
+ export declare function BaseSelect<T extends object>(props: BaseSelectProps<T>): React.JSX.Element;
23
+ export declare function registerSelect(loader?: Registerable): void;
@@ -0,0 +1,189 @@
1
+ import { usePlasmicCanvasContext } from '@plasmicapp/host';
2
+ import React from 'react';
3
+ import { Select, SelectValue } from 'react-aria-components';
4
+ export { SelectValue as BaseSelectValue } from 'react-aria-components';
5
+ import { P as PlasmicListBoxContext } from './contexts-fd3e1077.esm.js';
6
+ import { u as useStrictOptions, f as flattenOptions, m as makeOptionsPropType, a as makeValuePropType } from './option-utils-765a1782.esm.js';
7
+ import { e as extractPlasmicDataProps, r as registerComponentHelper, m as makeComponentName } from './utils-d92b3b76.esm.js';
8
+ import '@plasmicapp/host/registerComponent';
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
+ const SELECT_NAME = makeComponentName("select");
27
+ function BaseSelect(props) {
28
+ const {
29
+ value,
30
+ onChange,
31
+ placeholder,
32
+ previewOpen,
33
+ onOpenChange,
34
+ isDisabled,
35
+ className,
36
+ style,
37
+ structure,
38
+ renderOption,
39
+ name,
40
+ "aria-label": ariaLabel
41
+ } = props;
42
+ const { options, optionText } = useStrictOptions(props);
43
+ const canvas = usePlasmicCanvasContext();
44
+ const disabledKeys = flattenOptions(options).filter((op) => op.isDisabled).map((op) => op.value);
45
+ return /* @__PURE__ */ React.createElement(
46
+ Select,
47
+ __spreadValues(__spreadValues({
48
+ placeholder,
49
+ selectedKey: value,
50
+ onSelectionChange: onChange,
51
+ onOpenChange,
52
+ isDisabled,
53
+ className,
54
+ style,
55
+ name,
56
+ "aria-label": ariaLabel
57
+ }, previewOpen && canvas ? { isOpen: previewOpen } : void 0), extractPlasmicDataProps(props)),
58
+ /* @__PURE__ */ React.createElement(
59
+ PlasmicListBoxContext.Provider,
60
+ {
61
+ value: {
62
+ items: options,
63
+ disabledKeys,
64
+ makeItemProps: (item) => ({
65
+ key: item.value,
66
+ textValue: optionText(item),
67
+ children: renderOption ? renderOption(item) : optionText(item)
68
+ }),
69
+ makeSectionProps: (section) => ({
70
+ section,
71
+ key: section.key
72
+ }),
73
+ getItemType: (option) => option.type === "section" ? "section" : "item"
74
+ }
75
+ },
76
+ structure
77
+ )
78
+ );
79
+ }
80
+ function registerSelect(loader) {
81
+ registerComponentHelper(loader, BaseSelect, {
82
+ name: SELECT_NAME,
83
+ displayName: "BaseSelect",
84
+ importPath: "@plasmicpkgs/react-aria/registerSelect",
85
+ importName: "BaseSelect",
86
+ props: {
87
+ options: makeOptionsPropType(),
88
+ placeholder: {
89
+ type: "string"
90
+ },
91
+ isDisabled: {
92
+ type: "boolean"
93
+ },
94
+ value: makeValuePropType(),
95
+ onChange: {
96
+ type: "eventHandler",
97
+ argTypes: [{ name: "value", type: "string" }]
98
+ },
99
+ previewOpen: {
100
+ type: "boolean",
101
+ displayName: "Preview opened?",
102
+ description: "Preview opened state while designing in Plasmic editor",
103
+ editOnly: true
104
+ },
105
+ onOpenChange: {
106
+ type: "eventHandler",
107
+ argTypes: [{ name: "isOpen", type: "boolean" }]
108
+ },
109
+ // optionValue: {
110
+ // type: "string",
111
+ // displayName: "Field key for an option's value",
112
+ // hidden: (ps) =>
113
+ // !ps.options ||
114
+ // !ps.options[0] ||
115
+ // typeof ps.options[0] === "string" ||
116
+ // "value" in ps.options[0],
117
+ // exprHint:
118
+ // "Return a function that takes in an option object, and returns the key to use",
119
+ // },
120
+ // optionText: {
121
+ // type: "string",
122
+ // displayName: "Field key for an option's text value",
123
+ // hidden: (ps) =>
124
+ // !ps.options ||
125
+ // !ps.options[0] ||
126
+ // typeof ps.options[0] === "string" ||
127
+ // "value" in ps.options[0],
128
+ // exprHint:
129
+ // "Return a function that takes in an option object, and returns the text value to use",
130
+ // },
131
+ // optionDisabled: {
132
+ // type: "string",
133
+ // displayName: "Field key for whether an option is disabled",
134
+ // hidden: (ps) =>
135
+ // !ps.options ||
136
+ // !ps.options[0] ||
137
+ // typeof ps.options[0] === "string" ||
138
+ // "value" in ps.options[0],
139
+ // exprHint:
140
+ // "Return a function that takes in an option object, and returns true if option should be disabled",
141
+ // },
142
+ structure: {
143
+ type: "slot"
144
+ },
145
+ // renderOption: {
146
+ // type: "slot",
147
+ // displayName: "Custom render option",
148
+ // renderPropParams: ["item"],
149
+ // hidePlaceholder: true
150
+ // },
151
+ name: {
152
+ type: "string",
153
+ displayName: "Form field key",
154
+ description: "Name of the input, when submitting in an HTML form",
155
+ advanced: true
156
+ },
157
+ "aria-label": {
158
+ type: "string",
159
+ displayName: "Aria Label",
160
+ description: "Label for this input, if no visible label is used",
161
+ advanced: true
162
+ }
163
+ },
164
+ states: {
165
+ value: {
166
+ type: "writable",
167
+ valueProp: "value",
168
+ onChangeProp: "onChange",
169
+ variableType: "text"
170
+ },
171
+ isOpen: {
172
+ type: "readonly",
173
+ onChangeProp: "onOpenChange",
174
+ variableType: "boolean"
175
+ }
176
+ }
177
+ });
178
+ registerComponentHelper(loader, SelectValue, {
179
+ name: makeComponentName("select-value"),
180
+ displayName: "Base Selected Value",
181
+ importPath: "@plasmicpkgs/react-aria/registerSelect",
182
+ importName: "SelectValue",
183
+ parentComponentName: SELECT_NAME,
184
+ props: {}
185
+ });
186
+ }
187
+
188
+ export { BaseSelect, registerSelect };
189
+ //# sourceMappingURL=registerSelect.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerSelect.esm.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import { usePlasmicCanvasContext } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport {\n Key,\n Select,\n SelectValue as BaseSelectValue,\n} from \"react-aria-components\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport {\n flattenOptions,\n HasOptions,\n makeOptionsPropType,\n makeValuePropType,\n useStrictOptions,\n} from \"./option-utils\";\nimport {\n extractPlasmicDataProps,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n Styleable,\n} from \"./utils\";\n\nexport { BaseSelectValue };\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectProps<T extends object>\n extends HasOptions<T>,\n Styleable {\n placeholder?: string;\n isDisabled?: boolean;\n\n value?: Key;\n onChange?: (value: Key) => void;\n\n previewOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n\n structure?: React.ReactNode;\n\n name?: string;\n \"aria-label\"?: string;\n\n renderOption?: (item: {\n value: string;\n label?: string;\n isDisabled?: boolean;\n }) => React.ReactNode;\n}\n\nexport function BaseSelect<T extends object>(props: BaseSelectProps<T>) {\n const {\n value,\n onChange,\n placeholder,\n previewOpen,\n onOpenChange,\n isDisabled,\n className,\n style,\n structure,\n renderOption,\n name,\n \"aria-label\": ariaLabel,\n } = props;\n\n const { options, optionText } = useStrictOptions(props);\n\n const canvas = usePlasmicCanvasContext();\n\n const disabledKeys = flattenOptions(options)\n .filter((op) => op.isDisabled)\n .map((op) => op.value);\n\n return (\n <Select\n placeholder={placeholder}\n selectedKey={value}\n onSelectionChange={onChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n className={className}\n style={style}\n name={name}\n aria-label={ariaLabel}\n {...(previewOpen && canvas ? { isOpen: previewOpen } : undefined)}\n {...extractPlasmicDataProps(props)}\n >\n <PlasmicListBoxContext.Provider\n value={{\n items: options,\n disabledKeys: disabledKeys,\n makeItemProps: (item) => ({\n key: item.value,\n textValue: optionText(item),\n children: renderOption ? renderOption(item) : optionText(item),\n }),\n makeSectionProps: (section) => ({\n section,\n key: section.key,\n }),\n getItemType: (option) =>\n option.type === \"section\" ? \"section\" : \"item\",\n }}\n >\n {structure}\n </PlasmicListBoxContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"BaseSelect\",\n importPath: \"@plasmicpkgs/react-aria/registerSelect\",\n importName: \"BaseSelect\",\n props: {\n options: makeOptionsPropType(),\n placeholder: {\n type: \"string\",\n },\n isDisabled: {\n type: \"boolean\",\n },\n value: makeValuePropType(),\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n },\n previewOpen: {\n type: \"boolean\",\n displayName: \"Preview opened?\",\n description: \"Preview opened state while designing in Plasmic editor\",\n editOnly: true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n // optionValue: {\n // type: \"string\",\n // displayName: \"Field key for an option's value\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns the key to use\",\n // },\n // optionText: {\n // type: \"string\",\n // displayName: \"Field key for an option's text value\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns the text value to use\",\n // },\n // optionDisabled: {\n // type: \"string\",\n // displayName: \"Field key for whether an option is disabled\",\n // hidden: (ps) =>\n // !ps.options ||\n // !ps.options[0] ||\n // typeof ps.options[0] === \"string\" ||\n // \"value\" in ps.options[0],\n // exprHint:\n // \"Return a function that takes in an option object, and returns true if option should be disabled\",\n // },\n\n structure: {\n type: \"slot\",\n },\n\n // renderOption: {\n // type: \"slot\",\n // displayName: \"Custom render option\",\n // renderPropParams: [\"item\"],\n // hidePlaceholder: true\n // },\n\n name: {\n type: \"string\",\n displayName: \"Form field key\",\n description: \"Name of the input, when submitting in an HTML form\",\n advanced: true,\n },\n\n \"aria-label\": {\n type: \"string\",\n displayName: \"Aria Label\",\n description: \"Label for this input, if no visible label is used\",\n advanced: true,\n },\n },\n states: {\n value: {\n type: \"writable\",\n valueProp: \"value\",\n onChangeProp: \"onChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"readonly\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n });\n\n registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Base Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/registerSelect\",\n importName: \"SelectValue\",\n parentComponentName: SELECT_NAME,\n props: {},\n });\n}\n"],"names":["BaseSelectValue"],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ 'use strict';
2
+
3
+ var registerComponent = require('@plasmicapp/host/registerComponent');
4
+
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var registerComponent__default = /*#__PURE__*/_interopDefault(registerComponent);
8
+
9
+ var __defProp = Object.defineProperty;
10
+ var __defProps = Object.defineProperties;
11
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
12
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
15
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
+ var __spreadValues = (a, b) => {
17
+ for (var prop in b || (b = {}))
18
+ if (__hasOwnProp.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ if (__getOwnPropSymbols)
21
+ for (var prop of __getOwnPropSymbols(b)) {
22
+ if (__propIsEnum.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ }
25
+ return a;
26
+ };
27
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
28
+ function registerComponentHelper(loader, component, meta, overrides) {
29
+ if (overrides) {
30
+ meta = __spreadProps(__spreadValues(__spreadValues({}, meta), overrides), {
31
+ props: __spreadValues(__spreadValues({}, meta.props), overrides.props)
32
+ });
33
+ if (overrides.parentComponentName) {
34
+ meta.name = makeChildComponentName(
35
+ overrides.parentComponentName,
36
+ meta.name
37
+ );
38
+ }
39
+ }
40
+ if (loader) {
41
+ loader.registerComponent(component, meta);
42
+ } else {
43
+ registerComponent__default.default(component, meta);
44
+ }
45
+ }
46
+ function makeComponentName(name) {
47
+ return `plasmic-react-aria-${name}`;
48
+ }
49
+ function makeChildComponentName(fullParentName, fullChildName) {
50
+ if (!fullParentName) {
51
+ return fullChildName;
52
+ }
53
+ return `${fullParentName}-${fullChildName.replace(
54
+ "plasmic-react-aria-",
55
+ ""
56
+ )}`;
57
+ }
58
+ function extractPlasmicDataProps(props) {
59
+ return Object.fromEntries(
60
+ Object.entries(props).filter(
61
+ ([key, val]) => key.startsWith("data-plasmic-")
62
+ )
63
+ );
64
+ }
65
+ function withoutNils(array) {
66
+ return array.filter((x) => x != null);
67
+ }
68
+
69
+ exports.extractPlasmicDataProps = extractPlasmicDataProps;
70
+ exports.makeChildComponentName = makeChildComponentName;
71
+ exports.makeComponentName = makeComponentName;
72
+ exports.registerComponentHelper = registerComponentHelper;
73
+ exports.withoutNils = withoutNils;
74
+ //# sourceMappingURL=utils-044c7f37.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-044c7f37.cjs.js","sources":["../src/utils.ts"],"sourcesContent":["import type { CodeComponentMeta } from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n};\n\nexport type CodeComponentMetaOverrides<T extends React.ComponentType<any>> =\n Partial<\n Pick<\n CodeComponentMeta<React.ComponentProps<T>>,\n \"parentComponentName\" | \"props\" | \"displayName\"\n >\n >;\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: CodeComponentMeta<React.ComponentProps<T>>,\n overrides?: CodeComponentMetaOverrides<T>\n) {\n if (overrides) {\n meta = {\n ...meta,\n ...overrides,\n props: {\n ...meta.props,\n ...overrides.props,\n },\n };\n if (overrides.parentComponentName) {\n meta.name = makeChildComponentName(\n overrides.parentComponentName,\n meta.name\n );\n }\n }\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\nexport function makeComponentName(name: string) {\n return `plasmic-react-aria-${name}`;\n}\n\nexport function makeChildComponentName(\n fullParentName: string | undefined,\n fullChildName: string\n) {\n if (!fullParentName) {\n return fullChildName;\n }\n return `${fullParentName}-${fullChildName.replace(\n \"plasmic-react-aria-\",\n \"\"\n )}`;\n}\n\nexport interface Styleable {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function extractPlasmicDataProps(props: Record<string, any>) {\n return Object.fromEntries(\n Object.entries(props).filter(([key, val]) =>\n key.startsWith(\"data-plasmic-\")\n )\n );\n}\n\nexport function withoutNils<T>(array: (T | undefined | null)[]) {\n return array.filter((x): x is T => x != null);\n}\n"],"names":["registerComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBO,SAAS,uBACd,CAAA,MAAA,EACA,SACA,EAAA,IAAA,EACA,SACA,EAAA;AACA,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,IAAA,GAAA,aAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACF,OACA,SAFE,CAAA,EAAA;AAAA,MAGL,KAAO,EAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACF,IAAK,CAAA,KAAA,CAAA,EACL,SAAU,CAAA,KAAA,CAAA;AAAA,KAEjB,CAAA,CAAA;AACA,IAAA,IAAI,UAAU,mBAAqB,EAAA;AACjC,MAAA,IAAA,CAAK,IAAO,GAAA,sBAAA;AAAA,QACV,SAAU,CAAA,mBAAA;AAAA,QACV,IAAK,CAAA,IAAA;AAAA,OACP,CAAA;AAAA,KACF;AAAA,GACF;AACA,EAAA,IAAI,MAAQ,EAAA;AACV,IAAO,MAAA,CAAA,iBAAA,CAAkB,WAAW,IAAI,CAAA,CAAA;AAAA,GACnC,MAAA;AACL,IAAAA,kCAAA,CAAkB,WAAW,IAAI,CAAA,CAAA;AAAA,GACnC;AACF,CAAA;AAEO,SAAS,kBAAkB,IAAc,EAAA;AAC9C,EAAA,OAAO,CAAsB,mBAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAC/B,CAAA;AAEgB,SAAA,sBAAA,CACd,gBACA,aACA,EAAA;AACA,EAAA,IAAI,CAAC,cAAgB,EAAA;AACnB,IAAO,OAAA,aAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,CAAA,EAAG,kBAAkB,aAAc,CAAA,OAAA;AAAA,IACxC,qBAAA;AAAA,IACA,EAAA;AAAA,GACF,CAAA,CAAA,CAAA;AACF,CAAA;AAOO,SAAS,wBAAwB,KAA4B,EAAA;AAClE,EAAA,OAAO,MAAO,CAAA,WAAA;AAAA,IACZ,MAAA,CAAO,OAAQ,CAAA,KAAK,CAAE,CAAA,MAAA;AAAA,MAAO,CAAC,CAAC,GAAA,EAAK,GAAG,CACrC,KAAA,GAAA,CAAI,WAAW,eAAe,CAAA;AAAA,KAChC;AAAA,GACF,CAAA;AACF,CAAA;AAEO,SAAS,YAAe,KAAiC,EAAA;AAC9D,EAAA,OAAO,KAAM,CAAA,MAAA,CAAO,CAAC,CAAA,KAAc,KAAK,IAAI,CAAA,CAAA;AAC9C;;;;;;;;"}
@@ -0,0 +1,64 @@
1
+ import registerComponent from '@plasmicapp/host/registerComponent';
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
22
+ function registerComponentHelper(loader, component, meta, overrides) {
23
+ if (overrides) {
24
+ meta = __spreadProps(__spreadValues(__spreadValues({}, meta), overrides), {
25
+ props: __spreadValues(__spreadValues({}, meta.props), overrides.props)
26
+ });
27
+ if (overrides.parentComponentName) {
28
+ meta.name = makeChildComponentName(
29
+ overrides.parentComponentName,
30
+ meta.name
31
+ );
32
+ }
33
+ }
34
+ if (loader) {
35
+ loader.registerComponent(component, meta);
36
+ } else {
37
+ registerComponent(component, meta);
38
+ }
39
+ }
40
+ function makeComponentName(name) {
41
+ return `plasmic-react-aria-${name}`;
42
+ }
43
+ function makeChildComponentName(fullParentName, fullChildName) {
44
+ if (!fullParentName) {
45
+ return fullChildName;
46
+ }
47
+ return `${fullParentName}-${fullChildName.replace(
48
+ "plasmic-react-aria-",
49
+ ""
50
+ )}`;
51
+ }
52
+ function extractPlasmicDataProps(props) {
53
+ return Object.fromEntries(
54
+ Object.entries(props).filter(
55
+ ([key, val]) => key.startsWith("data-plasmic-")
56
+ )
57
+ );
58
+ }
59
+ function withoutNils(array) {
60
+ return array.filter((x) => x != null);
61
+ }
62
+
63
+ export { makeChildComponentName as a, extractPlasmicDataProps as e, makeComponentName as m, registerComponentHelper as r, withoutNils as w };
64
+ //# sourceMappingURL=utils-d92b3b76.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-d92b3b76.esm.js","sources":["../src/utils.ts"],"sourcesContent":["import type { CodeComponentMeta } from \"@plasmicapp/host\";\nimport registerComponent from \"@plasmicapp/host/registerComponent\";\nimport React from \"react\";\n\nexport type Registerable = {\n registerComponent: typeof registerComponent;\n};\n\nexport type CodeComponentMetaOverrides<T extends React.ComponentType<any>> =\n Partial<\n Pick<\n CodeComponentMeta<React.ComponentProps<T>>,\n \"parentComponentName\" | \"props\" | \"displayName\"\n >\n >;\n\nexport function registerComponentHelper<T extends React.ComponentType<any>>(\n loader: Registerable | undefined,\n component: T,\n meta: CodeComponentMeta<React.ComponentProps<T>>,\n overrides?: CodeComponentMetaOverrides<T>\n) {\n if (overrides) {\n meta = {\n ...meta,\n ...overrides,\n props: {\n ...meta.props,\n ...overrides.props,\n },\n };\n if (overrides.parentComponentName) {\n meta.name = makeChildComponentName(\n overrides.parentComponentName,\n meta.name\n );\n }\n }\n if (loader) {\n loader.registerComponent(component, meta);\n } else {\n registerComponent(component, meta);\n }\n}\n\nexport function makeComponentName(name: string) {\n return `plasmic-react-aria-${name}`;\n}\n\nexport function makeChildComponentName(\n fullParentName: string | undefined,\n fullChildName: string\n) {\n if (!fullParentName) {\n return fullChildName;\n }\n return `${fullParentName}-${fullChildName.replace(\n \"plasmic-react-aria-\",\n \"\"\n )}`;\n}\n\nexport interface Styleable {\n className?: string;\n style?: React.CSSProperties;\n}\n\nexport function extractPlasmicDataProps(props: Record<string, any>) {\n return Object.fromEntries(\n Object.entries(props).filter(([key, val]) =>\n key.startsWith(\"data-plasmic-\")\n )\n );\n}\n\nexport function withoutNils<T>(array: (T | undefined | null)[]) {\n return array.filter((x): x is T => x != null);\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAgBO,SAAS,uBACd,CAAA,MAAA,EACA,SACA,EAAA,IAAA,EACA,SACA,EAAA;AACA,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,IAAA,GAAA,aAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACF,OACA,SAFE,CAAA,EAAA;AAAA,MAGL,KAAO,EAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACF,IAAK,CAAA,KAAA,CAAA,EACL,SAAU,CAAA,KAAA,CAAA;AAAA,KAEjB,CAAA,CAAA;AACA,IAAA,IAAI,UAAU,mBAAqB,EAAA;AACjC,MAAA,IAAA,CAAK,IAAO,GAAA,sBAAA;AAAA,QACV,SAAU,CAAA,mBAAA;AAAA,QACV,IAAK,CAAA,IAAA;AAAA,OACP,CAAA;AAAA,KACF;AAAA,GACF;AACA,EAAA,IAAI,MAAQ,EAAA;AACV,IAAO,MAAA,CAAA,iBAAA,CAAkB,WAAW,IAAI,CAAA,CAAA;AAAA,GACnC,MAAA;AACL,IAAA,iBAAA,CAAkB,WAAW,IAAI,CAAA,CAAA;AAAA,GACnC;AACF,CAAA;AAEO,SAAS,kBAAkB,IAAc,EAAA;AAC9C,EAAA,OAAO,CAAsB,mBAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAC/B,CAAA;AAEgB,SAAA,sBAAA,CACd,gBACA,aACA,EAAA;AACA,EAAA,IAAI,CAAC,cAAgB,EAAA;AACnB,IAAO,OAAA,aAAA,CAAA;AAAA,GACT;AACA,EAAO,OAAA,CAAA,EAAG,kBAAkB,aAAc,CAAA,OAAA;AAAA,IACxC,qBAAA;AAAA,IACA,EAAA;AAAA,GACF,CAAA,CAAA,CAAA;AACF,CAAA;AAOO,SAAS,wBAAwB,KAA4B,EAAA;AAClE,EAAA,OAAO,MAAO,CAAA,WAAA;AAAA,IACZ,MAAA,CAAO,OAAQ,CAAA,KAAK,CAAE,CAAA,MAAA;AAAA,MAAO,CAAC,CAAC,GAAA,EAAK,GAAG,CACrC,KAAA,GAAA,CAAI,WAAW,eAAe,CAAA;AAAA,KAChC;AAAA,GACF,CAAA;AACF,CAAA;AAEO,SAAS,YAAe,KAAiC,EAAA;AAC9D,EAAA,OAAO,KAAM,CAAA,MAAA,CAAO,CAAC,CAAA,KAAc,KAAK,IAAI,CAAA,CAAA;AAC9C;;;;"}
@@ -0,0 +1,18 @@
1
+ import type { CodeComponentMeta } from "@plasmicapp/host";
2
+ import registerComponent from "@plasmicapp/host/registerComponent";
3
+ import React from "react";
4
+ export type Registerable = {
5
+ registerComponent: typeof registerComponent;
6
+ };
7
+ export type CodeComponentMetaOverrides<T extends React.ComponentType<any>> = Partial<Pick<CodeComponentMeta<React.ComponentProps<T>>, "parentComponentName" | "props" | "displayName">>;
8
+ export declare function registerComponentHelper<T extends React.ComponentType<any>>(loader: Registerable | undefined, component: T, meta: CodeComponentMeta<React.ComponentProps<T>>, overrides?: CodeComponentMetaOverrides<T>): void;
9
+ export declare function makeComponentName(name: string): string;
10
+ export declare function makeChildComponentName(fullParentName: string | undefined, fullChildName: string): string;
11
+ export interface Styleable {
12
+ className?: string;
13
+ style?: React.CSSProperties;
14
+ }
15
+ export declare function extractPlasmicDataProps(props: Record<string, any>): {
16
+ [k: string]: any;
17
+ };
18
+ export declare function withoutNils<T>(array: (T | undefined | null)[]): T[];