@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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/contexts.d.ts +2 -1
- package/dist/react-aria.esm.js +128 -87
- package/dist/react-aria.esm.js.map +1 -1
- package/dist/react-aria.js +127 -86
- package/dist/react-aria.js.map +1 -1
- package/dist/utils.d.ts +5 -4
- package/package.json +2 -2
- package/skinny/contexts-5cb81c2f.esm.js.map +1 -1
- package/skinny/contexts-6d0cb2b1.cjs.js.map +1 -1
- package/skinny/contexts.d.ts +2 -1
- package/skinny/registerCheckboxGroup.cjs.js +11 -8
- package/skinny/registerCheckboxGroup.cjs.js.map +1 -1
- package/skinny/registerCheckboxGroup.esm.js +11 -8
- package/skinny/registerCheckboxGroup.esm.js.map +1 -1
- package/skinny/registerComboBox.cjs.js.map +1 -1
- package/skinny/registerComboBox.esm.js +1 -1
- package/skinny/registerComboBox.esm.js.map +1 -1
- package/skinny/registerDialogTrigger.cjs.js +17 -2
- package/skinny/registerDialogTrigger.cjs.js.map +1 -1
- package/skinny/registerDialogTrigger.esm.js +17 -2
- package/skinny/registerDialogTrigger.esm.js.map +1 -1
- package/skinny/registerInput.cjs.js +1 -1
- package/skinny/registerInput.cjs.js.map +1 -1
- package/skinny/registerInput.esm.js +2 -2
- package/skinny/registerInput.esm.js.map +1 -1
- package/skinny/{registerListBox-21dc99fa.esm.js → registerListBox-0f6ebcf0.esm.js} +2 -2
- package/skinny/{registerListBox-21dc99fa.esm.js.map → registerListBox-0f6ebcf0.esm.js.map} +1 -1
- package/skinny/registerListBox.esm.js +1 -1
- package/skinny/registerOverlayArrow.cjs.js +1 -1
- package/skinny/registerOverlayArrow.cjs.js.map +1 -1
- package/skinny/registerOverlayArrow.esm.js +2 -2
- package/skinny/registerOverlayArrow.esm.js.map +1 -1
- package/skinny/registerPopover.cjs.js.map +1 -1
- package/skinny/registerPopover.esm.js.map +1 -1
- package/skinny/registerRadioGroup.cjs.js +11 -8
- package/skinny/registerRadioGroup.cjs.js.map +1 -1
- package/skinny/registerRadioGroup.esm.js +11 -8
- package/skinny/registerRadioGroup.esm.js.map +1 -1
- package/skinny/registerSection.esm.js +1 -1
- package/skinny/registerSelect.cjs.js.map +1 -1
- package/skinny/registerSelect.esm.js +1 -1
- package/skinny/registerSelect.esm.js.map +1 -1
- package/skinny/registerSlider.cjs.js +17 -14
- package/skinny/registerSlider.cjs.js.map +1 -1
- package/skinny/registerSlider.esm.js +17 -14
- package/skinny/registerSlider.esm.js.map +1 -1
- package/skinny/registerTextArea.cjs.js +5 -2
- package/skinny/registerTextArea.cjs.js.map +1 -1
- package/skinny/registerTextArea.esm.js +6 -3
- package/skinny/registerTextArea.esm.js.map +1 -1
- package/skinny/registerTextField.cjs.js +28 -17
- package/skinny/registerTextField.cjs.js.map +1 -1
- package/skinny/registerTextField.esm.js +28 -17
- package/skinny/registerTextField.esm.js.map +1 -1
- package/skinny/registerTooltip.cjs.js +37 -34
- package/skinny/registerTooltip.cjs.js.map +1 -1
- package/skinny/registerTooltip.esm.js +37 -34
- package/skinny/registerTooltip.esm.js.map +1 -1
- package/skinny/utils-fc1ddd7c.cjs.js.map +1 -1
- package/skinny/utils-fd88ad47.esm.js.map +1 -1
- package/skinny/utils.d.ts +5 -4
- package/skinny/registerButton.stories.cjs.js +0 -163
- package/skinny/registerButton.stories.cjs.js.map +0 -1
- package/skinny/registerButton.stories.esm.js +0 -149
- package/skinny/registerButton.stories.esm.js.map +0 -1
- package/skinny/registerCheckboxGroup.stories.cjs.js +0 -121
- package/skinny/registerCheckboxGroup.stories.cjs.js.map +0 -1
- package/skinny/registerCheckboxGroup.stories.esm.js +0 -109
- package/skinny/registerCheckboxGroup.stories.esm.js.map +0 -1
- package/skinny/registerComboBox.stories.cjs.js +0 -244
- package/skinny/registerComboBox.stories.cjs.js.map +0 -1
- package/skinny/registerComboBox.stories.esm.js +0 -230
- package/skinny/registerComboBox.stories.esm.js.map +0 -1
- package/skinny/registerDialogTrigger.stories.cjs.js +0 -458
- package/skinny/registerDialogTrigger.stories.cjs.js.map +0 -1
- package/skinny/registerDialogTrigger.stories.esm.js +0 -441
- package/skinny/registerDialogTrigger.stories.esm.js.map +0 -1
- package/skinny/registerListbox.stories.cjs.js +0 -219
- package/skinny/registerListbox.stories.cjs.js.map +0 -1
- package/skinny/registerListbox.stories.esm.js +0 -206
- package/skinny/registerListbox.stories.esm.js.map +0 -1
- package/skinny/registerModal.stories.cjs.js +0 -194
- package/skinny/registerModal.stories.cjs.js.map +0 -1
- package/skinny/registerModal.stories.esm.js +0 -181
- package/skinny/registerModal.stories.esm.js.map +0 -1
- package/skinny/registerPopover.stories.cjs.js +0 -102
- package/skinny/registerPopover.stories.cjs.js.map +0 -1
- package/skinny/registerPopover.stories.esm.js +0 -92
- package/skinny/registerPopover.stories.esm.js.map +0 -1
- package/skinny/registerRadioGroup.stories.cjs.js +0 -120
- package/skinny/registerRadioGroup.stories.cjs.js.map +0 -1
- package/skinny/registerRadioGroup.stories.esm.js +0 -108
- package/skinny/registerRadioGroup.stories.esm.js.map +0 -1
- package/skinny/registerSelect.stories.cjs.js +0 -215
- package/skinny/registerSelect.stories.cjs.js.map +0 -1
- package/skinny/registerSelect.stories.esm.js +0 -202
- package/skinny/registerSelect.stories.esm.js.map +0 -1
- package/skinny/registerSlider.stories.cjs.js +0 -165
- package/skinny/registerSlider.stories.cjs.js.map +0 -1
- package/skinny/registerSlider.stories.esm.js +0 -151
- package/skinny/registerSlider.stories.esm.js.map +0 -1
- package/skinny/registerSwitch.stories.cjs.js +0 -162
- package/skinny/registerSwitch.stories.cjs.js.map +0 -1
- package/skinny/registerSwitch.stories.esm.js +0 -148
- package/skinny/registerSwitch.stories.esm.js.map +0 -1
- package/skinny/registerTextField-common-stories.cjs.js +0 -199
- package/skinny/registerTextField-common-stories.cjs.js.map +0 -1
- package/skinny/registerTextField-common-stories.esm.js +0 -185
- package/skinny/registerTextField-common-stories.esm.js.map +0 -1
- package/skinny/registerTextField-input.stories.cjs.js +0 -54
- package/skinny/registerTextField-input.stories.cjs.js.map +0 -1
- package/skinny/registerTextField-input.stories.esm.js +0 -37
- package/skinny/registerTextField-input.stories.esm.js.map +0 -1
- package/skinny/registerTextField-textarea.stories.cjs.js +0 -55
- package/skinny/registerTextField-textarea.stories.cjs.js.map +0 -1
- package/skinny/registerTextField-textarea.stories.esm.js +0 -39
- package/skinny/registerTextField-textarea.stories.esm.js.map +0 -1
- package/skinny/registerTooltip.stories.cjs.js +0 -616
- package/skinny/registerTooltip.stories.cjs.js.map +0 -1
- package/skinny/registerTooltip.stories.esm.js +0 -596
- package/skinny/registerTooltip.stories.esm.js.map +0 -1
|
@@ -1,194 +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 registerModal = require('./registerModal.cjs.js');
|
|
9
|
-
require('react-aria');
|
|
10
|
-
require('react-aria-components');
|
|
11
|
-
require('./common-45acb83c.cjs.js');
|
|
12
|
-
require('./utils-fc1ddd7c.cjs.js');
|
|
13
|
-
require('@plasmicapp/host/registerComponent');
|
|
14
|
-
require('./contexts-6d0cb2b1.cjs.js');
|
|
15
|
-
|
|
16
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
17
|
-
|
|
18
|
-
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
19
|
-
|
|
20
|
-
var __defProp = Object.defineProperty;
|
|
21
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
22
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
23
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
24
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
25
|
-
var __spreadValues = (a, b) => {
|
|
26
|
-
for (var prop in b || (b = {}))
|
|
27
|
-
if (__hasOwnProp.call(b, prop))
|
|
28
|
-
__defNormalProp(a, prop, b[prop]);
|
|
29
|
-
if (__getOwnPropSymbols)
|
|
30
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
31
|
-
if (__propIsEnum.call(b, prop))
|
|
32
|
-
__defNormalProp(a, prop, b[prop]);
|
|
33
|
-
}
|
|
34
|
-
return a;
|
|
35
|
-
};
|
|
36
|
-
var __objRest = (source, exclude) => {
|
|
37
|
-
var target = {};
|
|
38
|
-
for (var prop in source)
|
|
39
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
40
|
-
target[prop] = source[prop];
|
|
41
|
-
if (source != null && __getOwnPropSymbols)
|
|
42
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
43
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
44
|
-
target[prop] = source[prop];
|
|
45
|
-
}
|
|
46
|
-
return target;
|
|
47
|
-
};
|
|
48
|
-
const meta = {
|
|
49
|
-
title: "Components/BaseModal",
|
|
50
|
-
component: registerModal.BaseModal,
|
|
51
|
-
args: {
|
|
52
|
-
onOpenChange: test.fn(),
|
|
53
|
-
children: /* @__PURE__ */ React__default.default.createElement("div", { "data-testid": "modal-content" }, /* @__PURE__ */ React__default.default.createElement("h2", null, "Modal Title"), /* @__PURE__ */ React__default.default.createElement("p", null, "Modal content goes here"))
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
const Basic = {
|
|
57
|
-
args: {
|
|
58
|
-
isOpen: true,
|
|
59
|
-
isDismissable: true
|
|
60
|
-
},
|
|
61
|
-
play: async ({ args }) => {
|
|
62
|
-
const doc = test.within(document.body);
|
|
63
|
-
const modal = doc.getByTestId("modal-content");
|
|
64
|
-
test.expect(modal).toBeInTheDocument();
|
|
65
|
-
test.expect(modal).toBeVisible();
|
|
66
|
-
await test.userEvent.click(document.body);
|
|
67
|
-
test.expect(args.onOpenChange).toHaveBeenCalledWith(false);
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
const NonDismissable = {
|
|
71
|
-
args: {
|
|
72
|
-
isOpen: true,
|
|
73
|
-
isDismissable: false
|
|
74
|
-
},
|
|
75
|
-
play: async ({ args }) => {
|
|
76
|
-
const doc = test.within(document.body);
|
|
77
|
-
const modal = doc.getByTestId("modal-content");
|
|
78
|
-
test.expect(modal).toBeInTheDocument();
|
|
79
|
-
test.expect(modal).toBeVisible();
|
|
80
|
-
await test.userEvent.click(document.body);
|
|
81
|
-
test.expect(args.onOpenChange).not.toHaveBeenCalled();
|
|
82
|
-
test.expect(modal).toBeInTheDocument();
|
|
83
|
-
}
|
|
84
|
-
};
|
|
85
|
-
const KeyboardDismissDisabled = {
|
|
86
|
-
args: {
|
|
87
|
-
isOpen: true,
|
|
88
|
-
isDismissable: true,
|
|
89
|
-
isKeyboardDismissDisabled: true
|
|
90
|
-
},
|
|
91
|
-
play: async ({ args }) => {
|
|
92
|
-
const doc = test.within(document.body);
|
|
93
|
-
const modal = doc.getByTestId("modal-content");
|
|
94
|
-
test.expect(modal).toBeInTheDocument();
|
|
95
|
-
await test.userEvent.keyboard("{Escape}");
|
|
96
|
-
test.expect(args.onOpenChange).not.toHaveBeenCalled();
|
|
97
|
-
test.expect(modal).toBeInTheDocument();
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
const ImperativeControl = {
|
|
101
|
-
render: (_a) => {
|
|
102
|
-
var _b = _a, { onOpenChange } = _b, args = __objRest(_b, ["onOpenChange"]);
|
|
103
|
-
const modalRef = React__default.default.useRef(
|
|
104
|
-
null
|
|
105
|
-
);
|
|
106
|
-
const [open, setOpen] = React.useState(true);
|
|
107
|
-
return /* @__PURE__ */ React__default.default.createElement("div", null, /* @__PURE__ */ React__default.default.createElement("button", { onClick: () => {
|
|
108
|
-
var _a2;
|
|
109
|
-
return (_a2 = modalRef.current) == null ? void 0 : _a2.open();
|
|
110
|
-
} }, "Open Modal"), /* @__PURE__ */ React__default.default.createElement(
|
|
111
|
-
registerModal.BaseModal,
|
|
112
|
-
__spreadValues({
|
|
113
|
-
isOpen: open,
|
|
114
|
-
onOpenChange: (newValue) => {
|
|
115
|
-
onOpenChange == null ? void 0 : onOpenChange(newValue);
|
|
116
|
-
setOpen(newValue);
|
|
117
|
-
},
|
|
118
|
-
ref: modalRef
|
|
119
|
-
}, args),
|
|
120
|
-
/* @__PURE__ */ React__default.default.createElement("div", { "data-testid": "modal-content" }, /* @__PURE__ */ React__default.default.createElement("h2", null, "Test Modal"), /* @__PURE__ */ React__default.default.createElement("button", { onClick: () => {
|
|
121
|
-
var _a2;
|
|
122
|
-
return (_a2 = modalRef.current) == null ? void 0 : _a2.close();
|
|
123
|
-
} }, "Close Modal"))
|
|
124
|
-
));
|
|
125
|
-
},
|
|
126
|
-
play: async ({ canvasElement }) => {
|
|
127
|
-
const doc = test.within(document.body);
|
|
128
|
-
const canvas = test.within(canvasElement);
|
|
129
|
-
await test.waitFor(() => {
|
|
130
|
-
test.expect(doc.getByTestId("modal-content")).toBeInTheDocument();
|
|
131
|
-
});
|
|
132
|
-
const closeButton = doc.getByText("Close Modal");
|
|
133
|
-
await test.userEvent.click(closeButton);
|
|
134
|
-
await test.waitFor(() => {
|
|
135
|
-
test.expect(doc.queryByTestId("modal-content")).not.toBeInTheDocument();
|
|
136
|
-
});
|
|
137
|
-
const openButton = canvas.getByText("Open Modal");
|
|
138
|
-
await test.userEvent.click(openButton);
|
|
139
|
-
await test.waitFor(() => {
|
|
140
|
-
test.expect(doc.getByTestId("modal-content")).toBeInTheDocument();
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
};
|
|
144
|
-
const SelectedInCanvas = {
|
|
145
|
-
render: (_c) => {
|
|
146
|
-
var _d = _c, args = __objRest(_d, ["__plasmic_selection_prop__"]);
|
|
147
|
-
const [selected, setSelected] = React.useState(false);
|
|
148
|
-
React.useEffect(() => {
|
|
149
|
-
setTimeout(() => {
|
|
150
|
-
setSelected(true);
|
|
151
|
-
}, 1e3);
|
|
152
|
-
}, []);
|
|
153
|
-
return (
|
|
154
|
-
// Simulate Plasmic canvas envirnment
|
|
155
|
-
/* @__PURE__ */ React__default.default.createElement(
|
|
156
|
-
host.PlasmicCanvasContext.Provider,
|
|
157
|
-
{
|
|
158
|
-
value: {
|
|
159
|
-
componentName: "test",
|
|
160
|
-
globalVariants: {}
|
|
161
|
-
}
|
|
162
|
-
},
|
|
163
|
-
/* @__PURE__ */ React__default.default.createElement(
|
|
164
|
-
registerModal.BaseModal,
|
|
165
|
-
__spreadValues({
|
|
166
|
-
__plasmic_selection_prop__: {
|
|
167
|
-
isSelected: selected
|
|
168
|
-
}
|
|
169
|
-
}, args)
|
|
170
|
-
)
|
|
171
|
-
)
|
|
172
|
-
);
|
|
173
|
-
},
|
|
174
|
-
play: async () => {
|
|
175
|
-
const doc = test.within(document.body);
|
|
176
|
-
await test.waitFor(() => {
|
|
177
|
-
test.expect(doc.queryByTestId("modal-content")).not.toBeInTheDocument();
|
|
178
|
-
});
|
|
179
|
-
await test.waitFor(
|
|
180
|
-
() => {
|
|
181
|
-
test.expect(doc.queryByTestId("modal-content")).toBeInTheDocument();
|
|
182
|
-
},
|
|
183
|
-
{ timeout: 1100 }
|
|
184
|
-
);
|
|
185
|
-
}
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
exports.Basic = Basic;
|
|
189
|
-
exports.ImperativeControl = ImperativeControl;
|
|
190
|
-
exports.KeyboardDismissDisabled = KeyboardDismissDisabled;
|
|
191
|
-
exports.NonDismissable = NonDismissable;
|
|
192
|
-
exports.SelectedInCanvas = SelectedInCanvas;
|
|
193
|
-
exports.default = meta;
|
|
194
|
-
//# sourceMappingURL=registerModal.stories.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerModal.stories.cjs.js","sources":["../src/registerModal.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 { BaseModal } from \"./registerModal\";\n\nconst meta: Meta<typeof BaseModal> = {\n title: \"Components/BaseModal\",\n component: BaseModal,\n\n args: {\n onOpenChange: fn(),\n children: (\n <div data-testid=\"modal-content\">\n <h2>Modal Title</h2>\n <p>Modal content goes here</p>\n </div>\n ),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseModal>;\n\nexport const Basic: Story = {\n args: {\n isOpen: true,\n isDismissable: true,\n },\n play: async ({ args }) => {\n const doc = within(document.body);\n\n // Modal should be visible\n const modal = doc.getByTestId(\"modal-content\");\n expect(modal).toBeInTheDocument();\n expect(modal).toBeVisible();\n\n // Click outside to dismiss\n await userEvent.click(document.body);\n expect(args.onOpenChange).toHaveBeenCalledWith(false);\n },\n};\n\nexport const NonDismissable: Story = {\n args: {\n isOpen: true,\n isDismissable: false,\n },\n play: async ({ args }) => {\n const doc = within(document.body);\n\n // Modal should be visible\n const modal = doc.getByTestId(\"modal-content\");\n expect(modal).toBeInTheDocument();\n expect(modal).toBeVisible();\n\n // Click outside should not dismiss\n await userEvent.click(document.body);\n expect(args.onOpenChange).not.toHaveBeenCalled();\n expect(modal).toBeInTheDocument();\n },\n};\n\nexport const KeyboardDismissDisabled: Story = {\n args: {\n isOpen: true,\n isDismissable: true,\n isKeyboardDismissDisabled: true,\n },\n play: async ({ args }) => {\n const doc = within(document.body);\n\n // Modal should be visible\n const modal = doc.getByTestId(\"modal-content\");\n expect(modal).toBeInTheDocument();\n\n // Press Escape should not dismiss\n await userEvent.keyboard(\"{Escape}\");\n expect(args.onOpenChange).not.toHaveBeenCalled();\n expect(modal).toBeInTheDocument();\n },\n};\n\nexport const ImperativeControl: Story = {\n render: ({ onOpenChange, ...args }) => {\n const modalRef = React.useRef<{ close: () => void; open: () => void }>(\n null\n );\n const [open, setOpen] = useState(true);\n\n return (\n <div>\n <button onClick={() => modalRef.current?.open()}>Open Modal</button>\n\n <BaseModal\n isOpen={open}\n onOpenChange={(newValue) => {\n onOpenChange?.(newValue);\n setOpen(newValue);\n }}\n ref={modalRef}\n {...args}\n >\n <div data-testid=\"modal-content\">\n <h2>Test Modal</h2>\n\n <button onClick={() => modalRef.current?.close()}>\n Close Modal\n </button>\n </div>\n </BaseModal>\n </div>\n );\n },\n play: async ({ canvasElement }) => {\n const doc = within(document.body);\n const canvas = within(canvasElement);\n\n await waitFor(() => {\n expect(doc.getByTestId(\"modal-content\")).toBeInTheDocument();\n });\n\n // Find and click the close button\n const closeButton = doc.getByText(\"Close Modal\");\n await userEvent.click(closeButton);\n\n // Modal should be closed\n await waitFor(() => {\n expect(doc.queryByTestId(\"modal-content\")).not.toBeInTheDocument();\n });\n\n // Find and click the open button\n const openButton = canvas.getByText(\"Open Modal\");\n await userEvent.click(openButton);\n\n // Modal should be open again\n await waitFor(() => {\n expect(doc.getByTestId(\"modal-content\")).toBeInTheDocument();\n });\n },\n};\n\nexport const SelectedInCanvas: Story = {\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 <BaseModal\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 expect(doc.queryByTestId(\"modal-content\")).not.toBeInTheDocument();\n });\n\n await waitFor(\n () => {\n expect(doc.queryByTestId(\"modal-content\")).toBeInTheDocument();\n },\n { timeout: 1100 }\n );\n },\n};\n"],"names":["BaseModal","fn","React","within","expect","userEvent","useState","_a","waitFor","useEffect","PlasmicCanvasContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,IAA+B,GAAA;AAAA,EACnC,KAAO,EAAA,sBAAA;AAAA,EACP,SAAW,EAAAA,uBAAA;AAAA,EAEX,IAAM,EAAA;AAAA,IACJ,cAAcC,OAAG,EAAA;AAAA,IACjB,QACE,kBAAAC,sBAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,aAAA,EAAY,eACf,EAAA,kBAAAA,sBAAA,CAAA,aAAA,CAAC,IAAG,EAAA,IAAA,EAAA,aAAW,CACf,kBAAAA,sBAAA,CAAA,aAAA,CAAC,GAAE,EAAA,IAAA,EAAA,yBAAuB,CAC5B,CAAA;AAAA,GAEJ;AACF,EAAA;AAKO,MAAM,KAAe,GAAA;AAAA,EAC1B,IAAM,EAAA;AAAA,IACJ,MAAQ,EAAA,IAAA;AAAA,IACR,aAAe,EAAA,IAAA;AAAA,GACjB;AAAA,EACA,IAAM,EAAA,OAAO,EAAE,IAAA,EAAW,KAAA;AACxB,IAAM,MAAA,GAAA,GAAMC,WAAO,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAGhC,IAAM,MAAA,KAAA,GAAQ,GAAI,CAAA,WAAA,CAAY,eAAe,CAAA,CAAA;AAC7C,IAAOC,WAAA,CAAA,KAAK,EAAE,iBAAkB,EAAA,CAAA;AAChC,IAAOA,WAAA,CAAA,KAAK,EAAE,WAAY,EAAA,CAAA;AAG1B,IAAM,MAAAC,cAAA,CAAU,KAAM,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AACnC,IAAAD,WAAA,CAAO,IAAK,CAAA,YAAY,CAAE,CAAA,oBAAA,CAAqB,KAAK,CAAA,CAAA;AAAA,GACtD;AACF,EAAA;AAEO,MAAM,cAAwB,GAAA;AAAA,EACnC,IAAM,EAAA;AAAA,IACJ,MAAQ,EAAA,IAAA;AAAA,IACR,aAAe,EAAA,KAAA;AAAA,GACjB;AAAA,EACA,IAAM,EAAA,OAAO,EAAE,IAAA,EAAW,KAAA;AACxB,IAAM,MAAA,GAAA,GAAMD,WAAO,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAGhC,IAAM,MAAA,KAAA,GAAQ,GAAI,CAAA,WAAA,CAAY,eAAe,CAAA,CAAA;AAC7C,IAAOC,WAAA,CAAA,KAAK,EAAE,iBAAkB,EAAA,CAAA;AAChC,IAAOA,WAAA,CAAA,KAAK,EAAE,WAAY,EAAA,CAAA;AAG1B,IAAM,MAAAC,cAAA,CAAU,KAAM,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AACnC,IAAAD,WAAA,CAAO,IAAK,CAAA,YAAY,CAAE,CAAA,GAAA,CAAI,gBAAiB,EAAA,CAAA;AAC/C,IAAOA,WAAA,CAAA,KAAK,EAAE,iBAAkB,EAAA,CAAA;AAAA,GAClC;AACF,EAAA;AAEO,MAAM,uBAAiC,GAAA;AAAA,EAC5C,IAAM,EAAA;AAAA,IACJ,MAAQ,EAAA,IAAA;AAAA,IACR,aAAe,EAAA,IAAA;AAAA,IACf,yBAA2B,EAAA,IAAA;AAAA,GAC7B;AAAA,EACA,IAAM,EAAA,OAAO,EAAE,IAAA,EAAW,KAAA;AACxB,IAAM,MAAA,GAAA,GAAMD,WAAO,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAGhC,IAAM,MAAA,KAAA,GAAQ,GAAI,CAAA,WAAA,CAAY,eAAe,CAAA,CAAA;AAC7C,IAAOC,WAAA,CAAA,KAAK,EAAE,iBAAkB,EAAA,CAAA;AAGhC,IAAM,MAAAC,cAAA,CAAU,SAAS,UAAU,CAAA,CAAA;AACnC,IAAAD,WAAA,CAAO,IAAK,CAAA,YAAY,CAAE,CAAA,GAAA,CAAI,gBAAiB,EAAA,CAAA;AAC/C,IAAOA,WAAA,CAAA,KAAK,EAAE,iBAAkB,EAAA,CAAA;AAAA,GAClC;AACF,EAAA;AAEO,MAAM,iBAA2B,GAAA;AAAA,EACtC,MAAA,EAAQ,CAAC,EAA8B,KAAA;AAA9B,IAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EApFb,YAAA,EAAA,GAoFW,EAAmB,EAAA,IAAA,GAAA,SAAA,CAAnB,IAAmB,CAAjB,cAAA,CAAA,CAAA,CAAA;AACT,IAAA,MAAM,WAAWF,sBAAM,CAAA,MAAA;AAAA,MACrB,IAAA;AAAA,KACF,CAAA;AACA,IAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAII,eAAS,IAAI,CAAA,CAAA;AAErC,IAAA,uBACGJ,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,IAAA,kBACEA,sBAAA,CAAA,aAAA,CAAA,QAAA,EAAA,EAAO,SAAS,MAAG;AA5F5B,MAAAK,IAAAA,GAAAA,CAAAA;AA4F+B,MAAA,OAAA,CAAAA,GAAA,GAAA,QAAA,CAAS,OAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAkB,CAAA,IAAA,EAAA,CAAA;AAAA,KAAA,EAAA,EAAQ,YAAU,CAE3D,kBAAAL,sBAAA,CAAA,aAAA;AAAA,MAACF,uBAAA;AAAA,MAAA,cAAA,CAAA;AAAA,QACC,MAAQ,EAAA,IAAA;AAAA,QACR,YAAA,EAAc,CAAC,QAAa,KAAA;AAC1B,UAAe,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,QAAA,CAAA,CAAA;AACf,UAAA,OAAA,CAAQ,QAAQ,CAAA,CAAA;AAAA,SAClB;AAAA,QACA,GAAK,EAAA,QAAA;AAAA,OACD,EAAA,IAAA,CAAA;AAAA,sBAEJE,sBAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,aAAA,EAAY,eACf,EAAA,kBAAAA,sBAAA,CAAA,aAAA,CAAC,IAAG,EAAA,IAAA,EAAA,YAAU,CAEd,kBAAAA,sBAAA,CAAA,aAAA,CAAC,QAAO,EAAA,EAAA,OAAA,EAAS,MAAG;AA1GhC,QAAAK,IAAAA,GAAAA,CAAAA;AA0GmC,QAAA,OAAA,CAAAA,GAAA,GAAA,QAAA,CAAS,OAAT,KAAA,IAAA,GAAA,KAAA,CAAA,GAAAA,GAAkB,CAAA,KAAA,EAAA,CAAA;AAAA,OAAA,EAAA,EAAS,aAElD,CACF,CAAA;AAAA,KAEJ,CAAA,CAAA;AAAA,GAEJ;AAAA,EACA,IAAM,EAAA,OAAO,EAAE,aAAA,EAAoB,KAAA;AACjC,IAAM,MAAA,GAAA,GAAMJ,WAAO,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAChC,IAAM,MAAA,MAAA,GAASA,YAAO,aAAa,CAAA,CAAA;AAEnC,IAAA,MAAMK,aAAQ,MAAM;AAClB,MAAAJ,WAAA,CAAO,GAAI,CAAA,WAAA,CAAY,eAAe,CAAC,EAAE,iBAAkB,EAAA,CAAA;AAAA,KAC5D,CAAA,CAAA;AAGD,IAAM,MAAA,WAAA,GAAc,GAAI,CAAA,SAAA,CAAU,aAAa,CAAA,CAAA;AAC/C,IAAM,MAAAC,cAAA,CAAU,MAAM,WAAW,CAAA,CAAA;AAGjC,IAAA,MAAMG,aAAQ,MAAM;AAClB,MAAAJ,WAAA,CAAO,IAAI,aAAc,CAAA,eAAe,CAAC,CAAA,CAAE,IAAI,iBAAkB,EAAA,CAAA;AAAA,KAClE,CAAA,CAAA;AAGD,IAAM,MAAA,UAAA,GAAa,MAAO,CAAA,SAAA,CAAU,YAAY,CAAA,CAAA;AAChD,IAAM,MAAAC,cAAA,CAAU,MAAM,UAAU,CAAA,CAAA;AAGhC,IAAA,MAAMG,aAAQ,MAAM;AAClB,MAAAJ,WAAA,CAAO,GAAI,CAAA,WAAA,CAAY,eAAe,CAAC,EAAE,iBAAkB,EAAA,CAAA;AAAA,KAC5D,CAAA,CAAA;AAAA,GACH;AACF,EAAA;AAEO,MAAM,gBAA0B,GAAA;AAAA,EACrC,MAAA,EAAQ,CAAC,EAA4C,KAAA;AAA5C,IAAA,IAAA,EAAA,GAAA,EAAA,CAAA,CAAiC,IAAA,GAAA,SAAA,CAAjC,IAAiC,CAA/B,4BAAA,CAAA,EAAA;AACT,IAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAIE,eAAS,KAAK,CAAA,CAAA;AAC9C,IAAAG,eAAA,CAAU,MAAM;AACd,MAAA,UAAA,CAAW,MAAM;AACf,QAAA,WAAA,CAAY,IAAI,CAAA,CAAA;AAAA,SACf,GAAI,CAAA,CAAA;AAAA,KACT,EAAG,EAAE,CAAA,CAAA;AAEL,IAAA;AAAA;AAAA,sBAEEP,sBAAA,CAAA,aAAA;AAAA,QAACQ,yBAAqB,CAAA,QAAA;AAAA,QAArB;AAAA,UACC,KAAO,EAAA;AAAA,YACL,aAAe,EAAA,MAAA;AAAA,YACf,gBAAgB,EAAC;AAAA,WACnB;AAAA,SAAA;AAAA,wBAEAR,sBAAA,CAAA,aAAA;AAAA,UAACF,uBAAA;AAAA,UAAA,cAAA,CAAA;AAAA,YAEC,0BAA4B,EAAA;AAAA,cAC1B,UAAY,EAAA,QAAA;AAAA,aACd;AAAA,WACI,EAAA,IAAA,CAAA;AAAA,SACN;AAAA,OACF;AAAA,MAAA;AAAA,GAEJ;AAAA,EACA,MAAM,YAAY;AAEhB,IAAM,MAAA,GAAA,GAAMG,WAAO,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAEhC,IAAA,MAAMK,aAAQ,MAAM;AAClB,MAAAJ,WAAA,CAAO,IAAI,aAAc,CAAA,eAAe,CAAC,CAAA,CAAE,IAAI,iBAAkB,EAAA,CAAA;AAAA,KAClE,CAAA,CAAA;AAED,IAAM,MAAAI,YAAA;AAAA,MACJ,MAAM;AACJ,QAAAJ,WAAA,CAAO,GAAI,CAAA,aAAA,CAAc,eAAe,CAAC,EAAE,iBAAkB,EAAA,CAAA;AAAA,OAC/D;AAAA,MACA,EAAE,SAAS,IAAK,EAAA;AAAA,KAClB,CAAA;AAAA,GACF;AACF;;;;;;;;;"}
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
import { PlasmicCanvasContext } from '@plasmicapp/host';
|
|
2
|
-
import { fn, within, expect, userEvent, waitFor } from '@storybook/test';
|
|
3
|
-
import React, { useState, useEffect } from 'react';
|
|
4
|
-
import { BaseModal } from './registerModal.esm.js';
|
|
5
|
-
import 'react-aria';
|
|
6
|
-
import 'react-aria-components';
|
|
7
|
-
import './common-616eb178.esm.js';
|
|
8
|
-
import './utils-fd88ad47.esm.js';
|
|
9
|
-
import '@plasmicapp/host/registerComponent';
|
|
10
|
-
import './contexts-5cb81c2f.esm.js';
|
|
11
|
-
|
|
12
|
-
var __defProp = Object.defineProperty;
|
|
13
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
14
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
15
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
16
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
17
|
-
var __spreadValues = (a, b) => {
|
|
18
|
-
for (var prop in b || (b = {}))
|
|
19
|
-
if (__hasOwnProp.call(b, prop))
|
|
20
|
-
__defNormalProp(a, prop, b[prop]);
|
|
21
|
-
if (__getOwnPropSymbols)
|
|
22
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
23
|
-
if (__propIsEnum.call(b, prop))
|
|
24
|
-
__defNormalProp(a, prop, b[prop]);
|
|
25
|
-
}
|
|
26
|
-
return a;
|
|
27
|
-
};
|
|
28
|
-
var __objRest = (source, exclude) => {
|
|
29
|
-
var target = {};
|
|
30
|
-
for (var prop in source)
|
|
31
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
32
|
-
target[prop] = source[prop];
|
|
33
|
-
if (source != null && __getOwnPropSymbols)
|
|
34
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
35
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
36
|
-
target[prop] = source[prop];
|
|
37
|
-
}
|
|
38
|
-
return target;
|
|
39
|
-
};
|
|
40
|
-
const meta = {
|
|
41
|
-
title: "Components/BaseModal",
|
|
42
|
-
component: BaseModal,
|
|
43
|
-
args: {
|
|
44
|
-
onOpenChange: fn(),
|
|
45
|
-
children: /* @__PURE__ */ React.createElement("div", { "data-testid": "modal-content" }, /* @__PURE__ */ React.createElement("h2", null, "Modal Title"), /* @__PURE__ */ React.createElement("p", null, "Modal content goes here"))
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
const Basic = {
|
|
49
|
-
args: {
|
|
50
|
-
isOpen: true,
|
|
51
|
-
isDismissable: true
|
|
52
|
-
},
|
|
53
|
-
play: async ({ args }) => {
|
|
54
|
-
const doc = within(document.body);
|
|
55
|
-
const modal = doc.getByTestId("modal-content");
|
|
56
|
-
expect(modal).toBeInTheDocument();
|
|
57
|
-
expect(modal).toBeVisible();
|
|
58
|
-
await userEvent.click(document.body);
|
|
59
|
-
expect(args.onOpenChange).toHaveBeenCalledWith(false);
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
const NonDismissable = {
|
|
63
|
-
args: {
|
|
64
|
-
isOpen: true,
|
|
65
|
-
isDismissable: false
|
|
66
|
-
},
|
|
67
|
-
play: async ({ args }) => {
|
|
68
|
-
const doc = within(document.body);
|
|
69
|
-
const modal = doc.getByTestId("modal-content");
|
|
70
|
-
expect(modal).toBeInTheDocument();
|
|
71
|
-
expect(modal).toBeVisible();
|
|
72
|
-
await userEvent.click(document.body);
|
|
73
|
-
expect(args.onOpenChange).not.toHaveBeenCalled();
|
|
74
|
-
expect(modal).toBeInTheDocument();
|
|
75
|
-
}
|
|
76
|
-
};
|
|
77
|
-
const KeyboardDismissDisabled = {
|
|
78
|
-
args: {
|
|
79
|
-
isOpen: true,
|
|
80
|
-
isDismissable: true,
|
|
81
|
-
isKeyboardDismissDisabled: true
|
|
82
|
-
},
|
|
83
|
-
play: async ({ args }) => {
|
|
84
|
-
const doc = within(document.body);
|
|
85
|
-
const modal = doc.getByTestId("modal-content");
|
|
86
|
-
expect(modal).toBeInTheDocument();
|
|
87
|
-
await userEvent.keyboard("{Escape}");
|
|
88
|
-
expect(args.onOpenChange).not.toHaveBeenCalled();
|
|
89
|
-
expect(modal).toBeInTheDocument();
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
const ImperativeControl = {
|
|
93
|
-
render: (_a) => {
|
|
94
|
-
var _b = _a, { onOpenChange } = _b, args = __objRest(_b, ["onOpenChange"]);
|
|
95
|
-
const modalRef = React.useRef(
|
|
96
|
-
null
|
|
97
|
-
);
|
|
98
|
-
const [open, setOpen] = useState(true);
|
|
99
|
-
return /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("button", { onClick: () => {
|
|
100
|
-
var _a2;
|
|
101
|
-
return (_a2 = modalRef.current) == null ? void 0 : _a2.open();
|
|
102
|
-
} }, "Open Modal"), /* @__PURE__ */ React.createElement(
|
|
103
|
-
BaseModal,
|
|
104
|
-
__spreadValues({
|
|
105
|
-
isOpen: open,
|
|
106
|
-
onOpenChange: (newValue) => {
|
|
107
|
-
onOpenChange == null ? void 0 : onOpenChange(newValue);
|
|
108
|
-
setOpen(newValue);
|
|
109
|
-
},
|
|
110
|
-
ref: modalRef
|
|
111
|
-
}, args),
|
|
112
|
-
/* @__PURE__ */ React.createElement("div", { "data-testid": "modal-content" }, /* @__PURE__ */ React.createElement("h2", null, "Test Modal"), /* @__PURE__ */ React.createElement("button", { onClick: () => {
|
|
113
|
-
var _a2;
|
|
114
|
-
return (_a2 = modalRef.current) == null ? void 0 : _a2.close();
|
|
115
|
-
} }, "Close Modal"))
|
|
116
|
-
));
|
|
117
|
-
},
|
|
118
|
-
play: async ({ canvasElement }) => {
|
|
119
|
-
const doc = within(document.body);
|
|
120
|
-
const canvas = within(canvasElement);
|
|
121
|
-
await waitFor(() => {
|
|
122
|
-
expect(doc.getByTestId("modal-content")).toBeInTheDocument();
|
|
123
|
-
});
|
|
124
|
-
const closeButton = doc.getByText("Close Modal");
|
|
125
|
-
await userEvent.click(closeButton);
|
|
126
|
-
await waitFor(() => {
|
|
127
|
-
expect(doc.queryByTestId("modal-content")).not.toBeInTheDocument();
|
|
128
|
-
});
|
|
129
|
-
const openButton = canvas.getByText("Open Modal");
|
|
130
|
-
await userEvent.click(openButton);
|
|
131
|
-
await waitFor(() => {
|
|
132
|
-
expect(doc.getByTestId("modal-content")).toBeInTheDocument();
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
};
|
|
136
|
-
const SelectedInCanvas = {
|
|
137
|
-
render: (_c) => {
|
|
138
|
-
var _d = _c, args = __objRest(_d, ["__plasmic_selection_prop__"]);
|
|
139
|
-
const [selected, setSelected] = useState(false);
|
|
140
|
-
useEffect(() => {
|
|
141
|
-
setTimeout(() => {
|
|
142
|
-
setSelected(true);
|
|
143
|
-
}, 1e3);
|
|
144
|
-
}, []);
|
|
145
|
-
return (
|
|
146
|
-
// Simulate Plasmic canvas envirnment
|
|
147
|
-
/* @__PURE__ */ React.createElement(
|
|
148
|
-
PlasmicCanvasContext.Provider,
|
|
149
|
-
{
|
|
150
|
-
value: {
|
|
151
|
-
componentName: "test",
|
|
152
|
-
globalVariants: {}
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
/* @__PURE__ */ React.createElement(
|
|
156
|
-
BaseModal,
|
|
157
|
-
__spreadValues({
|
|
158
|
-
__plasmic_selection_prop__: {
|
|
159
|
-
isSelected: selected
|
|
160
|
-
}
|
|
161
|
-
}, args)
|
|
162
|
-
)
|
|
163
|
-
)
|
|
164
|
-
);
|
|
165
|
-
},
|
|
166
|
-
play: async () => {
|
|
167
|
-
const doc = within(document.body);
|
|
168
|
-
await waitFor(() => {
|
|
169
|
-
expect(doc.queryByTestId("modal-content")).not.toBeInTheDocument();
|
|
170
|
-
});
|
|
171
|
-
await waitFor(
|
|
172
|
-
() => {
|
|
173
|
-
expect(doc.queryByTestId("modal-content")).toBeInTheDocument();
|
|
174
|
-
},
|
|
175
|
-
{ timeout: 1100 }
|
|
176
|
-
);
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
export { Basic, ImperativeControl, KeyboardDismissDisabled, NonDismissable, SelectedInCanvas, meta as default };
|
|
181
|
-
//# sourceMappingURL=registerModal.stories.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerModal.stories.esm.js","sources":["../src/registerModal.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 { BaseModal } from \"./registerModal\";\n\nconst meta: Meta<typeof BaseModal> = {\n title: \"Components/BaseModal\",\n component: BaseModal,\n\n args: {\n onOpenChange: fn(),\n children: (\n <div data-testid=\"modal-content\">\n <h2>Modal Title</h2>\n <p>Modal content goes here</p>\n </div>\n ),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BaseModal>;\n\nexport const Basic: Story = {\n args: {\n isOpen: true,\n isDismissable: true,\n },\n play: async ({ args }) => {\n const doc = within(document.body);\n\n // Modal should be visible\n const modal = doc.getByTestId(\"modal-content\");\n expect(modal).toBeInTheDocument();\n expect(modal).toBeVisible();\n\n // Click outside to dismiss\n await userEvent.click(document.body);\n expect(args.onOpenChange).toHaveBeenCalledWith(false);\n },\n};\n\nexport const NonDismissable: Story = {\n args: {\n isOpen: true,\n isDismissable: false,\n },\n play: async ({ args }) => {\n const doc = within(document.body);\n\n // Modal should be visible\n const modal = doc.getByTestId(\"modal-content\");\n expect(modal).toBeInTheDocument();\n expect(modal).toBeVisible();\n\n // Click outside should not dismiss\n await userEvent.click(document.body);\n expect(args.onOpenChange).not.toHaveBeenCalled();\n expect(modal).toBeInTheDocument();\n },\n};\n\nexport const KeyboardDismissDisabled: Story = {\n args: {\n isOpen: true,\n isDismissable: true,\n isKeyboardDismissDisabled: true,\n },\n play: async ({ args }) => {\n const doc = within(document.body);\n\n // Modal should be visible\n const modal = doc.getByTestId(\"modal-content\");\n expect(modal).toBeInTheDocument();\n\n // Press Escape should not dismiss\n await userEvent.keyboard(\"{Escape}\");\n expect(args.onOpenChange).not.toHaveBeenCalled();\n expect(modal).toBeInTheDocument();\n },\n};\n\nexport const ImperativeControl: Story = {\n render: ({ onOpenChange, ...args }) => {\n const modalRef = React.useRef<{ close: () => void; open: () => void }>(\n null\n );\n const [open, setOpen] = useState(true);\n\n return (\n <div>\n <button onClick={() => modalRef.current?.open()}>Open Modal</button>\n\n <BaseModal\n isOpen={open}\n onOpenChange={(newValue) => {\n onOpenChange?.(newValue);\n setOpen(newValue);\n }}\n ref={modalRef}\n {...args}\n >\n <div data-testid=\"modal-content\">\n <h2>Test Modal</h2>\n\n <button onClick={() => modalRef.current?.close()}>\n Close Modal\n </button>\n </div>\n </BaseModal>\n </div>\n );\n },\n play: async ({ canvasElement }) => {\n const doc = within(document.body);\n const canvas = within(canvasElement);\n\n await waitFor(() => {\n expect(doc.getByTestId(\"modal-content\")).toBeInTheDocument();\n });\n\n // Find and click the close button\n const closeButton = doc.getByText(\"Close Modal\");\n await userEvent.click(closeButton);\n\n // Modal should be closed\n await waitFor(() => {\n expect(doc.queryByTestId(\"modal-content\")).not.toBeInTheDocument();\n });\n\n // Find and click the open button\n const openButton = canvas.getByText(\"Open Modal\");\n await userEvent.click(openButton);\n\n // Modal should be open again\n await waitFor(() => {\n expect(doc.getByTestId(\"modal-content\")).toBeInTheDocument();\n });\n },\n};\n\nexport const SelectedInCanvas: Story = {\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 <BaseModal\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 expect(doc.queryByTestId(\"modal-content\")).not.toBeInTheDocument();\n });\n\n await waitFor(\n () => {\n expect(doc.queryByTestId(\"modal-content\")).toBeInTheDocument();\n },\n { timeout: 1100 }\n );\n },\n};\n"],"names":["_a"],"mappings":"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"}
|
|
@@ -1,102 +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 registerOverlayArrow = require('./registerOverlayArrow.cjs.js');
|
|
8
|
-
var registerPopover = require('./registerPopover.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('./variant-utils-0ad70db8.cjs.js');
|
|
15
|
-
require('@react-aria/utils');
|
|
16
|
-
require('./contexts-6d0cb2b1.cjs.js');
|
|
17
|
-
|
|
18
|
-
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
|
-
|
|
20
|
-
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
21
|
-
|
|
22
|
-
var __defProp = Object.defineProperty;
|
|
23
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
24
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
25
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
26
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
27
|
-
var __spreadValues = (a, b) => {
|
|
28
|
-
for (var prop in b || (b = {}))
|
|
29
|
-
if (__hasOwnProp.call(b, prop))
|
|
30
|
-
__defNormalProp(a, prop, b[prop]);
|
|
31
|
-
if (__getOwnPropSymbols)
|
|
32
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
33
|
-
if (__propIsEnum.call(b, prop))
|
|
34
|
-
__defNormalProp(a, prop, b[prop]);
|
|
35
|
-
}
|
|
36
|
-
return a;
|
|
37
|
-
};
|
|
38
|
-
var __objRest = (source, exclude) => {
|
|
39
|
-
var target = {};
|
|
40
|
-
for (var prop in source)
|
|
41
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
42
|
-
target[prop] = source[prop];
|
|
43
|
-
if (source != null && __getOwnPropSymbols)
|
|
44
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
45
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
46
|
-
target[prop] = source[prop];
|
|
47
|
-
}
|
|
48
|
-
return target;
|
|
49
|
-
};
|
|
50
|
-
const meta = {
|
|
51
|
-
title: "Components/BasePopover",
|
|
52
|
-
component: registerPopover.BasePopover,
|
|
53
|
-
args: {
|
|
54
|
-
onOpenChange: test.fn(),
|
|
55
|
-
children: /* @__PURE__ */ React__default.default.createElement("div", { "data-testid": "popover-content" }, /* @__PURE__ */ React__default.default.createElement("h2", null, "Standalone Popover"), /* @__PURE__ */ React__default.default.createElement("p", null, "This popover is rendered without a trigger"))
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
const Standalone = {
|
|
59
|
-
play: async ({ args }) => {
|
|
60
|
-
const doc = test.within(document.body);
|
|
61
|
-
await test.waitFor(() => {
|
|
62
|
-
test.expect(doc.getByTestId("popover-content")).toBeInTheDocument();
|
|
63
|
-
});
|
|
64
|
-
await test.userEvent.click(document.body);
|
|
65
|
-
test.expect(args.onOpenChange).not.toHaveBeenCalled();
|
|
66
|
-
}
|
|
67
|
-
};
|
|
68
|
-
const WithArrow = {
|
|
69
|
-
render: (_a) => {
|
|
70
|
-
var _b = _a, { children } = _b, args = __objRest(_b, ["children"]);
|
|
71
|
-
return /* @__PURE__ */ React__default.default.createElement(registerPopover.BasePopover, __spreadValues({}, args), /* @__PURE__ */ React__default.default.createElement(
|
|
72
|
-
"style",
|
|
73
|
-
{
|
|
74
|
-
dangerouslySetInnerHTML: {
|
|
75
|
-
__html: `
|
|
76
|
-
.triangle-up {
|
|
77
|
-
width: 1px;
|
|
78
|
-
height: 1px;
|
|
79
|
-
border-left: 10px solid transparent;
|
|
80
|
-
border-right: 10px solid transparent;
|
|
81
|
-
border-bottom: 10px solid black;
|
|
82
|
-
}
|
|
83
|
-
`
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
), /* @__PURE__ */ React__default.default.createElement(registerOverlayArrow.BaseOverlayArrow, { className: "triangle-up" }), children);
|
|
87
|
-
},
|
|
88
|
-
play: async ({ args }) => {
|
|
89
|
-
const doc = test.within(document.body);
|
|
90
|
-
await test.waitFor(() => {
|
|
91
|
-
test.expect(doc.getByTestId("popover-content")).toBeInTheDocument();
|
|
92
|
-
test.expect(document.querySelector(".triangle-up")).toBeInTheDocument();
|
|
93
|
-
});
|
|
94
|
-
await test.userEvent.click(document.body);
|
|
95
|
-
test.expect(args.onOpenChange).not.toHaveBeenCalled();
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
exports.Standalone = Standalone;
|
|
100
|
-
exports.WithArrow = WithArrow;
|
|
101
|
-
exports.default = meta;
|
|
102
|
-
//# sourceMappingURL=registerPopover.stories.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerPopover.stories.cjs.js","sources":["../src/registerPopover.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { expect, fn, userEvent, waitFor, within } from \"@storybook/test\";\nimport React from \"react\";\nimport { BaseOverlayArrow } from \"./registerOverlayArrow\";\nimport { BasePopover } from \"./registerPopover\";\n\nconst meta: Meta<typeof BasePopover> = {\n title: \"Components/BasePopover\",\n component: BasePopover,\n args: {\n onOpenChange: fn(),\n children: (\n <div data-testid=\"popover-content\">\n <h2>Standalone Popover</h2>\n <p>This popover is rendered without a trigger</p>\n </div>\n ),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BasePopover>;\n\n// Standalone popover should always remain open, because we assume that popover is always going to be controlled by a parent like Select, Combobox, DialogTrigger, etc, and its only really standalone in component view\nexport const Standalone: Story = {\n play: async ({ args }) => {\n const doc = within(document.body);\n\n // Verify popover is visible\n await waitFor(() => {\n expect(doc.getByTestId(\"popover-content\")).toBeInTheDocument();\n });\n // Click outside should not dismiss popover\n await userEvent.click(document.body);\n expect(args.onOpenChange).not.toHaveBeenCalled();\n },\n};\n\nexport const WithArrow: Story = {\n render: ({ children, ...args }) => (\n <BasePopover {...args}>\n <style\n dangerouslySetInnerHTML={{\n __html: `\n .triangle-up {\n width: 1px;\n height: 1px;\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n border-bottom: 10px solid black;\n }\n `,\n }}\n />\n <BaseOverlayArrow className={\"triangle-up\"} />\n {children}\n </BasePopover>\n ),\n play: async ({ args }) => {\n const doc = within(document.body);\n\n // Verify popover is visible\n await waitFor(() => {\n expect(doc.getByTestId(\"popover-content\")).toBeInTheDocument();\n expect(document.querySelector(\".triangle-up\")).toBeInTheDocument();\n });\n // Click outside should not dismiss popover\n await userEvent.click(document.body);\n expect(args.onOpenChange).not.toHaveBeenCalled();\n },\n};\n"],"names":["BasePopover","fn","React","within","waitFor","expect","userEvent","BaseOverlayArrow"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,IAAiC,GAAA;AAAA,EACrC,KAAO,EAAA,wBAAA;AAAA,EACP,SAAW,EAAAA,2BAAA;AAAA,EACX,IAAM,EAAA;AAAA,IACJ,cAAcC,OAAG,EAAA;AAAA,IACjB,QACE,kBAAAC,sBAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,aAAA,EAAY,iBACf,EAAA,kBAAAA,sBAAA,CAAA,aAAA,CAAC,IAAG,EAAA,IAAA,EAAA,oBAAkB,CACtB,kBAAAA,sBAAA,CAAA,aAAA,CAAC,GAAE,EAAA,IAAA,EAAA,4CAA0C,CAC/C,CAAA;AAAA,GAEJ;AACF,EAAA;AAMO,MAAM,UAAoB,GAAA;AAAA,EAC/B,IAAM,EAAA,OAAO,EAAE,IAAA,EAAW,KAAA;AACxB,IAAM,MAAA,GAAA,GAAMC,WAAO,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAGhC,IAAA,MAAMC,aAAQ,MAAM;AAClB,MAAAC,WAAA,CAAO,GAAI,CAAA,WAAA,CAAY,iBAAiB,CAAC,EAAE,iBAAkB,EAAA,CAAA;AAAA,KAC9D,CAAA,CAAA;AAED,IAAM,MAAAC,cAAA,CAAU,KAAM,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AACnC,IAAAD,WAAA,CAAO,IAAK,CAAA,YAAY,CAAE,CAAA,GAAA,CAAI,gBAAiB,EAAA,CAAA;AAAA,GACjD;AACF,EAAA;AAEO,MAAM,SAAmB,GAAA;AAAA,EAC9B,MAAA,EAAQ,CAAC,EAAuB,KAAA;AAAvB,IAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAvCb,QAAA,EAAA,GAuCW,EAAe,EAAA,IAAA,GAAA,SAAA,CAAf,IAAe,CAAb,UAAA,CAAA,CAAA,CAAA;AACT,IAAA,uBAAAH,sBAAA,CAAA,aAAA,CAACF,gDAAgB,IACf,CAAA,kBAAAE,sBAAA,CAAA,aAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,uBAAyB,EAAA;AAAA,UACvB,MAAQ,EAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAA,CAAA;AAAA,SASV;AAAA,OAAA;AAAA,uBAEDA,sBAAA,CAAA,aAAA,CAAAK,qCAAA,EAAA,EAAiB,SAAW,EAAA,aAAA,EAAe,GAC3C,QACH,CAAA,CAAA;AAAA,GAAA;AAAA,EAEF,IAAM,EAAA,OAAO,EAAE,IAAA,EAAW,KAAA;AACxB,IAAM,MAAA,GAAA,GAAMJ,WAAO,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAGhC,IAAA,MAAMC,aAAQ,MAAM;AAClB,MAAAC,WAAA,CAAO,GAAI,CAAA,WAAA,CAAY,iBAAiB,CAAC,EAAE,iBAAkB,EAAA,CAAA;AAC7D,MAAAA,WAAA,CAAO,QAAS,CAAA,aAAA,CAAc,cAAc,CAAC,EAAE,iBAAkB,EAAA,CAAA;AAAA,KAClE,CAAA,CAAA;AAED,IAAM,MAAAC,cAAA,CAAU,KAAM,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AACnC,IAAAD,WAAA,CAAO,IAAK,CAAA,YAAY,CAAE,CAAA,GAAA,CAAI,gBAAiB,EAAA,CAAA;AAAA,GACjD;AACF;;;;;;"}
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { fn, within, waitFor, expect, userEvent } from '@storybook/test';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { BaseOverlayArrow } from './registerOverlayArrow.esm.js';
|
|
4
|
-
import { BasePopover } from './registerPopover.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 './variant-utils-4405ebb0.esm.js';
|
|
11
|
-
import '@react-aria/utils';
|
|
12
|
-
import './contexts-5cb81c2f.esm.js';
|
|
13
|
-
|
|
14
|
-
var __defProp = Object.defineProperty;
|
|
15
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
16
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
17
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
18
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
19
|
-
var __spreadValues = (a, b) => {
|
|
20
|
-
for (var prop in b || (b = {}))
|
|
21
|
-
if (__hasOwnProp.call(b, prop))
|
|
22
|
-
__defNormalProp(a, prop, b[prop]);
|
|
23
|
-
if (__getOwnPropSymbols)
|
|
24
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
25
|
-
if (__propIsEnum.call(b, prop))
|
|
26
|
-
__defNormalProp(a, prop, b[prop]);
|
|
27
|
-
}
|
|
28
|
-
return a;
|
|
29
|
-
};
|
|
30
|
-
var __objRest = (source, exclude) => {
|
|
31
|
-
var target = {};
|
|
32
|
-
for (var prop in source)
|
|
33
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
34
|
-
target[prop] = source[prop];
|
|
35
|
-
if (source != null && __getOwnPropSymbols)
|
|
36
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
37
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
38
|
-
target[prop] = source[prop];
|
|
39
|
-
}
|
|
40
|
-
return target;
|
|
41
|
-
};
|
|
42
|
-
const meta = {
|
|
43
|
-
title: "Components/BasePopover",
|
|
44
|
-
component: BasePopover,
|
|
45
|
-
args: {
|
|
46
|
-
onOpenChange: fn(),
|
|
47
|
-
children: /* @__PURE__ */ React.createElement("div", { "data-testid": "popover-content" }, /* @__PURE__ */ React.createElement("h2", null, "Standalone Popover"), /* @__PURE__ */ React.createElement("p", null, "This popover is rendered without a trigger"))
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
const Standalone = {
|
|
51
|
-
play: async ({ args }) => {
|
|
52
|
-
const doc = within(document.body);
|
|
53
|
-
await waitFor(() => {
|
|
54
|
-
expect(doc.getByTestId("popover-content")).toBeInTheDocument();
|
|
55
|
-
});
|
|
56
|
-
await userEvent.click(document.body);
|
|
57
|
-
expect(args.onOpenChange).not.toHaveBeenCalled();
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const WithArrow = {
|
|
61
|
-
render: (_a) => {
|
|
62
|
-
var _b = _a, { children } = _b, args = __objRest(_b, ["children"]);
|
|
63
|
-
return /* @__PURE__ */ React.createElement(BasePopover, __spreadValues({}, args), /* @__PURE__ */ React.createElement(
|
|
64
|
-
"style",
|
|
65
|
-
{
|
|
66
|
-
dangerouslySetInnerHTML: {
|
|
67
|
-
__html: `
|
|
68
|
-
.triangle-up {
|
|
69
|
-
width: 1px;
|
|
70
|
-
height: 1px;
|
|
71
|
-
border-left: 10px solid transparent;
|
|
72
|
-
border-right: 10px solid transparent;
|
|
73
|
-
border-bottom: 10px solid black;
|
|
74
|
-
}
|
|
75
|
-
`
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
), /* @__PURE__ */ React.createElement(BaseOverlayArrow, { className: "triangle-up" }), children);
|
|
79
|
-
},
|
|
80
|
-
play: async ({ args }) => {
|
|
81
|
-
const doc = within(document.body);
|
|
82
|
-
await waitFor(() => {
|
|
83
|
-
expect(doc.getByTestId("popover-content")).toBeInTheDocument();
|
|
84
|
-
expect(document.querySelector(".triangle-up")).toBeInTheDocument();
|
|
85
|
-
});
|
|
86
|
-
await userEvent.click(document.body);
|
|
87
|
-
expect(args.onOpenChange).not.toHaveBeenCalled();
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
export { Standalone, WithArrow, meta as default };
|
|
92
|
-
//# sourceMappingURL=registerPopover.stories.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"registerPopover.stories.esm.js","sources":["../src/registerPopover.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from \"@storybook/react\";\nimport { expect, fn, userEvent, waitFor, within } from \"@storybook/test\";\nimport React from \"react\";\nimport { BaseOverlayArrow } from \"./registerOverlayArrow\";\nimport { BasePopover } from \"./registerPopover\";\n\nconst meta: Meta<typeof BasePopover> = {\n title: \"Components/BasePopover\",\n component: BasePopover,\n args: {\n onOpenChange: fn(),\n children: (\n <div data-testid=\"popover-content\">\n <h2>Standalone Popover</h2>\n <p>This popover is rendered without a trigger</p>\n </div>\n ),\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BasePopover>;\n\n// Standalone popover should always remain open, because we assume that popover is always going to be controlled by a parent like Select, Combobox, DialogTrigger, etc, and its only really standalone in component view\nexport const Standalone: Story = {\n play: async ({ args }) => {\n const doc = within(document.body);\n\n // Verify popover is visible\n await waitFor(() => {\n expect(doc.getByTestId(\"popover-content\")).toBeInTheDocument();\n });\n // Click outside should not dismiss popover\n await userEvent.click(document.body);\n expect(args.onOpenChange).not.toHaveBeenCalled();\n },\n};\n\nexport const WithArrow: Story = {\n render: ({ children, ...args }) => (\n <BasePopover {...args}>\n <style\n dangerouslySetInnerHTML={{\n __html: `\n .triangle-up {\n width: 1px;\n height: 1px;\n border-left: 10px solid transparent;\n border-right: 10px solid transparent;\n border-bottom: 10px solid black;\n }\n `,\n }}\n />\n <BaseOverlayArrow className={\"triangle-up\"} />\n {children}\n </BasePopover>\n ),\n play: async ({ args }) => {\n const doc = within(document.body);\n\n // Verify popover is visible\n await waitFor(() => {\n expect(doc.getByTestId(\"popover-content\")).toBeInTheDocument();\n expect(document.querySelector(\".triangle-up\")).toBeInTheDocument();\n });\n // Click outside should not dismiss popover\n await userEvent.click(document.body);\n expect(args.onOpenChange).not.toHaveBeenCalled();\n },\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM,IAAiC,GAAA;AAAA,EACrC,KAAO,EAAA,wBAAA;AAAA,EACP,SAAW,EAAA,WAAA;AAAA,EACX,IAAM,EAAA;AAAA,IACJ,cAAc,EAAG,EAAA;AAAA,IACjB,QACE,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAI,EAAA,EAAA,aAAA,EAAY,iBACf,EAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,IAAG,EAAA,IAAA,EAAA,oBAAkB,CACtB,kBAAA,KAAA,CAAA,aAAA,CAAC,GAAE,EAAA,IAAA,EAAA,4CAA0C,CAC/C,CAAA;AAAA,GAEJ;AACF,EAAA;AAMO,MAAM,UAAoB,GAAA;AAAA,EAC/B,IAAM,EAAA,OAAO,EAAE,IAAA,EAAW,KAAA;AACxB,IAAM,MAAA,GAAA,GAAM,MAAO,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAGhC,IAAA,MAAM,QAAQ,MAAM;AAClB,MAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,iBAAiB,CAAC,EAAE,iBAAkB,EAAA,CAAA;AAAA,KAC9D,CAAA,CAAA;AAED,IAAM,MAAA,SAAA,CAAU,KAAM,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AACnC,IAAA,MAAA,CAAO,IAAK,CAAA,YAAY,CAAE,CAAA,GAAA,CAAI,gBAAiB,EAAA,CAAA;AAAA,GACjD;AACF,EAAA;AAEO,MAAM,SAAmB,GAAA;AAAA,EAC9B,MAAA,EAAQ,CAAC,EAAuB,KAAA;AAAvB,IAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAvCb,QAAA,EAAA,GAuCW,EAAe,EAAA,IAAA,GAAA,SAAA,CAAf,IAAe,CAAb,UAAA,CAAA,CAAA,CAAA;AACT,IAAA,uBAAA,KAAA,CAAA,aAAA,CAAC,gCAAgB,IACf,CAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,uBAAyB,EAAA;AAAA,UACvB,MAAQ,EAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAAA,CAAA;AAAA,SASV;AAAA,OAAA;AAAA,uBAED,KAAA,CAAA,aAAA,CAAA,gBAAA,EAAA,EAAiB,SAAW,EAAA,aAAA,EAAe,GAC3C,QACH,CAAA,CAAA;AAAA,GAAA;AAAA,EAEF,IAAM,EAAA,OAAO,EAAE,IAAA,EAAW,KAAA;AACxB,IAAM,MAAA,GAAA,GAAM,MAAO,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AAGhC,IAAA,MAAM,QAAQ,MAAM;AAClB,MAAA,MAAA,CAAO,GAAI,CAAA,WAAA,CAAY,iBAAiB,CAAC,EAAE,iBAAkB,EAAA,CAAA;AAC7D,MAAA,MAAA,CAAO,QAAS,CAAA,aAAA,CAAc,cAAc,CAAC,EAAE,iBAAkB,EAAA,CAAA;AAAA,KAClE,CAAA,CAAA;AAED,IAAM,MAAA,SAAA,CAAU,KAAM,CAAA,QAAA,CAAS,IAAI,CAAA,CAAA;AACnC,IAAA,MAAA,CAAO,IAAK,CAAA,YAAY,CAAE,CAAA,GAAA,CAAI,gBAAiB,EAAA,CAAA;AAAA,GACjD;AACF;;;;"}
|