@plasmicpkgs/react-aria 0.0.89 → 0.0.91
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/{ListBoxItemIdManager.d.ts → OptionsItemIdManager.d.ts} +1 -1
- package/dist/contexts.d.ts +8 -4
- package/dist/react-aria.esm.js +189 -93
- package/dist/react-aria.esm.js.map +1 -1
- package/dist/react-aria.js +188 -92
- package/dist/react-aria.js.map +1 -1
- package/dist/registerCheckbox.d.ts +5 -2
- package/dist/registerCheckboxGroup.d.ts +5 -2
- package/dist/registerRadio.d.ts +5 -2
- package/dist/registerRadioGroup.d.ts +5 -2
- package/package.json +2 -2
- package/skinny/OptionsItemIdManager-832b8cfe.esm.js +54 -0
- package/skinny/OptionsItemIdManager-832b8cfe.esm.js.map +1 -0
- package/skinny/OptionsItemIdManager-a89a28b9.cjs.js +56 -0
- package/skinny/OptionsItemIdManager-a89a28b9.cjs.js.map +1 -0
- package/skinny/{ListBoxItemIdManager.d.ts → OptionsItemIdManager.d.ts} +1 -1
- package/skinny/{common-7ecf439d.esm.js → common-d75204cf.esm.js} +2 -2
- package/skinny/{common-7ecf439d.esm.js.map → common-d75204cf.esm.js.map} +1 -1
- package/skinny/contexts-5cb81c2f.esm.js.map +1 -1
- package/skinny/contexts-6d0cb2b1.cjs.js.map +1 -1
- package/skinny/contexts.d.ts +8 -4
- package/skinny/registerButton.esm.js +2 -2
- package/skinny/registerCheckbox.cjs.js +48 -4
- package/skinny/registerCheckbox.cjs.js.map +1 -1
- package/skinny/registerCheckbox.d.ts +5 -2
- package/skinny/registerCheckbox.esm.js +51 -7
- package/skinny/registerCheckbox.esm.js.map +1 -1
- package/skinny/registerCheckboxGroup.cjs.js +19 -8
- package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
- package/skinny/registerCheckboxGroup.d.ts +5 -2
- package/skinny/registerCheckboxGroup.esm.js +22 -11
- package/skinny/registerCheckboxGroup.esm.js.map +1 -1
- package/skinny/registerComboBox.cjs.js +4 -3
- package/skinny/registerComboBox.cjs.js.map +1 -1
- package/skinny/registerComboBox.esm.js +6 -5
- package/skinny/registerComboBox.esm.js.map +1 -1
- package/skinny/registerDescription.esm.js +1 -1
- package/skinny/registerDialogTrigger.esm.js +2 -2
- package/skinny/registerFieldError.esm.js +1 -1
- package/skinny/registerForm.esm.js +1 -1
- package/skinny/registerHeading.esm.js +1 -1
- package/skinny/registerInput.esm.js +2 -2
- package/skinny/registerLabel.esm.js +1 -1
- package/skinny/{registerListBox-7d927361.cjs.js → registerListBox-25f29573.cjs.js} +3 -55
- package/skinny/registerListBox-25f29573.cjs.js.map +1 -0
- package/skinny/{registerListBox-4d5f98f9.esm.js → registerListBox-b6e4aabc.esm.js} +5 -56
- package/skinny/registerListBox-b6e4aabc.esm.js.map +1 -0
- package/skinny/registerListBox.cjs.js +2 -1
- package/skinny/registerListBox.cjs.js.map +1 -1
- package/skinny/registerListBox.esm.js +3 -2
- package/skinny/registerListBox.esm.js.map +1 -1
- package/skinny/registerListBoxItem.esm.js +1 -1
- package/skinny/registerModal.esm.js +2 -2
- package/skinny/registerOverlayArrow.esm.js +2 -2
- package/skinny/registerPopover.esm.js +2 -2
- package/skinny/registerRadio.cjs.js +47 -4
- package/skinny/registerRadio.cjs.js.map +1 -1
- package/skinny/registerRadio.d.ts +5 -2
- package/skinny/registerRadio.esm.js +50 -7
- package/skinny/registerRadio.esm.js.map +1 -1
- package/skinny/registerRadioGroup.cjs.js +19 -4
- package/skinny/registerRadioGroup.cjs.js.map +1 -1
- package/skinny/registerRadioGroup.d.ts +5 -2
- package/skinny/registerRadioGroup.esm.js +22 -7
- package/skinny/registerRadioGroup.esm.js.map +1 -1
- package/skinny/registerSection.cjs.js +2 -1
- package/skinny/registerSection.cjs.js.map +1 -1
- package/skinny/registerSection.esm.js +3 -2
- package/skinny/registerSection.esm.js.map +1 -1
- package/skinny/registerSelect.cjs.js +4 -3
- package/skinny/registerSelect.cjs.js.map +1 -1
- package/skinny/registerSelect.esm.js +6 -5
- package/skinny/registerSelect.esm.js.map +1 -1
- package/skinny/registerSlider.esm.js +2 -2
- package/skinny/registerSliderOutput.esm.js +1 -1
- package/skinny/registerSliderThumb.esm.js +2 -2
- package/skinny/registerSliderTrack.cjs.js +2 -17
- package/skinny/registerSliderTrack.cjs.js.map +1 -1
- package/skinny/registerSliderTrack.esm.js +3 -18
- package/skinny/registerSliderTrack.esm.js.map +1 -1
- package/skinny/registerSwitch.esm.js +2 -2
- package/skinny/registerText.esm.js +1 -1
- package/skinny/registerTextArea.esm.js +2 -2
- package/skinny/registerTextField.esm.js +2 -2
- package/skinny/registerTooltip.esm.js +2 -2
- package/skinny/{utils-41b3d43b.esm.js → utils-bcdc928e.esm.js} +2 -2
- package/skinny/{utils-41b3d43b.esm.js.map → utils-bcdc928e.esm.js.map} +1 -1
- package/skinny/registerListBox-4d5f98f9.esm.js.map +0 -1
- package/skinny/registerListBox-7d927361.cjs.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FieldError } from 'react-aria-components';
|
|
3
|
-
import { r as registerComponentHelper,
|
|
3
|
+
import { r as registerComponentHelper, m as makeComponentName } from './utils-bcdc928e.esm.js';
|
|
4
4
|
import '@plasmicapp/host';
|
|
5
5
|
import '@plasmicapp/host/registerComponent';
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Form } from 'react-aria-components';
|
|
3
|
-
import { r as registerComponentHelper,
|
|
3
|
+
import { r as registerComponentHelper, m as makeComponentName } from './utils-bcdc928e.esm.js';
|
|
4
4
|
import '@plasmicapp/host';
|
|
5
5
|
import '@plasmicapp/host/registerComponent';
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Heading } from 'react-aria-components';
|
|
3
|
-
import {
|
|
3
|
+
import { m as makeComponentName, r as registerComponentHelper } from './utils-bcdc928e.esm.js';
|
|
4
4
|
import '@plasmicapp/host';
|
|
5
5
|
import '@plasmicapp/host/registerComponent';
|
|
6
6
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { useCallback } from 'react';
|
|
2
2
|
import { mergeProps } from 'react-aria';
|
|
3
3
|
import { Input } from 'react-aria-components';
|
|
4
|
-
import { r as resolveAutoComplete, g as getCommonProps } from './common-
|
|
4
|
+
import { r as resolveAutoComplete, g as getCommonProps } from './common-d75204cf.esm.js';
|
|
5
5
|
import { g as PlasmicTextFieldContext, c as PlasmicInputContext } from './contexts-5cb81c2f.esm.js';
|
|
6
|
-
import {
|
|
6
|
+
import { m as makeComponentName, r as registerComponentHelper } from './utils-bcdc928e.esm.js';
|
|
7
7
|
import { p as pickAriaComponentVariants } from './variant-utils-4405ebb0.esm.js';
|
|
8
8
|
import '@plasmicapp/host';
|
|
9
9
|
import '@plasmicapp/host/registerComponent';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Label } from 'react-aria-components';
|
|
3
|
-
import { e as extractPlasmicDataProps,
|
|
3
|
+
import { e as extractPlasmicDataProps, m as makeComponentName, r as registerComponentHelper } from './utils-bcdc928e.esm.js';
|
|
4
4
|
import '@plasmicapp/host';
|
|
5
5
|
import '@plasmicapp/host/registerComponent';
|
|
6
6
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var reactAriaComponents = require('react-aria-components');
|
|
5
5
|
var contexts = require('./contexts-6d0cb2b1.cjs.js');
|
|
6
|
+
var OptionsItemIdManager = require('./OptionsItemIdManager-a89a28b9.cjs.js');
|
|
6
7
|
var registerListBoxItem = require('./registerListBoxItem.cjs.js');
|
|
7
8
|
var utils = require('./utils-d1c8094f.cjs.js');
|
|
8
9
|
var variantUtils = require('./variant-utils-0ad70db8.cjs.js');
|
|
@@ -11,58 +12,6 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
11
12
|
|
|
12
13
|
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
13
14
|
|
|
14
|
-
class ListBoxItemIdManager {
|
|
15
|
-
constructor() {
|
|
16
|
-
this._ids = /* @__PURE__ */ new Set();
|
|
17
|
-
this._observers = /* @__PURE__ */ new Set();
|
|
18
|
-
}
|
|
19
|
-
generateDuplicateId(id, count = 1) {
|
|
20
|
-
const dupId = `${id} duplicate(${count})`;
|
|
21
|
-
if (this._ids.has(dupId)) {
|
|
22
|
-
return this.generateDuplicateId(id, count + 1);
|
|
23
|
-
} else {
|
|
24
|
-
return dupId;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
generateMissingId(count = 1) {
|
|
28
|
-
const missingId = `missing(${count})`;
|
|
29
|
-
if (this._ids.has(missingId)) {
|
|
30
|
-
return this.generateMissingId(count + 1);
|
|
31
|
-
} else {
|
|
32
|
-
return missingId;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
register(id) {
|
|
36
|
-
const idStr = id === void 0 ? void 0 : String(id).trim();
|
|
37
|
-
let newId;
|
|
38
|
-
if (!idStr) {
|
|
39
|
-
newId = this.generateMissingId();
|
|
40
|
-
} else if (this._ids.has(idStr)) {
|
|
41
|
-
newId = this.generateDuplicateId(idStr);
|
|
42
|
-
} else {
|
|
43
|
-
newId = idStr;
|
|
44
|
-
}
|
|
45
|
-
this._ids.add(newId);
|
|
46
|
-
this.notify();
|
|
47
|
-
return newId;
|
|
48
|
-
}
|
|
49
|
-
unregister(id) {
|
|
50
|
-
this._ids.delete(id);
|
|
51
|
-
this.notify();
|
|
52
|
-
}
|
|
53
|
-
subscribe(observer) {
|
|
54
|
-
this._observers.add(observer);
|
|
55
|
-
observer(this.ids);
|
|
56
|
-
}
|
|
57
|
-
// Notify all observers about an event.
|
|
58
|
-
notify() {
|
|
59
|
-
this._observers.forEach((observer) => observer(this.ids));
|
|
60
|
-
}
|
|
61
|
-
get ids() {
|
|
62
|
-
return Array.from(this._ids);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
15
|
var __defProp$1 = Object.defineProperty;
|
|
67
16
|
var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
|
|
68
17
|
var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
|
|
@@ -205,7 +154,7 @@ function BaseListBox(props) {
|
|
|
205
154
|
const idManager = React.useMemo(
|
|
206
155
|
() => {
|
|
207
156
|
var _a2;
|
|
208
|
-
return (_a2 = context == null ? void 0 : context.idManager) != null ? _a2 : new
|
|
157
|
+
return (_a2 = context == null ? void 0 : context.idManager) != null ? _a2 : new OptionsItemIdManager.OptionsItemIdManager();
|
|
209
158
|
},
|
|
210
159
|
[]
|
|
211
160
|
);
|
|
@@ -424,8 +373,7 @@ function registerListBox(loader, overrides) {
|
|
|
424
373
|
exports.BaseListBox = BaseListBox;
|
|
425
374
|
exports.BaseSection = BaseSection;
|
|
426
375
|
exports.LIST_BOX_COMPONENT_NAME = LIST_BOX_COMPONENT_NAME;
|
|
427
|
-
exports.ListBoxItemIdManager = ListBoxItemIdManager;
|
|
428
376
|
exports.listboxHelpers = listboxHelpers;
|
|
429
377
|
exports.registerListBox = registerListBox;
|
|
430
378
|
exports.registerSection = registerSection;
|
|
431
|
-
//# sourceMappingURL=registerListBox-
|
|
379
|
+
//# sourceMappingURL=registerListBox-25f29573.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerListBox-25f29573.cjs.js","sources":["../src/registerSection.tsx","../src/registerListBox.tsx"],"sourcesContent":["import React from \"react\";\nimport { Header, Section } from \"react-aria-components\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { BaseListBox } from \"./registerListBox\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n Styleable,\n} from \"./utils\";\n\nexport interface BaseSectionProps extends Styleable {\n items: React.ReactNode;\n header: React.ReactNode;\n}\n\nexport function BaseSection(props: BaseSectionProps) {\n const { header, items, ...rest } = props;\n const contextProps = React.useContext(PlasmicListBoxContext);\n const isStandalone = !contextProps;\n\n const section = (\n <Section {...rest}>\n <Header>{header}</Header>\n {items}\n </Section>\n );\n\n if (isStandalone) {\n return (\n // BaseListbox should give section a listbox context (that it can't be used without)\n // as well as the id manager (that is needed to identify and warn about duplication of ids)\n // selection mode needs to be single/multiple to be able to trigger hover state on it.\n <BaseListBox selectionMode=\"single\">{section}</BaseListBox>\n );\n }\n\n return section;\n}\n\nexport function registerSection(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSection>\n) {\n return registerComponentHelper(\n loader,\n BaseSection,\n {\n name: makeComponentName(\"section\"),\n displayName: \"Aria Section\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSection\",\n importName: \"BaseSection\",\n defaultStyles: {\n width: \"stretch\",\n padding: \"10px\",\n },\n props: {\n header: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"text\",\n value: \"Section Header.\",\n },\n ],\n },\n items: {\n type: \"slot\",\n mergeWithParent: true,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Key, ListBox, ListBoxRenderProps } from \"react-aria-components\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { OptionsItemIdManager } from \"./OptionsItemIdManager\";\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\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\nexport interface BaseListBoxControlContextData {\n itemIds: string[];\n isStandalone: boolean;\n}\n\nconst LISTBOX_VARIANTS = [\"focused\" as const, \"focusVisible\" as const];\n\nconst { variants } = pickAriaComponentVariants(LISTBOX_VARIANTS);\n\nexport interface BaseListBoxProps\n extends Omit<\n React.ComponentProps<typeof ListBox>,\n \"selectedKeys\" | \"defaultSelectedKeys\" | \"className\"\n >,\n HasControlContextData<BaseListBoxControlContextData>,\n WithVariants<typeof LISTBOX_VARIANTS> {\n children?: React.ReactNode;\n selectedKeys?: string | string[] | undefined;\n defaultSelectedKeys?: string | string[] | undefined;\n className?: string;\n}\n\nexport const listboxHelpers = {\n states: {\n selectedValue: {\n onChangeArgsToValue: (value: Set<Key> | string[] | string) => {\n // only single selection is supported\n return Array.from(value)[0];\n },\n },\n },\n};\n\nfunction normalizeSelectedKeys(selectedKeys: string | string[] | undefined) {\n // Listbox expects it to be of type \"all\" | Iterable\n return typeof selectedKeys === \"string\" && selectedKeys !== \"all\"\n ? [selectedKeys]\n : selectedKeys;\n}\n\nexport function BaseListBox(props: BaseListBoxProps) {\n const {\n setControlContextData: setControlContextData,\n children,\n className,\n selectedKeys,\n defaultSelectedKeys,\n plasmicUpdateVariant,\n ...rest\n } = props;\n const context = React.useContext(PlasmicListBoxContext);\n const isStandalone = !context;\n const [ids, setIds] = useState<string[]>([]);\n const idManager = useMemo(\n () => context?.idManager ?? new OptionsItemIdManager(),\n []\n );\n\n useEffect(() => {\n setControlContextData?.({\n itemIds: ids,\n isStandalone,\n });\n }, [ids, isStandalone, setControlContextData]);\n\n useEffect(() => {\n idManager.subscribe((_ids: string[]) => {\n setIds(_ids);\n });\n }, []);\n\n const classNameProp = useCallback(\n ({ isFocusVisible, isFocused }: ListBoxRenderProps) => {\n plasmicUpdateVariant?.({\n focused: isFocused,\n focusVisible: isFocusVisible,\n });\n return className ?? \"\";\n },\n [className, plasmicUpdateVariant]\n );\n\n const listbox = (\n <ListBox\n selectedKeys={normalizeSelectedKeys(selectedKeys)}\n defaultSelectedKeys={normalizeSelectedKeys(defaultSelectedKeys)}\n className={classNameProp}\n {...rest}\n >\n {children}\n </ListBox>\n );\n\n if (isStandalone) {\n return (\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {listbox}\n </PlasmicListBoxContext.Provider>\n );\n }\n\n return listbox;\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 props: {\n items: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-1\",\n textValue: \"Section1-Item 1\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 1\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-2\",\n textValue: \"Section1-Item 2\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 2\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-3\",\n textValue: \"Section1-Item 3\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 3\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n ],\n },\n },\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 variants,\n defaultStyles: {\n width: \"250px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n props: {\n children: {\n type: \"slot\",\n displayName: \"List Items\",\n allowedComponents: [listBoxItemMeta.name, sectionMeta.name],\n allowRootWrapper: true,\n defaultValue: [\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"1\",\n textValue: \"Item 1\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 1\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"2\",\n textValue: \"Item 2\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 2\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"3\",\n textValue: \"Item 3\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 3\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: sectionMeta.name,\n },\n ],\n },\n selectionMode: {\n type: \"choice\",\n description: \"The selection mode of the listbox\",\n options: [\"none\", \"single\"],\n defaultValue: \"none\",\n hidden: (_props, ctx) => !ctx?.isStandalone,\n },\n selectedKeys: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKeys\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) =>\n ctx?.itemIds ? Array.from(ctx.itemIds) : [],\n hidden: (props, ctx) =>\n !ctx?.isStandalone || props.selectionMode === \"none\",\n // We do not support multiple selections yet (Because React Aria select and combobox only support single selections).\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValues\", type: \"object\" }],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKeys\",\n hidden: (props, ctx) =>\n !ctx?.isStandalone || props.selectionMode === \"none\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n ...listboxHelpers.states.selectedValue,\n },\n },\n componentHelpers: {\n helpers: listboxHelpers,\n importName: \"listboxHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBox\",\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["__objRest","React","PlasmicListBoxContext","Section","__spreadValues","Header","registerComponentHelper","makeComponentName","pickAriaComponentVariants","useState","useMemo","_a","OptionsItemIdManager","useEffect","useCallback","ListBox","registerListBoxItem","makeDefaultListBoxItemChildren"],"mappings":"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"}
|
|
@@ -1,62 +1,11 @@
|
|
|
1
1
|
import React, { useState, useMemo, useEffect, useCallback } from 'react';
|
|
2
2
|
import { Section, Header, ListBox } from 'react-aria-components';
|
|
3
3
|
import { b as PlasmicListBoxContext } from './contexts-5cb81c2f.esm.js';
|
|
4
|
+
import { O as OptionsItemIdManager } from './OptionsItemIdManager-832b8cfe.esm.js';
|
|
4
5
|
import { registerListBoxItem, makeDefaultListBoxItemChildren } from './registerListBoxItem.esm.js';
|
|
5
|
-
import { r as registerComponentHelper,
|
|
6
|
+
import { r as registerComponentHelper, m as makeComponentName } from './utils-bcdc928e.esm.js';
|
|
6
7
|
import { p as pickAriaComponentVariants } from './variant-utils-4405ebb0.esm.js';
|
|
7
8
|
|
|
8
|
-
class ListBoxItemIdManager {
|
|
9
|
-
constructor() {
|
|
10
|
-
this._ids = /* @__PURE__ */ new Set();
|
|
11
|
-
this._observers = /* @__PURE__ */ new Set();
|
|
12
|
-
}
|
|
13
|
-
generateDuplicateId(id, count = 1) {
|
|
14
|
-
const dupId = `${id} duplicate(${count})`;
|
|
15
|
-
if (this._ids.has(dupId)) {
|
|
16
|
-
return this.generateDuplicateId(id, count + 1);
|
|
17
|
-
} else {
|
|
18
|
-
return dupId;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
generateMissingId(count = 1) {
|
|
22
|
-
const missingId = `missing(${count})`;
|
|
23
|
-
if (this._ids.has(missingId)) {
|
|
24
|
-
return this.generateMissingId(count + 1);
|
|
25
|
-
} else {
|
|
26
|
-
return missingId;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
register(id) {
|
|
30
|
-
const idStr = id === void 0 ? void 0 : String(id).trim();
|
|
31
|
-
let newId;
|
|
32
|
-
if (!idStr) {
|
|
33
|
-
newId = this.generateMissingId();
|
|
34
|
-
} else if (this._ids.has(idStr)) {
|
|
35
|
-
newId = this.generateDuplicateId(idStr);
|
|
36
|
-
} else {
|
|
37
|
-
newId = idStr;
|
|
38
|
-
}
|
|
39
|
-
this._ids.add(newId);
|
|
40
|
-
this.notify();
|
|
41
|
-
return newId;
|
|
42
|
-
}
|
|
43
|
-
unregister(id) {
|
|
44
|
-
this._ids.delete(id);
|
|
45
|
-
this.notify();
|
|
46
|
-
}
|
|
47
|
-
subscribe(observer) {
|
|
48
|
-
this._observers.add(observer);
|
|
49
|
-
observer(this.ids);
|
|
50
|
-
}
|
|
51
|
-
// Notify all observers about an event.
|
|
52
|
-
notify() {
|
|
53
|
-
this._observers.forEach((observer) => observer(this.ids));
|
|
54
|
-
}
|
|
55
|
-
get ids() {
|
|
56
|
-
return Array.from(this._ids);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
9
|
var __defProp$1 = Object.defineProperty;
|
|
61
10
|
var __getOwnPropSymbols$1 = Object.getOwnPropertySymbols;
|
|
62
11
|
var __hasOwnProp$1 = Object.prototype.hasOwnProperty;
|
|
@@ -199,7 +148,7 @@ function BaseListBox(props) {
|
|
|
199
148
|
const idManager = useMemo(
|
|
200
149
|
() => {
|
|
201
150
|
var _a2;
|
|
202
|
-
return (_a2 = context == null ? void 0 : context.idManager) != null ? _a2 : new
|
|
151
|
+
return (_a2 = context == null ? void 0 : context.idManager) != null ? _a2 : new OptionsItemIdManager();
|
|
203
152
|
},
|
|
204
153
|
[]
|
|
205
154
|
);
|
|
@@ -415,5 +364,5 @@ function registerListBox(loader, overrides) {
|
|
|
415
364
|
);
|
|
416
365
|
}
|
|
417
366
|
|
|
418
|
-
export { BaseSection as B,
|
|
419
|
-
//# sourceMappingURL=registerListBox-
|
|
367
|
+
export { BaseSection as B, LIST_BOX_COMPONENT_NAME as L, BaseListBox as a, registerListBox as b, listboxHelpers as l, registerSection as r };
|
|
368
|
+
//# sourceMappingURL=registerListBox-b6e4aabc.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registerListBox-b6e4aabc.esm.js","sources":["../src/registerSection.tsx","../src/registerListBox.tsx"],"sourcesContent":["import React from \"react\";\nimport { Header, Section } from \"react-aria-components\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { BaseListBox } from \"./registerListBox\";\nimport {\n CodeComponentMetaOverrides,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n Styleable,\n} from \"./utils\";\n\nexport interface BaseSectionProps extends Styleable {\n items: React.ReactNode;\n header: React.ReactNode;\n}\n\nexport function BaseSection(props: BaseSectionProps) {\n const { header, items, ...rest } = props;\n const contextProps = React.useContext(PlasmicListBoxContext);\n const isStandalone = !contextProps;\n\n const section = (\n <Section {...rest}>\n <Header>{header}</Header>\n {items}\n </Section>\n );\n\n if (isStandalone) {\n return (\n // BaseListbox should give section a listbox context (that it can't be used without)\n // as well as the id manager (that is needed to identify and warn about duplication of ids)\n // selection mode needs to be single/multiple to be able to trigger hover state on it.\n <BaseListBox selectionMode=\"single\">{section}</BaseListBox>\n );\n }\n\n return section;\n}\n\nexport function registerSection(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseSection>\n) {\n return registerComponentHelper(\n loader,\n BaseSection,\n {\n name: makeComponentName(\"section\"),\n displayName: \"Aria Section\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSection\",\n importName: \"BaseSection\",\n defaultStyles: {\n width: \"stretch\",\n padding: \"10px\",\n },\n props: {\n header: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"text\",\n value: \"Section Header.\",\n },\n ],\n },\n items: {\n type: \"slot\",\n mergeWithParent: true,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n","import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { Key, ListBox, ListBoxRenderProps } from \"react-aria-components\";\nimport { PlasmicListBoxContext } from \"./contexts\";\nimport { OptionsItemIdManager } from \"./OptionsItemIdManager\";\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\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\nexport interface BaseListBoxControlContextData {\n itemIds: string[];\n isStandalone: boolean;\n}\n\nconst LISTBOX_VARIANTS = [\"focused\" as const, \"focusVisible\" as const];\n\nconst { variants } = pickAriaComponentVariants(LISTBOX_VARIANTS);\n\nexport interface BaseListBoxProps\n extends Omit<\n React.ComponentProps<typeof ListBox>,\n \"selectedKeys\" | \"defaultSelectedKeys\" | \"className\"\n >,\n HasControlContextData<BaseListBoxControlContextData>,\n WithVariants<typeof LISTBOX_VARIANTS> {\n children?: React.ReactNode;\n selectedKeys?: string | string[] | undefined;\n defaultSelectedKeys?: string | string[] | undefined;\n className?: string;\n}\n\nexport const listboxHelpers = {\n states: {\n selectedValue: {\n onChangeArgsToValue: (value: Set<Key> | string[] | string) => {\n // only single selection is supported\n return Array.from(value)[0];\n },\n },\n },\n};\n\nfunction normalizeSelectedKeys(selectedKeys: string | string[] | undefined) {\n // Listbox expects it to be of type \"all\" | Iterable\n return typeof selectedKeys === \"string\" && selectedKeys !== \"all\"\n ? [selectedKeys]\n : selectedKeys;\n}\n\nexport function BaseListBox(props: BaseListBoxProps) {\n const {\n setControlContextData: setControlContextData,\n children,\n className,\n selectedKeys,\n defaultSelectedKeys,\n plasmicUpdateVariant,\n ...rest\n } = props;\n const context = React.useContext(PlasmicListBoxContext);\n const isStandalone = !context;\n const [ids, setIds] = useState<string[]>([]);\n const idManager = useMemo(\n () => context?.idManager ?? new OptionsItemIdManager(),\n []\n );\n\n useEffect(() => {\n setControlContextData?.({\n itemIds: ids,\n isStandalone,\n });\n }, [ids, isStandalone, setControlContextData]);\n\n useEffect(() => {\n idManager.subscribe((_ids: string[]) => {\n setIds(_ids);\n });\n }, []);\n\n const classNameProp = useCallback(\n ({ isFocusVisible, isFocused }: ListBoxRenderProps) => {\n plasmicUpdateVariant?.({\n focused: isFocused,\n focusVisible: isFocusVisible,\n });\n return className ?? \"\";\n },\n [className, plasmicUpdateVariant]\n );\n\n const listbox = (\n <ListBox\n selectedKeys={normalizeSelectedKeys(selectedKeys)}\n defaultSelectedKeys={normalizeSelectedKeys(defaultSelectedKeys)}\n className={classNameProp}\n {...rest}\n >\n {children}\n </ListBox>\n );\n\n if (isStandalone) {\n return (\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {listbox}\n </PlasmicListBoxContext.Provider>\n );\n }\n\n return listbox;\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 props: {\n items: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-1\",\n textValue: \"Section1-Item 1\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 1\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-2\",\n textValue: \"Section1-Item 2\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 2\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"section-1-3\",\n textValue: \"Section1-Item 3\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 3\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n ],\n },\n },\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 variants,\n defaultStyles: {\n width: \"250px\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n props: {\n children: {\n type: \"slot\",\n displayName: \"List Items\",\n allowedComponents: [listBoxItemMeta.name, sectionMeta.name],\n allowRootWrapper: true,\n defaultValue: [\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"1\",\n textValue: \"Item 1\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 1\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"2\",\n textValue: \"Item 2\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 2\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: listBoxItemMeta.name,\n props: {\n id: \"3\",\n textValue: \"Item 3\",\n children: [\n makeDefaultListBoxItemChildren(\n \"Item 3\",\n \"Add dynamic values to make it more interesting\"\n ),\n ],\n },\n },\n {\n type: \"component\",\n name: sectionMeta.name,\n },\n ],\n },\n selectionMode: {\n type: \"choice\",\n description: \"The selection mode of the listbox\",\n options: [\"none\", \"single\"],\n defaultValue: \"none\",\n hidden: (_props, ctx) => !ctx?.isStandalone,\n },\n selectedKeys: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKeys\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) =>\n ctx?.itemIds ? Array.from(ctx.itemIds) : [],\n hidden: (props, ctx) =>\n !ctx?.isStandalone || props.selectionMode === \"none\",\n // We do not support multiple selections yet (Because React Aria select and combobox only support single selections).\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValues\", type: \"object\" }],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKeys\",\n hidden: (props, ctx) =>\n !ctx?.isStandalone || props.selectionMode === \"none\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n ...listboxHelpers.states.selectedValue,\n },\n },\n componentHelpers: {\n helpers: listboxHelpers,\n importName: \"listboxHelpers\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerListBox\",\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["__objRest","__spreadValues","_a"],"mappings":"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"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
require('react');
|
|
4
4
|
require('react-aria-components');
|
|
5
5
|
require('./contexts-6d0cb2b1.cjs.js');
|
|
6
|
-
|
|
6
|
+
require('./OptionsItemIdManager-a89a28b9.cjs.js');
|
|
7
7
|
require('./registerListBoxItem.cjs.js');
|
|
8
|
+
var registerSection = require('./registerListBox-25f29573.cjs.js');
|
|
8
9
|
require('./utils-d1c8094f.cjs.js');
|
|
9
10
|
require('./variant-utils-0ad70db8.cjs.js');
|
|
10
11
|
require('./registerDescription.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,9 +1,10 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import 'react-aria-components';
|
|
3
3
|
import './contexts-5cb81c2f.esm.js';
|
|
4
|
-
|
|
4
|
+
import './OptionsItemIdManager-832b8cfe.esm.js';
|
|
5
5
|
import './registerListBoxItem.esm.js';
|
|
6
|
-
|
|
6
|
+
export { a as BaseListBox, L as LIST_BOX_COMPONENT_NAME, l as listboxHelpers, b as registerListBox } from './registerListBox-b6e4aabc.esm.js';
|
|
7
|
+
import './utils-bcdc928e.esm.js';
|
|
7
8
|
import './variant-utils-4405ebb0.esm.js';
|
|
8
9
|
import './registerDescription.esm.js';
|
|
9
10
|
import './registerText.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 @@ import { ListBoxItem, ListBox } from 'react-aria-components';
|
|
|
3
3
|
import { b as PlasmicListBoxContext } from './contexts-5cb81c2f.esm.js';
|
|
4
4
|
import { DESCRIPTION_COMPONENT_NAME } from './registerDescription.esm.js';
|
|
5
5
|
import { TEXT_COMPONENT_NAME } from './registerText.esm.js';
|
|
6
|
-
import { r as registerComponentHelper,
|
|
6
|
+
import { r as registerComponentHelper, m as makeComponentName } from './utils-bcdc928e.esm.js';
|
|
7
7
|
import { p as pickAriaComponentVariants } from './variant-utils-4405ebb0.esm.js';
|
|
8
8
|
import '@plasmicapp/host';
|
|
9
9
|
import '@plasmicapp/host/registerComponent';
|
|
@@ -2,10 +2,10 @@ import { usePlasmicCanvasContext, usePlasmicCanvasComponentInfo } from '@plasmic
|
|
|
2
2
|
import React, { forwardRef, useImperativeHandle } from 'react';
|
|
3
3
|
import { mergeProps } from 'react-aria';
|
|
4
4
|
import { ModalOverlay, Modal, Dialog } from 'react-aria-components';
|
|
5
|
-
import { h as hasParent } from './common-
|
|
5
|
+
import { h as hasParent } from './common-d75204cf.esm.js';
|
|
6
6
|
import { d as PlasmicDialogTriggerContext } from './contexts-5cb81c2f.esm.js';
|
|
7
7
|
import { HEADING_COMPONENT_NAME } from './registerHeading.esm.js';
|
|
8
|
-
import {
|
|
8
|
+
import { m as makeComponentName, r as registerComponentHelper } from './utils-bcdc928e.esm.js';
|
|
9
9
|
import '@plasmicapp/host/registerComponent';
|
|
10
10
|
|
|
11
11
|
var __defProp = Object.defineProperty;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PopoverContext, TooltipContext, OverlayArrow } from 'react-aria-components';
|
|
3
|
-
import { a as arrowDown } from './common-
|
|
4
|
-
import {
|
|
3
|
+
import { a as arrowDown } from './common-d75204cf.esm.js';
|
|
4
|
+
import { m as makeComponentName, r as registerComponentHelper } from './utils-bcdc928e.esm.js';
|
|
5
5
|
import { p as pickAriaComponentVariants } from './variant-utils-4405ebb0.esm.js';
|
|
6
6
|
import '@plasmicapp/host';
|
|
7
7
|
import '@plasmicapp/host/registerComponent';
|
|
@@ -2,9 +2,9 @@ import { usePlasmicCanvasContext } from '@plasmicapp/host';
|
|
|
2
2
|
import { mergeProps } from '@react-aria/utils';
|
|
3
3
|
import React, { useEffect } from 'react';
|
|
4
4
|
import { PopoverContext, Popover } from 'react-aria-components';
|
|
5
|
-
import { b as getCommonOverlayProps } from './common-
|
|
5
|
+
import { b as getCommonOverlayProps } from './common-d75204cf.esm.js';
|
|
6
6
|
import { a as PlasmicPopoverTriggerContext } from './contexts-5cb81c2f.esm.js';
|
|
7
|
-
import {
|
|
7
|
+
import { m as makeComponentName, r as registerComponentHelper } from './utils-bcdc928e.esm.js';
|
|
8
8
|
import { p as pickAriaComponentVariants } from './variant-utils-4405ebb0.esm.js';
|
|
9
9
|
import '@plasmicapp/host/registerComponent';
|
|
10
10
|
|
|
@@ -57,13 +57,50 @@ const RADIO_VARIANTS = [
|
|
|
57
57
|
];
|
|
58
58
|
const { variants, withObservedValues } = variantUtils.pickAriaComponentVariants(RADIO_VARIANTS);
|
|
59
59
|
function BaseRadio(props) {
|
|
60
|
-
const _a = props, {
|
|
60
|
+
const _a = props, {
|
|
61
|
+
children,
|
|
62
|
+
setControlContextData,
|
|
63
|
+
plasmicUpdateVariant,
|
|
64
|
+
value
|
|
65
|
+
} = _a, rest = __objRest(_a, [
|
|
66
|
+
"children",
|
|
67
|
+
"setControlContextData",
|
|
68
|
+
"plasmicUpdateVariant",
|
|
69
|
+
"value"
|
|
70
|
+
]);
|
|
61
71
|
const contextProps = React__default.default.useContext(contexts.PlasmicRadioGroupContext);
|
|
62
72
|
const isStandalone = !contextProps;
|
|
73
|
+
const [registeredId, setRegisteredId] = React.useState("");
|
|
74
|
+
React.useEffect(() => {
|
|
75
|
+
if (!(contextProps == null ? void 0 : contextProps.idManager)) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
const localId = contextProps.idManager.register(value);
|
|
79
|
+
setRegisteredId(localId);
|
|
80
|
+
return () => {
|
|
81
|
+
contextProps.idManager.unregister(localId);
|
|
82
|
+
setRegisteredId("");
|
|
83
|
+
};
|
|
84
|
+
}, [value, contextProps == null ? void 0 : contextProps.idManager]);
|
|
63
85
|
setControlContextData == null ? void 0 : setControlContextData({
|
|
64
|
-
parent: contextProps
|
|
86
|
+
parent: contextProps,
|
|
87
|
+
idError: (() => {
|
|
88
|
+
if (value === void 0) {
|
|
89
|
+
return "Value must be defined";
|
|
90
|
+
}
|
|
91
|
+
if (typeof value !== "string") {
|
|
92
|
+
return "Value must be a string";
|
|
93
|
+
}
|
|
94
|
+
if (!value.trim()) {
|
|
95
|
+
return "Value must be defined";
|
|
96
|
+
}
|
|
97
|
+
if (!isStandalone && value != registeredId) {
|
|
98
|
+
return "Value must be unique";
|
|
99
|
+
}
|
|
100
|
+
return void 0;
|
|
101
|
+
})()
|
|
65
102
|
});
|
|
66
|
-
const radio = /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Radio, __spreadValues({}, rest), ({
|
|
103
|
+
const radio = /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.Radio, __spreadProps(__spreadValues({}, rest), { value: registeredId, key: registeredId }), ({
|
|
67
104
|
isHovered,
|
|
68
105
|
isPressed,
|
|
69
106
|
isFocused,
|
|
@@ -143,7 +180,13 @@ function registerRadio(loader, overrides) {
|
|
|
143
180
|
},
|
|
144
181
|
value: {
|
|
145
182
|
type: "string",
|
|
146
|
-
description: "The value of the input element, used when submitting an HTML form."
|
|
183
|
+
description: "The value of the input element, used when submitting an HTML form.",
|
|
184
|
+
validator: (_value, _props, ctx) => {
|
|
185
|
+
if (ctx == null ? void 0 : ctx.idError) {
|
|
186
|
+
return ctx.idError;
|
|
187
|
+
}
|
|
188
|
+
return true;
|
|
189
|
+
}
|
|
147
190
|
}
|
|
148
191
|
}),
|
|
149
192
|
trapsFocus: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerRadio.cjs.js","sources":["../src/registerRadio.tsx"],"sourcesContent":["import { PlasmicElement } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport type { RadioProps } from \"react-aria-components\";\nimport { Radio, RadioGroup } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst RADIO_VARIANTS = [\n \"selected\" as const,\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n \"readonly\" as const,\n \"selected\" as const,\n];\n\nexport interface BaseRadioProps\n extends RadioProps,\n HasControlContextData
|
|
1
|
+
{"version":3,"file":"registerRadio.cjs.js","sources":["../src/registerRadio.tsx"],"sourcesContent":["import { PlasmicElement } from \"@plasmicapp/host\";\nimport React, { useEffect, useState } from \"react\";\nimport type { RadioProps } from \"react-aria-components\";\nimport { Radio, RadioGroup } from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport { PlasmicRadioGroupContext } from \"./contexts\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport {\n BaseControlContextData,\n CodeComponentMetaOverrides,\n HasControlContextData,\n Registerable,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\nimport { WithVariants, pickAriaComponentVariants } from \"./variant-utils\";\n\nconst RADIO_VARIANTS = [\n \"selected\" as const,\n \"hovered\" as const,\n \"pressed\" as const,\n \"focused\" as const,\n \"focusVisible\" as const,\n \"disabled\" as const,\n \"readonly\" as const,\n \"selected\" as const,\n];\n\nexport interface BaseRadioControlContextData extends BaseControlContextData {\n idError?: string;\n}\n\nexport interface BaseRadioProps\n extends RadioProps,\n HasControlContextData<BaseRadioControlContextData>,\n WithVariants<typeof RADIO_VARIANTS> {\n children: React.ReactNode;\n}\n\nconst { variants, withObservedValues } =\n pickAriaComponentVariants(RADIO_VARIANTS);\n\nexport function BaseRadio(props: BaseRadioProps) {\n const {\n children,\n setControlContextData,\n plasmicUpdateVariant,\n value,\n ...rest\n } = props;\n const contextProps = React.useContext(PlasmicRadioGroupContext);\n const isStandalone = !contextProps;\n const [registeredId, setRegisteredId] = useState<string>(\"\");\n\n useEffect(() => {\n if (!contextProps?.idManager) {\n return;\n }\n\n const localId = contextProps.idManager.register(value);\n setRegisteredId(localId);\n\n return () => {\n contextProps.idManager.unregister(localId);\n setRegisteredId(\"\");\n };\n }, [value, contextProps?.idManager]);\n\n setControlContextData?.({\n parent: contextProps,\n idError: (() => {\n if (value === undefined) {\n return \"Value must be defined\";\n }\n if (typeof value !== \"string\") {\n return \"Value must be a string\";\n }\n if (!value.trim()) {\n return \"Value must be defined\";\n }\n if (!isStandalone && value != registeredId) {\n return \"Value must be unique\";\n }\n return undefined;\n })(),\n });\n\n const radio = (\n <Radio {...rest} value={registeredId} key={registeredId}>\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 plasmicUpdateVariant\n )\n }\n </Radio>\n );\n\n if (isStandalone) {\n return <RadioGroup>{radio}</RadioGroup>;\n }\n\n return radio;\n}\n\nexport const makeDefaultRadioChildren = (label: string): PlasmicElement => ({\n type: \"hbox\",\n styles: {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"10px\",\n padding: 0,\n },\n children: [\n {\n type: \"box\",\n styles: {\n width: \"7px\",\n height: \"7px\",\n borderRadius: \"100%\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n },\n },\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: label,\n },\n },\n },\n ],\n});\n\nexport function registerRadio(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseRadio>\n) {\n return registerComponentHelper(\n loader,\n BaseRadio,\n {\n name: makeComponentName(\"radio\"),\n displayName: \"Aria Radio\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerRadio\",\n importName: \"BaseRadio\",\n variants,\n props: {\n ...getCommonProps<BaseRadioProps>(\"radio\", [\n \"isDisabled\",\n \"autoFocus\",\n \"aria-label\",\n ]),\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: makeDefaultRadioChildren(\"Radio\"),\n },\n value: {\n type: \"string\",\n description:\n \"The value of the input element, used when submitting an HTML form.\",\n validator: (_value, _props, ctx) => {\n if (ctx?.idError) {\n return ctx.idError;\n }\n return true;\n },\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["pickAriaComponentVariants","React","PlasmicRadioGroupContext","useState","useEffect","Radio","RadioGroup","LABEL_COMPONENT_NAME","registerComponentHelper","makeComponentName","getCommonProps"],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { PlasmicElement } from "@plasmicapp/host";
|
|
2
2
|
import React from "react";
|
|
3
3
|
import type { RadioProps } from "react-aria-components";
|
|
4
|
-
import { CodeComponentMetaOverrides, HasControlContextData, Registerable } from "./utils";
|
|
4
|
+
import { BaseControlContextData, CodeComponentMetaOverrides, HasControlContextData, Registerable } from "./utils";
|
|
5
5
|
import { WithVariants } from "./variant-utils";
|
|
6
6
|
declare const RADIO_VARIANTS: ("disabled" | "readonly" | "hovered" | "pressed" | "focused" | "focusVisible" | "selected")[];
|
|
7
|
-
export interface
|
|
7
|
+
export interface BaseRadioControlContextData extends BaseControlContextData {
|
|
8
|
+
idError?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface BaseRadioProps extends RadioProps, HasControlContextData<BaseRadioControlContextData>, WithVariants<typeof RADIO_VARIANTS> {
|
|
8
11
|
children: React.ReactNode;
|
|
9
12
|
}
|
|
10
13
|
export declare function BaseRadio(props: BaseRadioProps): React.JSX.Element;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import { Radio, RadioGroup } from 'react-aria-components';
|
|
3
|
-
import { g as getCommonProps } from './common-
|
|
3
|
+
import { g as getCommonProps } from './common-d75204cf.esm.js';
|
|
4
4
|
import { e as PlasmicRadioGroupContext } from './contexts-5cb81c2f.esm.js';
|
|
5
5
|
import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
|
|
6
|
-
import { r as registerComponentHelper,
|
|
6
|
+
import { r as registerComponentHelper, m as makeComponentName } from './utils-bcdc928e.esm.js';
|
|
7
7
|
import { p as pickAriaComponentVariants } from './variant-utils-4405ebb0.esm.js';
|
|
8
8
|
import '@plasmicapp/host';
|
|
9
9
|
import '@plasmicapp/host/registerComponent';
|
|
@@ -51,13 +51,50 @@ const RADIO_VARIANTS = [
|
|
|
51
51
|
];
|
|
52
52
|
const { variants, withObservedValues } = pickAriaComponentVariants(RADIO_VARIANTS);
|
|
53
53
|
function BaseRadio(props) {
|
|
54
|
-
const _a = props, {
|
|
54
|
+
const _a = props, {
|
|
55
|
+
children,
|
|
56
|
+
setControlContextData,
|
|
57
|
+
plasmicUpdateVariant,
|
|
58
|
+
value
|
|
59
|
+
} = _a, rest = __objRest(_a, [
|
|
60
|
+
"children",
|
|
61
|
+
"setControlContextData",
|
|
62
|
+
"plasmicUpdateVariant",
|
|
63
|
+
"value"
|
|
64
|
+
]);
|
|
55
65
|
const contextProps = React.useContext(PlasmicRadioGroupContext);
|
|
56
66
|
const isStandalone = !contextProps;
|
|
67
|
+
const [registeredId, setRegisteredId] = useState("");
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
if (!(contextProps == null ? void 0 : contextProps.idManager)) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const localId = contextProps.idManager.register(value);
|
|
73
|
+
setRegisteredId(localId);
|
|
74
|
+
return () => {
|
|
75
|
+
contextProps.idManager.unregister(localId);
|
|
76
|
+
setRegisteredId("");
|
|
77
|
+
};
|
|
78
|
+
}, [value, contextProps == null ? void 0 : contextProps.idManager]);
|
|
57
79
|
setControlContextData == null ? void 0 : setControlContextData({
|
|
58
|
-
parent: contextProps
|
|
80
|
+
parent: contextProps,
|
|
81
|
+
idError: (() => {
|
|
82
|
+
if (value === void 0) {
|
|
83
|
+
return "Value must be defined";
|
|
84
|
+
}
|
|
85
|
+
if (typeof value !== "string") {
|
|
86
|
+
return "Value must be a string";
|
|
87
|
+
}
|
|
88
|
+
if (!value.trim()) {
|
|
89
|
+
return "Value must be defined";
|
|
90
|
+
}
|
|
91
|
+
if (!isStandalone && value != registeredId) {
|
|
92
|
+
return "Value must be unique";
|
|
93
|
+
}
|
|
94
|
+
return void 0;
|
|
95
|
+
})()
|
|
59
96
|
});
|
|
60
|
-
const radio = /* @__PURE__ */ React.createElement(Radio, __spreadValues({}, rest), ({
|
|
97
|
+
const radio = /* @__PURE__ */ React.createElement(Radio, __spreadProps(__spreadValues({}, rest), { value: registeredId, key: registeredId }), ({
|
|
61
98
|
isHovered,
|
|
62
99
|
isPressed,
|
|
63
100
|
isFocused,
|
|
@@ -137,7 +174,13 @@ function registerRadio(loader, overrides) {
|
|
|
137
174
|
},
|
|
138
175
|
value: {
|
|
139
176
|
type: "string",
|
|
140
|
-
description: "The value of the input element, used when submitting an HTML form."
|
|
177
|
+
description: "The value of the input element, used when submitting an HTML form.",
|
|
178
|
+
validator: (_value, _props, ctx) => {
|
|
179
|
+
if (ctx == null ? void 0 : ctx.idError) {
|
|
180
|
+
return ctx.idError;
|
|
181
|
+
}
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
141
184
|
}
|
|
142
185
|
}),
|
|
143
186
|
trapsFocus: true
|