@plasmicpkgs/react-aria 0.0.117 → 0.0.119

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 (122) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contexts.d.ts +2 -1
  3. package/dist/react-aria.esm.js +128 -87
  4. package/dist/react-aria.esm.js.map +1 -1
  5. package/dist/react-aria.js +127 -86
  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/registerCheckboxGroup.cjs.js +11 -8
  13. package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
  14. package/skinny/registerCheckboxGroup.esm.js +11 -8
  15. package/skinny/registerCheckboxGroup.esm.js.map +1 -1
  16. package/skinny/registerComboBox.cjs.js.map +1 -1
  17. package/skinny/registerComboBox.esm.js +1 -1
  18. package/skinny/registerComboBox.esm.js.map +1 -1
  19. package/skinny/registerDialogTrigger.cjs.js +17 -2
  20. package/skinny/registerDialogTrigger.cjs.js.map +1 -1
  21. package/skinny/registerDialogTrigger.esm.js +17 -2
  22. package/skinny/registerDialogTrigger.esm.js.map +1 -1
  23. package/skinny/registerInput.cjs.js +1 -1
  24. package/skinny/registerInput.cjs.js.map +1 -1
  25. package/skinny/registerInput.esm.js +2 -2
  26. package/skinny/registerInput.esm.js.map +1 -1
  27. package/skinny/{registerListBox-21dc99fa.esm.js → registerListBox-0f6ebcf0.esm.js} +2 -2
  28. package/skinny/{registerListBox-21dc99fa.esm.js.map → registerListBox-0f6ebcf0.esm.js.map} +1 -1
  29. package/skinny/registerListBox.esm.js +1 -1
  30. package/skinny/registerOverlayArrow.cjs.js +1 -1
  31. package/skinny/registerOverlayArrow.cjs.js.map +1 -1
  32. package/skinny/registerOverlayArrow.esm.js +2 -2
  33. package/skinny/registerOverlayArrow.esm.js.map +1 -1
  34. package/skinny/registerPopover.cjs.js.map +1 -1
  35. package/skinny/registerPopover.esm.js.map +1 -1
  36. package/skinny/registerRadioGroup.cjs.js +11 -8
  37. package/skinny/registerRadioGroup.cjs.js.map +1 -1
  38. package/skinny/registerRadioGroup.esm.js +11 -8
  39. package/skinny/registerRadioGroup.esm.js.map +1 -1
  40. package/skinny/registerSection.esm.js +1 -1
  41. package/skinny/registerSelect.cjs.js.map +1 -1
  42. package/skinny/registerSelect.esm.js +1 -1
  43. package/skinny/registerSelect.esm.js.map +1 -1
  44. package/skinny/registerSlider.cjs.js +17 -14
  45. package/skinny/registerSlider.cjs.js.map +1 -1
  46. package/skinny/registerSlider.esm.js +17 -14
  47. package/skinny/registerSlider.esm.js.map +1 -1
  48. package/skinny/registerTextArea.cjs.js +5 -2
  49. package/skinny/registerTextArea.cjs.js.map +1 -1
  50. package/skinny/registerTextArea.esm.js +6 -3
  51. package/skinny/registerTextArea.esm.js.map +1 -1
  52. package/skinny/registerTextField.cjs.js +28 -17
  53. package/skinny/registerTextField.cjs.js.map +1 -1
  54. package/skinny/registerTextField.esm.js +28 -17
  55. package/skinny/registerTextField.esm.js.map +1 -1
  56. package/skinny/registerTooltip.cjs.js +37 -34
  57. package/skinny/registerTooltip.cjs.js.map +1 -1
  58. package/skinny/registerTooltip.esm.js +37 -34
  59. package/skinny/registerTooltip.esm.js.map +1 -1
  60. package/skinny/utils-fc1ddd7c.cjs.js.map +1 -1
  61. package/skinny/utils-fd88ad47.esm.js.map +1 -1
  62. package/skinny/utils.d.ts +5 -4
  63. package/skinny/registerButton.stories.cjs.js +0 -163
  64. package/skinny/registerButton.stories.cjs.js.map +0 -1
  65. package/skinny/registerButton.stories.esm.js +0 -149
  66. package/skinny/registerButton.stories.esm.js.map +0 -1
  67. package/skinny/registerCheckboxGroup.stories.cjs.js +0 -121
  68. package/skinny/registerCheckboxGroup.stories.cjs.js.map +0 -1
  69. package/skinny/registerCheckboxGroup.stories.esm.js +0 -109
  70. package/skinny/registerCheckboxGroup.stories.esm.js.map +0 -1
  71. package/skinny/registerComboBox.stories.cjs.js +0 -244
  72. package/skinny/registerComboBox.stories.cjs.js.map +0 -1
  73. package/skinny/registerComboBox.stories.esm.js +0 -230
  74. package/skinny/registerComboBox.stories.esm.js.map +0 -1
  75. package/skinny/registerDialogTrigger.stories.cjs.js +0 -458
  76. package/skinny/registerDialogTrigger.stories.cjs.js.map +0 -1
  77. package/skinny/registerDialogTrigger.stories.esm.js +0 -441
  78. package/skinny/registerDialogTrigger.stories.esm.js.map +0 -1
  79. package/skinny/registerListbox.stories.cjs.js +0 -219
  80. package/skinny/registerListbox.stories.cjs.js.map +0 -1
  81. package/skinny/registerListbox.stories.esm.js +0 -206
  82. package/skinny/registerListbox.stories.esm.js.map +0 -1
  83. package/skinny/registerModal.stories.cjs.js +0 -194
  84. package/skinny/registerModal.stories.cjs.js.map +0 -1
  85. package/skinny/registerModal.stories.esm.js +0 -181
  86. package/skinny/registerModal.stories.esm.js.map +0 -1
  87. package/skinny/registerPopover.stories.cjs.js +0 -102
  88. package/skinny/registerPopover.stories.cjs.js.map +0 -1
  89. package/skinny/registerPopover.stories.esm.js +0 -92
  90. package/skinny/registerPopover.stories.esm.js.map +0 -1
  91. package/skinny/registerRadioGroup.stories.cjs.js +0 -120
  92. package/skinny/registerRadioGroup.stories.cjs.js.map +0 -1
  93. package/skinny/registerRadioGroup.stories.esm.js +0 -108
  94. package/skinny/registerRadioGroup.stories.esm.js.map +0 -1
  95. package/skinny/registerSelect.stories.cjs.js +0 -215
  96. package/skinny/registerSelect.stories.cjs.js.map +0 -1
  97. package/skinny/registerSelect.stories.esm.js +0 -202
  98. package/skinny/registerSelect.stories.esm.js.map +0 -1
  99. package/skinny/registerSlider.stories.cjs.js +0 -165
  100. package/skinny/registerSlider.stories.cjs.js.map +0 -1
  101. package/skinny/registerSlider.stories.esm.js +0 -151
  102. package/skinny/registerSlider.stories.esm.js.map +0 -1
  103. package/skinny/registerSwitch.stories.cjs.js +0 -162
  104. package/skinny/registerSwitch.stories.cjs.js.map +0 -1
  105. package/skinny/registerSwitch.stories.esm.js +0 -148
  106. package/skinny/registerSwitch.stories.esm.js.map +0 -1
  107. package/skinny/registerTextField-common-stories.cjs.js +0 -199
  108. package/skinny/registerTextField-common-stories.cjs.js.map +0 -1
  109. package/skinny/registerTextField-common-stories.esm.js +0 -185
  110. package/skinny/registerTextField-common-stories.esm.js.map +0 -1
  111. package/skinny/registerTextField-input.stories.cjs.js +0 -54
  112. package/skinny/registerTextField-input.stories.cjs.js.map +0 -1
  113. package/skinny/registerTextField-input.stories.esm.js +0 -37
  114. package/skinny/registerTextField-input.stories.esm.js.map +0 -1
  115. package/skinny/registerTextField-textarea.stories.cjs.js +0 -55
  116. package/skinny/registerTextField-textarea.stories.cjs.js.map +0 -1
  117. package/skinny/registerTextField-textarea.stories.esm.js +0 -39
  118. package/skinny/registerTextField-textarea.stories.esm.js.map +0 -1
  119. package/skinny/registerTooltip.stories.cjs.js +0 -616
  120. package/skinny/registerTooltip.stories.cjs.js.map +0 -1
  121. package/skinny/registerTooltip.stories.esm.js +0 -596
  122. package/skinny/registerTooltip.stories.esm.js.map +0 -1
@@ -1,120 +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 registerRadio = require('./registerRadio.cjs.js');
8
- var registerRadioGroup = require('./registerRadioGroup.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('./registerLabel.cjs.js');
16
- require('./variant-utils-0ad70db8.cjs.js');
17
- require('./OptionsItemIdManager-a89a28b9.cjs.js');
18
- require('./registerDescription.cjs.js');
19
- require('./registerText.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/BaseRadioGroup",
27
- component: registerRadioGroup.BaseRadioGroup,
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 createRadioItems = (count) => {
37
- return Array.from({ length: count }, (_, i) => ({
38
- value: `radio${i + 1}`,
39
- label: `Radio ${i + 1}`
40
- }));
41
- };
42
- const Basic = {
43
- args: {
44
- children: createRadioItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerRadio.BaseRadio, { value: item.value }, item.label))
45
- },
46
- play: async ({ canvasElement, args }) => {
47
- await beforeEach();
48
- const canvas = test.within(canvasElement);
49
- const radios = await canvas.findAllByRole("radio");
50
- test.expect(radios).toHaveLength(3);
51
- radios.forEach((radio) => {
52
- test.expect(radio).not.toBeChecked();
53
- });
54
- await test.userEvent.click(radios[1]);
55
- test.expect(radios[1]).toBeChecked();
56
- test.expect(args.onChange).toHaveBeenCalledWith("radio2");
57
- }
58
- };
59
- const WithDefaultSelection = {
60
- args: {
61
- defaultValue: "radio1",
62
- children: createRadioItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerRadio.BaseRadio, { value: item.value }, item.label))
63
- },
64
- play: async ({ canvasElement, args }) => {
65
- await beforeEach();
66
- const canvas = test.within(canvasElement);
67
- const radios = await canvas.findAllByRole("radio");
68
- test.expect(radios[0]).toBeChecked();
69
- test.expect(radios[1]).not.toBeChecked();
70
- test.expect(radios[2]).not.toBeChecked();
71
- await test.userEvent.click(radios[2]);
72
- test.expect(radios[0]).not.toBeChecked();
73
- test.expect(radios[1]).not.toBeChecked();
74
- test.expect(radios[2]).toBeChecked();
75
- test.expect(args.onChange).toHaveBeenCalledWith("radio3");
76
- }
77
- };
78
- const Disabled = {
79
- args: {
80
- isDisabled: true,
81
- defaultValue: "radio1",
82
- children: createRadioItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerRadio.BaseRadio, { key: item.value, value: item.value }, item.label))
83
- },
84
- play: async ({ canvasElement, args }) => {
85
- await beforeEach();
86
- const canvas = test.within(canvasElement);
87
- const radios = await canvas.findAllByRole("radio");
88
- radios.forEach((radio) => {
89
- test.expect(radio).toBeDisabled();
90
- });
91
- await test.userEvent.click(radios[1]);
92
- test.expect(args.onChange).not.toHaveBeenCalled();
93
- test.expect(radios[1]).not.toBeChecked();
94
- }
95
- };
96
- const ReadOnly = {
97
- args: {
98
- isReadOnly: true,
99
- defaultValue: "radio1",
100
- children: createRadioItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerRadio.BaseRadio, { key: item.value, value: item.value }, item.label))
101
- },
102
- play: async ({ canvasElement, args }) => {
103
- await beforeEach();
104
- const canvas = test.within(canvasElement);
105
- const radios = await canvas.findAllByRole("radio");
106
- radios.forEach((radio) => {
107
- test.expect(radio).not.toBeDisabled();
108
- });
109
- await test.userEvent.click(radios[2]);
110
- test.expect(args.onChange).not.toHaveBeenCalled();
111
- test.expect(radios[2]).not.toBeChecked();
112
- }
113
- };
114
-
115
- exports.Basic = Basic;
116
- exports.Disabled = Disabled;
117
- exports.ReadOnly = ReadOnly;
118
- exports.WithDefaultSelection = WithDefaultSelection;
119
- exports.default = meta;
120
- //# sourceMappingURL=registerRadioGroup.stories.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerRadioGroup.stories.cjs.js","sources":["../src/registerRadioGroup.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { expect, fn, userEvent, within } from \"@storybook/test\";\nimport React from \"react\";\nimport { BaseRadio } from \"./registerRadio\";\nimport { BaseRadioGroup } from \"./registerRadioGroup\";\n\nconst meta: Meta<typeof BaseRadioGroup> = {\n title: \"Components/BaseRadioGroup\",\n component: BaseRadioGroup,\n args: {\n onChange: fn(),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseRadioGroup>;\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 radio items\nconst createRadioItems = (count: number) => {\n return Array.from({ length: count }, (_, i) => ({\n value: `radio${i + 1}`,\n label: `Radio ${i + 1}`,\n }));\n};\n\n// Basic RadioGroup with no initial selection\nexport const Basic: Story = {\n args: {\n children: createRadioItems(3).map((item) => (\n <BaseRadio value={item.value}>{item.label}</BaseRadio>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const radios = await canvas.findAllByRole(\"radio\");\n expect(radios).toHaveLength(3);\n\n // Verify initial state\n radios.forEach((radio) => {\n expect(radio).not.toBeChecked();\n });\n\n // Test selection\n await userEvent.click(radios[1]);\n expect(radios[1]).toBeChecked();\n expect(args.onChange).toHaveBeenCalledWith(\"radio2\");\n },\n};\n\n// RadioGroup with pre-selected values\nexport const WithDefaultSelection: Story = {\n args: {\n defaultValue: \"radio1\",\n children: createRadioItems(3).map((item) => (\n <BaseRadio value={item.value}>{item.label}</BaseRadio>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const radios = await canvas.findAllByRole(\"radio\");\n\n // Verify initial state\n expect(radios[0]).toBeChecked(); // via defaultSelected prop passed to the group\n expect(radios[1]).not.toBeChecked();\n expect(radios[2]).not.toBeChecked();\n\n // Test deselection\n await userEvent.click(radios[2]);\n expect(radios[0]).not.toBeChecked(); //changed\n expect(radios[1]).not.toBeChecked(); //changed\n expect(radios[2]).toBeChecked();\n expect(args.onChange).toHaveBeenCalledWith(\"radio3\");\n },\n};\n\n// Disabled RadioGroup\nexport const Disabled: Story = {\n args: {\n isDisabled: true,\n defaultValue: \"radio1\",\n children: createRadioItems(3).map((item) => (\n <BaseRadio key={item.value} value={item.value}>\n {item.label}\n </BaseRadio>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const radios = await canvas.findAllByRole(\"radio\");\n\n // Verify disabled state\n radios.forEach((radio) => {\n expect(radio).toBeDisabled();\n });\n\n // Verify clicks don't trigger changes\n await userEvent.click(radios[1]);\n expect(args.onChange).not.toHaveBeenCalled();\n expect(radios[1]).not.toBeChecked();\n },\n};\n\n// ReadOnly RadioGroup\nexport const ReadOnly: Story = {\n args: {\n isReadOnly: true,\n defaultValue: \"radio1\",\n children: createRadioItems(3).map((item) => (\n <BaseRadio key={item.value} value={item.value}>\n {item.label}\n </BaseRadio>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const radios = await canvas.findAllByRole(\"radio\");\n\n // Verify that the items are not disabled (but readonly)\n radios.forEach((radio) => {\n expect(radio).not.toBeDisabled();\n });\n\n // Verify clicks don't trigger changes\n await userEvent.click(radios[2]);\n expect(args.onChange).not.toHaveBeenCalled();\n expect(radios[2]).not.toBeChecked();\n },\n};\n"],"names":["BaseRadioGroup","fn","React","BaseRadio","within","expect","userEvent"],"mappings":"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"}
@@ -1,108 +0,0 @@
1
- import { fn, within, expect, userEvent } from '@storybook/test';
2
- import React from 'react';
3
- import { BaseRadio } from './registerRadio.esm.js';
4
- import { BaseRadioGroup } from './registerRadioGroup.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 './registerLabel.esm.js';
12
- import './variant-utils-4405ebb0.esm.js';
13
- import './OptionsItemIdManager-832b8cfe.esm.js';
14
- import './registerDescription.esm.js';
15
- import './registerText.esm.js';
16
-
17
- const meta = {
18
- title: "Components/BaseRadioGroup",
19
- component: BaseRadioGroup,
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 createRadioItems = (count) => {
29
- return Array.from({ length: count }, (_, i) => ({
30
- value: `radio${i + 1}`,
31
- label: `Radio ${i + 1}`
32
- }));
33
- };
34
- const Basic = {
35
- args: {
36
- children: createRadioItems(3).map((item) => /* @__PURE__ */ React.createElement(BaseRadio, { value: item.value }, item.label))
37
- },
38
- play: async ({ canvasElement, args }) => {
39
- await beforeEach();
40
- const canvas = within(canvasElement);
41
- const radios = await canvas.findAllByRole("radio");
42
- expect(radios).toHaveLength(3);
43
- radios.forEach((radio) => {
44
- expect(radio).not.toBeChecked();
45
- });
46
- await userEvent.click(radios[1]);
47
- expect(radios[1]).toBeChecked();
48
- expect(args.onChange).toHaveBeenCalledWith("radio2");
49
- }
50
- };
51
- const WithDefaultSelection = {
52
- args: {
53
- defaultValue: "radio1",
54
- children: createRadioItems(3).map((item) => /* @__PURE__ */ React.createElement(BaseRadio, { value: item.value }, item.label))
55
- },
56
- play: async ({ canvasElement, args }) => {
57
- await beforeEach();
58
- const canvas = within(canvasElement);
59
- const radios = await canvas.findAllByRole("radio");
60
- expect(radios[0]).toBeChecked();
61
- expect(radios[1]).not.toBeChecked();
62
- expect(radios[2]).not.toBeChecked();
63
- await userEvent.click(radios[2]);
64
- expect(radios[0]).not.toBeChecked();
65
- expect(radios[1]).not.toBeChecked();
66
- expect(radios[2]).toBeChecked();
67
- expect(args.onChange).toHaveBeenCalledWith("radio3");
68
- }
69
- };
70
- const Disabled = {
71
- args: {
72
- isDisabled: true,
73
- defaultValue: "radio1",
74
- children: createRadioItems(3).map((item) => /* @__PURE__ */ React.createElement(BaseRadio, { key: item.value, value: item.value }, item.label))
75
- },
76
- play: async ({ canvasElement, args }) => {
77
- await beforeEach();
78
- const canvas = within(canvasElement);
79
- const radios = await canvas.findAllByRole("radio");
80
- radios.forEach((radio) => {
81
- expect(radio).toBeDisabled();
82
- });
83
- await userEvent.click(radios[1]);
84
- expect(args.onChange).not.toHaveBeenCalled();
85
- expect(radios[1]).not.toBeChecked();
86
- }
87
- };
88
- const ReadOnly = {
89
- args: {
90
- isReadOnly: true,
91
- defaultValue: "radio1",
92
- children: createRadioItems(3).map((item) => /* @__PURE__ */ React.createElement(BaseRadio, { key: item.value, value: item.value }, item.label))
93
- },
94
- play: async ({ canvasElement, args }) => {
95
- await beforeEach();
96
- const canvas = within(canvasElement);
97
- const radios = await canvas.findAllByRole("radio");
98
- radios.forEach((radio) => {
99
- expect(radio).not.toBeDisabled();
100
- });
101
- await userEvent.click(radios[2]);
102
- expect(args.onChange).not.toHaveBeenCalled();
103
- expect(radios[2]).not.toBeChecked();
104
- }
105
- };
106
-
107
- export { Basic, Disabled, ReadOnly, WithDefaultSelection, meta as default };
108
- //# sourceMappingURL=registerRadioGroup.stories.esm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerRadioGroup.stories.esm.js","sources":["../src/registerRadioGroup.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { expect, fn, userEvent, within } from \"@storybook/test\";\nimport React from \"react\";\nimport { BaseRadio } from \"./registerRadio\";\nimport { BaseRadioGroup } from \"./registerRadioGroup\";\n\nconst meta: Meta<typeof BaseRadioGroup> = {\n title: \"Components/BaseRadioGroup\",\n component: BaseRadioGroup,\n args: {\n onChange: fn(),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseRadioGroup>;\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 radio items\nconst createRadioItems = (count: number) => {\n return Array.from({ length: count }, (_, i) => ({\n value: `radio${i + 1}`,\n label: `Radio ${i + 1}`,\n }));\n};\n\n// Basic RadioGroup with no initial selection\nexport const Basic: Story = {\n args: {\n children: createRadioItems(3).map((item) => (\n <BaseRadio value={item.value}>{item.label}</BaseRadio>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const radios = await canvas.findAllByRole(\"radio\");\n expect(radios).toHaveLength(3);\n\n // Verify initial state\n radios.forEach((radio) => {\n expect(radio).not.toBeChecked();\n });\n\n // Test selection\n await userEvent.click(radios[1]);\n expect(radios[1]).toBeChecked();\n expect(args.onChange).toHaveBeenCalledWith(\"radio2\");\n },\n};\n\n// RadioGroup with pre-selected values\nexport const WithDefaultSelection: Story = {\n args: {\n defaultValue: \"radio1\",\n children: createRadioItems(3).map((item) => (\n <BaseRadio value={item.value}>{item.label}</BaseRadio>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const radios = await canvas.findAllByRole(\"radio\");\n\n // Verify initial state\n expect(radios[0]).toBeChecked(); // via defaultSelected prop passed to the group\n expect(radios[1]).not.toBeChecked();\n expect(radios[2]).not.toBeChecked();\n\n // Test deselection\n await userEvent.click(radios[2]);\n expect(radios[0]).not.toBeChecked(); //changed\n expect(radios[1]).not.toBeChecked(); //changed\n expect(radios[2]).toBeChecked();\n expect(args.onChange).toHaveBeenCalledWith(\"radio3\");\n },\n};\n\n// Disabled RadioGroup\nexport const Disabled: Story = {\n args: {\n isDisabled: true,\n defaultValue: \"radio1\",\n children: createRadioItems(3).map((item) => (\n <BaseRadio key={item.value} value={item.value}>\n {item.label}\n </BaseRadio>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const radios = await canvas.findAllByRole(\"radio\");\n\n // Verify disabled state\n radios.forEach((radio) => {\n expect(radio).toBeDisabled();\n });\n\n // Verify clicks don't trigger changes\n await userEvent.click(radios[1]);\n expect(args.onChange).not.toHaveBeenCalled();\n expect(radios[1]).not.toBeChecked();\n },\n};\n\n// ReadOnly RadioGroup\nexport const ReadOnly: Story = {\n args: {\n isReadOnly: true,\n defaultValue: \"radio1\",\n children: createRadioItems(3).map((item) => (\n <BaseRadio key={item.value} value={item.value}>\n {item.label}\n </BaseRadio>\n )),\n },\n play: async ({ canvasElement, args }) => {\n await beforeEach();\n const canvas = within(canvasElement);\n const radios = await canvas.findAllByRole(\"radio\");\n\n // Verify that the items are not disabled (but readonly)\n radios.forEach((radio) => {\n expect(radio).not.toBeDisabled();\n });\n\n // Verify clicks don't trigger changes\n await userEvent.click(radios[2]);\n expect(args.onChange).not.toHaveBeenCalled();\n expect(radios[2]).not.toBeChecked();\n },\n};\n"],"names":[],"mappings":"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"}
@@ -1,215 +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 registerSection = require('./registerListBox-040b0374.cjs.js');
10
- var registerListBoxItem = require('./registerListBoxItem.cjs.js');
11
- var registerPopover = require('./registerPopover.cjs.js');
12
- var registerSelect = require('./registerSelect.cjs.js');
13
- require('react-aria');
14
- require('react-aria-components');
15
- require('./common-45acb83c.cjs.js');
16
- require('./utils-fc1ddd7c.cjs.js');
17
- require('@plasmicapp/host/registerComponent');
18
- require('./variant-utils-0ad70db8.cjs.js');
19
- require('./contexts-6d0cb2b1.cjs.js');
20
- require('./OptionsItemIdManager-a89a28b9.cjs.js');
21
- require('./registerDescription.cjs.js');
22
- require('./registerText.cjs.js');
23
- require('@react-aria/utils');
24
- require('./registerLabel.cjs.js');
25
-
26
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
27
-
28
- var React__default = /*#__PURE__*/_interopDefault(React);
29
-
30
- var __defProp = Object.defineProperty;
31
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
32
- var __hasOwnProp = Object.prototype.hasOwnProperty;
33
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
34
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
35
- var __spreadValues = (a, b) => {
36
- for (var prop in b || (b = {}))
37
- if (__hasOwnProp.call(b, prop))
38
- __defNormalProp(a, prop, b[prop]);
39
- if (__getOwnPropSymbols)
40
- for (var prop of __getOwnPropSymbols(b)) {
41
- if (__propIsEnum.call(b, prop))
42
- __defNormalProp(a, prop, b[prop]);
43
- }
44
- return a;
45
- };
46
- var __objRest = (source, exclude) => {
47
- var target = {};
48
- for (var prop in source)
49
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
50
- target[prop] = source[prop];
51
- if (source != null && __getOwnPropSymbols)
52
- for (var prop of __getOwnPropSymbols(source)) {
53
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
54
- target[prop] = source[prop];
55
- }
56
- return target;
57
- };
58
- const meta = {
59
- title: "Components/BaseSelect",
60
- component: registerSelect.BaseSelect,
61
- args: {
62
- onSelectionChange: test.fn(),
63
- onOpenChange: test.fn()
64
- }
65
- };
66
- const createListItems = (count) => {
67
- return Array.from({ length: count }, (_, i) => ({
68
- id: `${i + 1}`,
69
- textValue: `Item ${i + 1}`,
70
- children: `Item ${i + 1}`
71
- }));
72
- };
73
- const BoilerplateSelect = ({ children }) => /* @__PURE__ */ React__default.default.createElement(React__default.default.Fragment, null, /* @__PURE__ */ React__default.default.createElement(registerButton.BaseButton, null, /* @__PURE__ */ React__default.default.createElement(registerSelect.BaseSelectValue, null, "Select an option \u25BC")), /* @__PURE__ */ React__default.default.createElement(registerPopover.BasePopover, null, /* @__PURE__ */ React__default.default.createElement(registerSection.BaseListBox, null, children)));
74
- const Basic = {
75
- args: {
76
- children: /* @__PURE__ */ React__default.default.createElement(BoilerplateSelect, null, createListItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: item.textValue, id: item.id }, item.children)))
77
- },
78
- play: async ({ canvasElement, args }) => {
79
- const canvas = test.within(canvasElement);
80
- const doc = test.within(document.body);
81
- const button = canvas.getByRole("button");
82
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
83
- test.expect(button).toHaveTextContent("Select an option \u25BC");
84
- await test.userEvent.click(button);
85
- const options = await test.within(doc.getByRole("listbox")).findAllByRole(
86
- "option"
87
- );
88
- test.expect(options).toHaveLength(3);
89
- await test.userEvent.click(options[1]);
90
- test.expect(button).toHaveTextContent("Item 2");
91
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
92
- test.expect(args.onOpenChange).toHaveBeenCalledTimes(2);
93
- test.expect(args.onSelectionChange).toHaveBeenCalledOnce();
94
- }
95
- };
96
- const WithDefaultSelection = {
97
- args: {
98
- defaultSelectedKey: "3",
99
- children: /* @__PURE__ */ React__default.default.createElement(BoilerplateSelect, null, createListItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: item.textValue, id: item.id }, item.children)))
100
- },
101
- play: async ({ canvasElement }) => {
102
- const canvas = test.within(canvasElement);
103
- const doc = test.within(document.body);
104
- const button = canvas.getByRole("button");
105
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
106
- await test.waitFor(() => test.expect(button).toHaveTextContent("Item 3"));
107
- await test.userEvent.click(button);
108
- const options = test.within(doc.getByRole("listbox")).getAllByRole("option");
109
- await test.userEvent.click(options[1]);
110
- test.expect(button).toHaveTextContent("Item 2");
111
- }
112
- };
113
- const Disabled = {
114
- args: {
115
- defaultSelectedKey: "3",
116
- isDisabled: true,
117
- children: /* @__PURE__ */ React__default.default.createElement(BoilerplateSelect, null, createListItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: item.textValue, id: item.id }, item.children)))
118
- },
119
- play: async ({ canvasElement, args }) => {
120
- const canvas = test.within(canvasElement);
121
- const doc = test.within(document.body);
122
- const button = canvas.getByRole("button");
123
- test.expect(button).toBeDisabled();
124
- await test.userEvent.tab();
125
- await test.waitFor(() => test.expect(button).toHaveTextContent("Item 3"));
126
- await test.userEvent.click(button);
127
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
128
- test.expect(button).toHaveTextContent("Item 3");
129
- test.expect(args.onOpenChange).not.toHaveBeenCalled();
130
- test.expect(args.onSelectionChange).not.toHaveBeenCalled();
131
- }
132
- };
133
- const WithDisabledOptions = {
134
- args: {
135
- disabledKeys: ["1"],
136
- children: /* @__PURE__ */ React__default.default.createElement(BoilerplateSelect, null, createListItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: item.textValue, id: item.id }, item.children)))
137
- },
138
- play: async ({ canvasElement, args }) => {
139
- const canvas = test.within(canvasElement);
140
- const doc = test.within(document.body);
141
- const button = canvas.getByRole("button");
142
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
143
- test.expect(button).toHaveTextContent("Select an option \u25BC");
144
- await test.userEvent.click(button);
145
- test.expect(args.onOpenChange).toHaveBeenCalledOnce();
146
- const listbox = await doc.findByRole("listbox");
147
- const options = await test.within(listbox).findAllByRole("option");
148
- test.expect(options).toHaveLength(3);
149
- await test.userEvent.click(options[0]);
150
- test.expect(args.onOpenChange).toHaveBeenCalledOnce();
151
- test.expect(args.onSelectionChange).not.toHaveBeenCalled();
152
- test.expect(button).toHaveTextContent("Select an option \u25BC");
153
- await test.userEvent.click(options[1]);
154
- test.expect(args.onOpenChange).toHaveBeenCalledTimes(2);
155
- test.expect(args.onSelectionChange).toHaveBeenCalledOnce();
156
- test.expect(button).toHaveTextContent("Item 2");
157
- }
158
- };
159
- const SelectedInCanvas = {
160
- args: {
161
- children: /* @__PURE__ */ React__default.default.createElement(BoilerplateSelect, null, createListItems(3).map((item) => /* @__PURE__ */ React__default.default.createElement(registerListBoxItem.BaseListBoxItem, { textValue: item.textValue, id: item.id }, item.children)))
162
- },
163
- render: (_a) => {
164
- var _b = _a, args = __objRest(_b, ["__plasmic_selection_prop__"]);
165
- const [selected, setSelected] = React.useState(false);
166
- React.useEffect(() => {
167
- setTimeout(() => {
168
- setSelected(true);
169
- }, 1e3);
170
- }, []);
171
- return (
172
- // Simulate Plasmic canvas envirnment
173
- /* @__PURE__ */ React__default.default.createElement(
174
- host.PlasmicCanvasContext.Provider,
175
- {
176
- value: {
177
- componentName: "test",
178
- globalVariants: {}
179
- }
180
- },
181
- /* @__PURE__ */ React__default.default.createElement(
182
- registerSelect.BaseSelect,
183
- __spreadValues({
184
- __plasmic_selection_prop__: {
185
- isSelected: selected
186
- }
187
- }, args)
188
- )
189
- )
190
- );
191
- },
192
- play: async () => {
193
- const doc = test.within(document.body);
194
- await test.waitFor(
195
- () => {
196
- test.expect(doc.queryByRole("listbox")).not.toBeInTheDocument();
197
- },
198
- { timeout: 100 }
199
- );
200
- await test.waitFor(
201
- () => {
202
- test.expect(doc.queryByRole("listbox")).toBeInTheDocument();
203
- },
204
- { timeout: 1100 }
205
- );
206
- }
207
- };
208
-
209
- exports.Basic = Basic;
210
- exports.Disabled = Disabled;
211
- exports.SelectedInCanvas = SelectedInCanvas;
212
- exports.WithDefaultSelection = WithDefaultSelection;
213
- exports.WithDisabledOptions = WithDisabledOptions;
214
- exports.default = meta;
215
- //# sourceMappingURL=registerSelect.stories.cjs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registerSelect.stories.cjs.js","sources":["../src/registerSelect.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 { BaseListBox } from \"./registerListBox\";\nimport { BaseListBoxItem } from \"./registerListBoxItem\";\nimport { BasePopover } from \"./registerPopover\";\nimport { BaseSelect, BaseSelectValue } from \"./registerSelect\";\n\nconst meta: Meta<typeof BaseSelect> = {\n title: \"Components/BaseSelect\",\n component: BaseSelect,\n args: {\n onSelectionChange: fn(),\n onOpenChange: fn(),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseSelect>;\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 BoilerplateSelect = ({ children }: { children: React.ReactNode }) => (\n <>\n <BaseButton>\n <BaseSelectValue>Select an option ▼</BaseSelectValue>\n </BaseButton>\n <BasePopover>\n <BaseListBox>{children}</BaseListBox>\n </BasePopover>\n </>\n);\n\nexport const Basic: Story = {\n args: {\n children: (\n <BoilerplateSelect>\n {createListItems(3).map((item) => (\n <BaseListBoxItem textValue={item.textValue} id={item.id}>\n {item.children}\n </BaseListBoxItem>\n ))}\n </BoilerplateSelect>\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 button = canvas.getByRole(\"button\");\n\n // Check that listbox is not in the document\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n expect(button).toHaveTextContent(\"Select an option ▼\");\n\n // Open the select\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(button).toHaveTextContent(\"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 WithDefaultSelection: Story = {\n args: {\n defaultSelectedKey: \"3\",\n children: (\n <BoilerplateSelect>\n {createListItems(3).map((item) => (\n <BaseListBoxItem textValue={item.textValue} id={item.id}>\n {item.children}\n </BaseListBoxItem>\n ))}\n </BoilerplateSelect>\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 button = canvas.getByRole(\"button\");\n\n // Check that listbox is not in the document\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n\n await waitFor(() => expect(button).toHaveTextContent(\"Item 3\")); // via defaultSelectedKey\n\n // Open the select\n await userEvent.click(button);\n\n const options = within(doc.getByRole(\"listbox\")).getAllByRole(\"option\");\n await userEvent.click(options[1]);\n\n expect(button).toHaveTextContent(\"Item 2\");\n },\n};\n\nexport const Disabled: Story = {\n args: {\n defaultSelectedKey: \"3\",\n isDisabled: true,\n children: (\n <BoilerplateSelect>\n {createListItems(3).map((item) => (\n <BaseListBoxItem textValue={item.textValue} id={item.id}>\n {item.children}\n </BaseListBoxItem>\n ))}\n </BoilerplateSelect>\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 button = canvas.getByRole(\"button\");\n\n // Verify disabled state\n expect(button).toBeDisabled();\n\n await userEvent.tab(); // NOTE: I'm not sure why, but without this, the test is very flaky at the next line.\n await waitFor(() => expect(button).toHaveTextContent(\"Item 3\")); // via defaultSelectedKey\n\n // Open the select\n await userEvent.click(button);\n\n // Check that listbox is not in the document\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n\n expect(button).toHaveTextContent(\"Item 3\"); // unchanged\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 <BoilerplateSelect>\n {createListItems(3).map((item) => (\n <BaseListBoxItem textValue={item.textValue} id={item.id}>\n {item.children}\n </BaseListBoxItem>\n ))}\n </BoilerplateSelect>\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 button = canvas.getByRole(\"button\");\n\n expect(doc.queryByRole(\"listbox\")).not.toBeInTheDocument();\n expect(button).toHaveTextContent(\"Select an option ▼\");\n\n // Open the select\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 // click the disabled option\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 select state does not change when selecting a disabled option\n expect(button).toHaveTextContent(\"Select an option ▼\"); // unchanged\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(button).toHaveTextContent(\"Item 2\");\n },\n};\n\nexport const SelectedInCanvas: Story = {\n args: {\n children: (\n <BoilerplateSelect>\n {createListItems(3).map((item) => (\n <BaseListBoxItem textValue={item.textValue} id={item.id}>\n {item.children}\n </BaseListBoxItem>\n ))}\n </BoilerplateSelect>\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 <BaseSelect\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":["BaseSelect","fn","React","BaseButton","BaseSelectValue","BasePopover","BaseListBox","BaseListBoxItem","within","expect","userEvent","waitFor","useState","useEffect","PlasmicCanvasContext"],"mappings":"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"}