@plasmicpkgs/react-aria 0.0.113 → 0.0.115

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 (130) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contexts.d.ts +1 -1
  3. package/dist/react-aria.esm.js +156 -61
  4. package/dist/react-aria.esm.js.map +1 -1
  5. package/dist/react-aria.js +155 -60
  6. package/dist/react-aria.js.map +1 -1
  7. package/dist/registerInput.d.ts +2 -2
  8. package/dist/registerTextArea.d.ts +2 -2
  9. package/dist/utils.d.ts +21 -2
  10. package/package.json +2 -2
  11. package/skinny/{common-b3b54c72.cjs.js → common-45acb83c.cjs.js} +2 -2
  12. package/skinny/{common-b3b54c72.cjs.js.map → common-45acb83c.cjs.js.map} +1 -1
  13. package/skinny/{common-ceebbaea.esm.js → common-616eb178.esm.js} +2 -2
  14. package/skinny/{common-ceebbaea.esm.js.map → common-616eb178.esm.js.map} +1 -1
  15. package/skinny/contexts.d.ts +1 -1
  16. package/skinny/registerButton.cjs.js +2 -2
  17. package/skinny/registerButton.esm.js +2 -2
  18. package/skinny/registerButton.stories.cjs.js +2 -2
  19. package/skinny/registerButton.stories.esm.js +2 -2
  20. package/skinny/registerCheckbox.cjs.js +2 -2
  21. package/skinny/registerCheckbox.esm.js +2 -2
  22. package/skinny/registerCheckboxGroup.cjs.js +2 -2
  23. package/skinny/registerCheckboxGroup.esm.js +2 -2
  24. package/skinny/registerCheckboxGroup.stories.cjs.js +2 -2
  25. package/skinny/registerCheckboxGroup.stories.esm.js +2 -2
  26. package/skinny/registerComboBox.cjs.js +3 -3
  27. package/skinny/registerComboBox.esm.js +3 -3
  28. package/skinny/registerComboBox.stories.cjs.js +3 -3
  29. package/skinny/registerComboBox.stories.esm.js +3 -3
  30. package/skinny/registerDescription.cjs.js +2 -2
  31. package/skinny/registerDescription.esm.js +2 -2
  32. package/skinny/registerDialog.cjs.js +2 -2
  33. package/skinny/registerDialog.esm.js +2 -2
  34. package/skinny/registerDialogTrigger.cjs.js +10 -8
  35. package/skinny/registerDialogTrigger.cjs.js.map +1 -1
  36. package/skinny/registerDialogTrigger.esm.js +10 -8
  37. package/skinny/registerDialogTrigger.esm.js.map +1 -1
  38. package/skinny/registerDialogTrigger.stories.cjs.js +7 -2
  39. package/skinny/registerDialogTrigger.stories.cjs.js.map +1 -1
  40. package/skinny/registerDialogTrigger.stories.esm.js +8 -3
  41. package/skinny/registerDialogTrigger.stories.esm.js.map +1 -1
  42. package/skinny/registerFieldError.cjs.js +1 -1
  43. package/skinny/registerFieldError.esm.js +1 -1
  44. package/skinny/registerForm.cjs.js +1 -1
  45. package/skinny/registerForm.esm.js +1 -1
  46. package/skinny/registerHeading.cjs.js +2 -2
  47. package/skinny/registerHeading.esm.js +2 -2
  48. package/skinny/registerInput.cjs.js +43 -21
  49. package/skinny/registerInput.cjs.js.map +1 -1
  50. package/skinny/registerInput.d.ts +2 -2
  51. package/skinny/registerInput.esm.js +46 -24
  52. package/skinny/registerInput.esm.js.map +1 -1
  53. package/skinny/registerLabel.cjs.js +2 -2
  54. package/skinny/registerLabel.esm.js +2 -2
  55. package/skinny/{registerListBox-a99736df.cjs.js → registerListBox-040b0374.cjs.js} +3 -3
  56. package/skinny/{registerListBox-a99736df.cjs.js.map → registerListBox-040b0374.cjs.js.map} +1 -1
  57. package/skinny/{registerListBox-49626f55.esm.js → registerListBox-21dc99fa.esm.js} +3 -3
  58. package/skinny/{registerListBox-49626f55.esm.js.map → registerListBox-21dc99fa.esm.js.map} +1 -1
  59. package/skinny/registerListBox.cjs.js +3 -3
  60. package/skinny/registerListBox.esm.js +3 -3
  61. package/skinny/registerListBoxItem.cjs.js +2 -2
  62. package/skinny/registerListBoxItem.esm.js +2 -2
  63. package/skinny/registerListbox.stories.cjs.js +3 -3
  64. package/skinny/registerListbox.stories.esm.js +3 -3
  65. package/skinny/registerModal.cjs.js +18 -14
  66. package/skinny/registerModal.cjs.js.map +1 -1
  67. package/skinny/registerModal.esm.js +19 -15
  68. package/skinny/registerModal.esm.js.map +1 -1
  69. package/skinny/registerModal.stories.cjs.js +2 -2
  70. package/skinny/registerModal.stories.esm.js +2 -2
  71. package/skinny/registerOverlayArrow.cjs.js +2 -2
  72. package/skinny/registerOverlayArrow.esm.js +2 -2
  73. package/skinny/registerPopover.cjs.js +2 -2
  74. package/skinny/registerPopover.esm.js +2 -2
  75. package/skinny/registerPopover.stories.cjs.js +2 -2
  76. package/skinny/registerPopover.stories.esm.js +2 -2
  77. package/skinny/registerRadio.cjs.js +2 -2
  78. package/skinny/registerRadio.esm.js +2 -2
  79. package/skinny/registerRadioGroup.cjs.js +2 -2
  80. package/skinny/registerRadioGroup.esm.js +2 -2
  81. package/skinny/registerRadioGroup.stories.cjs.js +2 -2
  82. package/skinny/registerRadioGroup.stories.esm.js +2 -2
  83. package/skinny/registerSection.cjs.js +3 -3
  84. package/skinny/registerSection.esm.js +3 -3
  85. package/skinny/registerSelect.cjs.js +3 -3
  86. package/skinny/registerSelect.esm.js +3 -3
  87. package/skinny/registerSelect.stories.cjs.js +3 -3
  88. package/skinny/registerSelect.stories.esm.js +3 -3
  89. package/skinny/registerSlider.cjs.js +2 -2
  90. package/skinny/registerSlider.esm.js +2 -2
  91. package/skinny/registerSlider.stories.cjs.js +2 -2
  92. package/skinny/registerSlider.stories.esm.js +2 -2
  93. package/skinny/registerSliderOutput.cjs.js +2 -2
  94. package/skinny/registerSliderOutput.esm.js +2 -2
  95. package/skinny/registerSliderThumb.cjs.js +2 -2
  96. package/skinny/registerSliderThumb.esm.js +2 -2
  97. package/skinny/registerSliderTrack.cjs.js +2 -2
  98. package/skinny/registerSliderTrack.esm.js +2 -2
  99. package/skinny/registerSwitch.cjs.js +2 -2
  100. package/skinny/registerSwitch.esm.js +2 -2
  101. package/skinny/registerSwitch.stories.cjs.js +2 -2
  102. package/skinny/registerSwitch.stories.esm.js +2 -2
  103. package/skinny/registerText.cjs.js +2 -2
  104. package/skinny/registerText.esm.js +2 -2
  105. package/skinny/registerTextArea.cjs.js +49 -19
  106. package/skinny/registerTextArea.cjs.js.map +1 -1
  107. package/skinny/registerTextArea.d.ts +2 -2
  108. package/skinny/registerTextArea.esm.js +52 -22
  109. package/skinny/registerTextArea.esm.js.map +1 -1
  110. package/skinny/registerTextField-common-stories.cjs.js +2 -2
  111. package/skinny/registerTextField-common-stories.esm.js +2 -2
  112. package/skinny/registerTextField-input.stories.cjs.js +2 -2
  113. package/skinny/registerTextField-input.stories.esm.js +2 -2
  114. package/skinny/registerTextField-textarea.stories.cjs.js +2 -2
  115. package/skinny/registerTextField-textarea.stories.esm.js +2 -2
  116. package/skinny/registerTextField.cjs.js +2 -2
  117. package/skinny/registerTextField.esm.js +2 -2
  118. package/skinny/registerTooltip.cjs.js +12 -10
  119. package/skinny/registerTooltip.cjs.js.map +1 -1
  120. package/skinny/registerTooltip.esm.js +12 -10
  121. package/skinny/registerTooltip.esm.js.map +1 -1
  122. package/skinny/registerTooltip.stories.cjs.js +2 -2
  123. package/skinny/registerTooltip.stories.esm.js +2 -2
  124. package/skinny/{utils-7d000fa4.cjs.js → utils-fc1ddd7c.cjs.js} +38 -1
  125. package/skinny/utils-fc1ddd7c.cjs.js.map +1 -0
  126. package/skinny/{utils-5d1b4c6b.esm.js → utils-fd88ad47.esm.js} +37 -2
  127. package/skinny/utils-fd88ad47.esm.js.map +1 -0
  128. package/skinny/utils.d.ts +21 -2
  129. package/skinny/utils-5d1b4c6b.esm.js.map +0 -1
  130. package/skinny/utils-7d000fa4.cjs.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var registerText = require('./registerText.cjs.js');
4
- var utils = require('./utils-7d000fa4.cjs.js');
4
+ var utils = require('./utils-fc1ddd7c.cjs.js');
5
5
  require('react');
6
6
  require('react-aria-components');
7
- require('./common-b3b54c72.cjs.js');
7
+ require('./common-45acb83c.cjs.js');
8
8
  require('@plasmicapp/host');
9
9
  require('@plasmicapp/host/registerComponent');
10
10
 
@@ -1,8 +1,8 @@
1
1
  import { registerText } from './registerText.esm.js';
2
- import { m as makeComponentName } from './utils-5d1b4c6b.esm.js';
2
+ import { m as makeComponentName } from './utils-fd88ad47.esm.js';
3
3
  import 'react';
4
4
  import 'react-aria-components';
5
- import './common-ceebbaea.esm.js';
5
+ import './common-616eb178.esm.js';
6
6
  import '@plasmicapp/host';
7
7
  import '@plasmicapp/host/registerComponent';
8
8
 
@@ -3,8 +3,8 @@
3
3
  var host = require('@plasmicapp/host');
4
4
  var React = require('react');
5
5
  var reactAriaComponents = require('react-aria-components');
6
- var common = require('./common-b3b54c72.cjs.js');
7
- var utils = require('./utils-7d000fa4.cjs.js');
6
+ var common = require('./common-45acb83c.cjs.js');
7
+ var utils = require('./utils-fc1ddd7c.cjs.js');
8
8
  require('@plasmicapp/host/registerComponent');
9
9
 
10
10
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
@@ -1,8 +1,8 @@
1
1
  import { usePlasmicCanvasContext } from '@plasmicapp/host';
2
2
  import React from 'react';
3
3
  import { Dialog } from 'react-aria-components';
4
- import { C as COMMON_STYLES } from './common-ceebbaea.esm.js';
5
- import { m as makeComponentName, r as registerComponentHelper } from './utils-5d1b4c6b.esm.js';
4
+ import { C as COMMON_STYLES } from './common-616eb178.esm.js';
5
+ import { m as makeComponentName, r as registerComponentHelper } from './utils-fd88ad47.esm.js';
6
6
  import '@plasmicapp/host/registerComponent';
7
7
 
8
8
  function BaseDialog({ children, className }) {
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
- var host = require('@plasmicapp/host');
4
3
  var React = require('react');
5
4
  var reactAria = require('react-aria');
6
5
  var reactAriaComponents = require('react-aria-components');
7
- var common = require('./common-b3b54c72.cjs.js');
6
+ var common = require('./common-45acb83c.cjs.js');
8
7
  var contexts = require('./contexts-6d0cb2b1.cjs.js');
9
8
  var registerButton = require('./registerButton.cjs.js');
10
9
  var registerDialog = require('./registerDialog.cjs.js');
11
10
  var registerModal = require('./registerModal.cjs.js');
12
- var utils = require('./utils-7d000fa4.cjs.js');
11
+ var utils = require('./utils-fc1ddd7c.cjs.js');
12
+ require('@plasmicapp/host');
13
13
  require('./variant-utils-0ad70db8.cjs.js');
14
14
  require('@plasmicapp/host/registerComponent');
15
15
 
@@ -60,12 +60,14 @@ function TriggerWrapper({ children, className }) {
60
60
  return /* @__PURE__ */ React__default.default.createElement("div", __spreadValues({}, mergedProps), children);
61
61
  }
62
62
  function BaseDialogTrigger(props) {
63
- var _b, _c;
64
- const _a = props, { trigger, dialog, isOpen, className } = _a, rest = __objRest(_a, ["trigger", "dialog", "isOpen", "className"]);
65
- const { isSelected, selectedSlotName } = (_c = (_b = host.usePlasmicCanvasComponentInfo) == null ? void 0 : _b(props)) != null ? _c : {};
66
- const isAutoOpen = selectedSlotName !== "trigger" && isSelected;
63
+ const _a = props, { trigger, dialog, isOpen, className, __plasmic_selection_prop__ } = _a, rest = __objRest(_a, ["trigger", "dialog", "isOpen", "className", "__plasmic_selection_prop__"]);
64
+ const isOpen2 = utils.useIsOpen({
65
+ triggerSlotName: "trigger",
66
+ isOpen,
67
+ __plasmic_selection_prop__
68
+ });
67
69
  const mergedProps = __spreadProps(__spreadValues({}, rest), {
68
- isOpen: isAutoOpen || isOpen
70
+ isOpen: isOpen2
69
71
  });
70
72
  return /* @__PURE__ */ React__default.default.createElement(contexts.PlasmicDialogTriggerContext.Provider, { value: mergedProps }, /* @__PURE__ */ React__default.default.createElement(reactAriaComponents.DialogTrigger, __spreadValues({}, mergedProps), trigger && /* @__PURE__ */ React__default.default.createElement(TriggerWrapper, { className }, trigger), dialog));
71
73
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registerDialogTrigger.cjs.js","sources":["../src/registerDialogTrigger.tsx"],"sourcesContent":["import { usePlasmicCanvasComponentInfo } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { mergeProps, useButton } from \"react-aria\";\nimport { DialogTrigger, DialogTriggerProps } from \"react-aria-components\";\nimport { COMMON_STYLES } from \"./common\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { DIALOG_COMPONENT_NAME } from \"./registerDialog\";\nimport {\n MODAL_COMPONENT_NAME,\n MODAL_DEFAULT_SLOT_CONTENT,\n} from \"./registerModal\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n WithPlasmicCanvasComponentInfo,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface TriggerWrapperProps {\n children?: React.ReactNode;\n className?: string;\n}\n\n/*\n React Aria's DialogTrigger requires a Aria Button as trigger.\n (Aria Button works as a trigger because it uses useButton behind the scenes).\n So we use useButton as well for our custom trigger.\n\n Discussion (React-aria-components DialogTrigger with custom button):\n https://github.com/adobe/react-spectrum/discussions/5119#discussioncomment-7084661\n\n */\nexport function TriggerWrapper({ children, className }: TriggerWrapperProps) {\n const ref = React.useRef<HTMLDivElement | null>(null);\n const { buttonProps } = useButton({}, ref);\n\n const mergedProps = mergeProps(buttonProps, {\n ref,\n // We expose className to allow user control over the wrapper div's styling.\n className,\n style: COMMON_STYLES,\n });\n\n return <div {...mergedProps}>{children}</div>;\n}\n\nexport interface BaseDialogTriggerProps\n extends Omit<DialogTriggerProps, \"children\">,\n WithPlasmicCanvasComponentInfo {\n trigger?: React.ReactNode;\n dialog?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseDialogTrigger(props: BaseDialogTriggerProps) {\n const { trigger, dialog, isOpen, className, ...rest } = props;\n\n const { isSelected, selectedSlotName } =\n usePlasmicCanvasComponentInfo?.(props) ?? {};\n const isAutoOpen = selectedSlotName !== \"trigger\" && isSelected;\n\n const mergedProps = {\n ...rest,\n isOpen: isAutoOpen || isOpen,\n };\n\n return (\n <PlasmicDialogTriggerContext.Provider value={mergedProps}>\n <DialogTrigger {...mergedProps}>\n {trigger && (\n <TriggerWrapper className={className}>{trigger}</TriggerWrapper>\n )}\n {dialog}\n </DialogTrigger>\n </PlasmicDialogTriggerContext.Provider>\n );\n}\n\nexport function registerDialogTrigger(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseDialogTrigger>\n) {\n registerComponentHelper(\n loader,\n BaseDialogTrigger,\n {\n name: makeComponentName(\"dialogTrigger\"),\n displayName: \"Aria Dialog Trigger\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerDialogTrigger\",\n importName: \"BaseDialogTrigger\",\n props: {\n trigger: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Open Dialog\",\n },\n },\n },\n },\n dialog: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"component\",\n name: MODAL_COMPONENT_NAME,\n props: {\n children: {\n type: \"component\",\n name: DIALOG_COMPONENT_NAME,\n props: {\n children: MODAL_DEFAULT_SLOT_CONTENT,\n },\n },\n },\n },\n ],\n },\n isOpen: {\n type: \"boolean\",\n defaultValueHint: false,\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["React","useButton","mergeProps","COMMON_STYLES","usePlasmicCanvasComponentInfo","PlasmicDialogTriggerContext","DialogTrigger","registerComponentHelper","makeComponentName","BUTTON_COMPONENT_NAME","MODAL_COMPONENT_NAME","DIALOG_COMPONENT_NAME","MODAL_DEFAULT_SLOT_CONTENT"],"mappings":"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"}
1
+ {"version":3,"file":"registerDialogTrigger.cjs.js","sources":["../src/registerDialogTrigger.tsx"],"sourcesContent":["import React from \"react\";\nimport { mergeProps, useButton } from \"react-aria\";\nimport { DialogTrigger, DialogTriggerProps } from \"react-aria-components\";\nimport { COMMON_STYLES } from \"./common\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { DIALOG_COMPONENT_NAME } from \"./registerDialog\";\nimport {\n MODAL_COMPONENT_NAME,\n MODAL_DEFAULT_SLOT_CONTENT,\n} from \"./registerModal\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n WithPlasmicCanvasComponentInfo,\n makeComponentName,\n registerComponentHelper,\n useIsOpen,\n} from \"./utils\";\n\nexport interface TriggerWrapperProps {\n children?: React.ReactNode;\n className?: string;\n}\n\n/*\n React Aria's DialogTrigger requires a Aria Button as trigger.\n (Aria Button works as a trigger because it uses useButton behind the scenes).\n So we use useButton as well for our custom trigger.\n\n Discussion (React-aria-components DialogTrigger with custom button):\n https://github.com/adobe/react-spectrum/discussions/5119#discussioncomment-7084661\n\n */\nexport function TriggerWrapper({ children, className }: TriggerWrapperProps) {\n const ref = React.useRef<HTMLDivElement | null>(null);\n const { buttonProps } = useButton({}, ref);\n\n const mergedProps = mergeProps(buttonProps, {\n ref,\n // We expose className to allow user control over the wrapper div's styling.\n className,\n style: COMMON_STYLES,\n });\n\n return <div {...mergedProps}>{children}</div>;\n}\n\nexport interface BaseDialogTriggerProps\n extends Omit<DialogTriggerProps, \"children\">,\n WithPlasmicCanvasComponentInfo {\n trigger?: React.ReactNode;\n dialog?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseDialogTrigger(props: BaseDialogTriggerProps) {\n const { trigger, dialog, isOpen, className, __plasmic_selection_prop__, ...rest } =\n props;\n\n const isOpen2 = useIsOpen({\n triggerSlotName: \"trigger\",\n isOpen,\n __plasmic_selection_prop__,\n });\n\n const mergedProps = {\n ...rest,\n isOpen: isOpen2,\n };\n\n return (\n <PlasmicDialogTriggerContext.Provider value={mergedProps}>\n <DialogTrigger {...mergedProps}>\n {trigger && (\n <TriggerWrapper className={className}>{trigger}</TriggerWrapper>\n )}\n {dialog}\n </DialogTrigger>\n </PlasmicDialogTriggerContext.Provider>\n );\n}\n\nexport function registerDialogTrigger(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseDialogTrigger>\n) {\n registerComponentHelper(\n loader,\n BaseDialogTrigger,\n {\n name: makeComponentName(\"dialogTrigger\"),\n displayName: \"Aria Dialog Trigger\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerDialogTrigger\",\n importName: \"BaseDialogTrigger\",\n props: {\n trigger: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Open Dialog\",\n },\n },\n },\n },\n dialog: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"component\",\n name: MODAL_COMPONENT_NAME,\n props: {\n children: {\n type: \"component\",\n name: DIALOG_COMPONENT_NAME,\n props: {\n children: MODAL_DEFAULT_SLOT_CONTENT,\n },\n },\n },\n },\n ],\n },\n isOpen: {\n type: \"boolean\",\n defaultValueHint: false,\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":["React","useButton","mergeProps","COMMON_STYLES","useIsOpen","PlasmicDialogTriggerContext","DialogTrigger","registerComponentHelper","makeComponentName","BUTTON_COMPONENT_NAME","MODAL_COMPONENT_NAME","DIALOG_COMPONENT_NAME","MODAL_DEFAULT_SLOT_CONTENT"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { usePlasmicCanvasComponentInfo } from '@plasmicapp/host';
2
1
  import React from 'react';
3
2
  import { useButton, mergeProps } from 'react-aria';
4
3
  import { DialogTrigger } from 'react-aria-components';
5
- import { C as COMMON_STYLES } from './common-ceebbaea.esm.js';
4
+ import { C as COMMON_STYLES } from './common-616eb178.esm.js';
6
5
  import { d as PlasmicDialogTriggerContext } from './contexts-5cb81c2f.esm.js';
7
6
  import { BUTTON_COMPONENT_NAME } from './registerButton.esm.js';
8
7
  import { DIALOG_COMPONENT_NAME } from './registerDialog.esm.js';
9
8
  import { MODAL_COMPONENT_NAME, MODAL_DEFAULT_SLOT_CONTENT } from './registerModal.esm.js';
10
- import { r as registerComponentHelper, m as makeComponentName } from './utils-5d1b4c6b.esm.js';
9
+ import { a as useIsOpen, r as registerComponentHelper, m as makeComponentName } from './utils-fd88ad47.esm.js';
10
+ import '@plasmicapp/host';
11
11
  import './variant-utils-4405ebb0.esm.js';
12
12
  import '@plasmicapp/host/registerComponent';
13
13
 
@@ -54,12 +54,14 @@ function TriggerWrapper({ children, className }) {
54
54
  return /* @__PURE__ */ React.createElement("div", __spreadValues({}, mergedProps), children);
55
55
  }
56
56
  function BaseDialogTrigger(props) {
57
- var _b, _c;
58
- const _a = props, { trigger, dialog, isOpen, className } = _a, rest = __objRest(_a, ["trigger", "dialog", "isOpen", "className"]);
59
- const { isSelected, selectedSlotName } = (_c = (_b = usePlasmicCanvasComponentInfo) == null ? void 0 : _b(props)) != null ? _c : {};
60
- const isAutoOpen = selectedSlotName !== "trigger" && isSelected;
57
+ const _a = props, { trigger, dialog, isOpen, className, __plasmic_selection_prop__ } = _a, rest = __objRest(_a, ["trigger", "dialog", "isOpen", "className", "__plasmic_selection_prop__"]);
58
+ const isOpen2 = useIsOpen({
59
+ triggerSlotName: "trigger",
60
+ isOpen,
61
+ __plasmic_selection_prop__
62
+ });
61
63
  const mergedProps = __spreadProps(__spreadValues({}, rest), {
62
- isOpen: isAutoOpen || isOpen
64
+ isOpen: isOpen2
63
65
  });
64
66
  return /* @__PURE__ */ React.createElement(PlasmicDialogTriggerContext.Provider, { value: mergedProps }, /* @__PURE__ */ React.createElement(DialogTrigger, __spreadValues({}, mergedProps), trigger && /* @__PURE__ */ React.createElement(TriggerWrapper, { className }, trigger), dialog));
65
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registerDialogTrigger.esm.js","sources":["../src/registerDialogTrigger.tsx"],"sourcesContent":["import { usePlasmicCanvasComponentInfo } from \"@plasmicapp/host\";\nimport React from \"react\";\nimport { mergeProps, useButton } from \"react-aria\";\nimport { DialogTrigger, DialogTriggerProps } from \"react-aria-components\";\nimport { COMMON_STYLES } from \"./common\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { DIALOG_COMPONENT_NAME } from \"./registerDialog\";\nimport {\n MODAL_COMPONENT_NAME,\n MODAL_DEFAULT_SLOT_CONTENT,\n} from \"./registerModal\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n WithPlasmicCanvasComponentInfo,\n makeComponentName,\n registerComponentHelper,\n} from \"./utils\";\n\nexport interface TriggerWrapperProps {\n children?: React.ReactNode;\n className?: string;\n}\n\n/*\n React Aria's DialogTrigger requires a Aria Button as trigger.\n (Aria Button works as a trigger because it uses useButton behind the scenes).\n So we use useButton as well for our custom trigger.\n\n Discussion (React-aria-components DialogTrigger with custom button):\n https://github.com/adobe/react-spectrum/discussions/5119#discussioncomment-7084661\n\n */\nexport function TriggerWrapper({ children, className }: TriggerWrapperProps) {\n const ref = React.useRef<HTMLDivElement | null>(null);\n const { buttonProps } = useButton({}, ref);\n\n const mergedProps = mergeProps(buttonProps, {\n ref,\n // We expose className to allow user control over the wrapper div's styling.\n className,\n style: COMMON_STYLES,\n });\n\n return <div {...mergedProps}>{children}</div>;\n}\n\nexport interface BaseDialogTriggerProps\n extends Omit<DialogTriggerProps, \"children\">,\n WithPlasmicCanvasComponentInfo {\n trigger?: React.ReactNode;\n dialog?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseDialogTrigger(props: BaseDialogTriggerProps) {\n const { trigger, dialog, isOpen, className, ...rest } = props;\n\n const { isSelected, selectedSlotName } =\n usePlasmicCanvasComponentInfo?.(props) ?? {};\n const isAutoOpen = selectedSlotName !== \"trigger\" && isSelected;\n\n const mergedProps = {\n ...rest,\n isOpen: isAutoOpen || isOpen,\n };\n\n return (\n <PlasmicDialogTriggerContext.Provider value={mergedProps}>\n <DialogTrigger {...mergedProps}>\n {trigger && (\n <TriggerWrapper className={className}>{trigger}</TriggerWrapper>\n )}\n {dialog}\n </DialogTrigger>\n </PlasmicDialogTriggerContext.Provider>\n );\n}\n\nexport function registerDialogTrigger(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseDialogTrigger>\n) {\n registerComponentHelper(\n loader,\n BaseDialogTrigger,\n {\n name: makeComponentName(\"dialogTrigger\"),\n displayName: \"Aria Dialog Trigger\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerDialogTrigger\",\n importName: \"BaseDialogTrigger\",\n props: {\n trigger: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Open Dialog\",\n },\n },\n },\n },\n dialog: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"component\",\n name: MODAL_COMPONENT_NAME,\n props: {\n children: {\n type: \"component\",\n name: DIALOG_COMPONENT_NAME,\n props: {\n children: MODAL_DEFAULT_SLOT_CONTENT,\n },\n },\n },\n },\n ],\n },\n isOpen: {\n type: \"boolean\",\n defaultValueHint: false,\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerDialogTrigger.esm.js","sources":["../src/registerDialogTrigger.tsx"],"sourcesContent":["import React from \"react\";\nimport { mergeProps, useButton } from \"react-aria\";\nimport { DialogTrigger, DialogTriggerProps } from \"react-aria-components\";\nimport { COMMON_STYLES } from \"./common\";\nimport { PlasmicDialogTriggerContext } from \"./contexts\";\nimport { BUTTON_COMPONENT_NAME } from \"./registerButton\";\nimport { DIALOG_COMPONENT_NAME } from \"./registerDialog\";\nimport {\n MODAL_COMPONENT_NAME,\n MODAL_DEFAULT_SLOT_CONTENT,\n} from \"./registerModal\";\nimport {\n CodeComponentMetaOverrides,\n Registerable,\n WithPlasmicCanvasComponentInfo,\n makeComponentName,\n registerComponentHelper,\n useIsOpen,\n} from \"./utils\";\n\nexport interface TriggerWrapperProps {\n children?: React.ReactNode;\n className?: string;\n}\n\n/*\n React Aria's DialogTrigger requires a Aria Button as trigger.\n (Aria Button works as a trigger because it uses useButton behind the scenes).\n So we use useButton as well for our custom trigger.\n\n Discussion (React-aria-components DialogTrigger with custom button):\n https://github.com/adobe/react-spectrum/discussions/5119#discussioncomment-7084661\n\n */\nexport function TriggerWrapper({ children, className }: TriggerWrapperProps) {\n const ref = React.useRef<HTMLDivElement | null>(null);\n const { buttonProps } = useButton({}, ref);\n\n const mergedProps = mergeProps(buttonProps, {\n ref,\n // We expose className to allow user control over the wrapper div's styling.\n className,\n style: COMMON_STYLES,\n });\n\n return <div {...mergedProps}>{children}</div>;\n}\n\nexport interface BaseDialogTriggerProps\n extends Omit<DialogTriggerProps, \"children\">,\n WithPlasmicCanvasComponentInfo {\n trigger?: React.ReactNode;\n dialog?: React.ReactNode;\n className?: string;\n}\n\nexport function BaseDialogTrigger(props: BaseDialogTriggerProps) {\n const { trigger, dialog, isOpen, className, __plasmic_selection_prop__, ...rest } =\n props;\n\n const isOpen2 = useIsOpen({\n triggerSlotName: \"trigger\",\n isOpen,\n __plasmic_selection_prop__,\n });\n\n const mergedProps = {\n ...rest,\n isOpen: isOpen2,\n };\n\n return (\n <PlasmicDialogTriggerContext.Provider value={mergedProps}>\n <DialogTrigger {...mergedProps}>\n {trigger && (\n <TriggerWrapper className={className}>{trigger}</TriggerWrapper>\n )}\n {dialog}\n </DialogTrigger>\n </PlasmicDialogTriggerContext.Provider>\n );\n}\n\nexport function registerDialogTrigger(\n loader?: Registerable,\n overrides?: CodeComponentMetaOverrides<typeof BaseDialogTrigger>\n) {\n registerComponentHelper(\n loader,\n BaseDialogTrigger,\n {\n name: makeComponentName(\"dialogTrigger\"),\n displayName: \"Aria Dialog Trigger\",\n importPath: \"@plasmicpkgs/react-aria/skinny/registerDialogTrigger\",\n importName: \"BaseDialogTrigger\",\n props: {\n trigger: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: {\n type: \"component\",\n name: BUTTON_COMPONENT_NAME,\n props: {\n children: {\n type: \"text\",\n value: \"Open Dialog\",\n },\n },\n },\n },\n dialog: {\n type: \"slot\",\n mergeWithParent: true,\n defaultValue: [\n {\n type: \"component\",\n name: MODAL_COMPONENT_NAME,\n props: {\n children: {\n type: \"component\",\n name: DIALOG_COMPONENT_NAME,\n props: {\n children: MODAL_DEFAULT_SLOT_CONTENT,\n },\n },\n },\n },\n ],\n },\n isOpen: {\n type: \"boolean\",\n defaultValueHint: false,\n editOnly: true,\n uncontrolledProp: \"defaultOpen\",\n },\n onOpenChange: {\n type: \"eventHandler\",\n argTypes: [{ name: \"isOpen\", type: \"boolean\" }],\n },\n },\n states: {\n isOpen: {\n type: \"writable\",\n valueProp: \"isOpen\",\n onChangeProp: \"onOpenChange\",\n variableType: \"boolean\",\n },\n },\n trapsFocus: true,\n },\n overrides\n );\n}\n"],"names":[],"mappings":"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"}
@@ -12,8 +12,8 @@ var registerModal = require('./registerModal.cjs.js');
12
12
  var registerPopover = require('./registerPopover.cjs.js');
13
13
  require('react-aria');
14
14
  require('react-aria-components');
15
- require('./common-b3b54c72.cjs.js');
16
- require('./utils-7d000fa4.cjs.js');
15
+ require('./common-45acb83c.cjs.js');
16
+ require('./utils-fc1ddd7c.cjs.js');
17
17
  require('@plasmicapp/host/registerComponent');
18
18
  require('./variant-utils-0ad70db8.cjs.js');
19
19
  require('./contexts-6d0cb2b1.cjs.js');
@@ -73,6 +73,8 @@ const WithModal = {
73
73
  dialog: /* @__PURE__ */ React__default.default.createElement(
74
74
  DefaultModalContent,
75
75
  {
76
+ defaultOpen: true,
77
+ isOpen: true,
76
78
  isDismissable: true,
77
79
  isKeyboardDismissDisabled: false
78
80
  }
@@ -358,6 +360,8 @@ const SelectedInCanvas = {
358
360
  );
359
361
  },
360
362
  play: async () => {
363
+ const consoleWarnSpy = test.spyOn(console, "warn").mockImplementation(() => {
364
+ });
361
365
  const doc = test.within(document.body);
362
366
  await test.waitFor(() => {
363
367
  test.expect(doc.queryByTestId("dialog-content")).not.toBeInTheDocument();
@@ -374,6 +378,7 @@ const SelectedInCanvas = {
374
378
  },
375
379
  { timeout: 1100 }
376
380
  );
381
+ test.expect(consoleWarnSpy).not.toHaveBeenCalled();
377
382
  }
378
383
  };
379
384
  const PopoverPosition = {
@@ -1 +1 @@
1
- {"version":3,"file":"registerDialogTrigger.stories.cjs.js","sources":["../src/registerDialogTrigger.stories.tsx"],"sourcesContent":["import { PlasmicCanvasContext } from \"@plasmicapp/host\";\nimport type { Meta, StoryObj } from \"@storybook/react\";\nimport { expect, fn, userEvent, waitFor, within } from \"@storybook/test\";\nimport React, { useEffect, useState } from \"react\";\nimport { BaseButton } from \"./registerButton\";\nimport { BaseDialog } from \"./registerDialog\";\nimport { BaseDialogTrigger } from \"./registerDialogTrigger\";\nimport { BaseModal, BaseModalProps } from \"./registerModal\";\nimport { BasePopover, BasePopoverProps } from \"./registerPopover\";\n\nconst meta: Meta<typeof BaseDialogTrigger> = {\n title: \"Components/BaseDialogTrigger\",\n component: BaseDialogTrigger,\n args: {\n defaultOpen: false,\n onOpenChange: fn(),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseDialogTrigger>;\n\nconst sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nconst DefaultContent = () => (\n <div data-testid=\"dialog-content\">\n <h2>Dialog Title</h2>\n <p>Dialog content goes here</p>\n </div>\n);\n\nconst DefaultPopoverContent = (props: BasePopoverProps) => (\n <BasePopover {...props}>\n <BaseDialog>\n <DefaultContent />\n </BaseDialog>\n </BasePopover>\n);\n\nconst DefaultModalContent = (props: BaseModalProps) => (\n <BaseModal {...props}>\n <BaseDialog>\n <DefaultContent />\n </BaseDialog>\n </BaseModal>\n);\n\nexport const WithModal: Story = {\n args: {\n trigger: <span tabIndex={0}>Open modal</span>, // anything can be used as a trigger\n dialog: (\n <DefaultModalContent\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n // With keyboard navigation\n await userEvent.tab();\n expect(trigger).toHaveFocus();\n\n // Still not open because a click/press is required\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"[Space]\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n // press Escape to dismiss\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n },\n};\n\n// Ensures that any custom event handlers on the trigger are called, and any custom props passed to it are passed through.\nexport const TriggerWithCustomEventHandler: Story = {\n args: {\n dialog: (\n <DefaultModalContent\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n parameters: {\n customOnClick: fn(),\n },\n render: (args, { parameters }) => {\n return (\n <BaseDialogTrigger\n {...args}\n trigger={\n <span className=\"custom-class\" onClick={parameters.customOnClick}>\n Open modal\n </span>\n }\n />\n );\n },\n play: async ({ canvasElement, args, parameters }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(trigger).toHaveClass(\"custom-class\");\n\n expect(parameters.customOnClick).toHaveBeenCalledTimes(0);\n await userEvent.click(trigger);\n expect(parameters.customOnClick).toHaveBeenCalledTimes(1);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\n// tests that a trigger that's nested in a div (e.g. a <span>) can trigger open the dialog on click\n// Also tests that either of nested triggers can be made non-triggerable via e.stopPropagation\nexport const WithNestedTrigger: Story = {\n args: {\n dialog: (\n <DefaultModalContent\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n trigger: (\n <div>\n <span tabIndex={0}>Open modal</span>\n <span tabIndex={0} onClick={(e) => e.stopPropagation()}>\n Open modal\n </span>\n <span tabIndex={0}>Open modal</span>\n </div>\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const triggers = canvas.getAllByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(triggers[0]);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n // Click again to dismiss\n await userEvent.click(triggers[0]);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n\n await userEvent.click(triggers[1]);\n\n // trigger # 2 stops propagation via e.stopPropagation. So, clicking on trigger # 2 should not open the dialog\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2); // not changed\n\n await userEvent.click(triggers[2]);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n expect(args.onOpenChange).toHaveBeenCalledTimes(3);\n\n await userEvent.keyboard(\"{Escape}\");\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n await userEvent.click(triggers[2]);\n expect(args.onOpenChange).toHaveBeenCalledTimes(5);\n },\n};\n\nexport const WithPopover: Story = {\n args: {\n trigger: <span tabIndex={0}>Open popover</span>, // anything can be used as a trigger\n dialog: <DefaultPopoverContent isKeyboardDismissDisabled={false} />,\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // popover should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n // With keyboard navigation, press Space to open and Escape to dismiss\n await userEvent.tab();\n await expect(trigger).toHaveFocus();\n await userEvent.keyboard(\"[Space]\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n },\n};\n\nexport const WithPopoverNonModal: Story = {\n args: {\n trigger: <span>Open popover</span>, // anything can be used as a trigger\n dialog: (\n <DefaultPopoverContent\n isNonModal={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // popover should NOT close, because the outside can be interacted with without affecting the popover's open state\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\nexport const ControlledDialog: Story = {\n args: {\n trigger: undefined,\n dialog: <DefaultPopoverContent />,\n },\n render: ({ isOpen, dialog }) => {\n const [open, setOpen] = useState(isOpen);\n return (\n <>\n <span onClick={() => setOpen((prev) => !prev)}>Toggle</span>\n <BaseDialogTrigger\n isOpen={open}\n onOpenChange={setOpen}\n dialog={dialog}\n />\n </>\n );\n },\n play: async ({ canvasElement }) => {\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n const canvas = within(canvasElement);\n const trigger = canvas.getByText(\"Toggle\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await trigger.click();\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await trigger.click();\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n },\n};\n\nexport const AriaButtonTrigger: Story = {\n args: {\n dialog: <DefaultModalContent isDismissable={true} />,\n trigger: <BaseButton>Open modal</BaseButton>,\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\nexport const SelectedInCanvas: Story = {\n args: {\n trigger: undefined,\n dialog: <DefaultPopoverContent isKeyboardDismissDisabled={false} />,\n },\n render: ({ __plasmic_selection_prop__, ...args }) => {\n const [selected, setSelected] = useState(false);\n const [selectedSlotName, setSelectedSlotName] = useState(\"\");\n useEffect(() => {\n setTimeout(() => {\n setSelected(true);\n setTimeout(() => {\n // Simulate trigger slot selection in Plasmic canvas\n setSelectedSlotName(\"trigger\");\n }, 1000);\n }, 1000);\n }, []);\n\n return (\n // Simulate Plasmic canvas envirnment\n <PlasmicCanvasContext.Provider\n value={{\n componentName: \"test\",\n globalVariants: {},\n }}\n >\n <BaseDialogTrigger\n // Simulate node selection in Plasmic canvas\n __plasmic_selection_prop__={{\n isSelected: selected,\n selectedSlotName,\n }}\n {...args}\n />\n </PlasmicCanvasContext.Provider>\n );\n },\n play: async () => {\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await waitFor(\n () => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n },\n { timeout: 1100 }\n );\n\n await waitFor(\n () => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n },\n { timeout: 1100 }\n ); // the slot selected is trigger, so the popover should close\n },\n};\n\nexport const PopoverPosition: Story = {\n args: {\n trigger: <span>Open popover</span>, // anything can be used as a trigger\n dialog: <DefaultPopoverContent />,\n },\n render: (args) => {\n const [className, setClassName] = useState<string | undefined>(\"popover\");\n useEffect(() => {\n setTimeout(() => {\n setClassName((prev) => `${prev} popover-right`);\n }, 1000);\n }, []);\n\n return (\n <>\n <style\n dangerouslySetInnerHTML={{\n __html: `\n .popover {\n display: inline-block;\n }\n .popover-right {\n position: absolute;\n right: 0;\n }\n `,\n }}\n />\n <BaseDialogTrigger {...args} className={className} />\n </>\n );\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n let initialPopoverLeftPosition: number;\n\n // Check that tooltip appears\n await waitFor(() => {\n const popover = doc.getByTestId(\"dialog-content\");\n initialPopoverLeftPosition = popover.getBoundingClientRect().left;\n });\n\n await userEvent.click(trigger); // toggle close\n\n await sleep(500);\n await userEvent.click(trigger);\n\n await waitFor(async () => {\n const popover = doc.getByTestId(\"dialog-content\");\n expect(initialPopoverLeftPosition).toEqual(\n popover.getBoundingClientRect().left\n ); // opens again at exactly the same position\n });\n\n await userEvent.click(trigger); // toggle close\n\n await sleep(500);\n await userEvent.click(trigger);\n\n await waitFor(() => {\n const popover = doc.getByTestId(\"dialog-content\");\n expect(initialPopoverLeftPosition).not.toEqual(\n popover.getBoundingClientRect().left\n ); // opens at a different position because the position of the trigger changed\n });\n },\n};\n"],"names":["BaseDialogTrigger","fn","React","BasePopover","BaseDialog","BaseModal","within","waitFor","expect","userEvent","useState","BaseButton","useEffect","PlasmicCanvasContext"],"mappings":"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"}
1
+ {"version":3,"file":"registerDialogTrigger.stories.cjs.js","sources":["../src/registerDialogTrigger.stories.tsx"],"sourcesContent":["import { PlasmicCanvasContext } from \"@plasmicapp/host\";\nimport type { Meta, StoryObj } from \"@storybook/react\";\nimport { expect, fn, spyOn, userEvent, waitFor, within } from \"@storybook/test\";\nimport React, { useEffect, useState } from \"react\";\nimport { BaseButton } from \"./registerButton\";\nimport { BaseDialog } from \"./registerDialog\";\nimport { BaseDialogTrigger } from \"./registerDialogTrigger\";\nimport { BaseModal, BaseModalProps } from \"./registerModal\";\nimport { BasePopover, BasePopoverProps } from \"./registerPopover\";\n\nconst meta: Meta<typeof BaseDialogTrigger> = {\n title: \"Components/BaseDialogTrigger\",\n component: BaseDialogTrigger,\n args: {\n defaultOpen: false,\n onOpenChange: fn(),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseDialogTrigger>;\n\nconst sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nconst DefaultContent = () => (\n <div data-testid=\"dialog-content\">\n <h2>Dialog Title</h2>\n <p>Dialog content goes here</p>\n </div>\n);\n\nconst DefaultPopoverContent = (props: BasePopoverProps) => (\n <BasePopover {...props}>\n <BaseDialog>\n <DefaultContent />\n </BaseDialog>\n </BasePopover>\n);\n\nconst DefaultModalContent = (props: BaseModalProps) => (\n <BaseModal {...props}>\n <BaseDialog>\n <DefaultContent />\n </BaseDialog>\n </BaseModal>\n);\n\nexport const WithModal: Story = {\n args: {\n trigger: <span tabIndex={0}>Open modal</span>, // anything can be used as a trigger\n dialog: (\n <DefaultModalContent\n // The test ensures that isOpen and defaultOpen are disregarded when inside a dialog trigger\n defaultOpen={true}\n isOpen={true}\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n // With keyboard navigation\n await userEvent.tab();\n expect(trigger).toHaveFocus();\n\n // Still not open because a click/press is required\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"[Space]\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n // press Escape to dismiss\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n },\n};\n\n// Ensures that any custom event handlers on the trigger are called, and any custom props passed to it are passed through.\nexport const TriggerWithCustomEventHandler: Story = {\n args: {\n dialog: (\n <DefaultModalContent\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n parameters: {\n customOnClick: fn(),\n },\n render: (args, { parameters }) => {\n return (\n <BaseDialogTrigger\n {...args}\n trigger={\n <span className=\"custom-class\" onClick={parameters.customOnClick}>\n Open modal\n </span>\n }\n />\n );\n },\n play: async ({ canvasElement, args, parameters }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(trigger).toHaveClass(\"custom-class\");\n\n expect(parameters.customOnClick).toHaveBeenCalledTimes(0);\n await userEvent.click(trigger);\n expect(parameters.customOnClick).toHaveBeenCalledTimes(1);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\n// tests that a trigger that's nested in a div (e.g. a <span>) can trigger open the dialog on click\n// Also tests that either of nested triggers can be made non-triggerable via e.stopPropagation\nexport const WithNestedTrigger: Story = {\n args: {\n dialog: (\n <DefaultModalContent\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n trigger: (\n <div>\n <span tabIndex={0}>Open modal</span>\n <span tabIndex={0} onClick={(e) => e.stopPropagation()}>\n Open modal\n </span>\n <span tabIndex={0}>Open modal</span>\n </div>\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const triggers = canvas.getAllByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(triggers[0]);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n // Click again to dismiss\n await userEvent.click(triggers[0]);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n\n await userEvent.click(triggers[1]);\n\n // trigger # 2 stops propagation via e.stopPropagation. So, clicking on trigger # 2 should not open the dialog\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2); // not changed\n\n await userEvent.click(triggers[2]);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n expect(args.onOpenChange).toHaveBeenCalledTimes(3);\n\n await userEvent.keyboard(\"{Escape}\");\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n await userEvent.click(triggers[2]);\n expect(args.onOpenChange).toHaveBeenCalledTimes(5);\n },\n};\n\nexport const WithPopover: Story = {\n args: {\n trigger: <span tabIndex={0}>Open popover</span>, // anything can be used as a trigger\n dialog: <DefaultPopoverContent isKeyboardDismissDisabled={false} />,\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // popover should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n // With keyboard navigation, press Space to open and Escape to dismiss\n await userEvent.tab();\n await expect(trigger).toHaveFocus();\n await userEvent.keyboard(\"[Space]\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n },\n};\n\nexport const WithPopoverNonModal: Story = {\n args: {\n trigger: <span>Open popover</span>, // anything can be used as a trigger\n dialog: (\n <DefaultPopoverContent\n isNonModal={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // popover should NOT close, because the outside can be interacted with without affecting the popover's open state\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\nexport const ControlledDialog: Story = {\n args: {\n trigger: undefined,\n dialog: <DefaultPopoverContent />,\n },\n render: ({ isOpen, dialog }) => {\n const [open, setOpen] = useState(isOpen);\n return (\n <>\n <span onClick={() => setOpen((prev) => !prev)}>Toggle</span>\n <BaseDialogTrigger\n isOpen={open}\n onOpenChange={setOpen}\n dialog={dialog}\n />\n </>\n );\n },\n play: async ({ canvasElement }) => {\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n const canvas = within(canvasElement);\n const trigger = canvas.getByText(\"Toggle\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await trigger.click();\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await trigger.click();\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n },\n};\n\nexport const AriaButtonTrigger: Story = {\n args: {\n dialog: <DefaultModalContent isDismissable={true} />,\n trigger: <BaseButton>Open modal</BaseButton>,\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\nexport const SelectedInCanvas: Story = {\n args: {\n trigger: undefined,\n dialog: <DefaultPopoverContent isKeyboardDismissDisabled={false} />,\n },\n render: ({ __plasmic_selection_prop__, ...args }) => {\n const [selected, setSelected] = useState(false);\n const [selectedSlotName, setSelectedSlotName] = useState(\"\");\n useEffect(() => {\n setTimeout(() => {\n setSelected(true);\n setTimeout(() => {\n // Simulate trigger slot selection in Plasmic canvas\n setSelectedSlotName(\"trigger\");\n }, 1000);\n }, 1000);\n }, []);\n\n return (\n // Simulate Plasmic canvas envirnment\n <PlasmicCanvasContext.Provider\n value={{\n componentName: \"test\",\n globalVariants: {},\n }}\n >\n <BaseDialogTrigger\n // Simulate node selection in Plasmic canvas\n __plasmic_selection_prop__={{\n isSelected: selected,\n selectedSlotName,\n }}\n {...args}\n />\n </PlasmicCanvasContext.Provider>\n );\n },\n play: async () => {\n const consoleWarnSpy = spyOn(console, \"warn\").mockImplementation(() => { });\n\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await waitFor(\n () => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n },\n { timeout: 1100 }\n );\n\n await waitFor(\n () => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n },\n { timeout: 1100 }\n ); // the slot selected is trigger, so the popover should close\n\n // This is to ensure that the warning \"A component changed from controlled to uncontrolled\" is not logged\n expect(consoleWarnSpy).not.toHaveBeenCalled();\n },\n};\n\nexport const PopoverPosition: Story = {\n args: {\n trigger: <span>Open popover</span>, // anything can be used as a trigger\n dialog: <DefaultPopoverContent />,\n },\n render: (args) => {\n const [className, setClassName] = useState<string | undefined>(\"popover\");\n useEffect(() => {\n setTimeout(() => {\n setClassName((prev) => `${prev} popover-right`);\n }, 1000);\n }, []);\n\n return (\n <>\n <style\n dangerouslySetInnerHTML={{\n __html: `\n .popover {\n display: inline-block;\n }\n .popover-right {\n position: absolute;\n right: 0;\n }\n `,\n }}\n />\n <BaseDialogTrigger {...args} className={className} />\n </>\n );\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n let initialPopoverLeftPosition: number;\n\n // Check that tooltip appears\n await waitFor(() => {\n const popover = doc.getByTestId(\"dialog-content\");\n initialPopoverLeftPosition = popover.getBoundingClientRect().left;\n });\n\n await userEvent.click(trigger); // toggle close\n\n await sleep(500);\n await userEvent.click(trigger);\n\n await waitFor(async () => {\n const popover = doc.getByTestId(\"dialog-content\");\n expect(initialPopoverLeftPosition).toEqual(\n popover.getBoundingClientRect().left\n ); // opens again at exactly the same position\n });\n\n await userEvent.click(trigger); // toggle close\n\n await sleep(500);\n await userEvent.click(trigger);\n\n await waitFor(() => {\n const popover = doc.getByTestId(\"dialog-content\");\n expect(initialPopoverLeftPosition).not.toEqual(\n popover.getBoundingClientRect().left\n ); // opens at a different position because the position of the trigger changed\n });\n },\n};\n"],"names":["BaseDialogTrigger","fn","React","BasePopover","BaseDialog","BaseModal","within","waitFor","expect","userEvent","useState","BaseButton","useEffect","PlasmicCanvasContext","spyOn"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { PlasmicCanvasContext } from '@plasmicapp/host';
2
- import { fn, within, waitFor, expect, userEvent } from '@storybook/test';
2
+ import { fn, within, waitFor, expect, userEvent, spyOn } from '@storybook/test';
3
3
  import React, { useState, useEffect } from 'react';
4
4
  import { BaseButton } from './registerButton.esm.js';
5
5
  import { BaseDialog } from './registerDialog.esm.js';
@@ -8,8 +8,8 @@ import { BaseModal } from './registerModal.esm.js';
8
8
  import { BasePopover } from './registerPopover.esm.js';
9
9
  import 'react-aria';
10
10
  import 'react-aria-components';
11
- import './common-ceebbaea.esm.js';
12
- import './utils-5d1b4c6b.esm.js';
11
+ import './common-616eb178.esm.js';
12
+ import './utils-fd88ad47.esm.js';
13
13
  import '@plasmicapp/host/registerComponent';
14
14
  import './variant-utils-4405ebb0.esm.js';
15
15
  import './contexts-5cb81c2f.esm.js';
@@ -65,6 +65,8 @@ const WithModal = {
65
65
  dialog: /* @__PURE__ */ React.createElement(
66
66
  DefaultModalContent,
67
67
  {
68
+ defaultOpen: true,
69
+ isOpen: true,
68
70
  isDismissable: true,
69
71
  isKeyboardDismissDisabled: false
70
72
  }
@@ -350,6 +352,8 @@ const SelectedInCanvas = {
350
352
  );
351
353
  },
352
354
  play: async () => {
355
+ const consoleWarnSpy = spyOn(console, "warn").mockImplementation(() => {
356
+ });
353
357
  const doc = within(document.body);
354
358
  await waitFor(() => {
355
359
  expect(doc.queryByTestId("dialog-content")).not.toBeInTheDocument();
@@ -366,6 +370,7 @@ const SelectedInCanvas = {
366
370
  },
367
371
  { timeout: 1100 }
368
372
  );
373
+ expect(consoleWarnSpy).not.toHaveBeenCalled();
369
374
  }
370
375
  };
371
376
  const PopoverPosition = {
@@ -1 +1 @@
1
- {"version":3,"file":"registerDialogTrigger.stories.esm.js","sources":["../src/registerDialogTrigger.stories.tsx"],"sourcesContent":["import { PlasmicCanvasContext } from \"@plasmicapp/host\";\nimport type { Meta, StoryObj } from \"@storybook/react\";\nimport { expect, fn, userEvent, waitFor, within } from \"@storybook/test\";\nimport React, { useEffect, useState } from \"react\";\nimport { BaseButton } from \"./registerButton\";\nimport { BaseDialog } from \"./registerDialog\";\nimport { BaseDialogTrigger } from \"./registerDialogTrigger\";\nimport { BaseModal, BaseModalProps } from \"./registerModal\";\nimport { BasePopover, BasePopoverProps } from \"./registerPopover\";\n\nconst meta: Meta<typeof BaseDialogTrigger> = {\n title: \"Components/BaseDialogTrigger\",\n component: BaseDialogTrigger,\n args: {\n defaultOpen: false,\n onOpenChange: fn(),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseDialogTrigger>;\n\nconst sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nconst DefaultContent = () => (\n <div data-testid=\"dialog-content\">\n <h2>Dialog Title</h2>\n <p>Dialog content goes here</p>\n </div>\n);\n\nconst DefaultPopoverContent = (props: BasePopoverProps) => (\n <BasePopover {...props}>\n <BaseDialog>\n <DefaultContent />\n </BaseDialog>\n </BasePopover>\n);\n\nconst DefaultModalContent = (props: BaseModalProps) => (\n <BaseModal {...props}>\n <BaseDialog>\n <DefaultContent />\n </BaseDialog>\n </BaseModal>\n);\n\nexport const WithModal: Story = {\n args: {\n trigger: <span tabIndex={0}>Open modal</span>, // anything can be used as a trigger\n dialog: (\n <DefaultModalContent\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n // With keyboard navigation\n await userEvent.tab();\n expect(trigger).toHaveFocus();\n\n // Still not open because a click/press is required\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"[Space]\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n // press Escape to dismiss\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n },\n};\n\n// Ensures that any custom event handlers on the trigger are called, and any custom props passed to it are passed through.\nexport const TriggerWithCustomEventHandler: Story = {\n args: {\n dialog: (\n <DefaultModalContent\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n parameters: {\n customOnClick: fn(),\n },\n render: (args, { parameters }) => {\n return (\n <BaseDialogTrigger\n {...args}\n trigger={\n <span className=\"custom-class\" onClick={parameters.customOnClick}>\n Open modal\n </span>\n }\n />\n );\n },\n play: async ({ canvasElement, args, parameters }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(trigger).toHaveClass(\"custom-class\");\n\n expect(parameters.customOnClick).toHaveBeenCalledTimes(0);\n await userEvent.click(trigger);\n expect(parameters.customOnClick).toHaveBeenCalledTimes(1);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\n// tests that a trigger that's nested in a div (e.g. a <span>) can trigger open the dialog on click\n// Also tests that either of nested triggers can be made non-triggerable via e.stopPropagation\nexport const WithNestedTrigger: Story = {\n args: {\n dialog: (\n <DefaultModalContent\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n trigger: (\n <div>\n <span tabIndex={0}>Open modal</span>\n <span tabIndex={0} onClick={(e) => e.stopPropagation()}>\n Open modal\n </span>\n <span tabIndex={0}>Open modal</span>\n </div>\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const triggers = canvas.getAllByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(triggers[0]);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n // Click again to dismiss\n await userEvent.click(triggers[0]);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n\n await userEvent.click(triggers[1]);\n\n // trigger # 2 stops propagation via e.stopPropagation. So, clicking on trigger # 2 should not open the dialog\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2); // not changed\n\n await userEvent.click(triggers[2]);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n expect(args.onOpenChange).toHaveBeenCalledTimes(3);\n\n await userEvent.keyboard(\"{Escape}\");\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n await userEvent.click(triggers[2]);\n expect(args.onOpenChange).toHaveBeenCalledTimes(5);\n },\n};\n\nexport const WithPopover: Story = {\n args: {\n trigger: <span tabIndex={0}>Open popover</span>, // anything can be used as a trigger\n dialog: <DefaultPopoverContent isKeyboardDismissDisabled={false} />,\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // popover should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n // With keyboard navigation, press Space to open and Escape to dismiss\n await userEvent.tab();\n await expect(trigger).toHaveFocus();\n await userEvent.keyboard(\"[Space]\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n },\n};\n\nexport const WithPopoverNonModal: Story = {\n args: {\n trigger: <span>Open popover</span>, // anything can be used as a trigger\n dialog: (\n <DefaultPopoverContent\n isNonModal={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // popover should NOT close, because the outside can be interacted with without affecting the popover's open state\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\nexport const ControlledDialog: Story = {\n args: {\n trigger: undefined,\n dialog: <DefaultPopoverContent />,\n },\n render: ({ isOpen, dialog }) => {\n const [open, setOpen] = useState(isOpen);\n return (\n <>\n <span onClick={() => setOpen((prev) => !prev)}>Toggle</span>\n <BaseDialogTrigger\n isOpen={open}\n onOpenChange={setOpen}\n dialog={dialog}\n />\n </>\n );\n },\n play: async ({ canvasElement }) => {\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n const canvas = within(canvasElement);\n const trigger = canvas.getByText(\"Toggle\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await trigger.click();\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await trigger.click();\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n },\n};\n\nexport const AriaButtonTrigger: Story = {\n args: {\n dialog: <DefaultModalContent isDismissable={true} />,\n trigger: <BaseButton>Open modal</BaseButton>,\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\nexport const SelectedInCanvas: Story = {\n args: {\n trigger: undefined,\n dialog: <DefaultPopoverContent isKeyboardDismissDisabled={false} />,\n },\n render: ({ __plasmic_selection_prop__, ...args }) => {\n const [selected, setSelected] = useState(false);\n const [selectedSlotName, setSelectedSlotName] = useState(\"\");\n useEffect(() => {\n setTimeout(() => {\n setSelected(true);\n setTimeout(() => {\n // Simulate trigger slot selection in Plasmic canvas\n setSelectedSlotName(\"trigger\");\n }, 1000);\n }, 1000);\n }, []);\n\n return (\n // Simulate Plasmic canvas envirnment\n <PlasmicCanvasContext.Provider\n value={{\n componentName: \"test\",\n globalVariants: {},\n }}\n >\n <BaseDialogTrigger\n // Simulate node selection in Plasmic canvas\n __plasmic_selection_prop__={{\n isSelected: selected,\n selectedSlotName,\n }}\n {...args}\n />\n </PlasmicCanvasContext.Provider>\n );\n },\n play: async () => {\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await waitFor(\n () => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n },\n { timeout: 1100 }\n );\n\n await waitFor(\n () => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n },\n { timeout: 1100 }\n ); // the slot selected is trigger, so the popover should close\n },\n};\n\nexport const PopoverPosition: Story = {\n args: {\n trigger: <span>Open popover</span>, // anything can be used as a trigger\n dialog: <DefaultPopoverContent />,\n },\n render: (args) => {\n const [className, setClassName] = useState<string | undefined>(\"popover\");\n useEffect(() => {\n setTimeout(() => {\n setClassName((prev) => `${prev} popover-right`);\n }, 1000);\n }, []);\n\n return (\n <>\n <style\n dangerouslySetInnerHTML={{\n __html: `\n .popover {\n display: inline-block;\n }\n .popover-right {\n position: absolute;\n right: 0;\n }\n `,\n }}\n />\n <BaseDialogTrigger {...args} className={className} />\n </>\n );\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n let initialPopoverLeftPosition: number;\n\n // Check that tooltip appears\n await waitFor(() => {\n const popover = doc.getByTestId(\"dialog-content\");\n initialPopoverLeftPosition = popover.getBoundingClientRect().left;\n });\n\n await userEvent.click(trigger); // toggle close\n\n await sleep(500);\n await userEvent.click(trigger);\n\n await waitFor(async () => {\n const popover = doc.getByTestId(\"dialog-content\");\n expect(initialPopoverLeftPosition).toEqual(\n popover.getBoundingClientRect().left\n ); // opens again at exactly the same position\n });\n\n await userEvent.click(trigger); // toggle close\n\n await sleep(500);\n await userEvent.click(trigger);\n\n await waitFor(() => {\n const popover = doc.getByTestId(\"dialog-content\");\n expect(initialPopoverLeftPosition).not.toEqual(\n popover.getBoundingClientRect().left\n ); // opens at a different position because the position of the trigger changed\n });\n },\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registerDialogTrigger.stories.esm.js","sources":["../src/registerDialogTrigger.stories.tsx"],"sourcesContent":["import { PlasmicCanvasContext } from \"@plasmicapp/host\";\nimport type { Meta, StoryObj } from \"@storybook/react\";\nimport { expect, fn, spyOn, userEvent, waitFor, within } from \"@storybook/test\";\nimport React, { useEffect, useState } from \"react\";\nimport { BaseButton } from \"./registerButton\";\nimport { BaseDialog } from \"./registerDialog\";\nimport { BaseDialogTrigger } from \"./registerDialogTrigger\";\nimport { BaseModal, BaseModalProps } from \"./registerModal\";\nimport { BasePopover, BasePopoverProps } from \"./registerPopover\";\n\nconst meta: Meta<typeof BaseDialogTrigger> = {\n title: \"Components/BaseDialogTrigger\",\n component: BaseDialogTrigger,\n args: {\n defaultOpen: false,\n onOpenChange: fn(),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseDialogTrigger>;\n\nconst sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nconst DefaultContent = () => (\n <div data-testid=\"dialog-content\">\n <h2>Dialog Title</h2>\n <p>Dialog content goes here</p>\n </div>\n);\n\nconst DefaultPopoverContent = (props: BasePopoverProps) => (\n <BasePopover {...props}>\n <BaseDialog>\n <DefaultContent />\n </BaseDialog>\n </BasePopover>\n);\n\nconst DefaultModalContent = (props: BaseModalProps) => (\n <BaseModal {...props}>\n <BaseDialog>\n <DefaultContent />\n </BaseDialog>\n </BaseModal>\n);\n\nexport const WithModal: Story = {\n args: {\n trigger: <span tabIndex={0}>Open modal</span>, // anything can be used as a trigger\n dialog: (\n <DefaultModalContent\n // The test ensures that isOpen and defaultOpen are disregarded when inside a dialog trigger\n defaultOpen={true}\n isOpen={true}\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n // With keyboard navigation\n await userEvent.tab();\n expect(trigger).toHaveFocus();\n\n // Still not open because a click/press is required\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"[Space]\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n // press Escape to dismiss\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n },\n};\n\n// Ensures that any custom event handlers on the trigger are called, and any custom props passed to it are passed through.\nexport const TriggerWithCustomEventHandler: Story = {\n args: {\n dialog: (\n <DefaultModalContent\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n parameters: {\n customOnClick: fn(),\n },\n render: (args, { parameters }) => {\n return (\n <BaseDialogTrigger\n {...args}\n trigger={\n <span className=\"custom-class\" onClick={parameters.customOnClick}>\n Open modal\n </span>\n }\n />\n );\n },\n play: async ({ canvasElement, args, parameters }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(trigger).toHaveClass(\"custom-class\");\n\n expect(parameters.customOnClick).toHaveBeenCalledTimes(0);\n await userEvent.click(trigger);\n expect(parameters.customOnClick).toHaveBeenCalledTimes(1);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\n// tests that a trigger that's nested in a div (e.g. a <span>) can trigger open the dialog on click\n// Also tests that either of nested triggers can be made non-triggerable via e.stopPropagation\nexport const WithNestedTrigger: Story = {\n args: {\n dialog: (\n <DefaultModalContent\n isDismissable={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n trigger: (\n <div>\n <span tabIndex={0}>Open modal</span>\n <span tabIndex={0} onClick={(e) => e.stopPropagation()}>\n Open modal\n </span>\n <span tabIndex={0}>Open modal</span>\n </div>\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const triggers = canvas.getAllByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(triggers[0]);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n // Click again to dismiss\n await userEvent.click(triggers[0]);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n\n await userEvent.click(triggers[1]);\n\n // trigger # 2 stops propagation via e.stopPropagation. So, clicking on trigger # 2 should not open the dialog\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2); // not changed\n\n await userEvent.click(triggers[2]);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n expect(args.onOpenChange).toHaveBeenCalledTimes(3);\n\n await userEvent.keyboard(\"{Escape}\");\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n await userEvent.click(triggers[2]);\n expect(args.onOpenChange).toHaveBeenCalledTimes(5);\n },\n};\n\nexport const WithPopover: Story = {\n args: {\n trigger: <span tabIndex={0}>Open popover</span>, // anything can be used as a trigger\n dialog: <DefaultPopoverContent isKeyboardDismissDisabled={false} />,\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // popover should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n // With keyboard navigation, press Space to open and Escape to dismiss\n await userEvent.tab();\n await expect(trigger).toHaveFocus();\n await userEvent.keyboard(\"[Space]\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n },\n};\n\nexport const WithPopoverNonModal: Story = {\n args: {\n trigger: <span>Open popover</span>, // anything can be used as a trigger\n dialog: (\n <DefaultPopoverContent\n isNonModal={true}\n isKeyboardDismissDisabled={false}\n />\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // popover should NOT close, because the outside can be interacted with without affecting the popover's open state\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.keyboard(\"{Escape}\");\n // dialog should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\nexport const ControlledDialog: Story = {\n args: {\n trigger: undefined,\n dialog: <DefaultPopoverContent />,\n },\n render: ({ isOpen, dialog }) => {\n const [open, setOpen] = useState(isOpen);\n return (\n <>\n <span onClick={() => setOpen((prev) => !prev)}>Toggle</span>\n <BaseDialogTrigger\n isOpen={open}\n onOpenChange={setOpen}\n dialog={dialog}\n />\n </>\n );\n },\n play: async ({ canvasElement }) => {\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n const canvas = within(canvasElement);\n const trigger = canvas.getByText(\"Toggle\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await trigger.click();\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await trigger.click();\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n },\n};\n\nexport const AriaButtonTrigger: Story = {\n args: {\n dialog: <DefaultModalContent isDismissable={true} />,\n trigger: <BaseButton>Open modal</BaseButton>,\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open modal\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n });\n\n await userEvent.click(document.body);\n\n // Modal should close\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n },\n};\n\nexport const SelectedInCanvas: Story = {\n args: {\n trigger: undefined,\n dialog: <DefaultPopoverContent isKeyboardDismissDisabled={false} />,\n },\n render: ({ __plasmic_selection_prop__, ...args }) => {\n const [selected, setSelected] = useState(false);\n const [selectedSlotName, setSelectedSlotName] = useState(\"\");\n useEffect(() => {\n setTimeout(() => {\n setSelected(true);\n setTimeout(() => {\n // Simulate trigger slot selection in Plasmic canvas\n setSelectedSlotName(\"trigger\");\n }, 1000);\n }, 1000);\n }, []);\n\n return (\n // Simulate Plasmic canvas envirnment\n <PlasmicCanvasContext.Provider\n value={{\n componentName: \"test\",\n globalVariants: {},\n }}\n >\n <BaseDialogTrigger\n // Simulate node selection in Plasmic canvas\n __plasmic_selection_prop__={{\n isSelected: selected,\n selectedSlotName,\n }}\n {...args}\n />\n </PlasmicCanvasContext.Provider>\n );\n },\n play: async () => {\n const consoleWarnSpy = spyOn(console, \"warn\").mockImplementation(() => { });\n\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await waitFor(\n () => {\n expect(doc.queryByTestId(\"dialog-content\")).toBeInTheDocument();\n },\n { timeout: 1100 }\n );\n\n await waitFor(\n () => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n },\n { timeout: 1100 }\n ); // the slot selected is trigger, so the popover should close\n\n // This is to ensure that the warning \"A component changed from controlled to uncontrolled\" is not logged\n expect(consoleWarnSpy).not.toHaveBeenCalled();\n },\n};\n\nexport const PopoverPosition: Story = {\n args: {\n trigger: <span>Open popover</span>, // anything can be used as a trigger\n dialog: <DefaultPopoverContent />,\n },\n render: (args) => {\n const [className, setClassName] = useState<string | undefined>(\"popover\");\n useEffect(() => {\n setTimeout(() => {\n setClassName((prev) => `${prev} popover-right`);\n }, 1000);\n }, []);\n\n return (\n <>\n <style\n dangerouslySetInnerHTML={{\n __html: `\n .popover {\n display: inline-block;\n }\n .popover-right {\n position: absolute;\n right: 0;\n }\n `,\n }}\n />\n <BaseDialogTrigger {...args} className={className} />\n </>\n );\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n const doc = within(document.body);\n const trigger = canvas.getByText(\"Open popover\");\n\n await waitFor(() => {\n expect(doc.queryByTestId(\"dialog-content\")).not.toBeInTheDocument();\n });\n\n await userEvent.click(trigger);\n\n let initialPopoverLeftPosition: number;\n\n // Check that tooltip appears\n await waitFor(() => {\n const popover = doc.getByTestId(\"dialog-content\");\n initialPopoverLeftPosition = popover.getBoundingClientRect().left;\n });\n\n await userEvent.click(trigger); // toggle close\n\n await sleep(500);\n await userEvent.click(trigger);\n\n await waitFor(async () => {\n const popover = doc.getByTestId(\"dialog-content\");\n expect(initialPopoverLeftPosition).toEqual(\n popover.getBoundingClientRect().left\n ); // opens again at exactly the same position\n });\n\n await userEvent.click(trigger); // toggle close\n\n await sleep(500);\n await userEvent.click(trigger);\n\n await waitFor(() => {\n const popover = doc.getByTestId(\"dialog-content\");\n expect(initialPopoverLeftPosition).not.toEqual(\n popover.getBoundingClientRect().left\n ); // opens at a different position because the position of the trigger changed\n });\n },\n};\n"],"names":[],"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 utils = require('./utils-7d000fa4.cjs.js');
5
+ var utils = require('./utils-fc1ddd7c.cjs.js');
6
6
  require('@plasmicapp/host');
7
7
  require('@plasmicapp/host/registerComponent');
8
8