@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,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":";;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,IAAuC,GAAA;AAAA,EAC3C,KAAO,EAAA,8BAAA;AAAA,EACP,SAAW,EAAAA,uCAAA;AAAA,EACX,IAAM,EAAA;AAAA,IACJ,UAAUC,OAAG,EAAA;AAAA,GACf;AACF,EAAA;AAQA,MAAM,KAAA,GAAQ,CAAC,EAAA,KAAe,IAAI,OAAA,CAAQ,CAAC,OAAY,KAAA,UAAA,CAAW,OAAS,EAAA,EAAE,CAAC,CAAA,CAAA;AAE9E,MAAM,aAAa,YAAY;AAC7B,EAAA,MAAM,MAAM,GAAG,CAAA,CAAA;AACjB,CAAA,CAAA;AAGA,MAAM,mBAAA,GAAsB,CAAC,KAAkB,KAAA;AAC7C,EAAO,OAAA,KAAA,CAAM,KAAK,EAAE,MAAA,EAAQ,OAAS,EAAA,CAAC,GAAG,CAAO,MAAA;AAAA,IAC9C,KAAA,EAAO,WAAW,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,IACtB,KAAA,EAAO,YAAY,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,GACvB,CAAA,CAAA,CAAA;AACJ,CAAA,CAAA;AAGO,MAAM,KAAe,GAAA;AAAA,EAC1B,IAAM,EAAA;AAAA,IACJ,QAAU,EAAA,mBAAA,CAAoB,CAAC,CAAA,CAAE,IAAI,CAAC,IAAA,qBACnCC,sBAAA,CAAA,aAAA,CAAAC,6BAAA,EAAA,EAAa,KAAO,EAAA,IAAA,CAAK,KAAQ,EAAA,EAAA,IAAA,CAAK,KAAM,CAC9C,CAAA;AAAA,GACH;AAAA,EACA,IAAM,EAAA,OAAO,EAAE,aAAA,EAAe,MAAW,KAAA;AACvC,IAAA,MAAM,UAAW,EAAA,CAAA;AACjB,IAAM,MAAA,MAAA,GAASC,YAAO,aAAa,CAAA,CAAA;AAEnC,IAAA,MAAM,UAAa,GAAA,MAAM,MAAO,CAAA,aAAA,CAAc,UAAU,CAAA,CAAA;AACxD,IAAOC,WAAA,CAAA,UAAU,CAAE,CAAA,YAAA,CAAa,CAAC,CAAA,CAAA;AAGjC,IAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,QAAa,KAAA;AAC/B,MAAOA,WAAA,CAAA,QAAQ,CAAE,CAAA,GAAA,CAAI,WAAY,EAAA,CAAA;AAAA,KAClC,CAAA,CAAA;AAGD,IAAA,MAAMC,cAAU,CAAA,KAAA,CAAM,UAAW,CAAA,CAAC,CAAC,CAAA,CAAA;AACnC,IAAAD,WAAA,CAAO,UAAW,CAAA,CAAC,CAAC,CAAA,CAAE,WAAY,EAAA,CAAA;AAClC,IAAAA,WAAA,CAAO,KAAK,QAAQ,CAAA,CAAE,oBAAqB,CAAA,CAAC,WAAW,CAAC,CAAA,CAAA;AAAA,GAC1D;AACF,EAAA;AAGO,MAAM,oBAA8B,GAAA;AAAA,EACzC,IAAM,EAAA;AAAA,IACJ,YAAA,EAAc,CAAC,WAAA,EAAa,WAAW,CAAA;AAAA,IACvC,QAAA,kBAEKH,sBAAA,CAAA,aAAA,CAAAA,sBAAA,CAAA,QAAA,EAAA,IAAA,EAAA,mBAAA,CAAoB,CAAC,CAAA,CAAE,IAAI,CAAC,IAAA,qBAC1BA,sBAAA,CAAA,aAAA,CAAAC,6BAAA,EAAA,EAAa,KAAO,EAAA,IAAA,CAAK,SAAQ,IAAK,CAAA,KAAM,CAC9C,CAAA,kBACAD,sBAAA,CAAA,aAAA,CAAAC,6BAAA,EAAA,EAAa,iBAAe,IAAC,EAAA,KAAA,EAAO,QAAU,EAAA,EAAA,WAE/C,CACF,CAAA;AAAA,GAEJ;AAAA,EACA,IAAM,EAAA,OAAO,EAAE,aAAA,EAAe,MAAW,KAAA;AACvC,IAAA,MAAM,UAAW,EAAA,CAAA;AAEjB,IAAM,MAAA,MAAA,GAASC,YAAO,aAAa,CAAA,CAAA;AACnC,IAAA,MAAM,UAAa,GAAA,MAAM,MAAO,CAAA,aAAA,CAAc,UAAU,CAAA,CAAA;AAGxD,IAAAC,WAAA,CAAO,UAAW,CAAA,CAAC,CAAC,CAAA,CAAE,WAAY,EAAA,CAAA;AAClC,IAAAA,WAAA,CAAO,UAAW,CAAA,CAAC,CAAC,CAAA,CAAE,IAAI,WAAY,EAAA,CAAA;AACtC,IAAAA,WAAA,CAAO,UAAW,CAAA,CAAC,CAAC,CAAA,CAAE,WAAY,EAAA,CAAA;AAClC,IAAAA,WAAA,CAAO,UAAW,CAAA,CAAC,CAAC,CAAA,CAAE,IAAI,WAAY,EAAA,CAAA;AAGtC,IAAA,MAAMC,cAAU,CAAA,KAAA,CAAM,UAAW,CAAA,CAAC,CAAC,CAAA,CAAA;AACnC,IAAAD,WAAA,CAAO,UAAW,CAAA,CAAC,CAAC,CAAA,CAAE,IAAI,WAAY,EAAA,CAAA;AACtC,IAAAA,WAAA,CAAO,UAAW,CAAA,CAAC,CAAC,CAAA,CAAE,IAAI,WAAY,EAAA,CAAA;AACtC,IAAAA,WAAA,CAAO,UAAW,CAAA,CAAC,CAAC,CAAA,CAAE,WAAY,EAAA,CAAA;AAClC,IAAAA,WAAA,CAAO,KAAK,QAAQ,CAAA,CAAE,oBAAqB,CAAA,CAAC,WAAW,CAAC,CAAA,CAAA;AAAA,GAC1D;AACF,EAAA;AAGO,MAAM,QAAkB,GAAA;AAAA,EAC7B,IAAM,EAAA;AAAA,IACJ,UAAY,EAAA,IAAA;AAAA,IACZ,YAAA,EAAc,CAAC,WAAW,CAAA;AAAA,IAC1B,UAAU,mBAAoB,CAAA,CAAC,CAAE,CAAA,GAAA,CAAI,CAAC,IACpC,qBAAAH,sBAAA,CAAA,aAAA,CAACC,6BAAa,EAAA,EAAA,GAAA,EAAK,KAAK,KAAO,EAAA,KAAA,EAAO,KAAK,KACxC,EAAA,EAAA,IAAA,CAAK,KACR,CACD,CAAA;AAAA,GACH;AAAA,EACA,IAAM,EAAA,OAAO,EAAE,aAAA,EAAe,MAAW,KAAA;AACvC,IAAA,MAAM,UAAW,EAAA,CAAA;AACjB,IAAM,MAAA,MAAA,GAASC,YAAO,aAAa,CAAA,CAAA;AACnC,IAAA,MAAM,UAAa,GAAA,MAAM,MAAO,CAAA,aAAA,CAAc,UAAU,CAAA,CAAA;AAGxD,IAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,QAAa,KAAA;AAC/B,MAAOC,WAAA,CAAA,QAAQ,EAAE,YAAa,EAAA,CAAA;AAAA,KAC/B,CAAA,CAAA;AAGD,IAAA,MAAMC,cAAU,CAAA,KAAA,CAAM,UAAW,CAAA,CAAC,CAAC,CAAA,CAAA;AACnC,IAAAD,WAAA,CAAO,IAAK,CAAA,QAAQ,CAAE,CAAA,GAAA,CAAI,gBAAiB,EAAA,CAAA;AAC3C,IAAAA,WAAA,CAAO,UAAW,CAAA,CAAC,CAAC,CAAA,CAAE,IAAI,WAAY,EAAA,CAAA;AAAA,GACxC;AACF,EAAA;AAGO,MAAM,QAAkB,GAAA;AAAA,EAC7B,IAAM,EAAA;AAAA,IACJ,UAAY,EAAA,IAAA;AAAA,IACZ,YAAA,EAAc,CAAC,WAAA,EAAa,WAAW,CAAA;AAAA,IACvC,UAAU,mBAAoB,CAAA,CAAC,CAAE,CAAA,GAAA,CAAI,CAAC,IACpC,qBAAAH,sBAAA,CAAA,aAAA,CAACC,6BAAa,EAAA,EAAA,GAAA,EAAK,KAAK,KAAO,EAAA,KAAA,EAAO,KAAK,KACxC,EAAA,EAAA,IAAA,CAAK,KACR,CACD,CAAA;AAAA,GACH;AAAA,EACA,IAAM,EAAA,OAAO,EAAE,aAAA,EAAe,MAAW,KAAA;AACvC,IAAA,MAAM,UAAW,EAAA,CAAA;AACjB,IAAM,MAAA,MAAA,GAASC,YAAO,aAAa,CAAA,CAAA;AACnC,IAAA,MAAM,UAAa,GAAA,MAAM,MAAO,CAAA,aAAA,CAAc,UAAU,CAAA,CAAA;AAGxD,IAAW,UAAA,CAAA,OAAA,CAAQ,CAAC,QAAa,KAAA;AAC/B,MAAAC,WAAA,CAAO,QAAQ,CAAA,CAAE,eAAgB,CAAA,eAAA,EAAiB,MAAM,CAAA,CAAA;AAAA,KACzD,CAAA,CAAA;AAGD,IAAA,MAAMC,cAAU,CAAA,KAAA,CAAM,UAAW,CAAA,CAAC,CAAC,CAAA,CAAA;AACnC,IAAAD,WAAA,CAAO,IAAK,CAAA,QAAQ,CAAE,CAAA,GAAA,CAAI,gBAAiB,EAAA,CAAA;AAC3C,IAAAA,WAAA,CAAO,UAAW,CAAA,CAAC,CAAC,CAAA,CAAE,IAAI,WAAY,EAAA,CAAA;AAAA,GACxC;AACF;;;;;;;;"}
@@ -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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"}