stargazer-ui 1.5.2 → 1.5.4

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 (59) hide show
  1. package/Button/Button.js +3 -2
  2. package/Button/Button.js.map +1 -1
  3. package/ButtonGroup/ButtonGroup.js +3 -2
  4. package/ButtonGroup/ButtonGroup.js.map +1 -1
  5. package/Card/Card.js +8 -7
  6. package/Card/Card.js.map +1 -1
  7. package/CloseButton/CloseButton.js +3 -3
  8. package/CloseButton/CloseButton.js.map +1 -1
  9. package/Dropdown/Dropdown.d.ts +5 -1
  10. package/Dropdown/Dropdown.js +29 -22
  11. package/Dropdown/Dropdown.js.map +1 -1
  12. package/Dropdown/Dropdown.types.d.ts +2 -1
  13. package/FileUploadButton/FileUploadButton.js +3 -4
  14. package/FileUploadButton/FileUploadButton.js.map +1 -1
  15. package/FloatingLabel/FloatingLabel.js +3 -5
  16. package/FloatingLabel/FloatingLabel.js.map +1 -1
  17. package/Form/Form.d.ts +11 -15
  18. package/Form/Form.js +29 -176
  19. package/Form/Form.js.map +1 -1
  20. package/Form/Form.types.d.ts +33 -12
  21. package/Form/FormSelect.d.ts +15 -0
  22. package/Form/FormSelect.js +372 -0
  23. package/Form/FormSelect.js.map +1 -0
  24. package/InputGroup/InputGroup.js +5 -5
  25. package/InputGroup/InputGroup.js.map +1 -1
  26. package/List/List.d.ts +1 -1
  27. package/List/List.js +10 -9
  28. package/List/List.js.map +1 -1
  29. package/Modal/Modal.js +22 -23
  30. package/Modal/Modal.js.map +1 -1
  31. package/Nav/Nav.js +5 -4
  32. package/Nav/Nav.js.map +1 -1
  33. package/NavBar/Navbar.js +6 -6
  34. package/NavBar/Navbar.js.map +1 -1
  35. package/NavDropdown/NavDropdown.d.ts +2 -0
  36. package/NavDropdown/NavDropdown.js +3 -5
  37. package/NavDropdown/NavDropdown.js.map +1 -1
  38. package/Overlay/Overlay.js +15 -22
  39. package/Overlay/Overlay.js.map +1 -1
  40. package/Popout/Popout.js +8 -7
  41. package/Popout/Popout.js.map +1 -1
  42. package/Spinner/Spinner.js +3 -4
  43. package/Spinner/Spinner.js.map +1 -1
  44. package/Table/Table.js +3 -2
  45. package/Table/Table.js.map +1 -1
  46. package/Tabs/Tabs.js +29 -35
  47. package/Tabs/Tabs.js.map +1 -1
  48. package/ToggleButton/ToggleButton.js +3 -2
  49. package/ToggleButton/ToggleButton.js.map +1 -1
  50. package/package.json +1 -1
  51. package/styles/stargazerui.css +56 -29
  52. package/styles/stargazerui.css.map +1 -1
  53. package/utils/BaseTypes.d.ts +2 -1
  54. package/utils/CreateSyntheticEvent.d.ts +3 -0
  55. package/utils/CreateSyntheticEvent.js +33 -0
  56. package/utils/CreateSyntheticEvent.js.map +1 -0
  57. package/utils/IsInputKey.d.ts +7 -0
  58. package/utils/IsInputKey.js +20 -0
  59. package/utils/IsInputKey.js.map +1 -0
@@ -0,0 +1,372 @@
1
+ 'use client';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import { createContext, forwardRef, useMemo, useRef, useState, useContext } from 'react';
4
+ import Overlay from '../Overlay/Overlay.js';
5
+ import { useFormTagContext, useFormContext, ErrorMessage, HintMessage } from './Form.js';
6
+ import mergeRefs from '../utils/MergeRefs.js';
7
+ import mergeClassnames from '../utils/MergeClassnames.js';
8
+ import createSyntheticEvent from '../utils/CreateSyntheticEvent.js';
9
+ import { isValidInputKey } from '../utils/IsInputKey.js';
10
+
11
+ const SelectContext = createContext(null);
12
+ const SelectContextProvider = ({ children, value }) => {
13
+ return (jsx(SelectContext.Provider, { value: value, children: children }));
14
+ };
15
+ const useSelectContext = () => {
16
+ const context = useContext(SelectContext);
17
+ if (!context) {
18
+ throw new Error("UseSelectContext must be used within a SelectContextProvider!");
19
+ }
20
+ return context;
21
+ };
22
+ const useCustomState = (test, middleware) => {
23
+ const [state, setState] = useState(test);
24
+ const customSetState = (callback, options = { middleware: true }) => {
25
+ let newValue;
26
+ if ((typeof callback) === "function") {
27
+ newValue = callback(state);
28
+ }
29
+ else {
30
+ newValue = callback;
31
+ }
32
+ if (middleware && options.middleware === true)
33
+ middleware(newValue);
34
+ setState(newValue);
35
+ };
36
+ return [state, customSetState];
37
+ };
38
+ const inputKeys = [
39
+ {
40
+ id: "ArrowDown",
41
+ alt: true
42
+ },
43
+ {
44
+ id: "ArrowUp",
45
+ alt: true
46
+ },
47
+ { id: "Home" }, { id: "End" }, { id: "Enter" }, { id: "Escape" },
48
+ { id: "PageDown" }, { id: "PageUp" }, { id: " " }, { id: "Tab" }
49
+ ];
50
+ const Select = forwardRef(({ children, className, id, required = false, disabled = false, value, ref: ref2, errorAsOverlay, error, hint, "aria-describedby": ariaDescribedby, onClick, onBlur, onKeyUp, onKeyDown, onChange, ...restProps }, ref) => {
51
+ const { noValidate } = useFormTagContext();
52
+ const { controlId, isInputGroup, isFLoatingLabel } = useFormContext();
53
+ const isOverlay = isInputGroup || isFLoatingLabel || errorAsOverlay;
54
+ const computedClassName = mergeClassnames("sg-form-select", className, error ? "invalid" : "", disabled ? "disabled" : "");
55
+ let elementId = controlId ?? id;
56
+ if (elementId === undefined) {
57
+ throw new Error("Form.Select needs to have an id, either provided directly through the 'id' property or wrapped in a Form.Group with a 'controlId' !");
58
+ }
59
+ const hasValidChildren = useMemo(() => {
60
+ if (!children || !Array.isArray(children))
61
+ return false;
62
+ let isValid = true;
63
+ children.forEach(child => {
64
+ if (child.props.value === undefined || child.props.value === null) {
65
+ isValid = false;
66
+ }
67
+ });
68
+ if (children[0].props.value && children[0].props.value != "") {
69
+ console.warn("It is recommended to have the first select option in a 'Form.Select' to be a placeholder like 'Select option...' with a value of an empty string");
70
+ }
71
+ return isValid;
72
+ }, [children]);
73
+ if (!hasValidChildren || !Array.isArray(children)) {
74
+ throw new Error("Form.Select needs to have 1 or more 'Form.Select.Option' children, each with value attributes!");
75
+ }
76
+ const errorMessageId = error ? elementId + "-error-message" : undefined;
77
+ const hintMessageId = hint ? elementId + "-hint-message" : undefined;
78
+ const tooltipMessage = isOverlay && (error || hint) ?
79
+ jsxs("div", { className: "sg-form-control-description tooltip", children: [error ? jsx(ErrorMessage, { id: errorMessageId, message: error.message }) : null, hint ? jsx(HintMessage, { id: hintMessageId, message: hint.message }) : null] }) : undefined; // "Testing a tooltip with a long message. This messsage is so long it hsould in theory trigger a wrap."
80
+ const describedby = mergeClassnames(ariaDescribedby, errorMessageId, hintMessageId);
81
+ const internalSelectControlRef = useRef(null);
82
+ const [showList, setShowList] = useState(false);
83
+ const initialValue = value ?
84
+ {
85
+ value: value,
86
+ label: children.find(child => child.props.value === value).children ?? "no label found"
87
+ } :
88
+ {
89
+ value: children[0].props.value ?? "",
90
+ label: children[0].props.children ?? "no label found"
91
+ };
92
+ const handleChange = (newValue) => {
93
+ if (!internalSelectControlRef.current)
94
+ return;
95
+ const target = internalSelectControlRef.current;
96
+ target.value = newValue.value;
97
+ const event = new Event('change', { bubbles: true });
98
+ Object.defineProperty(event, 'target', { writable: false, value: target });
99
+ const syntheticEvent = createSyntheticEvent(event);
100
+ if (onChange)
101
+ onChange(syntheticEvent);
102
+ };
103
+ const [activeDescendant, setActiveDescendant] = useState(initialValue.value);
104
+ const [selectedDescendant, setSelectedDescendant] = useCustomState(initialValue, handleChange);
105
+ const [inputValue, setInputValue] = useState("");
106
+ if (value && value !== selectedDescendant.value) {
107
+ const computedLabel = children.find(child => child.props.value === value).props.children ?? "no label found";
108
+ setSelectedDescendant({
109
+ value: value,
110
+ label: computedLabel
111
+ }, { middleware: false });
112
+ }
113
+ const resetFocus = () => {
114
+ setActiveDescendant(selectedDescendant.value);
115
+ };
116
+ const handleSetShowList = (show) => {
117
+ if (!showList) {
118
+ resetFocus();
119
+ }
120
+ setShowList(show);
121
+ };
122
+ const handleClick = (event) => {
123
+ handleSetShowList(prev => !prev);
124
+ /*
125
+ if(!showList) {
126
+ const firstChildValue = children[0].props.value ?? ""
127
+ console.log(firstChildValue)
128
+ setActiveDescendant(firstChildValue)
129
+ }
130
+ */
131
+ if (onClick && event)
132
+ onClick(event);
133
+ };
134
+ const handleBlur = (event) => {
135
+ handleSetShowList(false);
136
+ if (onBlur)
137
+ onBlur(event);
138
+ };
139
+ const changeActiveDescendant = (number, type) => {
140
+ const maxIndex = children.length - 1;
141
+ const minIndex = 0;
142
+ const currentIndex = children.indexOf(children.find(child => child.props.value === activeDescendant));
143
+ let newIndex, temp;
144
+ switch (type) {
145
+ case "add":
146
+ temp = currentIndex + number;
147
+ newIndex = temp > maxIndex ? maxIndex : temp;
148
+ break;
149
+ case "sub":
150
+ temp = currentIndex - number;
151
+ newIndex = temp < minIndex ? minIndex : temp;
152
+ break;
153
+ case "set":
154
+ newIndex = number > maxIndex ? maxIndex : (number < minIndex ? 0 : number);
155
+ break;
156
+ default:
157
+ newIndex = 0;
158
+ break;
159
+ }
160
+ setActiveDescendant(children[newIndex].props.value);
161
+ };
162
+ const handleKeyDown = (event) => {
163
+ const isInputKey = isValidInputKey(event, inputKeys);
164
+ if (onKeyDown)
165
+ onKeyDown(event);
166
+ if (!isInputKey)
167
+ return;
168
+ let isPreventDefault = true;
169
+ let isStopPropagation = true;
170
+ switch (event.key) {
171
+ case "ArrowDown":
172
+ if (showList)
173
+ changeActiveDescendant(1, "add");
174
+ break;
175
+ case "ArrowUp":
176
+ if (showList)
177
+ changeActiveDescendant(1, "sub");
178
+ break;
179
+ case "Tab":
180
+ if (!showList) {
181
+ isPreventDefault = false;
182
+ isStopPropagation = false;
183
+ }
184
+ }
185
+ if (isPreventDefault)
186
+ event.preventDefault();
187
+ if (isStopPropagation)
188
+ event.stopPropagation();
189
+ };
190
+ const handleKeyUp = (event) => {
191
+ const isInputKey = isValidInputKey(event, inputKeys);
192
+ if (onKeyUp)
193
+ onKeyUp(event);
194
+ if (!isInputKey)
195
+ return;
196
+ let isPreventDefault = true;
197
+ let isStopPropagation = true;
198
+ switch (event.key) {
199
+ case "ArrowDown":
200
+ if (!showList) {
201
+ handleSetShowList(true);
202
+ }
203
+ break;
204
+ case "ArrowUp":
205
+ if (!showList) {
206
+ handleSetShowList(true);
207
+ changeActiveDescendant(0, "set");
208
+ }
209
+ break;
210
+ case "Home":
211
+ if (!showList) {
212
+ handleSetShowList(true);
213
+ }
214
+ changeActiveDescendant(0, "set");
215
+ break;
216
+ case "End":
217
+ if (!showList) {
218
+ handleSetShowList(true);
219
+ }
220
+ changeActiveDescendant(children.length - 1, "set");
221
+ break;
222
+ case "Enter":
223
+ case " ":
224
+ handleClick();
225
+ if (showList) {
226
+ const focusElement = document.getElementById(elementId + "-list-item-" + activeDescendant);
227
+ focusElement?.click();
228
+ }
229
+ break;
230
+ case "Escape":
231
+ if (showList) {
232
+ handleSetShowList(false);
233
+ }
234
+ break;
235
+ case "PageDown":
236
+ changeActiveDescendant(10, "add");
237
+ break;
238
+ case "PageUp":
239
+ changeActiveDescendant(10, "sub");
240
+ break;
241
+ case "Tab":
242
+ if (showList) {
243
+ handleClick();
244
+ const focusElement = document.getElementById(elementId + "-list-item-" + activeDescendant);
245
+ focusElement?.click();
246
+ }
247
+ isPreventDefault = false;
248
+ isStopPropagation = false;
249
+ break;
250
+ }
251
+ if (event.key === "Tab")
252
+ console.log(isPreventDefault);
253
+ if (isPreventDefault)
254
+ event.preventDefault();
255
+ if (isStopPropagation)
256
+ event.stopPropagation();
257
+ };
258
+ const context = useMemo(() => ({
259
+ internalId: elementId,
260
+ showList,
261
+ setShowList: handleSetShowList,
262
+ activeDescendant,
263
+ setActiveDescendant,
264
+ inputValue,
265
+ setInputValue,
266
+ selectedDescendant,
267
+ setSelectedDescendant,
268
+ children
269
+ }), [elementId, showList, activeDescendant, inputValue]);
270
+ return (jsxs(SelectContextProvider, { value: context, children: [jsx(Overlay, { trigger: "focus", position: "top", tooltip: tooltipMessage, children: jsx(SelectControl, { value: selectedDescendant.value, label: selectedDescendant.label, ref: mergeRefs([ref, internalSelectControlRef]), className: computedClassName, id: elementId, required: (required && !noValidate) ?? undefined, disabled: disabled, "aria-required": required ?? undefined, "aria-invalid": error ? "true" : "false", "aria-describedby": describedby != "" ? describedby : undefined, onClick: handleClick, onBlur: handleBlur, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, ...restProps, children: jsx(SelectList, { children: children }) }) }), jsxs("div", { className: "sg-form-control-description", children: [error && !isOverlay ?
271
+ jsx(ErrorMessage, { id: elementId, message: error.message, style: error.style, className: error.className })
272
+ : null, hint && !isOverlay ?
273
+ jsx(HintMessage, { id: elementId, message: hint.message, style: hint.style, className: hint.className })
274
+ : null] })] }));
275
+ });
276
+ Select.displayName = "FormSelect";
277
+ const SelectInput = forwardRef(({ className, id, value, onChange, ...restProps }, ref) => {
278
+ const { showList, setShowList, inputValue, setInputValue, internalId } = useSelectContext();
279
+ const handleChange = (event) => {
280
+ console.log(event);
281
+ if (!showList) {
282
+ setShowList(true);
283
+ }
284
+ if (onChange) {
285
+ onChange(event);
286
+ }
287
+ //debouncedInput(event.target.value)
288
+ setInputValue(event.target.value);
289
+ };
290
+ const handleKeyUp = (event) => {
291
+ const key = event.key;
292
+ switch (key) {
293
+ case "ArrowDown":
294
+ console.log("down arrow");
295
+ break;
296
+ case "ArrowUp":
297
+ console.log("up arrow");
298
+ break;
299
+ }
300
+ };
301
+ return (jsx("input", { value: inputValue, ref: ref, onKeyUp: handleKeyUp, onChange: handleChange, className: mergeClassnames("sg-select-input", className), ...restProps }));
302
+ });
303
+ SelectInput.displayName = "FormSelectInput";
304
+ const SelectControl = forwardRef(({ children, className, value, label, searchable = false, required = false, onChange, ...restProps }, ref) => {
305
+ const { activeDescendant, showList, internalId } = useSelectContext();
306
+ const internalButtonRef = useRef(null);
307
+ const computedClassName = mergeClassnames(className, "sg-select-control");
308
+ return (jsxs("button", { role: "combobox", "aria-controls": internalId + "list", "aria-expanded": showList, "aria-activedescendant": activeDescendant === false ? "" : internalId + "-list-item-" + activeDescendant, ref: mergeRefs([ref, internalButtonRef]), value: value, type: "button", className: computedClassName, id: internalId + "-control", ...restProps, children: [jsx("span", { children: label }), children] }));
309
+ });
310
+ SelectControl.displayName = "FormSelectControl";
311
+ /*
312
+ const SelectControlAlternate = forwardRef<HTMLDivElement, FormSelectControlType>( ({children, className, placeholder="Placeholder...", searchable=false, inputRef, inputOptions, ...restProps}, ref) => {
313
+ const { setShowList, internalId } = useSelectContext()
314
+ const selectControlRef = useRef<HTMLDivElement>(null)
315
+
316
+ const handlePointerUp = (event: React.MouseEvent) => {
317
+ setShowList(prev => !prev);
318
+ const selectControl = selectControlRef.current
319
+ if(selectControl) {
320
+ selectControl.classList.add("focus")
321
+ const eventTargetChildren = selectControl.children[0] as HTMLElement
322
+ if(eventTargetChildren) { eventTargetChildren.focus() }
323
+ }
324
+ }
325
+ const inputParams = {...inputOptions, disabled:searchable, placeholder:placeholder, ref:inputRef}
326
+
327
+ return (
328
+ <div ref={mergeRefs([ref, selectControlRef])} onPointerUp={handlePointerUp} className={mergeClassnames("sg-select-control", className)} {...restProps}>
329
+ <SelectInput {...inputParams}/>
330
+ </div>
331
+ )
332
+ })
333
+ SelectControl.displayName = "FormSelectControl"
334
+ */
335
+ const SelectList = forwardRef(({ children, className, id, ...restProps }, ref) => {
336
+ const { showList, internalId } = useSelectContext();
337
+ const listRef = useRef(null);
338
+ return (jsx("ul", { role: "listbox", ref: mergeRefs([ref, listRef]), id: internalId + "-list", className: mergeClassnames("sg-select-list", className), style: showList ? undefined : { display: "none" }, ...restProps, children: children }));
339
+ });
340
+ SelectList.displayName = "FormSelectList";
341
+ const SelectOption = forwardRef(({ children, className, id, value, disabled, label, selected, onPointerDown, onPointerOver, onClick, ...restProps }, ref) => {
342
+ const { internalId, activeDescendant, setActiveDescendant, selectedDescendant, setSelectedDescendant, setShowList } = useSelectContext();
343
+ const handlePointerEnter = (event) => {
344
+ if (!event.target)
345
+ return;
346
+ setActiveDescendant(value);
347
+ if (onPointerOver)
348
+ onPointerOver(event);
349
+ };
350
+ const handleCLick = (event) => {
351
+ event.stopPropagation();
352
+ setSelectedDescendant((prev) => ({
353
+ value: value,
354
+ label: children
355
+ }));
356
+ setShowList(false);
357
+ if (onClick)
358
+ onClick(event);
359
+ };
360
+ const computedClassName = mergeClassnames("sg-select-list-item", className, activeDescendant === value ? "focus" : "");
361
+ return (jsx("li", { role: "option", "aria-selected": selectedDescendant.value === value ? true : false, ref: ref, id: internalId + "-list-item-" + value, className: computedClassName, onPointerOver: handlePointerEnter, onClick: handleCLick, ...restProps, children: children }));
362
+ });
363
+ SelectOption.displayName = "FormSelectOption";
364
+ var Select$1 = Object.assign(Select, {
365
+ Control: SelectControl,
366
+ Input: SelectInput,
367
+ Options: SelectList,
368
+ Option: SelectOption
369
+ });
370
+
371
+ export { SelectContext, SelectContextProvider, Select$1 as default, useSelectContext };
372
+ //# sourceMappingURL=FormSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormSelect.js","sources":["../../src/Form/FormSelect.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;MAWa,aAAa,GAAG,aAAa,CAA2B,IAAI,EAAC;AAC7D,MAAA,qBAAqB,GAAG,CAAC,EAAC,QAAQ,EAAE,KAAK,EAAwD,KAAI;AAC9G,IAAA,QACIA,GAAA,CAAC,aAAa,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,KAAK,EAAA,QAAA,EAC/B,QAAQ,EAAA,CACY,EAC5B;AACL,EAAC;AACM,MAAM,gBAAgB,GAAG,MAAK;AACjC,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAA;IACzC,IAAG,CAAC,OAAO,EAAE;AACT,QAAA,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAA;KACnF;AACD,IAAA,OAAO,OAAO,CAAA;AAClB,EAAC;AAED,MAAM,cAAc,GAAG,CAAC,IAAS,EAAE,UAAgB,KAAoD;IACnG,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;AACxC,IAAA,MAAM,cAAc,GAAG,CAAC,QAAa,EAAE,OAAA,GAAe,EAAC,UAAU,EAAC,IAAI,EAAC,KAAI;AACvE,QAAA,IAAI,QAAQ,CAAA;AACZ,QAAA,IAAI,CAAC,OAAO,QAAQ,MAAM,UAAU,EAAE;AAClC,YAAA,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;SAC7B;aAAM;YACH,QAAQ,GAAG,QAAQ,CAAA;SACtB;AACD,QAAA,IAAG,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI;YAAE,UAAU,CAAC,QAAQ,CAAC,CAAA;QAClE,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACtB,KAAC,CAAA;AACD,IAAA,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,SAAS,GAAmB;AAC9B,IAAA;AACI,QAAA,EAAE,EAAE,WAAW;AACf,QAAA,GAAG,EAAE,IAAI;AACZ,KAAA;AACD,IAAA;AACI,QAAA,EAAE,EAAE,SAAS;AACb,QAAA,GAAG,EAAE,IAAI;AACZ,KAAA;IACD,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;IAChE,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE;CACnE,CAAA;AAGD,MAAM,MAAM,GAAG,UAAU,CAAqC,CAAC,EACvD,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,GAAC,KAAK,EAAE,QAAQ,GAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EACzE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAC,eAAe,EAC/D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAC7C,GAAG,SAAS,EACf,EAAE,GAAG,KAAI;AACV,IAAA,MAAM,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAAA;IAC1C,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,cAAc,EAAE,CAAA;AACrE,IAAA,MAAM,SAAS,GAAG,YAAY,IAAI,eAAe,IAAI,cAAc,CAAA;AACnE,IAAA,MAAM,iBAAiB,GAAG,eAAe,CACrC,gBAAgB,EAAE,SAAS,EAAE,KAAK,GAAG,SAAS,GAAC,EAAE,EAAE,QAAQ,GAAG,UAAU,GAAC,EAAE,CAC9E,CAAA;AAED,IAAA,IAAI,SAAS,GAAG,SAAS,IAAI,EAAE,CAAA;AAC/B,IAAA,IAAG,SAAS,KAAK,SAAS,EAAE;AACxB,QAAA,MAAM,IAAI,KAAK,CACX,qIAAqI,CACxI,CAAA;KACJ;AACD,IAAA,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAK;QAClC,IAAG,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;AAAE,YAAA,OAAO,KAAK,CAAA;QAEtD,IAAI,OAAO,GAAG,IAAI,CAAA;AAClB,QAAA,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAG;AACrB,YAAA,IAAG,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE;gBAC9D,OAAO,GAAG,KAAK,CAAA;aAClB;AACL,SAAC,CAAC,CAAA;QACF,IAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE;AACzD,YAAA,OAAO,CAAC,IAAI,CAAC,kJAAkJ,CAAC,CAAA;SACnK;AACD,QAAA,OAAO,OAAO,CAAA;AAClB,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IACd,IAAG,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC9C,QAAA,MAAM,IAAI,KAAK,CACX,gGAAgG,CACnG,CAAA;KACJ;AAED,IAAA,MAAM,cAAc,GAAG,KAAK,GAAG,SAAS,GAAC,gBAAgB,GAAC,SAAS,CAAA;AACnE,IAAA,MAAM,aAAa,GAAG,IAAI,GAAG,SAAS,GAAC,eAAe,GAAC,SAAS,CAAA;IAChE,MAAM,cAAc,GAAG,SAAS,KAAK,KAAK,IAAI,IAAI,CAAC;QAC/CC,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,qCAAqC,EAC/C,QAAA,EAAA,CAAA,KAAK,GAAED,GAAC,CAAA,YAAY,EAAC,EAAA,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAA,CAAI,GAAG,IAAI,EAC1E,IAAI,GAAEA,GAAC,CAAA,WAAW,EAAC,EAAA,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAI,CAAA,GAAG,IAAI,CAAA,EAAA,CACrE,GAAG,SAAS,CAAA;IAEtB,MAAM,WAAW,GAAG,eAAe,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,CAAC,CAAA;AAEnF,IAAA,MAAM,wBAAwB,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAA;IAChE,MAAM,CAAE,QAAQ,EAAE,WAAW,CAAE,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;AAE1D,IAAA,MAAM,YAAY,GAAG,KAAK;AACtB,QAAA;AACI,YAAA,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,QAAQ,IAAI,gBAAgB;AAC1F,SAAA;AACD,QAAA;YACI,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YACpC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,gBAAgB;SACxD,CAAA;AACL,IAAA,MAAM,YAAY,GAAG,CAAC,QAAa,KAAI;QACnC,IAAG,CAAC,wBAAwB,CAAC,OAAO;YAAE,OAAM;AAE5C,QAAA,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAA;AAC/C,QAAA,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC9B,QAAA,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AACrD,QAAA,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;AAC1E,QAAA,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAqC,CAAC;AACvF,QAAA,IAAG,QAAQ;YAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC1C,KAAC,CAAA;AACD,IAAA,MAAM,CAAE,gBAAgB,EAAE,mBAAmB,CAAE,GAAG,QAAQ,CAAM,YAAY,CAAC,KAAK,CAAC,CAAA;AACnF,IAAA,MAAM,CAAE,kBAAkB,EAAE,qBAAqB,CAAE,GAAG,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAChG,MAAM,CAAE,UAAU,EAAE,aAAa,CAAE,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAA;IAE1D,IAAG,KAAK,IAAI,KAAK,KAAK,kBAAkB,CAAC,KAAK,EAAE;QAC5C,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,gBAAgB,CAAA;AAE5G,QAAA,qBAAqB,CAAC;AAClB,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,KAAK,EAAE,aAAa;AACvB,SAAA,EAAE,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,CAAA;KAC1B;IAED,MAAM,UAAU,GAAG,MAAK;AACrB,QAAA,mBAAmB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAChD,KAAC,CAAA;AACD,IAAA,MAAM,iBAAiB,GAAG,CAAC,IAA2C,KAAI;QACtE,IAAG,CAAC,QAAQ,EAAE;AACV,YAAA,UAAU,EAAE,CAAA;SACf;QACD,WAAW,CAAC,IAAI,CAAC,CAAA;AACrB,KAAC,CAAA;AAED,IAAA,MAAM,WAAW,GAAG,CAAC,KAA2C,KAAI;QAChE,iBAAiB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;AAChC;;;;;;AAME;QACF,IAAG,OAAO,IAAI,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,CAAA;AACvC,KAAC,CAAA;AACD,IAAA,MAAM,UAAU,GAAG,CAAC,KAA0C,KAAI;QAC9D,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACxB,QAAA,IAAG,MAAM;YAAE,MAAM,CAAC,KAAK,CAAC,CAAA;AAC5B,KAAC,CAAA;AAED,IAAA,MAAM,sBAAsB,GAAG,CAAC,MAAc,EAAE,IAAY,KAAI;AAC5D,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;QACpC,MAAM,QAAQ,GAAG,CAAC,CAAA;QAClB,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAA;QACrG,IAAI,QAAQ,EAAE,IAAI,CAAA;QAClB,QAAQ,IAAI;AACR,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,GAAG,YAAY,GAAG,MAAM,CAAA;AAC5B,gBAAA,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAA;gBAC5C,MAAK;AACT,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,GAAG,YAAY,GAAG,MAAM,CAAA;AAC5B,gBAAA,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAAA;gBAC5C,MAAK;AACT,YAAA,KAAK,KAAK;gBACN,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,IAAI,MAAM,GAAG,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,CAAA;gBAC1E,MAAK;AACT,YAAA;gBACI,QAAQ,GAAG,CAAC,CAAA;gBACZ,MAAK;SACZ;QACD,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;AACvD,KAAC,CAAA;AACD,IAAA,MAAM,aAAa,GAAG,CAAC,KAA6C,KAAI;QACpE,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AACpD,QAAA,IAAG,SAAS;YAAE,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,QAAA,IAAG,CAAC,UAAU;YAAE,OAAM;QAEtB,IAAI,gBAAgB,GAAG,IAAI,CAAA;QAC3B,IAAI,iBAAiB,GAAG,IAAI,CAAA;AAE5B,QAAA,QAAQ,KAAK,CAAC,GAAG;AACb,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAG,QAAQ;AAAE,oBAAA,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBAC7C,MAAK;AACT,YAAA,KAAK,SAAS;AACV,gBAAA,IAAG,QAAQ;AAAE,oBAAA,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBAC7C,MAAK;AACT,YAAA,KAAK,KAAK;gBACN,IAAG,CAAC,QAAQ,EAAE;oBACV,gBAAgB,GAAG,KAAK,CAAA;oBACxB,iBAAiB,GAAG,KAAK,CAAA;iBAC5B;SACR;AACD,QAAA,IAAG,gBAAgB;YAAE,KAAK,CAAC,cAAc,EAAE,CAAA;AAC3C,QAAA,IAAG,iBAAiB;YAAE,KAAK,CAAC,eAAe,EAAE,CAAA;AACjD,KAAC,CAAA;AACD,IAAA,MAAM,WAAW,GAAG,CAAC,KAA6C,KAAI;QAClE,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;AACpD,QAAA,IAAG,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,CAAA;AAC1B,QAAA,IAAG,CAAC,UAAU;YAAE,OAAM;QAEtB,IAAI,gBAAgB,GAAG,IAAI,CAAA;QAC3B,IAAI,iBAAiB,GAAG,IAAI,CAAA;AAC5B,QAAA,QAAO,KAAK,CAAC,GAAG;AACZ,YAAA,KAAK,WAAW;gBACZ,IAAG,CAAC,QAAQ,EAAE;oBACV,iBAAiB,CAAC,IAAI,CAAC,CAAA;iBAC1B;gBACD,MAAK;AACT,YAAA,KAAK,SAAS;gBACV,IAAG,CAAC,QAAQ,EAAE;oBACV,iBAAiB,CAAC,IAAI,CAAC,CAAA;AACvB,oBAAA,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;iBACnC;gBACD,MAAK;AACT,YAAA,KAAK,MAAM;gBACP,IAAG,CAAC,QAAQ,EAAE;oBACV,iBAAiB,CAAC,IAAI,CAAC,CAAA;iBAC1B;AACD,gBAAA,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBAChC,MAAK;AACT,YAAA,KAAK,KAAK;gBACN,IAAG,CAAC,QAAQ,EAAE;oBACV,iBAAiB,CAAC,IAAI,CAAC,CAAA;iBAC1B;gBACD,sBAAsB,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;gBAClD,MAAK;AACT,YAAA,KAAK,OAAO,CAAC;AACb,YAAA,KAAK,GAAG;AACJ,gBAAA,WAAW,EAAE,CAAA;gBACb,IAAG,QAAQ,EAAE;AACT,oBAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,GAAC,aAAa,GAAC,gBAAgB,CAAC,CAAA;oBACtF,YAAY,EAAE,KAAK,EAAE,CAAA;iBACxB;gBACD,MAAK;AACT,YAAA,KAAK,QAAQ;gBACT,IAAG,QAAQ,EAAE;oBACT,iBAAiB,CAAC,KAAK,CAAC,CAAA;iBAC3B;gBACD,MAAK;AACT,YAAA,KAAK,UAAU;AACX,gBAAA,sBAAsB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;gBACjC,MAAK;AACT,YAAA,KAAK,QAAQ;AACT,gBAAA,sBAAsB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;gBACjC,MAAK;AACT,YAAA,KAAK,KAAK;gBACN,IAAG,QAAQ,EAAE;AACT,oBAAA,WAAW,EAAE,CAAA;AACb,oBAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,SAAS,GAAC,aAAa,GAAC,gBAAgB,CAAC,CAAA;oBACtF,YAAY,EAAE,KAAK,EAAE,CAAA;iBACxB;gBACD,gBAAgB,GAAG,KAAK,CAAA;gBACxB,iBAAiB,GAAG,KAAK,CAAA;gBACzB,MAAK;SACZ;AACD,QAAA,IAAG,KAAK,CAAC,GAAG,KAAK,KAAK;AAAE,YAAA,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;AACrD,QAAA,IAAG,gBAAgB;YAAE,KAAK,CAAC,cAAc,EAAE,CAAA;AAC3C,QAAA,IAAG,iBAAiB;YAAE,KAAK,CAAC,eAAe,EAAE,CAAA;AACjD,KAAC,CAAA;AAED,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;AAC3B,QAAA,UAAU,EAAE,SAAS;QACrB,QAAQ;AACR,QAAA,WAAW,EAAE,iBAAiB;QAC9B,gBAAgB;QAChB,mBAAmB;QACnB,UAAU;QACV,aAAa;QACb,kBAAkB;QAClB,qBAAqB;QACrB,QAAQ;KACX,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,CAAE,CAAC,CAAA;AAEzD,IAAA,QACIC,IAAA,CAAC,qBAAqB,EAAA,EAAC,KAAK,EAAE,OAAO,EAAA,QAAA,EAAA,CACjCD,GAAC,CAAA,OAAO,EAAC,EAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAC,KAAK,EAAC,OAAO,EAAE,cAAc,EAAA,QAAA,EAC7DA,GAAC,CAAA,aAAa,EACV,EAAA,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC,EACjH,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,QAAQ,IAAI,CAAC,UAAU,KAAK,SAAS,EAAG,QAAQ,EAAE,QAAQ,EACnG,eAAA,EAAA,QAAQ,IAAI,SAAS,EAAgB,cAAA,EAAA,KAAK,GAAG,MAAM,GAAC,OAAO,EAAA,kBAAA,EAAoB,WAAW,IAAI,EAAE,GAAG,WAAW,GAAG,SAAS,EACzI,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EACpF,GAAA,SAAS,YAEbA,GAAC,CAAA,UAAU,EACN,EAAA,QAAA,EAAA,QAAQ,EACA,CAAA,EAAA,CACD,EACV,CAAA,EACVC,cAAK,SAAS,EAAC,6BAA6B,EAAA,QAAA,EAAA,CACvC,KAAK,IAAI,CAAC,SAAS;wBAChBD,GAAC,CAAA,YAAY,IAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAG,CAAA;0BACpG,IAAI,EACT,IAAI,IAAI,CAAC,SAAS;wBACfA,GAAC,CAAA,WAAW,IAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAG,CAAA;AAClG,0BAAE,IAAI,CACR,EAAA,CAAA,CAAA,EAAA,CACc,EAC3B;AACL,CAAC,CAAC,CAAA;AACF,MAAM,CAAC,WAAW,GAAG,YAAY,CAAA;AAEjC,MAAM,WAAW,GAAG,UAAU,CAAyC,CAAC,EAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAC,EAAE,GAAG,KAAK;AAC5H,IAAA,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAA;AAO3F,IAAA,MAAM,YAAY,GAAG,CAAC,KAA0C,KAAI;AAChE,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAClB,IAAG,CAAC,QAAQ,EAAE;YAAE,WAAW,CAAC,IAAI,CAAC,CAAA;SAAE;QACnC,IAAG,QAAQ,EAAE;YAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;SAAE;;AAEhC,QAAA,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACrC,KAAC,CAAA;AACD,IAAA,MAAM,WAAW,GAAG,CAAC,KAA0B,KAAI;AAC/C,QAAA,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;QACrB,QAAO,GAAG;AACN,YAAA,KAAK,WAAW;AACZ,gBAAA,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;gBACzB,MAAK;AACT,YAAA,KAAK,SAAS;AACV,gBAAA,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;gBACvB,MAAK;SACZ;AACL,KAAC,CAAA;AAGD,IAAA,QACIA,GAAA,CAAA,OAAA,EAAA,EAAO,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAC9B,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAC5C,SAAS,EAAE,eAAe,CAAC,iBAAiB,EAAE,SAAS,CAAC,EAAA,GACpD,SAAS,EAAA,CACf,EACL;AACL,CAAC,CAAC,CAAA;AACF,WAAW,CAAC,WAAW,GAAG,iBAAiB,CAAA;AAE3C,MAAM,aAAa,GAAG,UAAU,CAA4C,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,GAAC,KAAK,EAAE,QAAQ,GAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAC,EAAE,GAAG,KAAI;IAC/K,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAA;AACrE,IAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IAEtC,MAAM,iBAAiB,GAAG,eAAe,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;AAEzE,IAAA,QACIC,IAAA,CAAA,QAAA,EAAA,EACI,IAAI,EAAC,UAAU,EAAA,eAAA,EAAgB,UAAU,GAAC,MAAM,EAAA,eAAA,EAAiB,QAAQ,EAAA,uBAAA,EAAyB,gBAAgB,KAAK,KAAK,GAAG,EAAE,GAAC,UAAU,GAAC,aAAa,GAAC,gBAAgB,EAC3K,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,QAAQ,EACrE,SAAS,EAAE,iBAAiB,EAAE,EAAE,EAAE,UAAU,GAAC,UAAU,KACnD,SAAS,EAAA,QAAA,EAAA,CAEbD,GAAO,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,KAAK,EAAQ,CAAA,EACnB,QAAQ,CAAA,EAAA,CACJ,EACZ;AACL,CAAC,CAAC,CAAA;AACF,aAAa,CAAC,WAAW,GAAG,mBAAmB,CAAA;AAC/C;;;;;;;;;;;;;;;;;;;;;;;AAuBE;AAEF,MAAM,UAAU,GAAG,UAAU,CAAwC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,GAAG,SAAS,EAAC,EAAE,GAAG,KAAI;IAClH,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,CAAA;AAEnD,IAAA,MAAM,OAAO,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAE9C,QACIA,GAAI,CAAA,IAAA,EAAA,EAAA,IAAI,EAAC,SAAS,EACd,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,GAAC,OAAO,EACtD,SAAS,EAAE,eAAe,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,EAAC,OAAO,EAAC,MAAM,EAAC,EACnG,GAAA,SAAS,EACZ,QAAA,EAAA,QAAQ,EACR,CAAA,EACR;AACL,CAAC,CAAC,CAAA;AACF,UAAU,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAEzC,MAAM,YAAY,GAAG,UAAU,CAAsC,CAAC,EAC9D,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EACzD,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,SAAS,EACtD,EAAE,GAAG,KAAI;AACV,IAAA,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,WAAW,EAAE,GAAG,gBAAgB,EAAE,CAAA;AACxI,IAAA,MAAM,kBAAkB,GAAG,CAAC,KAAwC,KAAI;QACpE,IAAG,CAAC,KAAK,CAAC,MAAM;YAAE,OAAM;QACxB,mBAAmB,CAAC,KAAK,CAAC,CAAA;AAC1B,QAAA,IAAG,aAAa;YAAE,aAAa,CAAC,KAAK,CAAC,CAAA;AAC1C,KAAC,CAAA;AACD,IAAA,MAAM,WAAW,GAAG,CAAC,KAAsC,KAAI;QAC3D,KAAK,CAAC,eAAe,EAAE,CAAA;AAEvB,QAAA,qBAAqB,CAAE,CAAC,IAAQ,MAAM;AAClC,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,KAAK,EAAE,QAAQ;AAClB,SAAA,CAAC,CAAC,CAAA;QACH,WAAW,CAAC,KAAK,CAAC,CAAA;AAElB,QAAA,IAAG,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,CAAA;AAC9B,KAAC,CAAA;IAED,MAAM,iBAAiB,GAAG,eAAe,CAAC,qBAAqB,EAAE,SAAS,EAAE,gBAAgB,KAAK,KAAK,GAAG,OAAO,GAAC,EAAE,CAAC,CAAA;IACpH,QACIA,YAAI,IAAI,EAAC,QAAQ,EAAgB,eAAA,EAAA,kBAAkB,CAAC,KAAK,KAAK,KAAK,GAAG,IAAI,GAAC,KAAK,EAC5E,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,UAAU,GAAC,aAAa,GAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAC1E,aAAa,EAAE,kBAAkB,EAAE,OAAO,EAAE,WAAW,EAAA,GACnD,SAAS,EAEZ,QAAA,EAAA,QAAQ,EACR,CAAA,EACR;AACL,CAAC,CAAC,CAAA;AACF,YAAY,CAAC,WAAW,GAAG,kBAAkB,CAAA;AAE7C,eAAe,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE;AACjC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,MAAM,EAAE,YAAY;AACvB,CAAA,CAAC;;;;"}
@@ -1,5 +1,6 @@
1
1
  'use client';
2
- import React, { forwardRef, useMemo } from 'react';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { forwardRef, useMemo } from 'react';
3
4
  import { FormContextProvider, useFormContext } from '../Form/Form.js';
4
5
  import useClassname from '../hooks/useClassname.js';
5
6
  import 'lodash';
@@ -8,18 +9,17 @@ const InputGroup = forwardRef(({ children, className, controlId, ...restProps },
8
9
  const context = useMemo(() => {
9
10
  return { controlId: controlId, isInputGroup: true };
10
11
  }, [controlId]);
11
- return (React.createElement("div", { ref: ref, className: useClassname("sg-input-group", className), ...restProps },
12
- React.createElement(FormContextProvider, { value: context }, children)));
12
+ return (jsx("div", { ref: ref, className: useClassname("sg-input-group", className), ...restProps, children: jsx(FormContextProvider, { value: context, children: children }) }));
13
13
  });
14
14
  InputGroup.displayName = "InputGroup";
15
15
  const Grid = forwardRef(({ children, className, ...restProps }, ref) => {
16
- return (React.createElement("div", { ref: ref, className: useClassname("sg-input-group-grid", className) }, children));
16
+ return (jsx("div", { ref: ref, className: useClassname("sg-input-group-grid", className), ...restProps, children: children }));
17
17
  });
18
18
  Grid.displayName = "InputGroupGrid";
19
19
  const Text = forwardRef(({ children, className, htmlFor, ...restProps }, ref) => {
20
20
  const { controlId } = useFormContext();
21
21
  const computedHtmlFor = controlId ?? htmlFor;
22
- return (React.createElement("label", { ref: ref, htmlFor: computedHtmlFor, className: useClassname("sg-input-group-text", className), ...restProps }, children));
22
+ return (jsx("label", { ref: ref, htmlFor: computedHtmlFor, className: useClassname("sg-input-group-text", className), ...restProps, children: children }));
23
23
  });
24
24
  Text.displayName = "InputGroupText";
25
25
  var InputGroup$1 = Object.assign(InputGroup, {
@@ -1 +1 @@
1
- {"version":3,"file":"InputGroup.js","sources":["../../src/InputGroup/InputGroup.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAOA,MAAM,UAAU,GAAG,UAAU,CAAiC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAG,GAAG,SAAS,EAAC,EAAE,GAAG,KAAI;AACnH,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAK;QACzB,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAC,CAAA;AACrD,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;AACf,IAAA,QACI,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC,KAAM,SAAS,EAAA;QAC9E,KAAC,CAAA,aAAA,CAAA,mBAAmB,EAAC,EAAA,KAAK,EAAE,OAAO,IAC9B,QAAQ,CACS,CACpB,EACT;AACL,CAAC,CAAC,CAAA;AACF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,MAAM,IAAI,GAAG,UAAU,CAAsC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,EAAC,EAAE,GAAG,KAAI;AACtG,IAAA,QACI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,qBAAqB,EAAE,SAAS,CAAC,IACnE,QAAQ,CACP,EACT;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAEnC,MAAM,IAAI,GAAG,UAAU,CAAoC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,EAAC,EAAE,GAAG,KAAI;AAC7G,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAA;AAEtC,IAAA,MAAM,eAAe,GAAG,SAAS,IAAI,OAAO,CAAA;IAC5C,QACI,KAAO,CAAA,aAAA,CAAA,OAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAA,GAAM,SAAS,EAC9G,EAAA,QAAQ,CACL,EACX;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAEnC,mBAAgB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;AACtC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,IAAI;AACb,CAAA,CAAC;;;;"}
1
+ {"version":3,"file":"InputGroup.js","sources":["../../src/InputGroup/InputGroup.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;;;AAOA,MAAM,UAAU,GAAG,UAAU,CAAiC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAG,GAAG,SAAS,EAAC,EAAE,GAAG,KAAI;AACnH,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAK;QACzB,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAC,CAAA;AACrD,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;AACf,IAAA,QACIA,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAM,GAAA,SAAS,EAC9E,QAAA,EAAAA,GAAA,CAAC,mBAAmB,EAAA,EAAC,KAAK,EAAE,OAAO,EAAA,QAAA,EAC9B,QAAQ,EAAA,CACS,EACpB,CAAA,EACT;AACL,CAAC,CAAC,CAAA;AACF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAA;AAErC,MAAM,IAAI,GAAG,UAAU,CAAsC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,EAAC,EAAE,GAAG,KAAI;IACtG,QACIA,aAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAM,GAAA,SAAS,YAClF,QAAQ,EAAA,CACP,EACT;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAEnC,MAAM,IAAI,GAAG,UAAU,CAAoC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAS,EAAC,EAAE,GAAG,KAAI;AAC7G,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAA;AAEtC,IAAA,MAAM,eAAe,GAAG,SAAS,IAAI,OAAO,CAAA;IAC5C,QACIA,GAAO,CAAA,OAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAAA,GAAM,SAAS,EAC9G,QAAA,EAAA,QAAQ,EACL,CAAA,EACX;AACL,CAAC,CAAC,CAAA;AACF,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAA;AAEnC,mBAAgB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;AACtC,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,IAAI,EAAE,IAAI;AACb,CAAA,CAAC;;;;"}
package/List/List.d.ts CHANGED
@@ -4,7 +4,7 @@ export declare const ListContext: React.Context<FormContextType | null>;
4
4
  export declare const ListContextProvider: ({ children, value }: {
5
5
  children: React.ReactNode;
6
6
  value: FormContextType;
7
- }) => React.JSX.Element;
7
+ }) => import("react/jsx-runtime").JSX.Element;
8
8
  export declare const useListContext: () => FormContextType | null;
9
9
  declare const _default: React.ForwardRefExoticComponent<Omit<ListType, "ref"> & React.RefAttributes<HTMLUListElement>> & {
10
10
  Sublist: React.ForwardRefExoticComponent<Omit<ListSublistType, "ref"> & React.RefAttributes<HTMLLIElement>>;
package/List/List.js CHANGED
@@ -1,12 +1,13 @@
1
1
  'use client';
2
- import React, { createContext, forwardRef, useMemo, useRef, cloneElement, useContext } from 'react';
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { createContext, forwardRef, useMemo, useRef, cloneElement, useContext } from 'react';
3
4
  import useDraggable from '../hooks/useDraggable.js';
4
5
  import useClassname from '../hooks/useClassname.js';
5
6
  import mergeRefs from '../utils/MergeRefs.js';
6
7
 
7
8
  const ListContext = createContext(null);
8
9
  const ListContextProvider = ({ children, value }) => {
9
- return (React.createElement(ListContext.Provider, { value: value }, children));
10
+ return (jsx(ListContext.Provider, { value: value, children: children }));
10
11
  };
11
12
  const useListContext = () => {
12
13
  const context = useContext(ListContext);
@@ -25,24 +26,24 @@ const List = forwardRef(({ children, className, depth, tree = false, dragdrop =
25
26
  tree: tree,
26
27
  draggable: dragdrop
27
28
  }), []);
28
- return (React.createElement("ul", { ref: ref, id: "test-list", "data-context": context ? "true" : "false", className: useClassname("sg-list", className), style: { "--depth": depth }, ...restProps }, !context ?
29
- React.createElement(ListContextProvider, { value: initialContext }, children)
30
- :
31
- children));
29
+ return (jsx("ul", { ref: ref, id: "test-list", "data-context": context ? "true" : "false", className: useClassname("sg-list", className), style: { "--depth": depth }, ...restProps, children: !context ?
30
+ jsx(ListContextProvider, { value: initialContext, children: children })
31
+ :
32
+ children }));
32
33
  });
33
34
  List.displayName = "List";
34
35
  const Sublist = forwardRef(({ children, className, depth, ...restProps }, ref) => {
35
36
  const { draggable } = useListContext();
36
37
  const itemRef = useRef(null);
37
38
  const { coordinates, isMouseDown } = useDraggable(itemRef, { draggable });
38
- return (React.createElement("li", { ref: mergeRefs([ref, itemRef]), "data-phantom": "none", className: useClassname("sg-sublist", className), style: { "--depth": depth, top: coordinates.top, left: coordinates.left, width: coordinates.width }, ...restProps }, children));
39
+ return (jsx("li", { ref: mergeRefs([ref, itemRef]), "data-phantom": "none", className: useClassname("sg-sublist", className), style: { "--depth": depth, top: coordinates.top, left: coordinates.left, width: coordinates.width }, ...restProps, children: children }));
39
40
  });
40
41
  Sublist.displayName = "ListSubList";
41
42
  const Item = forwardRef(({ children, className, ...restProps }, ref) => {
42
43
  const { draggable } = useListContext();
43
44
  const itemRef = useRef(null);
44
45
  const { coordinates, isMouseDown } = useDraggable(itemRef, { draggable });
45
- return (React.createElement("li", { ref: itemRef, "data-phantom": "none", className: useClassname("sg-list-item", className), style: { top: coordinates.top, left: coordinates.left, width: coordinates.width }, ...restProps }, children));
46
+ return (jsx("li", { ref: itemRef, "data-phantom": "none", className: useClassname("sg-list-item", className), style: { top: coordinates.top, left: coordinates.left, width: coordinates.width }, ...restProps, children: children }));
46
47
  });
47
48
  Item.displayName = "ListItem";
48
49
  const Label = forwardRef(({ children, className, style, ...restProps }, ref) => {
@@ -50,7 +51,7 @@ const Label = forwardRef(({ children, className, style, ...restProps }, ref) =>
50
51
  const computedClass = useClassname("sg-list-label", className);
51
52
  //const coordinates = useDraggable(labelRef)
52
53
  return ((typeof children === "string") ?
53
- React.createElement("span", { ref: mergeRefs([ref, labelRef]), className: computedClass, style: { ...style }, ...restProps }, children)
54
+ jsx("span", { ref: mergeRefs([ref, labelRef]), className: computedClass, style: { ...style }, ...restProps, children: children })
54
55
  :
55
56
  cloneElement(children, {
56
57
  ref: mergeRefs([ref, labelRef]),
package/List/List.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sources":["../../src/List/List.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"List.js","sources":["../../src/List/List.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
package/Modal/Modal.js CHANGED
@@ -1,5 +1,6 @@
1
1
  'use client';
2
- import React, { createContext, forwardRef, useState, useRef, useEffect, useContext } from 'react';
2
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
+ import { createContext, forwardRef, useState, useRef, useEffect, useContext } from 'react';
3
4
  import { createPortal } from 'react-dom';
4
5
  import CloseButton from '../CloseButton/CloseButton.js';
5
6
  import Button from '../Button/Button.js';
@@ -7,7 +8,7 @@ import mergeRefs from '../utils/MergeRefs.js';
7
8
 
8
9
  const ModalContext = createContext(null);
9
10
  const ModalContextProvider = ({ children, value }) => {
10
- return (React.createElement(ModalContext.Provider, { value: value }, children));
11
+ return (jsx(ModalContext.Provider, { value: value, children: children }));
11
12
  };
12
13
  const useModalContext = () => {
13
14
  const context = useContext(ModalContext);
@@ -17,13 +18,19 @@ const useModalContext = () => {
17
18
  return context;
18
19
  };
19
20
  const Modal = forwardRef(({ children, size = "md", show, backdrop = "static", fill = false, onHide, className, id, stretch, style, ...restProps }, ref) => {
21
+ //Two "show modal" states exist to allow for the modal to not render when not used (meaning you don't have to deal with states
22
+ //for forms or other data that has to be renedered even though the modal is "display: none"). Also allows for an in/out-going animation
20
23
  const [showModal, setShowModal] = useState(show);
24
+ const [renderModal, setRenderModal] = useState(show);
21
25
  let typeCheck = typeof (show) === "boolean" && typeof (onHide) === "function" ? undefined : { show: typeof (show) === "boolean", onHide: typeof (onHide) === "function" };
22
26
  if (typeCheck) {
23
27
  console.error(!typeCheck.show ? "The variable 'show' must be used and must be a boolean used to decide when to show the modal!" : null, !typeCheck.onHide ? "The variable 'onHide' must be used and must be a function which is used to set 'show' as the modal gets closed!" : null);
24
28
  }
25
29
  if (show != showModal) {
26
30
  setShowModal(show);
31
+ if (show) {
32
+ setRenderModal(true);
33
+ }
27
34
  }
28
35
  const modalRef = useRef(null);
29
36
  useKeepElementFocused(modalRef);
@@ -31,11 +38,12 @@ const Modal = forwardRef(({ children, size = "md", show, backdrop = "static", fi
31
38
  const modal = modalRef.current;
32
39
  modal.classList.add("close");
33
40
  modal.addEventListener('animationend', (event) => {
34
- if (event.animationName === "scale-down") {
41
+ if (event.animationName === "fade-out-modal") {
35
42
  if (onHide) {
36
- onHide();
43
+ onHide(false);
37
44
  }
38
45
  modal.close();
46
+ setRenderModal(false);
39
47
  }
40
48
  }, { once: true });
41
49
  };
@@ -70,10 +78,11 @@ const Modal = forwardRef(({ children, size = "md", show, backdrop = "static", fi
70
78
  event.preventDefault();
71
79
  closeModal();
72
80
  };
73
- return (createPortal(React.createElement("dialog", { ref: mergeRefs([ref, modalRef]), className: classNameComputed, onKeyDown: (event) => handleKeyDown(event), ...restProps, style: { "--height": stretch ? "80%" : null, ...style } },
74
- React.createElement(ModalContextProvider, { value: closeModal }, !typeCheck ?
75
- children :
76
- React.createElement(ErrorModal, { typeCheck: typeCheck, closeModal: closeModal }))), document.body));
81
+ return (renderModal ?
82
+ createPortal(jsx("dialog", { ref: mergeRefs([ref, modalRef]), className: classNameComputed, onKeyDown: (event) => handleKeyDown(event), ...restProps, style: { "--height": stretch ? "80%" : null, ...style }, children: jsx(ModalContextProvider, { value: closeModal, children: !typeCheck ?
83
+ children :
84
+ jsx(ErrorModal, { typeCheck: typeCheck, closeModal: closeModal }) }) }), document.body)
85
+ : null);
77
86
  });
78
87
  Modal.displayName = "Modal";
79
88
  const Header = forwardRef(({ children, as = "", className = "", closeButton = false, onClick, ...restProps }, ref) => {
@@ -86,23 +95,21 @@ const Header = forwardRef(({ children, as = "", className = "", closeButton = fa
86
95
  }
87
96
  closeModal();
88
97
  };
89
- return (React.createElement(Component, { ref: ref, className: `sg-modal-header ${className}`, ...restProps },
90
- children,
91
- closeButton ? React.createElement(CloseButton, { variant: true, onClick: event => onCloseButtonClick(event) }) : null));
98
+ return (jsxs(Component, { ref: ref, className: `sg-modal-header ${className}`, ...restProps, children: [children, closeButton ? jsx(CloseButton, { variant: true, onClick: event => onCloseButtonClick(event) }) : null] }));
92
99
  });
93
100
  Header.displayName = "ModalHeader";
94
101
  const Title = forwardRef(({ children, as = "h4", className, ...restProps }, ref) => {
95
102
  let validAs = ["div", "span", "h1", "h2", "h3", "h4", "h5", "h6"];
96
103
  let Component = validAs.find(valid => valid === as) ? as : "h4";
97
- return (React.createElement(Component, { ref: ref, className: `sg-modal-title ${className}`, ...restProps }, children));
104
+ return (jsx(Component, { ref: ref, className: `sg-modal-title ${className}`, ...restProps, children: children }));
98
105
  });
99
106
  Title.displayName = "ModalTitle";
100
107
  const Body = forwardRef(({ children, className, ...restProps }, ref) => {
101
- return (React.createElement("div", { ref: ref, className: `sg-modal-body ${className}`, ...restProps }, children));
108
+ return (jsx("div", { ref: ref, className: `sg-modal-body ${className}`, ...restProps, children: children }));
102
109
  });
103
110
  Body.displayName = "ModalBody";
104
111
  const Footer = forwardRef(({ children, className, ...restProps }, ref) => {
105
- return (React.createElement("div", { ref: ref, className: `sg-modal-footer ${className}`, ...restProps }, children));
112
+ return (jsx("div", { ref: ref, className: `sg-modal-footer ${className}`, ...restProps, children: children }));
106
113
  });
107
114
  Footer.displayName = "ModalFooter";
108
115
  var Modal$1 = Object.assign(Modal, {
@@ -143,15 +150,7 @@ const useKeepElementFocused = function (elementRef) {
143
150
  }, [elementRef]);
144
151
  };
145
152
  const ErrorModal = ({ typeCheck, closeModal }) => {
146
- return (React.createElement(React.Fragment, null,
147
- React.createElement(Header, { closeButton: true },
148
- React.createElement(Title, null, "An Error ocurred!")),
149
- React.createElement(Body, null,
150
- React.createElement("p", null,
151
- !typeCheck.show ? "The variable 'show' must be used and must be a boolean used to decide when to show the modal!" : null,
152
- !typeCheck.onHide ? "The variable 'onHide' must be used and must be a function which is used to set 'show' as the modal gets closed!" : null)),
153
- React.createElement(Footer, null,
154
- React.createElement(Button, { variant: "danger", type: "button", onClick: () => closeModal() }, "Close"))));
153
+ return (jsxs(Fragment, { children: [jsx(Header, { closeButton: true, children: jsx(Title, { children: "An Error ocurred!" }) }), jsx(Body, { children: jsxs("p", { children: [!typeCheck.show ? "The variable 'show' must be used and must be a boolean used to decide when to show the modal!" : null, !typeCheck.onHide ? "The variable 'onHide' must be used and must be a function which is used to set 'show' as the modal gets closed!" : null] }) }), jsx(Footer, { children: jsx(Button, { variant: "danger", type: "button", onClick: () => closeModal(), children: "Close" }) })] }));
155
154
  };
156
155
 
157
156
  export { Modal$1 as default, useKeepElementFocused };