@plasmicpkgs/react-aria 0.0.65 → 0.0.67
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/react-aria.esm.js +322 -222
- package/dist/react-aria.esm.js.map +1 -1
- package/dist/react-aria.js +320 -220
- package/dist/react-aria.js.map +1 -1
- package/dist/registerButton.d.ts +1 -1
- package/dist/registerTooltip.d.ts +4 -1
- package/dist/variant-utils.d.ts +16 -0
- package/package.json +2 -2
- package/skinny/registerButton.cjs.js +18 -17
- package/skinny/registerButton.cjs.js.map +1 -1
- package/skinny/registerButton.d.ts +1 -1
- package/skinny/registerButton.esm.js +19 -17
- package/skinny/registerButton.esm.js.map +1 -1
- package/skinny/registerCheckbox.cjs.js +1 -1
- package/skinny/registerCheckbox.esm.js +1 -1
- package/skinny/registerCheckboxGroup.cjs.js +1 -1
- package/skinny/registerCheckboxGroup.esm.js +1 -1
- package/skinny/registerComboBox.cjs.js +2 -2
- package/skinny/registerComboBox.esm.js +2 -2
- package/skinny/registerDialogTrigger.cjs.js +1 -1
- package/skinny/registerDialogTrigger.esm.js +1 -1
- package/skinny/registerInput.cjs.js +1 -1
- package/skinny/registerInput.esm.js +1 -1
- package/skinny/{registerListBox-8c096263.esm.js → registerListBox-5425b5fe.esm.js} +2 -2
- package/skinny/registerListBox-5425b5fe.esm.js.map +1 -0
- package/skinny/{registerListBox-4761c48d.cjs.js → registerListBox-62e01fbb.cjs.js} +2 -2
- package/skinny/registerListBox-62e01fbb.cjs.js.map +1 -0
- package/skinny/registerListBox.cjs.js +2 -2
- package/skinny/registerListBox.esm.js +2 -2
- package/skinny/registerListBoxItem.cjs.js +1 -1
- package/skinny/registerListBoxItem.esm.js +1 -1
- package/skinny/registerModal.cjs.js +14 -3
- package/skinny/registerModal.cjs.js.map +1 -1
- package/skinny/registerModal.esm.js +14 -3
- package/skinny/registerModal.esm.js.map +1 -1
- package/skinny/registerRadio.cjs.js +1 -1
- package/skinny/registerRadio.esm.js +1 -1
- package/skinny/registerRadioGroup.cjs.js +1 -1
- package/skinny/registerRadioGroup.esm.js +1 -1
- package/skinny/registerSelect.cjs.js +2 -2
- package/skinny/registerSelect.esm.js +2 -2
- package/skinny/registerSlider.cjs.js +1 -1
- package/skinny/registerSlider.esm.js +1 -1
- package/skinny/registerSliderOutput.cjs.js +1 -1
- package/skinny/registerSliderOutput.esm.js +1 -1
- package/skinny/registerSliderThumb.cjs.js +1 -1
- package/skinny/registerSliderThumb.esm.js +1 -1
- package/skinny/registerSliderTrack.cjs.js +1 -1
- package/skinny/registerSliderTrack.esm.js +1 -1
- package/skinny/registerSwitch.cjs.js +1 -1
- package/skinny/registerSwitch.esm.js +1 -1
- package/skinny/registerTextArea.cjs.js +1 -1
- package/skinny/registerTextArea.esm.js +1 -1
- package/skinny/registerTextField.cjs.js +1 -1
- package/skinny/registerTextField.esm.js +1 -1
- package/skinny/registerTooltip.cjs.js +118 -46
- package/skinny/registerTooltip.cjs.js.map +1 -1
- package/skinny/registerTooltip.d.ts +4 -1
- package/skinny/registerTooltip.esm.js +117 -45
- package/skinny/registerTooltip.esm.js.map +1 -1
- package/skinny/{variant-utils-23360776.esm.js → variant-utils-5f90385f.esm.js} +17 -1
- package/skinny/variant-utils-5f90385f.esm.js.map +1 -0
- package/skinny/{variant-utils-db5b9590.cjs.js → variant-utils-6c6ef452.cjs.js} +17 -1
- package/skinny/variant-utils-6c6ef452.cjs.js.map +1 -0
- package/skinny/variant-utils.d.ts +16 -0
- package/skinny/registerListBox-4761c48d.cjs.js.map +0 -1
- package/skinny/registerListBox-8c096263.esm.js.map +0 -1
- package/skinny/variant-utils-23360776.esm.js.map +0 -1
- package/skinny/variant-utils-db5b9590.cjs.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registerModal.cjs.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 ...rest\n } = props;\n\n const { isSelected } = usePlasmicCanvasComponentInfo(props) ?? {};\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\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":["forwardRef","React","PlasmicDialogTriggerContext","mergeProps","useImperativeHandle","_a","usePlasmicCanvasContext","Dialog","ModalOverlay","Modal","makeComponentName","registerComponentHelper","HEADING_COMPONENT_NAME","hasParent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registerModal.cjs.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 } = usePlasmicCanvasComponentInfo(props) ?? {};\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":["forwardRef","React","PlasmicDialogTriggerContext","mergeProps","useImperativeHandle","_a","usePlasmicCanvasContext","Dialog","ModalOverlay","Modal","makeComponentName","registerComponentHelper","HEADING_COMPONENT_NAME","hasParent"],"mappings":"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"}
|
|
@@ -51,20 +51,31 @@ const BaseModal = forwardRef(
|
|
|
51
51
|
className,
|
|
52
52
|
isOpen,
|
|
53
53
|
resetClassName,
|
|
54
|
-
setControlContextData
|
|
54
|
+
setControlContextData,
|
|
55
|
+
isDismissable
|
|
55
56
|
} = _a, rest = __objRest(_a, [
|
|
56
57
|
"children",
|
|
57
58
|
"modalOverlayClass",
|
|
58
59
|
"className",
|
|
59
60
|
"isOpen",
|
|
60
61
|
"resetClassName",
|
|
61
|
-
"setControlContextData"
|
|
62
|
+
"setControlContextData",
|
|
63
|
+
"isDismissable"
|
|
62
64
|
]);
|
|
63
65
|
const { isSelected } = (_b = usePlasmicCanvasComponentInfo(props)) != null ? _b : {};
|
|
64
66
|
const contextProps = React.useContext(PlasmicDialogTriggerContext);
|
|
65
67
|
const isStandalone = !contextProps;
|
|
66
68
|
const mergedProps = mergeProps(contextProps, rest, {
|
|
67
|
-
isOpen: isStandalone ? isSelected || isOpen : contextProps.isOpen
|
|
69
|
+
isOpen: isStandalone ? isSelected || isOpen : contextProps.isOpen,
|
|
70
|
+
/*
|
|
71
|
+
isDismissable on canvas (non-interactive mode) causes the following two issues:
|
|
72
|
+
1. Clicking anywhere inside the modal dismisses it
|
|
73
|
+
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
|
+
|
|
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
|
+
*/
|
|
78
|
+
isDismissable: isSelected ? false : isDismissable
|
|
68
79
|
});
|
|
69
80
|
setControlContextData == null ? void 0 : setControlContextData({
|
|
70
81
|
parent: isStandalone ? void 0 : {}
|
|
@@ -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 ...rest\n } = props;\n\n const { isSelected } = usePlasmicCanvasComponentInfo(props) ?? {};\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\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 _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 } = usePlasmicCanvasComponentInfo(props) ?? {};\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,MAAM,aAAgB,GAAA;AAAA,EACpB,OAAS,EAAA,MAAA;AACX,CAAA,CAAA;AAEO,MAAM,SAAY,GAAA,UAAA;AAAA,EACvB,SAAS,UAAW,CAAA,KAAA,EAAO,GAAK,EAAA;AA1ClC,IAAA,IAAA,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,EAAE,UAAW,EAAA,GAAA,CAAI,mCAA8B,KAAK,CAAA,KAAnC,YAAwC,EAAC,CAAA;AAEhE,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;AAAA,MAS3D,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;AA7EnB,QAAAA,IAAAA,GAAAA,CAAAA;AA8EQ,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;AAhFlB,QAAAA,IAAAA,GAAAA,CAAAA;AAiFQ,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;AAEF,IAAA,MAAM,WAAW,uBAAwB,EAAA,CAAA;AAKzC,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,QAAA,GAAW,eAAe,aAC7B,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;;;;"}
|
|
@@ -6,7 +6,7 @@ var common = require('./common-2e984ab4.cjs.js');
|
|
|
6
6
|
var contexts = require('./contexts-baa37b74.cjs.js');
|
|
7
7
|
var registerLabel = require('./registerLabel.cjs.js');
|
|
8
8
|
var utils = require('./utils-8dbb4d1f.cjs.js');
|
|
9
|
-
var variantUtils = require('./variant-utils-
|
|
9
|
+
var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
|
|
10
10
|
require('@plasmicapp/host/registerComponent');
|
|
11
11
|
|
|
12
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -4,7 +4,7 @@ import { g as getCommonProps } from './common-0c4336fe.esm.js';
|
|
|
4
4
|
import { e as PlasmicRadioGroupContext } from './contexts-081d65a0.esm.js';
|
|
5
5
|
import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
|
|
6
6
|
import { r as registerComponentHelper, a as makeComponentName } from './utils-c7662a47.esm.js';
|
|
7
|
-
import { p as pickAriaComponentVariants } from './variant-utils-
|
|
7
|
+
import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
|
|
8
8
|
import '@plasmicapp/host/registerComponent';
|
|
9
9
|
|
|
10
10
|
var __defProp = Object.defineProperty;
|
|
@@ -9,7 +9,7 @@ var registerFieldError = require('./registerFieldError.cjs.js');
|
|
|
9
9
|
var registerLabel = require('./registerLabel.cjs.js');
|
|
10
10
|
var registerRadio = require('./registerRadio.cjs.js');
|
|
11
11
|
var utils = require('./utils-8dbb4d1f.cjs.js');
|
|
12
|
-
var variantUtils = require('./variant-utils-
|
|
12
|
+
var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
|
|
13
13
|
require('./registerText.cjs.js');
|
|
14
14
|
require('@plasmicapp/host/registerComponent');
|
|
15
15
|
|
|
@@ -7,7 +7,7 @@ import { registerFieldError } from './registerFieldError.esm.js';
|
|
|
7
7
|
import { registerLabel, LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
|
|
8
8
|
import { registerRadio, makeDefaultRadioChildren } from './registerRadio.esm.js';
|
|
9
9
|
import { m as makeChildComponentName, r as registerComponentHelper, a as makeComponentName } from './utils-c7662a47.esm.js';
|
|
10
|
-
import { p as pickAriaComponentVariants } from './variant-utils-
|
|
10
|
+
import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
|
|
11
11
|
import './registerText.esm.js';
|
|
12
12
|
import '@plasmicapp/host/registerComponent';
|
|
13
13
|
|
|
@@ -5,7 +5,7 @@ var React = require('react');
|
|
|
5
5
|
var reactAriaComponents = require('react-aria-components');
|
|
6
6
|
var common = require('./common-2e984ab4.cjs.js');
|
|
7
7
|
var contexts = require('./contexts-baa37b74.cjs.js');
|
|
8
|
-
var registerListBox = require('./registerListBox-
|
|
8
|
+
var registerListBox = require('./registerListBox-62e01fbb.cjs.js');
|
|
9
9
|
var registerButton = require('./registerButton.cjs.js');
|
|
10
10
|
var registerLabel = require('./registerLabel.cjs.js');
|
|
11
11
|
var registerPopover = require('./registerPopover.cjs.js');
|
|
@@ -13,7 +13,7 @@ var utils = require('./utils-8dbb4d1f.cjs.js');
|
|
|
13
13
|
require('./registerListBoxItem.cjs.js');
|
|
14
14
|
require('./registerDescription.cjs.js');
|
|
15
15
|
require('./registerText.cjs.js');
|
|
16
|
-
require('./variant-utils-
|
|
16
|
+
require('./variant-utils-6c6ef452.cjs.js');
|
|
17
17
|
require('./registerSection.cjs.js');
|
|
18
18
|
require('@react-aria/utils');
|
|
19
19
|
require('@plasmicapp/host/registerComponent');
|
|
@@ -3,7 +3,7 @@ import React, { useMemo, useEffect } from 'react';
|
|
|
3
3
|
import { SelectValue, Select } from 'react-aria-components';
|
|
4
4
|
import { g as getCommonProps } from './common-0c4336fe.esm.js';
|
|
5
5
|
import { a as PlasmicPopoverContext, b as PlasmicListBoxContext } from './contexts-081d65a0.esm.js';
|
|
6
|
-
import { L as ListBoxItemIdManager, a as LIST_BOX_COMPONENT_NAME } from './registerListBox-
|
|
6
|
+
import { L as ListBoxItemIdManager, a as LIST_BOX_COMPONENT_NAME } from './registerListBox-5425b5fe.esm.js';
|
|
7
7
|
import { BUTTON_COMPONENT_NAME } from './registerButton.esm.js';
|
|
8
8
|
import { LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
|
|
9
9
|
import { POPOVER_COMPONENT_NAME } from './registerPopover.esm.js';
|
|
@@ -11,7 +11,7 @@ import { e as extractPlasmicDataProps, r as registerComponentHelper, a as makeCo
|
|
|
11
11
|
import './registerListBoxItem.esm.js';
|
|
12
12
|
import './registerDescription.esm.js';
|
|
13
13
|
import './registerText.esm.js';
|
|
14
|
-
import './variant-utils-
|
|
14
|
+
import './variant-utils-5f90385f.esm.js';
|
|
15
15
|
import './registerSection.esm.js';
|
|
16
16
|
import '@react-aria/utils';
|
|
17
17
|
import '@plasmicapp/host/registerComponent';
|
|
@@ -9,7 +9,7 @@ var registerSliderOutput = require('./registerSliderOutput.cjs.js');
|
|
|
9
9
|
var registerSliderThumb = require('./registerSliderThumb.cjs.js');
|
|
10
10
|
var registerSliderTrack = require('./registerSliderTrack.cjs.js');
|
|
11
11
|
var utils = require('./utils-8dbb4d1f.cjs.js');
|
|
12
|
-
var variantUtils = require('./variant-utils-
|
|
12
|
+
var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
|
|
13
13
|
require('react-aria');
|
|
14
14
|
require('react-keyed-flatten-children');
|
|
15
15
|
require('@plasmicapp/host/registerComponent');
|
|
@@ -7,7 +7,7 @@ import { registerSliderOutput } from './registerSliderOutput.esm.js';
|
|
|
7
7
|
import { registerSliderThumb } from './registerSliderThumb.esm.js';
|
|
8
8
|
import { registerSliderTrack } from './registerSliderTrack.esm.js';
|
|
9
9
|
import { r as registerComponentHelper, a as makeComponentName } from './utils-c7662a47.esm.js';
|
|
10
|
-
import { p as pickAriaComponentVariants } from './variant-utils-
|
|
10
|
+
import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
|
|
11
11
|
import 'react-aria';
|
|
12
12
|
import 'react-keyed-flatten-children';
|
|
13
13
|
import '@plasmicapp/host/registerComponent';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var reactAriaComponents = require('react-aria-components');
|
|
5
5
|
var utils = require('./utils-8dbb4d1f.cjs.js');
|
|
6
|
-
var variantUtils = require('./variant-utils-
|
|
6
|
+
var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
|
|
7
7
|
require('@plasmicapp/host/registerComponent');
|
|
8
8
|
|
|
9
9
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { SliderOutput } from 'react-aria-components';
|
|
3
3
|
import { a as makeComponentName, r as registerComponentHelper } from './utils-c7662a47.esm.js';
|
|
4
|
-
import { p as pickAriaComponentVariants } from './variant-utils-
|
|
4
|
+
import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
|
|
5
5
|
import '@plasmicapp/host/registerComponent';
|
|
6
6
|
|
|
7
7
|
var __defProp = Object.defineProperty;
|
|
@@ -6,7 +6,7 @@ var reactAriaComponents = require('react-aria-components');
|
|
|
6
6
|
var common = require('./common-2e984ab4.cjs.js');
|
|
7
7
|
var contexts = require('./contexts-baa37b74.cjs.js');
|
|
8
8
|
var utils = require('./utils-8dbb4d1f.cjs.js');
|
|
9
|
-
var variantUtils = require('./variant-utils-
|
|
9
|
+
var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
|
|
10
10
|
require('@plasmicapp/host/registerComponent');
|
|
11
11
|
|
|
12
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -4,7 +4,7 @@ import { SliderThumb, Slider, SliderTrack } from 'react-aria-components';
|
|
|
4
4
|
import { g as getCommonProps } from './common-0c4336fe.esm.js';
|
|
5
5
|
import { f as PlasmicSliderContext } from './contexts-081d65a0.esm.js';
|
|
6
6
|
import { a as makeComponentName, r as registerComponentHelper } from './utils-c7662a47.esm.js';
|
|
7
|
-
import { p as pickAriaComponentVariants } from './variant-utils-
|
|
7
|
+
import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
|
|
8
8
|
import '@plasmicapp/host/registerComponent';
|
|
9
9
|
|
|
10
10
|
class ErrorBoundary extends Component {
|
|
@@ -6,7 +6,7 @@ var reactAriaComponents = require('react-aria-components');
|
|
|
6
6
|
var flattenChildren = require('react-keyed-flatten-children');
|
|
7
7
|
var contexts = require('./contexts-baa37b74.cjs.js');
|
|
8
8
|
var utils = require('./utils-8dbb4d1f.cjs.js');
|
|
9
|
-
var variantUtils = require('./variant-utils-
|
|
9
|
+
var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
|
|
10
10
|
require('@plasmicapp/host/registerComponent');
|
|
11
11
|
|
|
12
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -4,7 +4,7 @@ import { SliderTrack, Slider } from 'react-aria-components';
|
|
|
4
4
|
import flattenChildren from 'react-keyed-flatten-children';
|
|
5
5
|
import { f as PlasmicSliderContext } from './contexts-081d65a0.esm.js';
|
|
6
6
|
import { i as isDefined, a as makeComponentName, r as registerComponentHelper } from './utils-c7662a47.esm.js';
|
|
7
|
-
import { p as pickAriaComponentVariants } from './variant-utils-
|
|
7
|
+
import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
|
|
8
8
|
import '@plasmicapp/host/registerComponent';
|
|
9
9
|
|
|
10
10
|
var __defProp = Object.defineProperty;
|
|
@@ -6,7 +6,7 @@ var common = require('./common-2e984ab4.cjs.js');
|
|
|
6
6
|
var registerDescription = require('./registerDescription.cjs.js');
|
|
7
7
|
var registerLabel = require('./registerLabel.cjs.js');
|
|
8
8
|
var utils = require('./utils-8dbb4d1f.cjs.js');
|
|
9
|
-
var variantUtils = require('./variant-utils-
|
|
9
|
+
var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
|
|
10
10
|
require('./registerText.cjs.js');
|
|
11
11
|
require('@plasmicapp/host/registerComponent');
|
|
12
12
|
|
|
@@ -4,7 +4,7 @@ import { g as getCommonProps } from './common-0c4336fe.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-c7662a47.esm.js';
|
|
7
|
-
import { p as pickAriaComponentVariants } from './variant-utils-
|
|
7
|
+
import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
|
|
8
8
|
import './registerText.esm.js';
|
|
9
9
|
import '@plasmicapp/host/registerComponent';
|
|
10
10
|
|
|
@@ -6,7 +6,7 @@ var reactAriaComponents = require('react-aria-components');
|
|
|
6
6
|
var common = require('./common-2e984ab4.cjs.js');
|
|
7
7
|
var contexts = require('./contexts-baa37b74.cjs.js');
|
|
8
8
|
var utils = require('./utils-8dbb4d1f.cjs.js');
|
|
9
|
-
var variantUtils = require('./variant-utils-
|
|
9
|
+
var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
|
|
10
10
|
require('@plasmicapp/host/registerComponent');
|
|
11
11
|
|
|
12
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -4,7 +4,7 @@ import { TextArea } from 'react-aria-components';
|
|
|
4
4
|
import { g as getCommonProps } from './common-0c4336fe.esm.js';
|
|
5
5
|
import { g as PlasmicTextFieldContext } from './contexts-081d65a0.esm.js';
|
|
6
6
|
import { r as registerComponentHelper, a as makeComponentName } from './utils-c7662a47.esm.js';
|
|
7
|
-
import { p as pickAriaComponentVariants } from './variant-utils-
|
|
7
|
+
import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
|
|
8
8
|
import '@plasmicapp/host/registerComponent';
|
|
9
9
|
|
|
10
10
|
var __defProp = Object.defineProperty;
|
|
@@ -10,7 +10,7 @@ var registerInput = require('./registerInput.cjs.js');
|
|
|
10
10
|
var registerLabel = require('./registerLabel.cjs.js');
|
|
11
11
|
var registerTextArea = require('./registerTextArea.cjs.js');
|
|
12
12
|
var utils = require('./utils-8dbb4d1f.cjs.js');
|
|
13
|
-
var variantUtils = require('./variant-utils-
|
|
13
|
+
var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
|
|
14
14
|
require('./registerText.cjs.js');
|
|
15
15
|
require('react-aria');
|
|
16
16
|
require('@plasmicapp/host/registerComponent');
|
|
@@ -8,7 +8,7 @@ import { registerInput, INPUT_COMPONENT_NAME } from './registerInput.esm.js';
|
|
|
8
8
|
import { registerLabel, LABEL_COMPONENT_NAME } from './registerLabel.esm.js';
|
|
9
9
|
import { registerTextArea } from './registerTextArea.esm.js';
|
|
10
10
|
import { a as makeComponentName, r as registerComponentHelper, m as makeChildComponentName } from './utils-c7662a47.esm.js';
|
|
11
|
-
import { p as pickAriaComponentVariants } from './variant-utils-
|
|
11
|
+
import { p as pickAriaComponentVariants } from './variant-utils-5f90385f.esm.js';
|
|
12
12
|
import './registerText.esm.js';
|
|
13
13
|
import 'react-aria';
|
|
14
14
|
import '@plasmicapp/host/registerComponent';
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var host = require('@plasmicapp/host');
|
|
4
|
-
var utils = require('@react-aria/utils');
|
|
5
4
|
var React = require('react');
|
|
6
5
|
var reactAria = require('react-aria');
|
|
6
|
+
var reactAriaComponents = require('react-aria-components');
|
|
7
7
|
var flattenChildren = require('react-keyed-flatten-children');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
8
|
+
var utils = require('./utils-8dbb4d1f.cjs.js');
|
|
9
|
+
var variantUtils = require('./variant-utils-6c6ef452.cjs.js');
|
|
10
10
|
require('@plasmicapp/host/registerComponent');
|
|
11
11
|
|
|
12
12
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -15,6 +15,8 @@ var React__default = /*#__PURE__*/_interopDefault(React);
|
|
|
15
15
|
var flattenChildren__default = /*#__PURE__*/_interopDefault(flattenChildren);
|
|
16
16
|
|
|
17
17
|
var __defProp = Object.defineProperty;
|
|
18
|
+
var __defProps = Object.defineProperties;
|
|
19
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
18
20
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
19
21
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
20
22
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
@@ -30,52 +32,94 @@ var __spreadValues = (a, b) => {
|
|
|
30
32
|
}
|
|
31
33
|
return a;
|
|
32
34
|
};
|
|
33
|
-
var
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
};
|
|
45
|
-
function
|
|
46
|
-
var _b;
|
|
47
|
-
const _a = props, { children, tooltipContent, className, resetClassName } = _a, restProps = __objRest(_a, ["children", "tooltipContent", "className", "resetClassName"]);
|
|
48
|
-
const { isSelected, selectedSlotName } = (_b = host.usePlasmicCanvasComponentInfo(props)) != null ? _b : {};
|
|
49
|
-
const isAutoOpen = selectedSlotName !== "children" && isSelected;
|
|
50
|
-
const state = reactStately.useTooltipTriggerState(restProps);
|
|
35
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
36
|
+
function isForwardRefComponent(element) {
|
|
37
|
+
var _a;
|
|
38
|
+
return ((_a = element == null ? void 0 : element.type) == null ? void 0 : _a.$$typeof) === Symbol.for("react.forward_ref");
|
|
39
|
+
}
|
|
40
|
+
const TOOLTIP_VARIANTS = [
|
|
41
|
+
"placementTop",
|
|
42
|
+
"placementBottom",
|
|
43
|
+
"placementLeft",
|
|
44
|
+
"placementRight"
|
|
45
|
+
];
|
|
46
|
+
const { variants, withObservedValues } = variantUtils.pickAriaComponentVariants(TOOLTIP_VARIANTS);
|
|
47
|
+
function TooltipButton(props) {
|
|
51
48
|
const ref = React__default.default.useRef(null);
|
|
52
|
-
const {
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
const { buttonProps } = reactAria.useButton(props, ref);
|
|
50
|
+
const { children } = props;
|
|
51
|
+
if (!isForwardRefComponent(children)) {
|
|
52
|
+
return children;
|
|
53
|
+
}
|
|
54
|
+
return React__default.default.cloneElement(children, __spreadProps(__spreadValues({}, buttonProps), {
|
|
55
55
|
ref
|
|
56
|
-
);
|
|
57
|
-
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
function BaseTooltip(props) {
|
|
59
|
+
var _a;
|
|
60
|
+
const {
|
|
61
|
+
children,
|
|
62
|
+
isDisabled,
|
|
63
|
+
delay,
|
|
64
|
+
closeDelay,
|
|
65
|
+
trigger,
|
|
66
|
+
isOpen,
|
|
67
|
+
defaultOpen,
|
|
68
|
+
tooltipContent,
|
|
69
|
+
resetClassName,
|
|
70
|
+
placement,
|
|
71
|
+
offset,
|
|
72
|
+
crossOffset,
|
|
73
|
+
shouldFlip,
|
|
74
|
+
arrowBoundaryOffset,
|
|
75
|
+
className,
|
|
76
|
+
onOpenChange,
|
|
77
|
+
plasmicUpdateVariant
|
|
78
|
+
} = props;
|
|
79
|
+
const { isSelected, selectedSlotName } = (_a = host.usePlasmicCanvasComponentInfo(props)) != null ? _a : {};
|
|
80
|
+
const isAutoOpen = selectedSlotName !== "children" && isSelected;
|
|
58
81
|
const focusableChild = flattenChildren__default.default(children)[0];
|
|
82
|
+
const _isOpen = isAutoOpen || isOpen;
|
|
59
83
|
return /* @__PURE__ */ React__default.default.createElement(
|
|
60
|
-
|
|
84
|
+
reactAriaComponents.TooltipTrigger,
|
|
61
85
|
{
|
|
62
|
-
|
|
63
|
-
|
|
86
|
+
isDisabled,
|
|
87
|
+
delay,
|
|
88
|
+
closeDelay,
|
|
89
|
+
trigger,
|
|
90
|
+
isOpen: _isOpen,
|
|
91
|
+
defaultOpen,
|
|
92
|
+
onOpenChange
|
|
64
93
|
},
|
|
65
|
-
React__default.default.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
94
|
+
/* @__PURE__ */ React__default.default.createElement(TooltipButton, null, focusableChild),
|
|
95
|
+
/* @__PURE__ */ React__default.default.createElement(
|
|
96
|
+
reactAriaComponents.Tooltip,
|
|
97
|
+
{
|
|
98
|
+
isOpen: _isOpen,
|
|
99
|
+
offset,
|
|
100
|
+
crossOffset,
|
|
101
|
+
shouldFlip,
|
|
102
|
+
arrowBoundaryOffset,
|
|
103
|
+
defaultOpen,
|
|
104
|
+
className: `${className} ${resetClassName}`,
|
|
105
|
+
onOpenChange,
|
|
106
|
+
placement
|
|
107
|
+
},
|
|
108
|
+
({ placement: _placement }) => withObservedValues(
|
|
109
|
+
tooltipContent,
|
|
110
|
+
{
|
|
111
|
+
placementTop: _placement === "top",
|
|
112
|
+
placementBottom: _placement === "bottom",
|
|
113
|
+
placementLeft: _placement === "left",
|
|
114
|
+
placementRight: _placement === "right"
|
|
115
|
+
},
|
|
116
|
+
plasmicUpdateVariant
|
|
117
|
+
)
|
|
118
|
+
)
|
|
75
119
|
);
|
|
76
120
|
}
|
|
77
121
|
function registerTooltip(loader, overrides) {
|
|
78
|
-
utils
|
|
122
|
+
utils.registerComponentHelper(
|
|
79
123
|
loader,
|
|
80
124
|
BaseTooltip,
|
|
81
125
|
{
|
|
@@ -85,14 +129,18 @@ function registerTooltip(loader, overrides) {
|
|
|
85
129
|
importName: "BaseTooltip",
|
|
86
130
|
isAttachment: true,
|
|
87
131
|
styleSections: true,
|
|
132
|
+
variants,
|
|
88
133
|
props: {
|
|
89
134
|
children: {
|
|
90
135
|
type: "slot",
|
|
91
|
-
displayName: "Trigger",
|
|
92
136
|
mergeWithParent: true,
|
|
137
|
+
displayName: "Trigger",
|
|
93
138
|
defaultValue: {
|
|
94
139
|
type: "text",
|
|
95
|
-
value: "Hover me!"
|
|
140
|
+
value: "Hover me!",
|
|
141
|
+
styles: {
|
|
142
|
+
width: "hug"
|
|
143
|
+
}
|
|
96
144
|
}
|
|
97
145
|
},
|
|
98
146
|
tooltipContent: {
|
|
@@ -102,7 +150,11 @@ function registerTooltip(loader, overrides) {
|
|
|
102
150
|
// NOTE: This is not applied in attachment
|
|
103
151
|
defaultValue: {
|
|
104
152
|
type: "text",
|
|
105
|
-
value: "Hello from Tooltip!"
|
|
153
|
+
value: "Hello from Tooltip!",
|
|
154
|
+
styles: {
|
|
155
|
+
// So the text does not overlap with existing content
|
|
156
|
+
backgroundColor: "white"
|
|
157
|
+
}
|
|
106
158
|
}
|
|
107
159
|
},
|
|
108
160
|
resetClassName: {
|
|
@@ -113,12 +165,16 @@ function registerTooltip(loader, overrides) {
|
|
|
113
165
|
},
|
|
114
166
|
delay: {
|
|
115
167
|
type: "number",
|
|
116
|
-
|
|
168
|
+
// Default value is explicitly set to 0 to prevent users from mistakenly thinking the tooltip isn’t opening due to a delay.
|
|
169
|
+
defaultValue: 0,
|
|
170
|
+
defaultValueHint: 0,
|
|
117
171
|
description: "The delay (in milliseconds) for the tooltip to show up."
|
|
118
172
|
},
|
|
119
173
|
closeDelay: {
|
|
120
174
|
type: "number",
|
|
121
|
-
|
|
175
|
+
// Default value is explicitly set to 0 to prevent users from mistakenly thinking the tooltip isn’t closing due to a delay.
|
|
176
|
+
defaultValue: 0,
|
|
177
|
+
defaultValueHint: 0,
|
|
122
178
|
description: "The delay (in milliseconds) for the tooltip to close."
|
|
123
179
|
},
|
|
124
180
|
trigger: {
|
|
@@ -126,6 +182,21 @@ function registerTooltip(loader, overrides) {
|
|
|
126
182
|
options: ["focus", "focus and hover"],
|
|
127
183
|
defaultValueHint: "focus and hover"
|
|
128
184
|
},
|
|
185
|
+
placement: {
|
|
186
|
+
type: "choice",
|
|
187
|
+
description: "Default placement of the popover relative to the trigger, if there is enough space",
|
|
188
|
+
defaultValueHint: "top",
|
|
189
|
+
// Not providing more options because https://github.com/adobe/react-spectrum/issues/6517
|
|
190
|
+
options: ["top", "bottom", "left", "right"]
|
|
191
|
+
},
|
|
192
|
+
isOpen: {
|
|
193
|
+
type: "boolean",
|
|
194
|
+
editOnly: true,
|
|
195
|
+
uncontrolledProp: "defaultOpen",
|
|
196
|
+
description: "Whether the overlay is open by default",
|
|
197
|
+
defaultValueHint: false,
|
|
198
|
+
hidden: () => true
|
|
199
|
+
},
|
|
129
200
|
onOpenChange: {
|
|
130
201
|
type: "eventHandler",
|
|
131
202
|
argTypes: [{ name: "isOpen", type: "boolean" }]
|
|
@@ -133,7 +204,8 @@ function registerTooltip(loader, overrides) {
|
|
|
133
204
|
},
|
|
134
205
|
states: {
|
|
135
206
|
isOpen: {
|
|
136
|
-
type: "
|
|
207
|
+
type: "writable",
|
|
208
|
+
valueProp: "isOpen",
|
|
137
209
|
onChangeProp: "onOpenChange",
|
|
138
210
|
variableType: "boolean"
|
|
139
211
|
}
|