@plasmicpkgs/react-aria 0.0.118 → 0.0.120

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 (92) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contexts.d.ts +2 -1
  3. package/dist/react-aria.esm.js +13 -4
  4. package/dist/react-aria.esm.js.map +1 -1
  5. package/dist/react-aria.js +13 -4
  6. package/dist/react-aria.js.map +1 -1
  7. package/dist/utils.d.ts +5 -4
  8. package/package.json +2 -2
  9. package/skinny/contexts-5cb81c2f.esm.js.map +1 -1
  10. package/skinny/contexts-6d0cb2b1.cjs.js.map +1 -1
  11. package/skinny/contexts.d.ts +2 -1
  12. package/skinny/registerComboBox.esm.js +1 -1
  13. package/skinny/registerInput.cjs.js +1 -1
  14. package/skinny/registerInput.cjs.js.map +1 -1
  15. package/skinny/registerInput.esm.js +2 -2
  16. package/skinny/registerInput.esm.js.map +1 -1
  17. package/skinny/{registerListBox-21dc99fa.esm.js → registerListBox-0f6ebcf0.esm.js} +2 -2
  18. package/skinny/{registerListBox-21dc99fa.esm.js.map → registerListBox-0f6ebcf0.esm.js.map} +1 -1
  19. package/skinny/registerListBox.esm.js +1 -1
  20. package/skinny/registerSection.esm.js +1 -1
  21. package/skinny/registerSelect.esm.js +1 -1
  22. package/skinny/registerTextArea.cjs.js +5 -2
  23. package/skinny/registerTextArea.cjs.js.map +1 -1
  24. package/skinny/registerTextArea.esm.js +6 -3
  25. package/skinny/registerTextArea.esm.js.map +1 -1
  26. package/skinny/registerTextField.cjs.js +8 -2
  27. package/skinny/registerTextField.cjs.js.map +1 -1
  28. package/skinny/registerTextField.esm.js +8 -2
  29. package/skinny/registerTextField.esm.js.map +1 -1
  30. package/skinny/utils-fc1ddd7c.cjs.js.map +1 -1
  31. package/skinny/utils-fd88ad47.esm.js.map +1 -1
  32. package/skinny/utils.d.ts +5 -4
  33. package/skinny/registerButton.stories.cjs.js +0 -163
  34. package/skinny/registerButton.stories.cjs.js.map +0 -1
  35. package/skinny/registerButton.stories.esm.js +0 -149
  36. package/skinny/registerButton.stories.esm.js.map +0 -1
  37. package/skinny/registerCheckboxGroup.stories.cjs.js +0 -121
  38. package/skinny/registerCheckboxGroup.stories.cjs.js.map +0 -1
  39. package/skinny/registerCheckboxGroup.stories.esm.js +0 -109
  40. package/skinny/registerCheckboxGroup.stories.esm.js.map +0 -1
  41. package/skinny/registerComboBox.stories.cjs.js +0 -244
  42. package/skinny/registerComboBox.stories.cjs.js.map +0 -1
  43. package/skinny/registerComboBox.stories.esm.js +0 -230
  44. package/skinny/registerComboBox.stories.esm.js.map +0 -1
  45. package/skinny/registerDialogTrigger.stories.cjs.js +0 -458
  46. package/skinny/registerDialogTrigger.stories.cjs.js.map +0 -1
  47. package/skinny/registerDialogTrigger.stories.esm.js +0 -441
  48. package/skinny/registerDialogTrigger.stories.esm.js.map +0 -1
  49. package/skinny/registerListbox.stories.cjs.js +0 -219
  50. package/skinny/registerListbox.stories.cjs.js.map +0 -1
  51. package/skinny/registerListbox.stories.esm.js +0 -206
  52. package/skinny/registerListbox.stories.esm.js.map +0 -1
  53. package/skinny/registerModal.stories.cjs.js +0 -194
  54. package/skinny/registerModal.stories.cjs.js.map +0 -1
  55. package/skinny/registerModal.stories.esm.js +0 -181
  56. package/skinny/registerModal.stories.esm.js.map +0 -1
  57. package/skinny/registerPopover.stories.cjs.js +0 -102
  58. package/skinny/registerPopover.stories.cjs.js.map +0 -1
  59. package/skinny/registerPopover.stories.esm.js +0 -92
  60. package/skinny/registerPopover.stories.esm.js.map +0 -1
  61. package/skinny/registerRadioGroup.stories.cjs.js +0 -120
  62. package/skinny/registerRadioGroup.stories.cjs.js.map +0 -1
  63. package/skinny/registerRadioGroup.stories.esm.js +0 -108
  64. package/skinny/registerRadioGroup.stories.esm.js.map +0 -1
  65. package/skinny/registerSelect.stories.cjs.js +0 -215
  66. package/skinny/registerSelect.stories.cjs.js.map +0 -1
  67. package/skinny/registerSelect.stories.esm.js +0 -202
  68. package/skinny/registerSelect.stories.esm.js.map +0 -1
  69. package/skinny/registerSlider.stories.cjs.js +0 -165
  70. package/skinny/registerSlider.stories.cjs.js.map +0 -1
  71. package/skinny/registerSlider.stories.esm.js +0 -151
  72. package/skinny/registerSlider.stories.esm.js.map +0 -1
  73. package/skinny/registerSwitch.stories.cjs.js +0 -162
  74. package/skinny/registerSwitch.stories.cjs.js.map +0 -1
  75. package/skinny/registerSwitch.stories.esm.js +0 -148
  76. package/skinny/registerSwitch.stories.esm.js.map +0 -1
  77. package/skinny/registerTextField-common-stories.cjs.js +0 -199
  78. package/skinny/registerTextField-common-stories.cjs.js.map +0 -1
  79. package/skinny/registerTextField-common-stories.esm.js +0 -185
  80. package/skinny/registerTextField-common-stories.esm.js.map +0 -1
  81. package/skinny/registerTextField-input.stories.cjs.js +0 -54
  82. package/skinny/registerTextField-input.stories.cjs.js.map +0 -1
  83. package/skinny/registerTextField-input.stories.esm.js +0 -37
  84. package/skinny/registerTextField-input.stories.esm.js.map +0 -1
  85. package/skinny/registerTextField-textarea.stories.cjs.js +0 -55
  86. package/skinny/registerTextField-textarea.stories.cjs.js.map +0 -1
  87. package/skinny/registerTextField-textarea.stories.esm.js +0 -39
  88. package/skinny/registerTextField-textarea.stories.esm.js.map +0 -1
  89. package/skinny/registerTooltip.stories.cjs.js +0 -616
  90. package/skinny/registerTooltip.stories.cjs.js.map +0 -1
  91. package/skinny/registerTooltip.stories.esm.js +0 -596
  92. package/skinny/registerTooltip.stories.esm.js.map +0 -1
@@ -1,121 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var test = require('@storybook/test');
6
- var React = require('react');
7
- var registerCheckbox = require('./registerCheckbox.cjs.js');
8
- var registerCheckboxGroup = require('./registerCheckboxGroup.cjs.js');
9
- require('react-aria-components');
10
- require('./common-45acb83c.cjs.js');
11
- require('./utils-fc1ddd7c.cjs.js');
12
- require('@plasmicapp/host');
13
- require('@plasmicapp/host/registerComponent');
14
- require('./contexts-6d0cb2b1.cjs.js');
15
- require('./variant-utils-0ad70db8.cjs.js');
16
- require('./OptionsItemIdManager-a89a28b9.cjs.js');
17
- require('./registerDescription.cjs.js');
18
- require('./registerText.cjs.js');
19
- require('./registerLabel.cjs.js');
20
-
21
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
22
-
23
- var React__default = /*#__PURE__*/_interopDefault(React);
24
-
25
- const meta = {
26
- title: "Components/BaseCheckboxGroup",
27
- component: registerCheckboxGroup.BaseCheckboxGroup,
28
- args: {
29
- onChange: test.fn()
30
- }
31
- };
32
- const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
33
- const beforeEach = async () => {
34
- await sleep(100);
35
- };
36
- const createCheckboxItems = (count) => {
37
- return Array.from({ length: count }, (_, i) => ({
38
- value: `checkbox${i + 1}`,
39
- label: `Checkbox ${i + 1}`
40
- }));
41
- };
42
- const Basic = {
43
- args: {
44
- children: createCheckboxItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerCheckbox.BaseCheckbox, { value: item.value }, item.label))
45
- },
46
- play: async ({ canvasElement, args }) => {
47
- await beforeEach();
48
- const canvas = test.within(canvasElement);
49
- const checkboxes = await canvas.findAllByRole("checkbox");
50
- test.expect(checkboxes).toHaveLength(3);
51
- checkboxes.forEach((checkbox) => {
52
- test.expect(checkbox).not.toBeChecked();
53
- });
54
- await test.userEvent.click(checkboxes[1]);
55
- test.expect(checkboxes[1]).toBeChecked();
56
- test.expect(args.onChange).toHaveBeenCalledWith(["checkbox2"]);
57
- }
58
- };
59
- const WithDefaultSelection = {
60
- args: {
61
- defaultValue: ["checkbox1", "checkbox3"],
62
- children: /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, createCheckboxItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerCheckbox.BaseCheckbox, { value: item.value }, item.label)), /* @__PURE__ */ React__default.default.createElement(registerCheckbox.BaseCheckbox, { defaultSelected: true, value: "Item 4" }, "checkbox4"))
63
- },
64
- play: async ({ canvasElement, args }) => {
65
- await beforeEach();
66
- const canvas = test.within(canvasElement);
67
- const checkboxes = await canvas.findAllByRole("checkbox");
68
- test.expect(checkboxes[0]).toBeChecked();
69
- test.expect(checkboxes[1]).not.toBeChecked();
70
- test.expect(checkboxes[2]).toBeChecked();
71
- test.expect(checkboxes[3]).not.toBeChecked();
72
- await test.userEvent.click(checkboxes[0]);
73
- test.expect(checkboxes[0]).not.toBeChecked();
74
- test.expect(checkboxes[1]).not.toBeChecked();
75
- test.expect(checkboxes[2]).toBeChecked();
76
- test.expect(args.onChange).toHaveBeenCalledWith(["checkbox3"]);
77
- }
78
- };
79
- const Disabled = {
80
- args: {
81
- isDisabled: true,
82
- defaultValue: ["checkbox1"],
83
- children: createCheckboxItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerCheckbox.BaseCheckbox, { key: item.value, value: item.value }, item.label))
84
- },
85
- play: async ({ canvasElement, args }) => {
86
- await beforeEach();
87
- const canvas = test.within(canvasElement);
88
- const checkboxes = await canvas.findAllByRole("checkbox");
89
- checkboxes.forEach((checkbox) => {
90
- test.expect(checkbox).toBeDisabled();
91
- });
92
- await test.userEvent.click(checkboxes[1]);
93
- test.expect(args.onChange).not.toHaveBeenCalled();
94
- test.expect(checkboxes[1]).not.toBeChecked();
95
- }
96
- };
97
- const ReadOnly = {
98
- args: {
99
- isReadOnly: true,
100
- defaultValue: ["checkbox1", "checkbox2"],
101
- children: createCheckboxItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerCheckbox.BaseCheckbox, { key: item.value, value: item.value }, item.label))
102
- },
103
- play: async ({ canvasElement, args }) => {
104
- await beforeEach();
105
- const canvas = test.within(canvasElement);
106
- const checkboxes = await canvas.findAllByRole("checkbox");
107
- checkboxes.forEach((checkbox) => {
108
- test.expect(checkbox).toHaveAttribute("aria-readonly", "true");
109
- });
110
- await test.userEvent.click(checkboxes[2]);
111
- test.expect(args.onChange).not.toHaveBeenCalled();
112
- test.expect(checkboxes[2]).not.toBeChecked();
113
- }
114
- };
115
-
116
- exports.Basic = Basic;
117
- exports.Disabled = Disabled;
118
- exports.ReadOnly = ReadOnly;
119
- exports.WithDefaultSelection = WithDefaultSelection;
120
- exports.default = meta;
121
- //# sourceMappingURL=registerCheckboxGroup.stories.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerCheckboxGroup.stories.cjs.js","sources":["../src/registerCheckboxGroup.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { expect, fn, userEvent, within } from \"@storybook/test\";\nimport React from \"react\";\nimport { BaseCheckbox } from \"./registerCheckbox\";\nimport { BaseCheckboxGroup } from \"./registerCheckboxGroup\";\n\nconst meta: Meta<typeof BaseCheckboxGroup> = {\n title: \"Components/BaseCheckboxGroup\",\n component: BaseCheckboxGroup,\n args: {\n onChange: fn(),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseCheckboxGroup>;\n\n// TODO: Assertions may be flaky because the registeredId is set inside useEffect, so in the first render, the id is randomly generated by react-aria itself.\n// We use sleep to wait for the id to be set before asserting.\n// This is marked todo because the sleep needs to be removed in a separate PR that fixes this issue\nconst sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nconst beforeEach = async () => {\n await sleep(100);\n};\n\n// Helper function to create checkbox items\nconst createCheckboxItems = (count: number) => {\n return Array.from({ length: count }, (_, i) => ({\n value: `checkbox${i + 1}`,\n label: `Checkbox ${i + 1}`,\n }));\n};\n\n// Basic CheckboxGroup with no initial selection\nexport const Basic: Story = {\n args: {\n children: createCheckboxItems(3).map((item) => (\n <BaseCheckbox value={item.value}>{item.label}</BaseCheckbox>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n\n const checkboxes = await canvas.findAllByRole(\"checkbox\");\n expect(checkboxes).toHaveLength(3);\n\n // Verify initial state\n checkboxes.forEach((checkbox) => {\n expect(checkbox).not.toBeChecked();\n });\n\n // Test selection\n await userEvent.click(checkboxes[1]);\n expect(checkboxes[1]).toBeChecked();\n expect(args.onChange).toHaveBeenCalledWith([\"checkbox2\"]);\n },\n};\n\n// CheckboxGroup with pre-selected values\nexport const WithDefaultSelection: Story = {\n args: {\n defaultValue: [\"checkbox1\", \"checkbox3\"],\n children: (\n <>\n {createCheckboxItems(3).map((item) => (\n <BaseCheckbox value={item.value}>{item.label}</BaseCheckbox>\n ))}\n <BaseCheckbox defaultSelected value={\"Item 4\"}>\n checkbox4\n </BaseCheckbox>\n </>\n ),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n\n const canvas = within(canvasElement);\n const checkboxes = await canvas.findAllByRole(\"checkbox\");\n\n // Verify initial state\n expect(checkboxes[0]).toBeChecked(); // via defaultValue prop passed to the group\n expect(checkboxes[1]).not.toBeChecked();\n expect(checkboxes[2]).toBeChecked(); // via defaultValue prop passed to the group\n expect(checkboxes[3]).not.toBeChecked(); // defaultSelected prop passed directly has no effect within group\n\n // Test deselection\n await userEvent.click(checkboxes[0]);\n expect(checkboxes[0]).not.toBeChecked(); //changed\n expect(checkboxes[1]).not.toBeChecked();\n expect(checkboxes[2]).toBeChecked();\n expect(args.onChange).toHaveBeenCalledWith([\"checkbox3\"]);\n },\n};\n\n// Disabled CheckboxGroup\nexport const Disabled: Story = {\n args: {\n isDisabled: true,\n defaultValue: [\"checkbox1\"],\n children: createCheckboxItems(3).map((item) => (\n <BaseCheckbox key={item.value} value={item.value}>\n {item.label}\n </BaseCheckbox>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const checkboxes = await canvas.findAllByRole(\"checkbox\");\n\n // Verify disabled state\n checkboxes.forEach((checkbox) => {\n expect(checkbox).toBeDisabled();\n });\n\n // Verify clicks don't trigger changes\n await userEvent.click(checkboxes[1]);\n expect(args.onChange).not.toHaveBeenCalled();\n expect(checkboxes[1]).not.toBeChecked();\n },\n};\n\n// ReadOnly CheckboxGroup\nexport const ReadOnly: Story = {\n args: {\n isReadOnly: true,\n defaultValue: [\"checkbox1\", \"checkbox2\"],\n children: createCheckboxItems(3).map((item) => (\n <BaseCheckbox key={item.value} value={item.value}>\n {item.label}\n </BaseCheckbox>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const checkboxes = await canvas.findAllByRole(\"checkbox\");\n\n // Verify readonly state\n checkboxes.forEach((checkbox) => {\n expect(checkbox).toHaveAttribute(\"aria-readonly\", \"true\");\n });\n\n // Verify clicks don't trigger changes\n await userEvent.click(checkboxes[2]);\n expect(args.onChange).not.toHaveBeenCalled();\n expect(checkboxes[2]).not.toBeChecked();\n },\n};\n"],"names":["BaseCheckboxGroup","fn","React","BaseCheckbox","within","expect","userEvent"],"mappings":"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"}
@@ -1,109 +0,0 @@
1
- import { fn, within, expect, userEvent } from '@storybook/test';
2
- import React from 'react';
3
- import { BaseCheckbox } from './registerCheckbox.esm.js';
4
- import { BaseCheckboxGroup } from './registerCheckboxGroup.esm.js';
5
- import 'react-aria-components';
6
- import './common-616eb178.esm.js';
7
- import './utils-fd88ad47.esm.js';
8
- import '@plasmicapp/host';
9
- import '@plasmicapp/host/registerComponent';
10
- import './contexts-5cb81c2f.esm.js';
11
- import './variant-utils-4405ebb0.esm.js';
12
- import './OptionsItemIdManager-832b8cfe.esm.js';
13
- import './registerDescription.esm.js';
14
- import './registerText.esm.js';
15
- import './registerLabel.esm.js';
16
-
17
- const meta = {
18
- title: "Components/BaseCheckboxGroup",
19
- component: BaseCheckboxGroup,
20
- args: {
21
- onChange: fn()
22
- }
23
- };
24
- const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
25
- const beforeEach = async () => {
26
- await sleep(100);
27
- };
28
- const createCheckboxItems = (count) => {
29
- return Array.from({ length: count }, (_, i) => ({
30
- value: `checkbox${i + 1}`,
31
- label: `Checkbox ${i + 1}`
32
- }));
33
- };
34
- const Basic = {
35
- args: {
36
- children: createCheckboxItems(3).map((item) => /* @__PURE__ */ React.createElement(BaseCheckbox, { value: item.value }, item.label))
37
- },
38
- play: async ({ canvasElement, args }) => {
39
- await beforeEach();
40
- const canvas = within(canvasElement);
41
- const checkboxes = await canvas.findAllByRole("checkbox");
42
- expect(checkboxes).toHaveLength(3);
43
- checkboxes.forEach((checkbox) => {
44
- expect(checkbox).not.toBeChecked();
45
- });
46
- await userEvent.click(checkboxes[1]);
47
- expect(checkboxes[1]).toBeChecked();
48
- expect(args.onChange).toHaveBeenCalledWith(["checkbox2"]);
49
- }
50
- };
51
- const WithDefaultSelection = {
52
- args: {
53
- defaultValue: ["checkbox1", "checkbox3"],
54
- children: /* @__PURE__ */ React.createElement(React.Fragment, null, createCheckboxItems(3).map((item) => /* @__PURE__ */ React.createElement(BaseCheckbox, { value: item.value }, item.label)), /* @__PURE__ */ React.createElement(BaseCheckbox, { defaultSelected: true, value: "Item 4" }, "checkbox4"))
55
- },
56
- play: async ({ canvasElement, args }) => {
57
- await beforeEach();
58
- const canvas = within(canvasElement);
59
- const checkboxes = await canvas.findAllByRole("checkbox");
60
- expect(checkboxes[0]).toBeChecked();
61
- expect(checkboxes[1]).not.toBeChecked();
62
- expect(checkboxes[2]).toBeChecked();
63
- expect(checkboxes[3]).not.toBeChecked();
64
- await userEvent.click(checkboxes[0]);
65
- expect(checkboxes[0]).not.toBeChecked();
66
- expect(checkboxes[1]).not.toBeChecked();
67
- expect(checkboxes[2]).toBeChecked();
68
- expect(args.onChange).toHaveBeenCalledWith(["checkbox3"]);
69
- }
70
- };
71
- const Disabled = {
72
- args: {
73
- isDisabled: true,
74
- defaultValue: ["checkbox1"],
75
- children: createCheckboxItems(3).map((item) => /* @__PURE__ */ React.createElement(BaseCheckbox, { key: item.value, value: item.value }, item.label))
76
- },
77
- play: async ({ canvasElement, args }) => {
78
- await beforeEach();
79
- const canvas = within(canvasElement);
80
- const checkboxes = await canvas.findAllByRole("checkbox");
81
- checkboxes.forEach((checkbox) => {
82
- expect(checkbox).toBeDisabled();
83
- });
84
- await userEvent.click(checkboxes[1]);
85
- expect(args.onChange).not.toHaveBeenCalled();
86
- expect(checkboxes[1]).not.toBeChecked();
87
- }
88
- };
89
- const ReadOnly = {
90
- args: {
91
- isReadOnly: true,
92
- defaultValue: ["checkbox1", "checkbox2"],
93
- children: createCheckboxItems(3).map((item) => /* @__PURE__ */ React.createElement(BaseCheckbox, { key: item.value, value: item.value }, item.label))
94
- },
95
- play: async ({ canvasElement, args }) => {
96
- await beforeEach();
97
- const canvas = within(canvasElement);
98
- const checkboxes = await canvas.findAllByRole("checkbox");
99
- checkboxes.forEach((checkbox) => {
100
- expect(checkbox).toHaveAttribute("aria-readonly", "true");
101
- });
102
- await userEvent.click(checkboxes[2]);
103
- expect(args.onChange).not.toHaveBeenCalled();
104
- expect(checkboxes[2]).not.toBeChecked();
105
- }
106
- };
107
-
108
- export { Basic, Disabled, ReadOnly, WithDefaultSelection, meta as default };
109
- //# sourceMappingURL=registerCheckboxGroup.stories.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerCheckboxGroup.stories.esm.js","sources":["../src/registerCheckboxGroup.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { expect, fn, userEvent, within } from \"@storybook/test\";\nimport React from \"react\";\nimport { BaseCheckbox } from \"./registerCheckbox\";\nimport { BaseCheckboxGroup } from \"./registerCheckboxGroup\";\n\nconst meta: Meta<typeof BaseCheckboxGroup> = {\n title: \"Components/BaseCheckboxGroup\",\n component: BaseCheckboxGroup,\n args: {\n onChange: fn(),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseCheckboxGroup>;\n\n// TODO: Assertions may be flaky because the registeredId is set inside useEffect, so in the first render, the id is randomly generated by react-aria itself.\n// We use sleep to wait for the id to be set before asserting.\n// This is marked todo because the sleep needs to be removed in a separate PR that fixes this issue\nconst sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms));\n\nconst beforeEach = async () => {\n await sleep(100);\n};\n\n// Helper function to create checkbox items\nconst createCheckboxItems = (count: number) => {\n return Array.from({ length: count }, (_, i) => ({\n value: `checkbox${i + 1}`,\n label: `Checkbox ${i + 1}`,\n }));\n};\n\n// Basic CheckboxGroup with no initial selection\nexport const Basic: Story = {\n args: {\n children: createCheckboxItems(3).map((item) => (\n <BaseCheckbox value={item.value}>{item.label}</BaseCheckbox>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n\n const checkboxes = await canvas.findAllByRole(\"checkbox\");\n expect(checkboxes).toHaveLength(3);\n\n // Verify initial state\n checkboxes.forEach((checkbox) => {\n expect(checkbox).not.toBeChecked();\n });\n\n // Test selection\n await userEvent.click(checkboxes[1]);\n expect(checkboxes[1]).toBeChecked();\n expect(args.onChange).toHaveBeenCalledWith([\"checkbox2\"]);\n },\n};\n\n// CheckboxGroup with pre-selected values\nexport const WithDefaultSelection: Story = {\n args: {\n defaultValue: [\"checkbox1\", \"checkbox3\"],\n children: (\n <>\n {createCheckboxItems(3).map((item) => (\n <BaseCheckbox value={item.value}>{item.label}</BaseCheckbox>\n ))}\n <BaseCheckbox defaultSelected value={\"Item 4\"}>\n checkbox4\n </BaseCheckbox>\n </>\n ),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n\n const canvas = within(canvasElement);\n const checkboxes = await canvas.findAllByRole(\"checkbox\");\n\n // Verify initial state\n expect(checkboxes[0]).toBeChecked(); // via defaultValue prop passed to the group\n expect(checkboxes[1]).not.toBeChecked();\n expect(checkboxes[2]).toBeChecked(); // via defaultValue prop passed to the group\n expect(checkboxes[3]).not.toBeChecked(); // defaultSelected prop passed directly has no effect within group\n\n // Test deselection\n await userEvent.click(checkboxes[0]);\n expect(checkboxes[0]).not.toBeChecked(); //changed\n expect(checkboxes[1]).not.toBeChecked();\n expect(checkboxes[2]).toBeChecked();\n expect(args.onChange).toHaveBeenCalledWith([\"checkbox3\"]);\n },\n};\n\n// Disabled CheckboxGroup\nexport const Disabled: Story = {\n args: {\n isDisabled: true,\n defaultValue: [\"checkbox1\"],\n children: createCheckboxItems(3).map((item) => (\n <BaseCheckbox key={item.value} value={item.value}>\n {item.label}\n </BaseCheckbox>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const checkboxes = await canvas.findAllByRole(\"checkbox\");\n\n // Verify disabled state\n checkboxes.forEach((checkbox) => {\n expect(checkbox).toBeDisabled();\n });\n\n // Verify clicks don't trigger changes\n await userEvent.click(checkboxes[1]);\n expect(args.onChange).not.toHaveBeenCalled();\n expect(checkboxes[1]).not.toBeChecked();\n },\n};\n\n// ReadOnly CheckboxGroup\nexport const ReadOnly: Story = {\n args: {\n isReadOnly: true,\n defaultValue: [\"checkbox1\", \"checkbox2\"],\n children: createCheckboxItems(3).map((item) => (\n <BaseCheckbox key={item.value} value={item.value}>\n {item.label}\n </BaseCheckbox>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const checkboxes = await canvas.findAllByRole(\"checkbox\");\n\n // Verify readonly state\n checkboxes.forEach((checkbox) => {\n expect(checkbox).toHaveAttribute(\"aria-readonly\", \"true\");\n });\n\n // Verify clicks don't trigger changes\n await userEvent.click(checkboxes[2]);\n expect(args.onChange).not.toHaveBeenCalled();\n expect(checkboxes[2]).not.toBeChecked();\n },\n};\n"],"names":[],"mappings":"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"}
@@ -1,244 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var host = require('@plasmicapp/host');
6
- var test = require('@storybook/test');
7
- var React = require('react');
8
- var registerButton = require('./registerButton.cjs.js');
9
- var registerComboBox = require('./registerComboBox.cjs.js');
10
- var registerInput = require('./registerInput.cjs.js');
11
- var registerLabel = require('./registerLabel.cjs.js');
12
- var registerSection = require('./registerListBox-040b0374.cjs.js');
13
- var registerListBoxItem = require('./registerListBoxItem.cjs.js');
14
- var registerPopover = require('./registerPopover.cjs.js');
15
- require('react-aria');
16
- require('react-aria-components');
17
- require('./common-45acb83c.cjs.js');
18
- require('./utils-fc1ddd7c.cjs.js');
19
- require('@plasmicapp/host/registerComponent');
20
- require('./variant-utils-0ad70db8.cjs.js');
21
- require('./contexts-6d0cb2b1.cjs.js');
22
- require('./OptionsItemIdManager-a89a28b9.cjs.js');
23
- require('./registerDescription.cjs.js');
24
- require('./registerText.cjs.js');
25
- require('@react-aria/utils');
26
-
27
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
28
-
29
- var React__default = /*#__PURE__*/_interopDefault(React);
30
-
31
- var __defProp = Object.defineProperty;
32
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
33
- var __hasOwnProp = Object.prototype.hasOwnProperty;
34
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
35
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
36
- var __spreadValues = (a, b) => {
37
- for (var prop in b || (b = {}))
38
- if (__hasOwnProp.call(b, prop))
39
- __defNormalProp(a, prop, b[prop]);
40
- if (__getOwnPropSymbols)
41
- for (var prop of __getOwnPropSymbols(b)) {
42
- if (__propIsEnum.call(b, prop))
43
- __defNormalProp(a, prop, b[prop]);
44
- }
45
- return a;
46
- };
47
- var __objRest = (source, exclude) => {
48
- var target = {};
49
- for (var prop in source)
50
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
51
- target[prop] = source[prop];
52
- if (source != null && __getOwnPropSymbols)
53
- for (var prop of __getOwnPropSymbols(source)) {
54
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
55
- target[prop] = source[prop];
56
- }
57
- return target;
58
- };
59
- const meta = {
60
- title: "Components/BaseComboBox",
61
- component: registerComboBox.BaseComboBox,
62
- args: {
63
- onSelectionChange: test.fn(),
64
- onOpenChange: test.fn()
65
- }
66
- };
67
- const createListItems = (count) => {
68
- return Array.from({ length: count }, (_, i) => ({
69
- id: `${i + 1}`,
70
- textValue: `Item ${i + 1}`,
71
- children: `Item ${i + 1}`
72
- }));
73
- };
74
- const BoilerplateCombobox = ({ children }) => /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(registerLabel.BaseLabel, null, "Choose an option"), /* @__PURE__ */ React__default.default.createElement(registerInput.BaseInput, null), /* @__PURE__ */ React__default.default.createElement(registerButton.BaseButton, null, "\u25BC"), /* @__PURE__ */ React__default.default.createElement(registerPopover.BasePopover, null, /* @__PURE__ */ React__default.default.createElement(registerSection.BaseListBox, null, children)));
75
- const Basic = {
76
- args: {
77
- children: /* @__PURE__ */ React__default.default.createElement(BoilerplateCombobox, null, createListItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: item.textValue, id: item.id }, item.children)))
78
- },
79
- play: async ({ canvasElement, args }) => {
80
- const canvas = test.within(canvasElement);
81
- const doc = test.within(document.body);
82
- const input = canvas.getByRole("combobox");
83
- const button = canvas.getByText("\u25BC");
84
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
85
- await test.userEvent.click(button);
86
- const options = await test.within(doc.getByRole("listbox")).findAllByRole(
87
- "option"
88
- );
89
- test.expect(options).toHaveLength(3);
90
- await test.userEvent.click(options[1]);
91
- test.expect(input).toHaveValue("Item 2");
92
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
93
- test.expect(args.onOpenChange).toHaveBeenCalledTimes(2);
94
- test.expect(args.onSelectionChange).toHaveBeenCalledOnce();
95
- }
96
- };
97
- const WithTyping = {
98
- args: {
99
- children: /* @__PURE__ */ React__default.default.createElement(BoilerplateCombobox, null, createListItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: item.textValue, id: item.id }, item.children)), createListItems(1).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: `${item.textValue} dup`, id: item.id }, item.children, " dup")))
100
- },
101
- play: async ({ canvasElement, args }) => {
102
- const canvas = test.within(canvasElement);
103
- const doc = test.within(document.body);
104
- const input = canvas.getByRole("combobox");
105
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
106
- await test.userEvent.type(input, "Item 1{ArrowDown}{ArrowDown}{Enter}");
107
- test.expect(input).toHaveValue("Item 1 dup");
108
- await test.userEvent.type(input, "{backspace}{backspace}{backspace}{backspace}");
109
- test.expect(input).toHaveValue("Item 1");
110
- test.expect(
111
- test.within(doc.getByRole("listbox")).getAllByRole("option")
112
- ).toHaveLength(2);
113
- await test.userEvent.tab();
114
- test.expect(input).toHaveValue("Item 1 dup");
115
- test.expect(args.onOpenChange).toHaveBeenCalledTimes(4);
116
- test.expect(args.onSelectionChange).toHaveBeenCalledTimes(1);
117
- }
118
- };
119
- const WithDefaultSelection = {
120
- args: {
121
- defaultSelectedKey: "3",
122
- children: /* @__PURE__ */ React__default.default.createElement(BoilerplateCombobox, null, createListItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: item.textValue, id: item.id }, item.children)))
123
- },
124
- play: async ({ canvasElement }) => {
125
- const canvas = test.within(canvasElement);
126
- const doc = test.within(document.body);
127
- const input = canvas.getByRole("combobox");
128
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
129
- await test.waitFor(() => test.expect(input).toHaveValue("Item 3"));
130
- await test.userEvent.click(canvas.getByText("\u25BC"));
131
- const options = test.within(doc.getByRole("listbox")).getAllByRole("option");
132
- await test.userEvent.click(options[1]);
133
- test.expect(input).toHaveValue("Item 2");
134
- }
135
- };
136
- const Disabled = {
137
- args: {
138
- defaultSelectedKey: "3",
139
- isDisabled: true,
140
- children: /* @__PURE__ */ React__default.default.createElement(BoilerplateCombobox, null, createListItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: item.textValue, id: item.id }, item.children)))
141
- },
142
- play: async ({ canvasElement, args }) => {
143
- const canvas = test.within(canvasElement);
144
- const doc = test.within(document.body);
145
- const input = canvas.getByRole("combobox");
146
- const button = canvas.getByText("\u25BC");
147
- test.expect(input).toBeDisabled();
148
- test.expect(button).toBeDisabled();
149
- await test.waitFor(() => test.expect(input).toHaveValue("Item 3"));
150
- test.expect(input).toHaveValue("Item 3");
151
- await test.userEvent.click(button);
152
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
153
- await test.userEvent.type(input, "{Backspace}{ArrowDown}{Enter}");
154
- test.expect(input).toHaveValue("Item 3");
155
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
156
- test.expect(args.onOpenChange).not.toHaveBeenCalled();
157
- test.expect(args.onSelectionChange).not.toHaveBeenCalled();
158
- }
159
- };
160
- const WithDisabledOptions = {
161
- args: {
162
- disabledKeys: ["1"],
163
- children: /* @__PURE__ */ React__default.default.createElement(BoilerplateCombobox, null, createListItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: item.textValue, id: item.id }, item.children)))
164
- },
165
- play: async ({ canvasElement, args }) => {
166
- const canvas = test.within(canvasElement);
167
- const doc = test.within(document.body);
168
- const input = canvas.getByRole("combobox");
169
- const button = canvas.getByText("\u25BC");
170
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
171
- test.expect(input).toHaveValue("");
172
- await test.userEvent.click(button);
173
- test.expect(args.onOpenChange).toHaveBeenCalledOnce();
174
- const listbox = await doc.findByRole("listbox");
175
- const options = await test.within(listbox).findAllByRole("option");
176
- test.expect(options).toHaveLength(3);
177
- await test.userEvent.click(options[0]);
178
- test.expect(args.onOpenChange).toHaveBeenCalledOnce();
179
- test.expect(args.onSelectionChange).not.toHaveBeenCalled();
180
- test.expect(input).toHaveValue("");
181
- await test.userEvent.click(options[1]);
182
- test.expect(args.onOpenChange).toHaveBeenCalledTimes(2);
183
- test.expect(args.onSelectionChange).toHaveBeenCalledOnce();
184
- test.expect(input).toHaveValue("Item 2");
185
- }
186
- };
187
- const SelectedInCanvas = {
188
- args: {
189
- children: /* @__PURE__ */ React__default.default.createElement(BoilerplateCombobox, null, createListItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: item.textValue, id: item.id }, item.children)))
190
- },
191
- render: (_a) => {
192
- var _b = _a, args = __objRest(_b, ["__plasmic_selection_prop__"]);
193
- const [selected, setSelected] = React.useState(false);
194
- React.useEffect(() => {
195
- setTimeout(() => {
196
- setSelected(true);
197
- }, 1e3);
198
- }, []);
199
- return (
200
- // Simulate Plasmic canvas envirnment
201
- /* @__PURE__ */ React__default.default.createElement(
202
- host.PlasmicCanvasContext.Provider,
203
- {
204
- value: {
205
- componentName: "test",
206
- globalVariants: {}
207
- }
208
- },
209
- /* @__PURE__ */ React__default.default.createElement(
210
- registerComboBox.BaseComboBox,
211
- __spreadValues({
212
- __plasmic_selection_prop__: {
213
- isSelected: selected
214
- }
215
- }, args)
216
- )
217
- )
218
- );
219
- },
220
- play: async () => {
221
- const doc = test.within(document.body);
222
- await test.waitFor(
223
- () => {
224
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
225
- },
226
- { timeout: 100 }
227
- );
228
- await test.waitFor(
229
- () => {
230
- test.expect(doc.queryByRole("listbox")).toBeInTheDocument();
231
- },
232
- { timeout: 1100 }
233
- );
234
- }
235
- };
236
-
237
- exports.Basic = Basic;
238
- exports.Disabled = Disabled;
239
- exports.SelectedInCanvas = SelectedInCanvas;
240
- exports.WithDefaultSelection = WithDefaultSelection;
241
- exports.WithDisabledOptions = WithDisabledOptions;
242
- exports.WithTyping = WithTyping;
243
- exports.default = meta;
244
- //# sourceMappingURL=registerComboBox.stories.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerComboBox.stories.cjs.js","sources":["../src/registerComboBox.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 { BaseComboBox } from \"./registerComboBox\";\nimport { BaseInput } from \"./registerInput\";\nimport { BaseLabel } from \"./registerLabel\";\nimport { BaseListBox } from \"./registerListBox\";\nimport { BaseListBoxItem } from \"./registerListBoxItem\";\nimport { BasePopover } from \"./registerPopover\";\n\nconst meta: Meta<typeof BaseComboBox> = {\n title: \"Components/BaseComboBox\",\n component: BaseComboBox,\n args: {\n onSelectionChange: fn(),\n onOpenChange: fn(),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseComboBox>;\n\n// Helper function to create list items\nconst createListItems = (count: number) => {\n return Array.from({ length: count }, (_, i) => ({\n id: `${i + 1}`,\n textValue: `Item ${i + 1}`,\n children: `Item ${i + 1}`,\n }));\n};\n\nconst BoilerplateCombobox = ({ children }: { children: React.ReactNode }) => (\n <>\n <BaseLabel>Choose an option</BaseLabel>\n <BaseInput />\n <BaseButton>▼</BaseButton>\n <BasePopover>\n <BaseListBox>{children}</BaseListBox>\n </BasePopover>\n </>\n);\n\nexport const Basic: Story = {\n args: {\n children: (\n <BoilerplateCombobox>\n {createListItems(3).map((item) => (\n <BaseListBoxItem textValue={item.textValue} id={item.id}>\n {item.children}\n </BaseListBoxItem>\n ))}\n </BoilerplateCombobox>\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n\n // Get the button and input\n const input = canvas.getByRole(\"combobox\");\n const button = canvas.getByText(\"▼\");\n\n // Check that listbox is not in the document\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n\n // Open the combobox\n await userEvent.click(button);\n\n // Ensure that clicking the button shows all available options, regardless of the input value\n const options = await within(doc.getByRole(\"listbox\")).findAllByRole(\n \"option\"\n );\n expect(options).toHaveLength(3);\n\n // Select an option\n await userEvent.click(options[1]);\n // Check that the input value is updated\n expect(input).toHaveValue(\"Item 2\");\n\n // Check that listbox is not in the document\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n\n // Check that the onOpenChange and onSelectionChange are called as expected\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n expect(args.onSelectionChange).toHaveBeenCalledOnce();\n },\n};\n\nexport const WithTyping: Story = {\n args: {\n children: (\n <BoilerplateCombobox>\n {createListItems(3).map((item) => (\n <BaseListBoxItem textValue={item.textValue} id={item.id}>\n {item.children}\n </BaseListBoxItem>\n ))}\n {createListItems(1).map((item) => (\n <BaseListBoxItem textValue={`${item.textValue} dup`} id={item.id}>\n {item.children} dup\n </BaseListBoxItem>\n ))}\n </BoilerplateCombobox>\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n\n // Get the button and input\n const input = canvas.getByRole(\"combobox\");\n\n // Check that listbox is not in the document\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n\n // Simulate keyboard interaction and select an option\n await userEvent.type(input, \"Item 1{ArrowDown}{ArrowDown}{Enter}\");\n expect(input).toHaveValue(\"Item 1 dup\");\n\n // confirm that the input can't retain a value that is not selected from the listbox\n await userEvent.type(input, \"{backspace}{backspace}{backspace}{backspace}\");\n expect(input).toHaveValue(\"Item 1\");\n expect(\n within(doc.getByRole(\"listbox\")).getAllByRole(\"option\")\n ).toHaveLength(2);\n\n await userEvent.tab(); // simulates input blur\n expect(input).toHaveValue(\"Item 1 dup\");\n\n // Check that the onOpenChange and onSelectionChange are called as expected\n expect(args.onOpenChange).toHaveBeenCalledTimes(4);\n expect(args.onSelectionChange).toHaveBeenCalledTimes(1);\n },\n};\n\nexport const WithDefaultSelection: Story = {\n args: {\n defaultSelectedKey: \"3\",\n children: (\n <BoilerplateCombobox>\n {createListItems(3).map((item) => (\n <BaseListBoxItem textValue={item.textValue} id={item.id}>\n {item.children}\n </BaseListBoxItem>\n ))}\n </BoilerplateCombobox>\n ),\n },\n play: async ({ canvasElement }) => {\n const canvas = within(canvasElement);\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n\n // Get the button and input\n const input = canvas.getByRole(\"combobox\");\n\n // Check that listbox is not in the document\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n\n await waitFor(() => expect(input).toHaveValue(\"Item 3\")); // via defaultSelectedKey\n\n // Open the combobox\n await userEvent.click(canvas.getByText(\"▼\"));\n\n const options = within(doc.getByRole(\"listbox\")).getAllByRole(\"option\");\n await userEvent.click(options[1]);\n\n expect(input).toHaveValue(\"Item 2\");\n },\n};\n\nexport const Disabled: Story = {\n args: {\n defaultSelectedKey: \"3\",\n isDisabled: true,\n children: (\n <BoilerplateCombobox>\n {createListItems(3).map((item) => (\n <BaseListBoxItem textValue={item.textValue} id={item.id}>\n {item.children}\n </BaseListBoxItem>\n ))}\n </BoilerplateCombobox>\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n\n // Get the button and input\n const input = canvas.getByRole(\"combobox\");\n const button = canvas.getByText(\"▼\");\n\n // Verify disabled state\n expect(input).toBeDisabled();\n expect(button).toBeDisabled();\n\n await waitFor(() => expect(input).toHaveValue(\"Item 3\")); // via defaultSelectedKey\n expect(input).toHaveValue(\"Item 3\"); // via defaultSelectedKey\n\n // Open the combobox\n await userEvent.click(button);\n\n // Check that listbox is not in the document\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n\n await userEvent.type(input, \"{Backspace}{ArrowDown}{Enter}\");\n expect(input).toHaveValue(\"Item 3\"); // unchanged\n\n // Check that listbox is not in the document\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n\n expect(args.onOpenChange).not.toHaveBeenCalled();\n expect(args.onSelectionChange).not.toHaveBeenCalled();\n },\n};\n\nexport const WithDisabledOptions: Story = {\n args: {\n disabledKeys: [\"1\"],\n children: (\n <BoilerplateCombobox>\n {createListItems(3).map((item) => (\n <BaseListBoxItem textValue={item.textValue} id={item.id}>\n {item.children}\n </BaseListBoxItem>\n ))}\n </BoilerplateCombobox>\n ),\n },\n play: async ({ canvasElement, args }) => {\n const canvas = within(canvasElement);\n // popovers are rendered outside canvas, so we need to use document.body\n const doc = within(document.body);\n\n // Get the button and input\n const input = canvas.getByRole(\"combobox\");\n const button = canvas.getByText(\"▼\");\n\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n expect(input).toHaveValue(\"\");\n\n // Open the combobox\n await userEvent.click(button);\n expect(args.onOpenChange).toHaveBeenCalledOnce();\n\n // Ensure that clicking the button shows all available options, regardless of the input value\n const listbox = await doc.findByRole(\"listbox\");\n const options = await within(listbox).findAllByRole(\"option\");\n expect(options).toHaveLength(3);\n\n await userEvent.click(options[0]);\n expect(args.onOpenChange).toHaveBeenCalledOnce(); // the popover does not close when selecting a disabled option\n expect(args.onSelectionChange).not.toHaveBeenCalled(); // the combobox state does not change when selecting a disabled option\n expect(input).toHaveValue(\"\");\n\n await userEvent.click(options[1]); // Other items stay selectable\n expect(args.onOpenChange).toHaveBeenCalledTimes(2);\n expect(args.onSelectionChange).toHaveBeenCalledOnce();\n\n expect(input).toHaveValue(\"Item 2\");\n },\n};\n\nexport const SelectedInCanvas: Story = {\n args: {\n children: (\n <BoilerplateCombobox>\n {createListItems(3).map((item) => (\n <BaseListBoxItem textValue={item.textValue} id={item.id}>\n {item.children}\n </BaseListBoxItem>\n ))}\n </BoilerplateCombobox>\n ),\n },\n render: ({ __plasmic_selection_prop__, ...args }) => {\n const [selected, setSelected] = useState(false);\n useEffect(() => {\n setTimeout(() => {\n setSelected(true);\n }, 1000);\n }, []);\n\n return (\n // Simulate Plasmic canvas envirnment\n <PlasmicCanvasContext.Provider\n value={{\n componentName: \"test\",\n globalVariants: {},\n }}\n >\n <BaseComboBox\n // Simulate node selection in Plasmic canvas\n __plasmic_selection_prop__={{\n isSelected: selected,\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 () => {\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n },\n { timeout: 100 }\n );\n\n await waitFor(\n () => {\n expect(doc.queryByRole(\"listbox\")).toBeInTheDocument();\n },\n { timeout: 1100 }\n );\n },\n};\n"],"names":["BaseComboBox","fn","React","BaseLabel","BaseInput","BaseButton","BasePopover","BaseListBox","BaseListBoxItem","within","expect","userEvent","waitFor","useState","useEffect","PlasmicCanvasContext"],"mappings":"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"}