@plasmicpkgs/react-aria 0.0.82 → 0.0.83

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 (48) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/react-aria.esm.js +38 -36
  3. package/dist/react-aria.esm.js.map +1 -1
  4. package/dist/react-aria.js +38 -36
  5. package/dist/react-aria.js.map +1 -1
  6. package/package.json +2 -2
  7. package/skinny/{common-4b974d89.cjs.js → common-1e5dba7d.cjs.js} +2 -2
  8. package/skinny/common-1e5dba7d.cjs.js.map +1 -0
  9. package/skinny/{common-1a6affb0.esm.js → common-a8f4a4b1.esm.js} +2 -2
  10. package/skinny/common-a8f4a4b1.esm.js.map +1 -0
  11. package/skinny/registerButton.cjs.js +21 -29
  12. package/skinny/registerButton.cjs.js.map +1 -1
  13. package/skinny/registerButton.esm.js +21 -29
  14. package/skinny/registerButton.esm.js.map +1 -1
  15. package/skinny/registerCheckbox.cjs.js +1 -1
  16. package/skinny/registerCheckbox.esm.js +1 -1
  17. package/skinny/registerCheckboxGroup.cjs.js +1 -1
  18. package/skinny/registerCheckboxGroup.esm.js +1 -1
  19. package/skinny/registerComboBox.cjs.js +2 -2
  20. package/skinny/registerComboBox.esm.js +2 -2
  21. package/skinny/registerDialogTrigger.cjs.js +1 -1
  22. package/skinny/registerDialogTrigger.esm.js +1 -1
  23. package/skinny/registerInput.cjs.js +1 -1
  24. package/skinny/registerInput.esm.js +1 -1
  25. package/skinny/registerModal.cjs.js +7 -7
  26. package/skinny/registerModal.cjs.js.map +1 -1
  27. package/skinny/registerModal.esm.js +8 -8
  28. package/skinny/registerModal.esm.js.map +1 -1
  29. package/skinny/registerRadio.cjs.js +1 -1
  30. package/skinny/registerRadio.esm.js +1 -1
  31. package/skinny/registerRadioGroup.cjs.js +1 -1
  32. package/skinny/registerRadioGroup.esm.js +1 -1
  33. package/skinny/registerSelect.cjs.js +13 -3
  34. package/skinny/registerSelect.cjs.js.map +1 -1
  35. package/skinny/registerSelect.esm.js +13 -3
  36. package/skinny/registerSelect.esm.js.map +1 -1
  37. package/skinny/registerSlider.cjs.js +1 -1
  38. package/skinny/registerSlider.esm.js +1 -1
  39. package/skinny/registerSliderThumb.cjs.js +1 -1
  40. package/skinny/registerSliderThumb.esm.js +1 -1
  41. package/skinny/registerSwitch.cjs.js +1 -1
  42. package/skinny/registerSwitch.esm.js +1 -1
  43. package/skinny/registerTextArea.cjs.js +1 -1
  44. package/skinny/registerTextArea.esm.js +1 -1
  45. package/skinny/registerTextField.cjs.js +1 -1
  46. package/skinny/registerTextField.esm.js +1 -1
  47. package/skinny/common-1a6affb0.esm.js.map +0 -1
  48. package/skinny/common-4b974d89.cjs.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { usePlasmicCanvasComponentInfo, usePlasmicCanvasContext } from '@plasmicapp/host';
1
+ import { usePlasmicCanvasContext, usePlasmicCanvasComponentInfo } from '@plasmicapp/host';
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-1a6affb0.esm.js';
5
+ import { h as hasParent } from './common-a8f4a4b1.esm.js';
6
6
  import { d as PlasmicDialogTriggerContext } from './contexts-5cb81c2f.esm.js';
7
7
  import { HEADING_COMPONENT_NAME } from './registerHeading.esm.js';
8
8
  import { a as makeComponentName, r as registerComponentHelper } from './utils-41b3d43b.esm.js';
@@ -43,7 +43,7 @@ const INLINE_STYLES = {
43
43
  outline: "none"
44
44
  };
45
45
  const BaseModal = forwardRef(
46
- function _BaseModal(props, ref) {
46
+ function BaseModalInner(props, ref) {
47
47
  var _b, _c, _d;
48
48
  const _a = props, {
49
49
  children,
@@ -62,6 +62,8 @@ const BaseModal = forwardRef(
62
62
  "setControlContextData",
63
63
  "isDismissable"
64
64
  ]);
65
+ const canvasCtx = usePlasmicCanvasContext();
66
+ const isEditMode = canvasCtx && canvasCtx.interactive === false;
65
67
  const isSelected = (_d = (_c = (_b = usePlasmicCanvasComponentInfo) == null ? void 0 : _b(props)) == null ? void 0 : _c.isSelected) != null ? _d : false;
66
68
  const contextProps = React.useContext(PlasmicDialogTriggerContext);
67
69
  const isStandalone = !contextProps;
@@ -72,10 +74,9 @@ const BaseModal = forwardRef(
72
74
  1. Clicking anywhere inside the modal dismisses it
73
75
  2. If the modal is auto-opened due to selection in outline tab, the modal stays open despite issue #1, but the text elements inside the modal are no longer selectable, and therefore the text or headings inside the modal are not editable.
74
76
 
75
- To fix the above issue, we set an interim isDismissable state to false while the modal is auto-open (`isSelected` is true).
76
- Also note that `isSelected` can only be true in canvas (non-interactive mode), so we can safely (temporarily) set `isDismissable` to false in this case, because it only matters in interactive mode.
77
+ To fix the above issue, we set an interim isDismissable state to false in edit mode, because it only matters in interactive mode.
77
78
  */
78
- isDismissable: isSelected ? false : isDismissable
79
+ isDismissable: isEditMode ? false : isDismissable
79
80
  });
80
81
  setControlContextData == null ? void 0 : setControlContextData({
81
82
  parent: isStandalone ? void 0 : {}
@@ -90,7 +91,6 @@ const BaseModal = forwardRef(
90
91
  (_a2 = mergedProps.onOpenChange) == null ? void 0 : _a2.call(mergedProps, true);
91
92
  }
92
93
  }));
93
- const isCanvas = usePlasmicCanvasContext();
94
94
  const bodyInCanvas = /* @__PURE__ */ React.createElement("div", { style: INLINE_STYLES }, children);
95
95
  const bodyInPreview = /* @__PURE__ */ React.createElement(Dialog, { style: INLINE_STYLES }, children);
96
96
  return /* @__PURE__ */ React.createElement(
@@ -98,7 +98,7 @@ const BaseModal = forwardRef(
98
98
  __spreadProps(__spreadValues({}, mergedProps), {
99
99
  className: `${resetClassName} ${modalOverlayClass}`
100
100
  }),
101
- /* @__PURE__ */ React.createElement(Modal, { className }, isCanvas ? bodyInCanvas : bodyInPreview)
101
+ /* @__PURE__ */ React.createElement(Modal, { className }, canvasCtx ? bodyInCanvas : bodyInPreview)
102
102
  );
103
103
  }
104
104
  );
@@ -1 +1 @@
1
- {"version":3,"file":"registerModal.esm.js","sources":["../src/registerModal.tsx"],"sourcesContent":["import {\n usePlasmicCanvasComponentInfo,\n usePlasmicCanvasContext,\n} from \"@plasmicapp/host\";\nimport React, { forwardRef, useImperativeHandle } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport {\n Dialog,\n Modal,\n ModalOverlay,\n ModalOverlayProps,\n} from \"react-aria-components\";\nimport { hasParent } from \"./common\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport { HEADING_COMPONENT_NAME } from \"./registerHeading\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseModalProps\n extends ModalOverlayProps,\n HasControlContextData {\n heading: React.ReactNode;\n modalOverlayClass: string;\n resetClassName?: string;\n children?: React.ReactNode;\n}\n\nexport interface BaseModalActions {\n close(): void;\n open(): void;\n}\n\nconst INLINE_STYLES = {\n outline: \"none\",\n};\n\nexport const BaseModal = forwardRef<BaseModalActions, BaseModalProps>(\n function _BaseModal(props, ref) {\n const {\n children,\n modalOverlayClass,\n className,\n isOpen,\n resetClassName,\n setControlContextData,\n isDismissable,\n ...rest\n } = props;\n\n const isSelected =\n usePlasmicCanvasComponentInfo?.(props)?.isSelected ?? false;\n\n const contextProps = React.useContext(PlasmicDialogTriggerContext);\n const isStandalone = !contextProps;\n const mergedProps = mergeProps(contextProps, rest, {\n isOpen: isStandalone ? isSelected || isOpen : contextProps.isOpen,\n /*\n isDismissable on canvas (non-interactive mode) causes the following two issues:\n 1. Clicking anywhere inside the modal dismisses it\n 2. If the modal is auto-opened due to selection in outline tab, the modal stays open despite issue #1, but the text elements inside the modal are no longer selectable, and therefore the text or headings inside the modal are not editable.\n\n To fix the above issue, we set an interim isDismissable state to false while the modal is auto-open (`isSelected` is true).\n Also note that `isSelected` can only be true in canvas (non-interactive mode), so we can safely (temporarily) set `isDismissable` to false in this case, because it only matters in interactive mode.\n */\n isDismissable: isSelected ? false : isDismissable,\n });\n\n setControlContextData?.({\n parent: isStandalone ? undefined : {},\n });\n\n // Expose close operation using useImperativeHandle\n useImperativeHandle(ref, () => ({\n close: () => {\n mergedProps.onOpenChange?.(false);\n },\n open: () => {\n mergedProps.onOpenChange?.(true);\n },\n }));\n\n const isCanvas = usePlasmicCanvasContext();\n\n {\n /* <Dialog> cannot be used in canvas, because while the dialog is open on the canvas, the focus is trapped inside it, so any Studio modals like the Color Picker modal would glitch due to focus jumping back and forth */\n }\n const bodyInCanvas = <div style={INLINE_STYLES}>{children}</div>;\n\n const bodyInPreview = <Dialog style={INLINE_STYLES}>{children}</Dialog>;\n\n return (\n <ModalOverlay\n {...mergedProps}\n className={`${resetClassName} ${modalOverlayClass}`}\n >\n <Modal className={className}>\n {isCanvas ? bodyInCanvas : bodyInPreview}\n </Modal>\n </ModalOverlay>\n );\n }\n);\n\nexport const MODAL_COMPONENT_NAME = makeComponentName(\"modal\");\n\nexport function registerModal(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseModal>\n) {\n registerComponentHelper(\n loader,\n BaseModal,\n {\n name: MODAL_COMPONENT_NAME,\n displayName: \"Aria Modal\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerModal\",\n importName: \"BaseModal\",\n styleSections: true,\n defaultStyles: {\n // centering the modal on the page by default\n position: \"fixed\",\n top: \"10%\",\n left: \"50%\",\n width: \"50%\",\n transform: \"translateX(-50%)\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"20px\",\n maxWidth: \"300px\",\n backgroundColor: \"#FDE3C3\",\n },\n refActions: {\n open: {\n description: \"Open the modal\",\n argTypes: [],\n },\n close: {\n description: \"Close the modal\",\n argTypes: [],\n },\n },\n props: {\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: {\n type: \"vbox\",\n styles: {\n width: \"stretch\",\n padding: 0,\n gap: \"10px\",\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"component\",\n name: HEADING_COMPONENT_NAME,\n },\n {\n type: \"text\",\n value: \"This is a Modal!\",\n },\n {\n type: \"text\",\n value: \"You can put anything you can imagine here!\",\n styles: {\n fontWeight: 500,\n },\n },\n {\n type: \"text\",\n value:\n \"Use it in a `Aria Dialog Trigger` component to trigger it on a button click!\",\n },\n ],\n },\n },\n modalOverlayClass: {\n type: \"class\",\n displayName: \"Modal Overlay\",\n },\n isOpen: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n defaultValueHint: true,\n defaultValue: true,\n hidden: hasParent,\n },\n isDismissable: {\n type: \"boolean\",\n description:\n \"Whether to close the modal when the user interacts outside it.\",\n },\n isKeyboardDismissDisabled: {\n type: \"boolean\",\n description:\n \"Whether pressing the escape key to close the modal should be disabled.\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n hidden: hasParent,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["_a"],"mappings":"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"}
1
+ {"version":3,"file":"registerModal.esm.js","sources":["../src/registerModal.tsx"],"sourcesContent":["import {\n usePlasmicCanvasComponentInfo,\n usePlasmicCanvasContext,\n} from \"@plasmicapp/host\";\nimport React, { forwardRef, useImperativeHandle } from \"react\";\nimport { mergeProps } from \"react-aria\";\nimport {\n Dialog,\n Modal,\n ModalOverlay,\n ModalOverlayProps,\n} from \"react-aria-components\";\nimport { hasParent } from \"./common\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport { HEADING_COMPONENT_NAME } from \"./registerHeading\";\nimport {\n CodeComponentMetaOverrides,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface BaseModalProps\n extends ModalOverlayProps,\n HasControlContextData {\n heading: React.ReactNode;\n modalOverlayClass: string;\n resetClassName?: string;\n children?: React.ReactNode;\n}\n\nexport interface BaseModalActions {\n close(): void;\n open(): void;\n}\n\nconst INLINE_STYLES = {\n outline: \"none\",\n};\n\nexport const BaseModal = forwardRef<BaseModalActions, BaseModalProps>(\n function BaseModalInner(props, ref) {\n const {\n children,\n modalOverlayClass,\n className,\n isOpen,\n resetClassName,\n setControlContextData,\n isDismissable,\n ...rest\n } = props;\n\n const canvasCtx = usePlasmicCanvasContext();\n const isEditMode = canvasCtx && canvasCtx.interactive === false;\n const isSelected =\n usePlasmicCanvasComponentInfo?.(props)?.isSelected ?? false;\n\n const contextProps = React.useContext(PlasmicDialogTriggerContext);\n const isStandalone = !contextProps;\n const mergedProps = mergeProps(contextProps, rest, {\n isOpen: isStandalone ? isSelected || isOpen : contextProps.isOpen,\n /*\n isDismissable on canvas (non-interactive mode) causes the following two issues:\n 1. Clicking anywhere inside the modal dismisses it\n 2. If the modal is auto-opened due to selection in outline tab, the modal stays open despite issue #1, but the text elements inside the modal are no longer selectable, and therefore the text or headings inside the modal are not editable.\n\n To fix the above issue, we set an interim isDismissable state to false in edit mode, because it only matters in interactive mode.\n */\n isDismissable: isEditMode ? false : isDismissable,\n });\n\n setControlContextData?.({\n parent: isStandalone ? undefined : {},\n });\n\n // Expose close operation using useImperativeHandle\n useImperativeHandle(ref, () => ({\n close: () => {\n mergedProps.onOpenChange?.(false);\n },\n open: () => {\n mergedProps.onOpenChange?.(true);\n },\n }));\n\n /* <Dialog> cannot be used in canvas, because while the dialog is open on the canvas, the focus is trapped inside it, so any Studio modals like the Color Picker modal would glitch due to focus jumping back and forth */\n const bodyInCanvas = <div style={INLINE_STYLES}>{children}</div>;\n\n const bodyInPreview = <Dialog style={INLINE_STYLES}>{children}</Dialog>;\n\n return (\n <ModalOverlay\n {...mergedProps}\n className={`${resetClassName} ${modalOverlayClass}`}\n >\n <Modal className={className}>\n {canvasCtx ? bodyInCanvas : bodyInPreview}\n </Modal>\n </ModalOverlay>\n );\n }\n);\n\nexport const MODAL_COMPONENT_NAME = makeComponentName(\"modal\");\n\nexport function registerModal(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseModal>\n) {\n registerComponentHelper(\n loader,\n BaseModal,\n {\n name: MODAL_COMPONENT_NAME,\n displayName: \"Aria Modal\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerModal\",\n importName: \"BaseModal\",\n styleSections: true,\n defaultStyles: {\n // centering the modal on the page by default\n position: \"fixed\",\n top: \"10%\",\n left: \"50%\",\n width: \"50%\",\n transform: \"translateX(-50%)\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n borderColor: \"black\",\n padding: \"20px\",\n maxWidth: \"300px\",\n backgroundColor: \"#FDE3C3\",\n },\n refActions: {\n open: {\n description: \"Open the modal\",\n argTypes: [],\n },\n close: {\n description: \"Close the modal\",\n argTypes: [],\n },\n },\n props: {\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: {\n type: \"vbox\",\n styles: {\n width: \"stretch\",\n padding: 0,\n gap: \"10px\",\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n },\n children: [\n {\n type: \"component\",\n name: HEADING_COMPONENT_NAME,\n },\n {\n type: \"text\",\n value: \"This is a Modal!\",\n },\n {\n type: \"text\",\n value: \"You can put anything you can imagine here!\",\n styles: {\n fontWeight: 500,\n },\n },\n {\n type: \"text\",\n value:\n \"Use it in a `Aria Dialog Trigger` component to trigger it on a button click!\",\n },\n ],\n },\n },\n modalOverlayClass: {\n type: \"class\",\n displayName: \"Modal Overlay\",\n },\n isOpen: {\n type: \"boolean\",\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n defaultValueHint: true,\n defaultValue: true,\n hidden: hasParent,\n },\n isDismissable: {\n type: \"boolean\",\n description:\n \"Whether to close the modal when the user interacts outside it.\",\n },\n isKeyboardDismissDisabled: {\n type: \"boolean\",\n description:\n \"Whether pressing the escape key to close the modal should be disabled.\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n resetClassName: {\n type: \"themeResetClass\",\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n hidden: hasParent,\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["_a"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,MAAM,aAAgB,GAAA;AAAA,EACpB,OAAS,EAAA,MAAA;AACX,CAAA,CAAA;AAEO,MAAM,SAAY,GAAA,UAAA;AAAA,EACvB,SAAS,cAAe,CAAA,KAAA,EAAO,GAAK,EAAA;AA1CtC,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AA2CI,IAAA,MASI,EARF,GAAA,KAAA,EAAA;AAAA,MAAA,QAAA;AAAA,MACA,iBAAA;AAAA,MACA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,cAAA;AAAA,MACA,qBAAA;AAAA,MACA,aAAA;AAAA,KAlDN,GAoDQ,EADC,EAAA,IAAA,GAAA,SAAA,CACD,EADC,EAAA;AAAA,MAPH,UAAA;AAAA,MACA,mBAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,gBAAA;AAAA,MACA,uBAAA;AAAA,MACA,eAAA;AAAA,KAAA,CAAA,CAAA;AAIF,IAAA,MAAM,YAAY,uBAAwB,EAAA,CAAA;AAC1C,IAAM,MAAA,UAAA,GAAa,SAAa,IAAA,SAAA,CAAU,WAAgB,KAAA,KAAA,CAAA;AAC1D,IAAA,MAAM,UACJ,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,6BAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAgC,KAAhC,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAwC,eAAxC,IAAsD,GAAA,EAAA,GAAA,KAAA,CAAA;AAExD,IAAM,MAAA,YAAA,GAAe,KAAM,CAAA,UAAA,CAAW,2BAA2B,CAAA,CAAA;AACjE,IAAA,MAAM,eAAe,CAAC,YAAA,CAAA;AACtB,IAAM,MAAA,WAAA,GAAc,UAAW,CAAA,YAAA,EAAc,IAAM,EAAA;AAAA,MACjD,MAAQ,EAAA,YAAA,GAAe,UAAc,IAAA,MAAA,GAAS,YAAa,CAAA,MAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQ3D,aAAA,EAAe,aAAa,KAAQ,GAAA,aAAA;AAAA,KACrC,CAAA,CAAA;AAED,IAAwB,qBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAAA;AAAA,MACtB,MAAA,EAAQ,YAAe,GAAA,KAAA,CAAA,GAAY,EAAC;AAAA,KACtC,CAAA,CAAA;AAGA,IAAA,mBAAA,CAAoB,KAAK,OAAO;AAAA,MAC9B,OAAO,MAAM;AA/EnB,QAAAA,IAAAA,GAAAA,CAAAA;AAgFQ,QAAA,CAAAA,GAAA,GAAA,WAAA,CAAY,YAAZ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAA,IAA2B,CAAA,WAAA,EAAA,KAAA,CAAA,CAAA;AAAA,OAC7B;AAAA,MACA,MAAM,MAAM;AAlFlB,QAAAA,IAAAA,GAAAA,CAAAA;AAmFQ,QAAA,CAAAA,GAAA,GAAA,WAAA,CAAY,YAAZ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,IAAA,IAA2B,CAAA,WAAA,EAAA,IAAA,CAAA,CAAA;AAAA,OAC7B;AAAA,KACA,CAAA,CAAA,CAAA;AAGF,IAAA,MAAM,YAAe,mBAAA,KAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,KAAA,EAAO,iBAAgB,QAAS,CAAA,CAAA;AAE1D,IAAA,MAAM,aAAgB,mBAAA,KAAA,CAAA,aAAA,CAAC,MAAO,EAAA,EAAA,KAAA,EAAO,iBAAgB,QAAS,CAAA,CAAA;AAE9D,IACE,uBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,YAAA;AAAA,MAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACK,WADL,CAAA,EAAA;AAAA,QAEC,SAAA,EAAW,GAAG,cAAkB,CAAA,CAAA,EAAA,iBAAA,CAAA,CAAA;AAAA,OAAA,CAAA;AAAA,sBAE/B,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAM,SACJ,EAAA,EAAA,SAAA,GAAY,eAAe,aAC9B,CAAA;AAAA,KACF,CAAA;AAAA,GAEJ;AACF,EAAA;AAEa,MAAA,oBAAA,GAAuB,kBAAkB,OAAO,EAAA;AAE7C,SAAA,aAAA,CACd,QACA,SACA,EAAA;AACA,EAAA,uBAAA;AAAA,IACE,MAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,IAAM,EAAA,oBAAA;AAAA,MACN,WAAa,EAAA,YAAA;AAAA,MACb,UAAY,EAAA,8CAAA;AAAA,MACZ,UAAY,EAAA,WAAA;AAAA,MACZ,aAAe,EAAA,IAAA;AAAA,MACf,aAAe,EAAA;AAAA;AAAA,QAEb,QAAU,EAAA,OAAA;AAAA,QACV,GAAK,EAAA,KAAA;AAAA,QACL,IAAM,EAAA,KAAA;AAAA,QACN,KAAO,EAAA,KAAA;AAAA,QACP,SAAW,EAAA,kBAAA;AAAA,QACX,WAAa,EAAA,KAAA;AAAA,QACb,WAAa,EAAA,OAAA;AAAA,QACb,WAAa,EAAA,OAAA;AAAA,QACb,OAAS,EAAA,MAAA;AAAA,QACT,QAAU,EAAA,OAAA;AAAA,QACV,eAAiB,EAAA,SAAA;AAAA,OACnB;AAAA,MACA,UAAY,EAAA;AAAA,QACV,IAAM,EAAA;AAAA,UACJ,WAAa,EAAA,gBAAA;AAAA,UACb,UAAU,EAAC;AAAA,SACb;AAAA,QACA,KAAO,EAAA;AAAA,UACL,WAAa,EAAA,iBAAA;AAAA,UACb,UAAU,EAAC;AAAA,SACb;AAAA,OACF;AAAA,MACA,KAAO,EAAA;AAAA,QACL,QAAU,EAAA;AAAA,UACR,IAAM,EAAA,MAAA;AAAA,UACN,eAAiB,EAAA,IAAA;AAAA,UACjB,YAAc,EAAA;AAAA,YACZ,IAAM,EAAA,MAAA;AAAA,YACN,MAAQ,EAAA;AAAA,cACN,KAAO,EAAA,SAAA;AAAA,cACP,OAAS,EAAA,CAAA;AAAA,cACT,GAAK,EAAA,MAAA;AAAA,cACL,cAAgB,EAAA,YAAA;AAAA,cAChB,UAAY,EAAA,YAAA;AAAA,aACd;AAAA,YACA,QAAU,EAAA;AAAA,cACR;AAAA,gBACE,IAAM,EAAA,WAAA;AAAA,gBACN,IAAM,EAAA,sBAAA;AAAA,eACR;AAAA,cACA;AAAA,gBACE,IAAM,EAAA,MAAA;AAAA,gBACN,KAAO,EAAA,kBAAA;AAAA,eACT;AAAA,cACA;AAAA,gBACE,IAAM,EAAA,MAAA;AAAA,gBACN,KAAO,EAAA,4CAAA;AAAA,gBACP,MAAQ,EAAA;AAAA,kBACN,UAAY,EAAA,GAAA;AAAA,iBACd;AAAA,eACF;AAAA,cACA;AAAA,gBACE,IAAM,EAAA,MAAA;AAAA,gBACN,KACE,EAAA,8EAAA;AAAA,eACJ;AAAA,aACF;AAAA,WACF;AAAA,SACF;AAAA,QACA,iBAAmB,EAAA;AAAA,UACjB,IAAM,EAAA,OAAA;AAAA,UACN,WAAa,EAAA,eAAA;AAAA,SACf;AAAA,QACA,MAAQ,EAAA;AAAA,UACN,IAAM,EAAA,SAAA;AAAA,UACN,QAAU,EAAA,IAAA;AAAA,UACV,gBAAkB,EAAA,aAAA;AAAA,UAClB,gBAAkB,EAAA,IAAA;AAAA,UAClB,YAAc,EAAA,IAAA;AAAA,UACd,MAAQ,EAAA,SAAA;AAAA,SACV;AAAA,QACA,aAAe,EAAA;AAAA,UACb,IAAM,EAAA,SAAA;AAAA,UACN,WACE,EAAA,gEAAA;AAAA,SACJ;AAAA,QACA,yBAA2B,EAAA;AAAA,UACzB,IAAM,EAAA,SAAA;AAAA,UACN,WACE,EAAA,wEAAA;AAAA,SACJ;AAAA,QACA,YAAc,EAAA;AAAA,UACZ,IAAM,EAAA,cAAA;AAAA,UACN,UAAU,CAAC,EAAE,MAAM,QAAU,EAAA,IAAA,EAAM,WAAW,CAAA;AAAA,SAChD;AAAA,QACA,cAAgB,EAAA;AAAA,UACd,IAAM,EAAA,iBAAA;AAAA,SACR;AAAA,OACF;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,MAAQ,EAAA;AAAA,UACN,IAAM,EAAA,UAAA;AAAA,UACN,SAAW,EAAA,QAAA;AAAA,UACX,YAAc,EAAA,cAAA;AAAA,UACd,YAAc,EAAA,SAAA;AAAA,UACd,MAAQ,EAAA,SAAA;AAAA,SACV;AAAA,OACF;AAAA,MACA,UAAY,EAAA,IAAA;AAAA,KACd;AAAA,IACA,SAAA;AAAA,GACF,CAAA;AACF;;;;"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var common = require('./common-4b974d89.cjs.js');
5
+ var common = require('./common-1e5dba7d.cjs.js');
6
6
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
7
7
  var registerLabel = require('./registerLabel.cjs.js');
8
8
  var utils = require('./utils-d1c8094f.cjs.js');
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Radio, RadioGroup } from 'react-aria-components';
3
- import { g as getCommonProps } from './common-1a6affb0.esm.js';
3
+ import { g as getCommonProps } from './common-a8f4a4b1.esm.js';
4
4
  import { e as PlasmicRadioGroupContext } from './contexts-5cb81c2f.esm.js';
5
5
  import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
6
6
  import { r as registerComponentHelper, a as makeComponentName } from './utils-41b3d43b.esm.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var common = require('./common-4b974d89.cjs.js');
5
+ var common = require('./common-1e5dba7d.cjs.js');
6
6
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
7
7
  var registerDescription = require('./registerDescription.cjs.js');
8
8
  var registerLabel = require('./registerLabel.cjs.js');
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { RadioGroup } from 'react-aria-components';
3
- import { g as getCommonProps } from './common-1a6affb0.esm.js';
3
+ import { g as getCommonProps } from './common-a8f4a4b1.esm.js';
4
4
  import { e as PlasmicRadioGroupContext } from './contexts-5cb81c2f.esm.js';
5
5
  import { DESCRIPTION_COMPONENT_NAME } from './registerDescription.esm.js';
6
6
  import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var common = require('./common-4b974d89.cjs.js');
5
+ var common = require('./common-1e5dba7d.cjs.js');
6
6
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
7
7
  var registerSection = require('./registerListBox-b47231d8.cjs.js');
8
8
  var registerButton = require('./registerButton.cjs.js');
@@ -13,8 +13,8 @@ var variantUtils = require('./variant-utils-8cb38f8f.cjs.js');
13
13
  require('./registerListBoxItem.cjs.js');
14
14
  require('./registerDescription.cjs.js');
15
15
  require('./registerText.cjs.js');
16
- require('@plasmicapp/host');
17
16
  require('react-aria');
17
+ require('@plasmicapp/host');
18
18
  require('@react-aria/utils');
19
19
  require('@plasmicapp/host/registerComponent');
20
20
 
@@ -44,7 +44,17 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
44
44
  function SelectAutoOpen(props) {
45
45
  var _a;
46
46
  const { open, close } = (_a = React__default.default.useContext(reactAriaComponents.SelectStateContext)) != null ? _a : {};
47
- utils.useAutoOpen({ props, open, close });
47
+ utils.useAutoOpen({
48
+ props,
49
+ open: () => {
50
+ open == null ? void 0 : open();
51
+ setTimeout(() => {
52
+ var _a2, _b;
53
+ (_b = (_a2 = window.parent.document.activeElement) == null ? void 0 : _a2.blur) == null ? void 0 : _b.call(_a2);
54
+ });
55
+ },
56
+ close
57
+ });
48
58
  return null;
49
59
  }
50
60
  const BaseSelectValue = (props) => {
@@ -1 +1 @@
1
- {"version":3,"file":"registerSelect.cjs.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport {\n Select,\n SelectProps,\n SelectStateContext,\n SelectValue,\n} from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport {\n PlasmicListBoxContext,\n PlasmicPopoverTriggerContext,\n} from \"./contexts\";\nimport { ListBoxItemIdManager } from \"./ListBoxItemIdManager\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n useAutoOpen,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\n// It cannot be used as a hook like useAutoOpen() within the BaseSelect component\n// because it needs access to SelectStateContext, which is only created in the BaseSelect component's render function.\nfunction SelectAutoOpen(props: any) {\n const { open, close } = React.useContext(SelectStateContext) ?? {};\n useAutoOpen({ props, open, close });\n\n return null;\n}\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n customize?: boolean;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children, customize, className } = props;\n const placeholder = customize ? children : \"Select an item\";\n return (\n <SelectValue className={className}>\n {({ isPlaceholder, selectedText }) => (\n <>{isPlaceholder ? placeholder : selectedText}</>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectControlContextData {\n itemIds: string[];\n}\n\nconst SELECT_VARIANTS = [\"disabled\" as const];\n\nconst { variants: SELECT_VARIANTS_DATA } =\n pickAriaComponentVariants(SELECT_VARIANTS);\n\nexport interface BaseSelectProps\n extends SelectProps<{}>, // NOTE: We don't need generic type here since we don't use items prop (that needs it). We just need to make the type checker happy\n WithVariants<typeof SELECT_VARIANTS>,\n HasControlContextData<BaseSelectControlContextData> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseSelect(props: BaseSelectProps) {\n const {\n selectedKey,\n onSelectionChange,\n onOpenChange,\n isDisabled,\n className,\n style,\n children,\n disabledKeys,\n name,\n setControlContextData,\n plasmicUpdateVariant,\n \"aria-label\": ariaLabel,\n } = props;\n\n const idManager = useMemo(() => new ListBoxItemIdManager(), []);\n\n useEffect(() => {\n idManager.subscribe((ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n });\n }, []);\n\n // NOTE: Aria <Select> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state.\n useEffect(() => {\n plasmicUpdateVariant?.({\n disabled: isDisabled,\n });\n }, [isDisabled, plasmicUpdateVariant]);\n\n return (\n <Select\n selectedKey={selectedKey}\n onSelectionChange={onSelectionChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n // Not calling plasmicUpdateVariant within className callback (which has access to render props) because it would then run on every render\n className={className}\n style={style}\n name={name}\n disabledKeys={disabledKeys}\n aria-label={ariaLabel}\n {...extractPlasmicDataProps(props)}\n >\n <SelectAutoOpen {...props} />\n <PlasmicPopoverTriggerContext.Provider value={true}>\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {children}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverTriggerContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n customize: {\n type: \"boolean\",\n displayName: \"Customize placeholder\",\n defaultValue: true,\n description: \"Customize the placeholder text and styles\",\n },\n children: {\n type: \"slot\",\n displayName: \"Placeholder\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Select an item\",\n },\n ],\n hidden: (props) => !props.customize,\n },\n },\n trapsFocus: true,\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n variants: SELECT_VARIANTS_DATA,\n props: {\n ...getCommonProps<BaseSelectProps>(\"Select\", [\n \"name\",\n \"aria-label\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n selectedKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKey\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n // React Aria Select do not support multiple selections yet\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValue\", type: \"string\" }],\n },\n disabledKeys: {\n type: \"choice\",\n displayName: \"Disabled values\",\n description:\n \"The items that are disabled. These items cannot be selected, focused, or otherwise interacted with.\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n multiSelect: true,\n advanced: true,\n },\n isOpen: {\n type: \"boolean\",\n defaultValue: false,\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n padding: \"4px 10px\",\n background: \"white\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"15px\",\n width: \"15px\",\n transform: \"rotate(180deg)\",\n },\n },\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n width: \"unset\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n props: {\n selectionMode: \"single\",\n },\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKey\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n });\n}\n"],"names":["SelectStateContext","useAutoOpen","React","SelectValue","makeComponentName","pickAriaComponentVariants","useMemo","ListBoxItemIdManager","useEffect","Select","extractPlasmicDataProps","PlasmicPopoverTriggerContext","PlasmicListBoxContext","registerComponentHelper","getCommonProps","LABEL_COMPONENT_NAME","BUTTON_COMPONENT_NAME","POPOVER_COMPONENT_NAME","LIST_BOX_COMPONENT_NAME"],"mappings":"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"}
1
+ {"version":3,"file":"registerSelect.cjs.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport {\n Select,\n SelectProps,\n SelectStateContext,\n SelectValue,\n} from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport {\n PlasmicListBoxContext,\n PlasmicPopoverTriggerContext,\n} from \"./contexts\";\nimport { ListBoxItemIdManager } from \"./ListBoxItemIdManager\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n useAutoOpen,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\n// It cannot be used as a hook like useAutoOpen() within the BaseSelect component\n// because it needs access to SelectStateContext, which is only created in the BaseSelect component's render function.\nfunction SelectAutoOpen(props: any) {\n const { open, close } = React.useContext(SelectStateContext) ?? {};\n useAutoOpen({\n props,\n open: () => {\n open?.();\n // using settimeout because the focus is not immediately available\n setTimeout(() => {\n /*\n When the select's popover is opened in the canvas, the listbox gains focus, trapping the keyboard focus within it. Pressing the up or down arrow keys navigates through the listbox items.\n However, there are three issues with this behavior:\n\n 1. Focus should not be triggered in canvas (non-interactive mode)\n 2. Canvas (non-interactive mode) should remain non-interactive: Navigation between listbox items or selection using the space key should not be possible.\n 3. Keyboard hotkeys (e.g., backspace, undo) stop working: Key presses are absorbed by the listbox, breaking the expected behavior for shortcuts like backspace or undo (reference).\n\n To resolve this, we need to call document.activeElement.blur() to remove focus from the listbox.\n\n However, since the select component is a code component embedded within the artboard iframe, the keyboard hotkeys (e.g., backspace, undo) will not work,\n because they only function in the parent iframe (__wab_studio-frame).\n To ensure hotkeys work properly, we need to shift focus from the active element in the child iframe (artboard iframe) to the parent iframe (__wab_studio-frame) by using window.parent.\n */\n (window.parent.document.activeElement as HTMLElement)?.blur?.();\n });\n },\n close,\n });\n\n return null;\n}\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n customize?: boolean;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children, customize, className } = props;\n const placeholder = customize ? children : \"Select an item\";\n return (\n <SelectValue className={className}>\n {({ isPlaceholder, selectedText }) => (\n <>{isPlaceholder ? placeholder : selectedText}</>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectControlContextData {\n itemIds: string[];\n}\n\nconst SELECT_VARIANTS = [\"disabled\" as const];\n\nconst { variants: SELECT_VARIANTS_DATA } =\n pickAriaComponentVariants(SELECT_VARIANTS);\n\nexport interface BaseSelectProps\n extends SelectProps<{}>, // NOTE: We don't need generic type here since we don't use items prop (that needs it). We just need to make the type checker happy\n WithVariants<typeof SELECT_VARIANTS>,\n HasControlContextData<BaseSelectControlContextData> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseSelect(props: BaseSelectProps) {\n const {\n selectedKey,\n onSelectionChange,\n onOpenChange,\n isDisabled,\n className,\n style,\n children,\n disabledKeys,\n name,\n setControlContextData,\n plasmicUpdateVariant,\n \"aria-label\": ariaLabel,\n } = props;\n\n const idManager = useMemo(() => new ListBoxItemIdManager(), []);\n\n useEffect(() => {\n idManager.subscribe((ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n });\n }, []);\n\n // NOTE: Aria <Select> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state.\n useEffect(() => {\n plasmicUpdateVariant?.({\n disabled: isDisabled,\n });\n }, [isDisabled, plasmicUpdateVariant]);\n\n return (\n <Select\n selectedKey={selectedKey}\n onSelectionChange={onSelectionChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n // Not calling plasmicUpdateVariant within className callback (which has access to render props) because it would then run on every render\n className={className}\n style={style}\n name={name}\n disabledKeys={disabledKeys}\n aria-label={ariaLabel}\n {...extractPlasmicDataProps(props)}\n >\n <SelectAutoOpen {...props} />\n <PlasmicPopoverTriggerContext.Provider value={true}>\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {children}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverTriggerContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n customize: {\n type: \"boolean\",\n displayName: \"Customize placeholder\",\n defaultValue: true,\n description: \"Customize the placeholder text and styles\",\n },\n children: {\n type: \"slot\",\n displayName: \"Placeholder\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Select an item\",\n },\n ],\n hidden: (props) => !props.customize,\n },\n },\n trapsFocus: true,\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n variants: SELECT_VARIANTS_DATA,\n props: {\n ...getCommonProps<BaseSelectProps>(\"Select\", [\n \"name\",\n \"aria-label\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n selectedKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKey\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n // React Aria Select do not support multiple selections yet\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValue\", type: \"string\" }],\n },\n disabledKeys: {\n type: \"choice\",\n displayName: \"Disabled values\",\n description:\n \"The items that are disabled. These items cannot be selected, focused, or otherwise interacted with.\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n multiSelect: true,\n advanced: true,\n },\n isOpen: {\n type: \"boolean\",\n defaultValue: false,\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n padding: \"4px 10px\",\n background: \"white\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"15px\",\n width: \"15px\",\n transform: \"rotate(180deg)\",\n },\n },\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n width: \"unset\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n props: {\n selectionMode: \"single\",\n },\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKey\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n });\n}\n"],"names":["SelectStateContext","useAutoOpen","_a","React","SelectValue","makeComponentName","pickAriaComponentVariants","useMemo","ListBoxItemIdManager","useEffect","Select","extractPlasmicDataProps","PlasmicPopoverTriggerContext","PlasmicListBoxContext","registerComponentHelper","getCommonProps","LABEL_COMPONENT_NAME","BUTTON_COMPONENT_NAME","POPOVER_COMPONENT_NAME","LIST_BOX_COMPONENT_NAME"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React, { useMemo, useEffect } from 'react';
2
2
  import { SelectValue, Select, SelectStateContext } from 'react-aria-components';
3
- import { g as getCommonProps } from './common-1a6affb0.esm.js';
3
+ import { g as getCommonProps } from './common-a8f4a4b1.esm.js';
4
4
  import { a as PlasmicPopoverTriggerContext, b as PlasmicListBoxContext } from './contexts-5cb81c2f.esm.js';
5
5
  import { L as ListBoxItemIdManager, a as LIST_BOX_COMPONENT_NAME } from './registerListBox-d5efc5da.esm.js';
6
6
  import { BUTTON_COMPONENT_NAME } from './registerButton.esm.js';
@@ -11,8 +11,8 @@ import { p as pickAriaComponentVariants } from './variant-utils-7c2ea202.esm.js'
11
11
  import './registerListBoxItem.esm.js';
12
12
  import './registerDescription.esm.js';
13
13
  import './registerText.esm.js';
14
- import '@plasmicapp/host';
15
14
  import 'react-aria';
15
+ import '@plasmicapp/host';
16
16
  import '@react-aria/utils';
17
17
  import '@plasmicapp/host/registerComponent';
18
18
 
@@ -38,7 +38,17 @@ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
38
38
  function SelectAutoOpen(props) {
39
39
  var _a;
40
40
  const { open, close } = (_a = React.useContext(SelectStateContext)) != null ? _a : {};
41
- useAutoOpen({ props, open, close });
41
+ useAutoOpen({
42
+ props,
43
+ open: () => {
44
+ open == null ? void 0 : open();
45
+ setTimeout(() => {
46
+ var _a2, _b;
47
+ (_b = (_a2 = window.parent.document.activeElement) == null ? void 0 : _a2.blur) == null ? void 0 : _b.call(_a2);
48
+ });
49
+ },
50
+ close
51
+ });
42
52
  return null;
43
53
  }
44
54
  const BaseSelectValue = (props) => {
@@ -1 +1 @@
1
- {"version":3,"file":"registerSelect.esm.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport {\n Select,\n SelectProps,\n SelectStateContext,\n SelectValue,\n} from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport {\n PlasmicListBoxContext,\n PlasmicPopoverTriggerContext,\n} from \"./contexts\";\nimport { ListBoxItemIdManager } from \"./ListBoxItemIdManager\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n useAutoOpen,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\n// It cannot be used as a hook like useAutoOpen() within the BaseSelect component\n// because it needs access to SelectStateContext, which is only created in the BaseSelect component's render function.\nfunction SelectAutoOpen(props: any) {\n const { open, close } = React.useContext(SelectStateContext) ?? {};\n useAutoOpen({ props, open, close });\n\n return null;\n}\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n customize?: boolean;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children, customize, className } = props;\n const placeholder = customize ? children : \"Select an item\";\n return (\n <SelectValue className={className}>\n {({ isPlaceholder, selectedText }) => (\n <>{isPlaceholder ? placeholder : selectedText}</>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectControlContextData {\n itemIds: string[];\n}\n\nconst SELECT_VARIANTS = [\"disabled\" as const];\n\nconst { variants: SELECT_VARIANTS_DATA } =\n pickAriaComponentVariants(SELECT_VARIANTS);\n\nexport interface BaseSelectProps\n extends SelectProps<{}>, // NOTE: We don't need generic type here since we don't use items prop (that needs it). We just need to make the type checker happy\n WithVariants<typeof SELECT_VARIANTS>,\n HasControlContextData<BaseSelectControlContextData> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseSelect(props: BaseSelectProps) {\n const {\n selectedKey,\n onSelectionChange,\n onOpenChange,\n isDisabled,\n className,\n style,\n children,\n disabledKeys,\n name,\n setControlContextData,\n plasmicUpdateVariant,\n \"aria-label\": ariaLabel,\n } = props;\n\n const idManager = useMemo(() => new ListBoxItemIdManager(), []);\n\n useEffect(() => {\n idManager.subscribe((ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n });\n }, []);\n\n // NOTE: Aria <Select> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state.\n useEffect(() => {\n plasmicUpdateVariant?.({\n disabled: isDisabled,\n });\n }, [isDisabled, plasmicUpdateVariant]);\n\n return (\n <Select\n selectedKey={selectedKey}\n onSelectionChange={onSelectionChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n // Not calling plasmicUpdateVariant within className callback (which has access to render props) because it would then run on every render\n className={className}\n style={style}\n name={name}\n disabledKeys={disabledKeys}\n aria-label={ariaLabel}\n {...extractPlasmicDataProps(props)}\n >\n <SelectAutoOpen {...props} />\n <PlasmicPopoverTriggerContext.Provider value={true}>\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {children}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverTriggerContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n customize: {\n type: \"boolean\",\n displayName: \"Customize placeholder\",\n defaultValue: true,\n description: \"Customize the placeholder text and styles\",\n },\n children: {\n type: \"slot\",\n displayName: \"Placeholder\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Select an item\",\n },\n ],\n hidden: (props) => !props.customize,\n },\n },\n trapsFocus: true,\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n variants: SELECT_VARIANTS_DATA,\n props: {\n ...getCommonProps<BaseSelectProps>(\"Select\", [\n \"name\",\n \"aria-label\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n selectedKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKey\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n // React Aria Select do not support multiple selections yet\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValue\", type: \"string\" }],\n },\n disabledKeys: {\n type: \"choice\",\n displayName: \"Disabled values\",\n description:\n \"The items that are disabled. These items cannot be selected, focused, or otherwise interacted with.\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n multiSelect: true,\n advanced: true,\n },\n isOpen: {\n type: \"boolean\",\n defaultValue: false,\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n padding: \"4px 10px\",\n background: \"white\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"15px\",\n width: \"15px\",\n transform: \"rotate(180deg)\",\n },\n },\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n width: \"unset\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n props: {\n selectionMode: \"single\",\n },\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKey\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerSelect.esm.js","sources":["../src/registerSelect.tsx"],"sourcesContent":["import React, { useEffect, useMemo } from \"react\";\nimport {\n Select,\n SelectProps,\n SelectStateContext,\n SelectValue,\n} from \"react-aria-components\";\nimport { getCommonProps } from \"./common\";\nimport {\n PlasmicListBoxContext,\n PlasmicPopoverTriggerContext,\n} from \"./contexts\";\nimport { ListBoxItemIdManager } from \"./ListBoxItemIdManager\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { LABEL_COMPONENT_NAME } from \"./registerLabel\";\nimport { LIST_BOX_COMPONENT_NAME } from \"./registerListBox\";\nimport { POPOVER_COMPONENT_NAME } from \"./registerPopover\";\nimport {\n extractPlasmicDataProps,\n HasControlContextData,\n makeComponentName,\n Registerable,\n registerComponentHelper,\n useAutoOpen,\n} from \"./utils\";\nimport { pickAriaComponentVariants, WithVariants } from \"./variant-utils\";\n\n// It cannot be used as a hook like useAutoOpen() within the BaseSelect component\n// because it needs access to SelectStateContext, which is only created in the BaseSelect component's render function.\nfunction SelectAutoOpen(props: any) {\n const { open, close } = React.useContext(SelectStateContext) ?? {};\n useAutoOpen({\n props,\n open: () => {\n open?.();\n // using settimeout because the focus is not immediately available\n setTimeout(() => {\n /*\n When the select's popover is opened in the canvas, the listbox gains focus, trapping the keyboard focus within it. Pressing the up or down arrow keys navigates through the listbox items.\n However, there are three issues with this behavior:\n\n 1. Focus should not be triggered in canvas (non-interactive mode)\n 2. Canvas (non-interactive mode) should remain non-interactive: Navigation between listbox items or selection using the space key should not be possible.\n 3. Keyboard hotkeys (e.g., backspace, undo) stop working: Key presses are absorbed by the listbox, breaking the expected behavior for shortcuts like backspace or undo (reference).\n\n To resolve this, we need to call document.activeElement.blur() to remove focus from the listbox.\n\n However, since the select component is a code component embedded within the artboard iframe, the keyboard hotkeys (e.g., backspace, undo) will not work,\n because they only function in the parent iframe (__wab_studio-frame).\n To ensure hotkeys work properly, we need to shift focus from the active element in the child iframe (artboard iframe) to the parent iframe (__wab_studio-frame) by using window.parent.\n */\n (window.parent.document.activeElement as HTMLElement)?.blur?.();\n });\n },\n close,\n });\n\n return null;\n}\n\nexport interface BaseSelectValueProps\n extends React.ComponentProps<typeof SelectValue> {\n customize?: boolean;\n}\n\nexport const BaseSelectValue = (props: BaseSelectValueProps) => {\n const { children, customize, className } = props;\n const placeholder = customize ? children : \"Select an item\";\n return (\n <SelectValue className={className}>\n {({ isPlaceholder, selectedText }) => (\n <>{isPlaceholder ? placeholder : selectedText}</>\n )}\n </SelectValue>\n );\n};\n\nconst SELECT_NAME = makeComponentName(\"select\");\n\nexport interface BaseSelectControlContextData {\n itemIds: string[];\n}\n\nconst SELECT_VARIANTS = [\"disabled\" as const];\n\nconst { variants: SELECT_VARIANTS_DATA } =\n pickAriaComponentVariants(SELECT_VARIANTS);\n\nexport interface BaseSelectProps\n extends SelectProps<{}>, // NOTE: We don't need generic type here since we don't use items prop (that needs it). We just need to make the type checker happy\n WithVariants<typeof SELECT_VARIANTS>,\n HasControlContextData<BaseSelectControlContextData> {\n children?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseSelect(props: BaseSelectProps) {\n const {\n selectedKey,\n onSelectionChange,\n onOpenChange,\n isDisabled,\n className,\n style,\n children,\n disabledKeys,\n name,\n setControlContextData,\n plasmicUpdateVariant,\n \"aria-label\": ariaLabel,\n } = props;\n\n const idManager = useMemo(() => new ListBoxItemIdManager(), []);\n\n useEffect(() => {\n idManager.subscribe((ids: string[]) => {\n setControlContextData?.({\n itemIds: ids,\n });\n });\n }, []);\n\n // NOTE: Aria <Select> does not support render props, neither does it provide an onDisabledChange event, so we have to manually update the disabled state.\n useEffect(() => {\n plasmicUpdateVariant?.({\n disabled: isDisabled,\n });\n }, [isDisabled, plasmicUpdateVariant]);\n\n return (\n <Select\n selectedKey={selectedKey}\n onSelectionChange={onSelectionChange}\n onOpenChange={onOpenChange}\n isDisabled={isDisabled}\n // Not calling plasmicUpdateVariant within className callback (which has access to render props) because it would then run on every render\n className={className}\n style={style}\n name={name}\n disabledKeys={disabledKeys}\n aria-label={ariaLabel}\n {...extractPlasmicDataProps(props)}\n >\n <SelectAutoOpen {...props} />\n <PlasmicPopoverTriggerContext.Provider value={true}>\n <PlasmicListBoxContext.Provider\n value={{\n idManager,\n }}\n >\n {children}\n </PlasmicListBoxContext.Provider>\n </PlasmicPopoverTriggerContext.Provider>\n </Select>\n );\n}\n\nexport function registerSelect(loader?: Registerable) {\n const selectValueMeta = registerComponentHelper(loader, BaseSelectValue, {\n name: makeComponentName(\"select-value\"),\n displayName: \"Aria Selected Value\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelectValue\",\n parentComponentName: SELECT_NAME,\n props: {\n customize: {\n type: \"boolean\",\n displayName: \"Customize placeholder\",\n defaultValue: true,\n description: \"Customize the placeholder text and styles\",\n },\n children: {\n type: \"slot\",\n displayName: \"Placeholder\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Select an item\",\n },\n ],\n hidden: (props) => !props.customize,\n },\n },\n trapsFocus: true,\n });\n\n registerComponentHelper(loader, BaseSelect, {\n name: SELECT_NAME,\n displayName: \"Aria Select\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerSelect\",\n importName: \"BaseSelect\",\n variants: SELECT_VARIANTS_DATA,\n props: {\n ...getCommonProps<BaseSelectProps>(\"Select\", [\n \"name\",\n \"aria-label\",\n \"isDisabled\",\n \"autoFocus\",\n ]),\n selectedKey: {\n type: \"choice\",\n editOnly: true,\n uncontrolledProp: \"defaultSelectedKey\",\n displayName: \"Initial selected item\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n // React Aria Select do not support multiple selections yet\n multiSelect: false,\n },\n onSelectionChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectedValue\", type: \"string\" }],\n },\n disabledKeys: {\n type: \"choice\",\n displayName: \"Disabled values\",\n description:\n \"The items that are disabled. These items cannot be selected, focused, or otherwise interacted with.\",\n options: (_props, ctx) => (ctx?.itemIds ? Array.from(ctx.itemIds) : []),\n multiSelect: true,\n advanced: true,\n },\n isOpen: {\n type: \"boolean\",\n defaultValue: false,\n // It doesn't make sense to make isOpen prop editable (it's controlled by user interaction and always closed by default), so we keep this prop hidden. We have listed the prop here in the meta only so we can expose a writeable state for it.\n hidden: () => true,\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n children: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"vbox\",\n styles: {\n justifyContent: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"300px\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: LABEL_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Label\",\n },\n },\n },\n {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n styles: {\n width: \"100%\",\n padding: \"4px 10px\",\n background: \"white\",\n },\n props: {\n children: {\n type: \"hbox\",\n styles: {\n width: \"stretch\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: selectValueMeta.name,\n },\n {\n type: \"img\",\n src: \"https://static1.plasmic.app/arrow-up.svg\",\n styles: {\n height: \"15px\",\n width: \"15px\",\n transform: \"rotate(180deg)\",\n },\n },\n ],\n },\n },\n },\n {\n type: \"component\",\n name: POPOVER_COMPONENT_NAME,\n styles: {\n backgroundColor: \"white\",\n padding: \"10px\",\n overflow: \"scroll\",\n width: \"unset\",\n },\n props: {\n children: [\n {\n type: \"component\",\n name: LIST_BOX_COMPONENT_NAME,\n props: {\n selectionMode: \"single\",\n },\n styles: {\n borderWidth: 0,\n width: \"stretch\",\n },\n },\n ],\n },\n },\n ],\n },\n ],\n },\n },\n states: {\n selectedValue: {\n type: \"writable\",\n valueProp: \"selectedKey\",\n onChangeProp: \"onSelectionChange\",\n variableType: \"text\",\n },\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n });\n}\n"],"names":["_a"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var common = require('./common-4b974d89.cjs.js');
5
+ var common = require('./common-1e5dba7d.cjs.js');
6
6
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
7
7
  var registerLabel = require('./registerLabel.cjs.js');
8
8
  var registerSliderOutput = require('./registerSliderOutput.cjs.js');
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Slider } from 'react-aria-components';
3
- import { g as getCommonProps } from './common-1a6affb0.esm.js';
3
+ import { g as getCommonProps } from './common-a8f4a4b1.esm.js';
4
4
  import { f as PlasmicSliderContext } from './contexts-5cb81c2f.esm.js';
5
5
  import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
6
6
  import { registerSliderOutput } from './registerSliderOutput.esm.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var common = require('./common-4b974d89.cjs.js');
5
+ var common = require('./common-1e5dba7d.cjs.js');
6
6
  var utils = require('./utils-d1c8094f.cjs.js');
7
7
  var variantUtils = require('./variant-utils-8cb38f8f.cjs.js');
8
8
  require('@plasmicapp/host');
@@ -1,6 +1,6 @@
1
1
  import React, { Component } from 'react';
2
2
  import { SliderThumb, Slider, SliderTrack } from 'react-aria-components';
3
- import { g as getCommonProps } from './common-1a6affb0.esm.js';
3
+ import { g as getCommonProps } from './common-a8f4a4b1.esm.js';
4
4
  import { a as makeComponentName, r as registerComponentHelper } from './utils-41b3d43b.esm.js';
5
5
  import { p as pickAriaComponentVariants } from './variant-utils-7c2ea202.esm.js';
6
6
  import '@plasmicapp/host';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var common = require('./common-4b974d89.cjs.js');
5
+ var common = require('./common-1e5dba7d.cjs.js');
6
6
  var registerDescription = require('./registerDescription.cjs.js');
7
7
  var registerLabel = require('./registerLabel.cjs.js');
8
8
  var utils = require('./utils-d1c8094f.cjs.js');
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Switch } from 'react-aria-components';
3
- import { g as getCommonProps } from './common-1a6affb0.esm.js';
3
+ import { g as getCommonProps } from './common-a8f4a4b1.esm.js';
4
4
  import { DESCRIPTION_COMPONENT_NAME } from './registerDescription.esm.js';
5
5
  import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
6
6
  import { r as registerComponentHelper, a as makeComponentName } from './utils-41b3d43b.esm.js';
@@ -3,7 +3,7 @@
3
3
  var React = require('react');
4
4
  var reactAria = require('react-aria');
5
5
  var reactAriaComponents = require('react-aria-components');
6
- var common = require('./common-4b974d89.cjs.js');
6
+ var common = require('./common-1e5dba7d.cjs.js');
7
7
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
8
8
  var utils = require('./utils-d1c8094f.cjs.js');
9
9
  var variantUtils = require('./variant-utils-8cb38f8f.cjs.js');
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect } from 'react';
2
2
  import { mergeProps } from 'react-aria';
3
3
  import { TextArea } from 'react-aria-components';
4
- import { g as getCommonProps } from './common-1a6affb0.esm.js';
4
+ import { g as getCommonProps } from './common-a8f4a4b1.esm.js';
5
5
  import { g as PlasmicTextFieldContext } from './contexts-5cb81c2f.esm.js';
6
6
  import { r as registerComponentHelper, a as makeComponentName } from './utils-41b3d43b.esm.js';
7
7
  import { p as pickAriaComponentVariants } from './variant-utils-7c2ea202.esm.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var reactAriaComponents = require('react-aria-components');
5
- var common = require('./common-4b974d89.cjs.js');
5
+ var common = require('./common-1e5dba7d.cjs.js');
6
6
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
7
7
  var registerDescription = require('./registerDescription.cjs.js');
8
8
  var registerInput = require('./registerInput.cjs.js');
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { TextField } from 'react-aria-components';
3
- import { r as resolveAutoComplete, g as getCommonProps } from './common-1a6affb0.esm.js';
3
+ import { r as resolveAutoComplete, g as getCommonProps } from './common-a8f4a4b1.esm.js';
4
4
  import { g as PlasmicTextFieldContext } from './contexts-5cb81c2f.esm.js';
5
5
  import { DESCRIPTION_COMPONENT_NAME } from './registerDescription.esm.js';
6
6
  import { INPUT_COMPONENT_NAME } from './registerInput.esm.js';
@@ -1 +0,0 @@
1
- {"version":3,"file":"common-1a6affb0.esm.js","sources":["../src/common.ts"],"sourcesContent":["import { PropType } from \"@plasmicapp/host\";\nimport {\n BaseControlContextData,\n HasControlContextData,\n isDefined,\n} from \"./utils\";\n\nexport function hasParent<T>(_props: T, ctx: ConditionalContext<T>): boolean {\n return isDefined(ctx?.parent) === true;\n}\n\nexport function isParentReadOnly<T>(_props: T, ctx: ConditionalContext<T>) {\n return ctx?.parent?.isReadOnly === true;\n}\n\nexport function isParentDisabled<T>(_props: T, ctx: ConditionalContext<T>) {\n return ctx?.parent?.isDisabled === true;\n}\n\nexport function resolveAutoComplete(autoCompleteProp?: string | string[]) {\n if (typeof autoCompleteProp === \"string\") {\n return autoCompleteProp;\n }\n if (\n !autoCompleteProp ||\n !Array.isArray(autoCompleteProp) ||\n autoCompleteProp.includes(\"off\")\n ) {\n return undefined;\n }\n if (autoCompleteProp.includes(\"off\")) {\n return \"off\";\n }\n if (autoCompleteProp.includes(\"on\") && autoCompleteProp.length === 1) {\n return \"on\";\n }\n return autoCompleteProp.filter((x) => x !== \"on\").join(\" \");\n}\n\ntype ConditionalContext<T> = T extends HasControlContextData\n ? BaseControlContextData | null\n : null;\n\nfunction createNameProp<T>(): PropType<T> {\n return {\n type: \"string\",\n description: \"Name for this field if it is part of a form\",\n displayName: \"Form field key\",\n // hidden: hasParent,\n hidden: () => true, // hiding required prop until the release of Aria Forms\n advanced: true,\n };\n}\n\nfunction createDisabledProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Disabled\",\n type: \"boolean\",\n description: `Whether the ${componentName} is read-only and unfocusable`,\n defaultValueHint: false,\n hidden: isParentDisabled,\n };\n}\n\nfunction createReadOnlyProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Read only\",\n type: \"boolean\",\n description: `Whether the value of this ${componentName} can be changed by the user. Unlike disabled, read-only does not prevent the user from interacting with the component (such as focus).`,\n defaultValueHint: false,\n advanced: true,\n hidden: isParentReadOnly,\n };\n}\n\nfunction createRequiredProp<T>(componentName: string): PropType<T> {\n return {\n displayName: \"Required\",\n type: \"boolean\",\n description: `Whether user input is required on the ${componentName} before form submission.`,\n defaultValueHint: false,\n advanced: true,\n // hidden: hasParent,\n hidden: () => true, // hiding required prop until the release of Aria Forms\n };\n}\n\nfunction createAutoFocusProp<T>(componentName: string): PropType<T> {\n return {\n type: \"boolean\",\n description: `Whether the ${componentName} should be focused when rendered`,\n defaultValueHint: false,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nfunction createAriaLabelProp<T>(componentName: string): PropType<T> {\n return {\n type: \"string\",\n displayName: \"ARIA label\",\n description: `Label for this ${componentName}, if no visible label is used, to identify the element to assistive technology`,\n advanced: true,\n hidden: hasParent,\n };\n}\n\nfunction createChildrenProp<T>(): PropType<T> {\n return {\n type: \"slot\",\n mergeWithParent: true,\n };\n}\n\nexport function getCommonProps<T>(\n componentName: string,\n propNames: (keyof T)[]\n) {\n const commonProps: Record<string, PropType<T>> = {\n name: createNameProp<T>(),\n disabled: createDisabledProp(componentName),\n isDisabled: createDisabledProp(componentName),\n readOnly: createReadOnlyProp(componentName),\n isReadOnly: createReadOnlyProp(componentName),\n autoFocus: createAutoFocusProp(componentName),\n \"aria-label\": createAriaLabelProp(componentName),\n required: createRequiredProp(componentName),\n isRequired: createRequiredProp(componentName),\n children: createChildrenProp(),\n // NOTE: The following props are only applicable to inputs, textareas, and text fields\n value: {\n type: \"string\",\n editOnly: true,\n displayName: \"Initial value\",\n uncontrolledProp: \"defaultValue\",\n description: `The default value of the ${componentName}`,\n hidden: hasParent,\n },\n maxLength: {\n type: \"number\",\n description: \"The maximum number of characters supported by the input\",\n advanced: true,\n hidden: hasParent,\n },\n minLength: {\n type: \"number\",\n description: \"The minimum number of characters supported by the input\",\n advanced: true,\n hidden: hasParent,\n },\n pattern: {\n type: \"string\",\n description:\n \"Regex pattern that the value of the input must match to be valid\",\n helpText:\n \"For more information about writing Regular Expressions (regex), visit [Regexr](https://regexr.com/)\",\n validator: (value: string) => {\n try {\n new RegExp(value);\n return true;\n } catch (error) {\n return \"Invalid Regex\";\n }\n },\n advanced: true,\n hidden: hasParent,\n },\n type: {\n type: \"choice\",\n defaultValueHint: \"text\",\n options: [\"text\", \"search\", \"url\", \"tel\", \"email\", \"password\"],\n description:\n \"The type of data that an input field is expected to handle. It influences the input's behavior, validation, and the kind of interface provided to the user.\",\n advanced: true,\n hidden: hasParent,\n },\n inputMode: {\n type: \"choice\",\n description:\n \"hint to browsers as to the type of virtual keyboard configuration to use when editing this element or its contents.\",\n options: [\n \"none\",\n \"text\",\n \"tel\",\n \"url\",\n \"email\",\n \"numeric\",\n \"decimal\",\n \"search\",\n ],\n hidden: hasParent,\n },\n autoComplete: {\n type: \"choice\",\n advanced: true,\n multiSelect: true,\n hidden: hasParent,\n description: \"Guidance as to the type of data expected in the field\",\n helpText:\n \"Learn more about the available options on the [MDN guide](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values)\",\n options: [\n \"on\",\n \"off\",\n \"name\",\n \"honorific-prefix\",\n \"given-name\",\n \"additional-name\",\n \"family-name\",\n \"honorific-suffix\",\n \"nickname\",\n \"email\",\n \"username\",\n \"new-password\",\n \"current-password\",\n \"one-time-code\",\n \"organization-title\",\n \"organization\",\n \"street-address\",\n \"shipping\",\n \"billing\",\n \"address-line1\",\n \"address-line2\",\n \"address-line3\",\n \"address-level4\",\n \"address-level3\",\n \"address-level2\",\n \"address-level1\",\n \"country\",\n \"country-name\",\n \"postal-code\",\n \"cc-name\",\n \"cc-given-name\",\n \"cc-additional-name\",\n \"cc-family-name\",\n \"cc-number\",\n \"cc-exp\",\n \"cc-exp-month\",\n \"cc-exp-year\",\n \"cc-csc\",\n \"cc-type\",\n \"transaction-currency\",\n \"transaction-amount\",\n \"language\",\n \"bday\",\n \"bday-day\",\n \"bday-month\",\n \"bday-year\",\n \"sex\",\n \"tel\",\n \"tel-country-code\",\n \"tel-national\",\n \"tel-area-code\",\n \"tel-local\",\n \"tel-local-suffix\",\n \"tel-local-prefix\",\n \"tel-extension\",\n \"impp\",\n \"url\",\n \"photo\",\n \"webauthn\",\n ],\n },\n validationBehavior: {\n type: \"choice\",\n options: [\"native\", \"aria\"],\n description:\n \"Whether to use native HTML form validation to prevent form submission when the value is missing or invalid, or mark the field as required or invalid via ARIA.\",\n defaultValueHint: \"native\",\n advanced: true,\n hidden: hasParent,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"value\", type: \"string\" }],\n hidden: hasParent,\n },\n onFocus: {\n type: \"eventHandler\",\n argTypes: [{ name: \"focusEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onBlur: {\n type: \"eventHandler\",\n argTypes: [{ name: \"focusEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onFocusChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isFocused\", type: \"boolean\" }],\n advanced: true,\n hidden: hasParent,\n },\n onKeyDown: {\n type: \"eventHandler\",\n argTypes: [{ name: \"keyboardEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onKeyUp: {\n type: \"eventHandler\",\n argTypes: [{ name: \"keyboardEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCopy: {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCut: {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onPaste: {\n type: \"eventHandler\",\n argTypes: [{ name: \"clipbordEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCompositionStart: {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCompositionEnd: {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onCompositionUpdate: {\n type: \"eventHandler\",\n argTypes: [{ name: \"compositionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onSelect: {\n type: \"eventHandler\",\n argTypes: [{ name: \"selectionEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onBeforeInput: {\n type: \"eventHandler\",\n argTypes: [{ name: \"inputEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n onInput: {\n type: \"eventHandler\",\n argTypes: [{ name: \"inputEvent\", type: \"object\" }],\n advanced: true,\n hidden: hasParent,\n },\n placeholder: {\n type: \"string\",\n },\n };\n\n // Filter the properties based on the provided fields array\n const filteredProps: Partial<Record<keyof T, PropType<T>>> = {};\n propNames.forEach((propName) => {\n if (Object.prototype.hasOwnProperty.call(commonProps, propName)) {\n filteredProps[propName] = commonProps[propName as string];\n }\n });\n\n return filteredProps;\n}\n"],"names":[],"mappings":"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"}