@abgov/react-components 6.10.0 → 6.11.0-dev.10

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 (91) hide show
  1. package/experimental/badge/badge.d.ts +33 -0
  2. package/experimental/button/button.d.ts +43 -0
  3. package/experimental/calendar/calendar.d.ts +30 -0
  4. package/experimental/callout/callout.d.ts +33 -0
  5. package/experimental/checkbox/checkbox.d.ts +52 -0
  6. package/experimental/checkbox-list/checkbox-list.d.ts +33 -0
  7. package/experimental/date-picker/date-picker.d.ts +43 -0
  8. package/experimental/drawer/drawer.d.ts +31 -0
  9. package/experimental/dropdown/dropdown-item.d.ts +26 -0
  10. package/experimental/dropdown/dropdown.d.ts +62 -0
  11. package/experimental/file-upload-card/file-upload-card.d.ts +32 -0
  12. package/experimental/file-upload-input/file-upload-input.d.ts +27 -0
  13. package/experimental/filter-chip/filter-chip.d.ts +31 -0
  14. package/experimental/footer/footer.d.ts +24 -0
  15. package/experimental/footer-meta-section/footer-meta-section.d.ts +18 -0
  16. package/experimental/footer-nav-section/footer-nav-section.d.ts +22 -0
  17. package/experimental/form-item/form-item.d.ts +46 -0
  18. package/experimental/index.d.ts +34 -2
  19. package/experimental/input/input.d.ts +124 -0
  20. package/experimental/link/link.d.ts +32 -0
  21. package/experimental/menu-action/menu-action.d.ts +10 -0
  22. package/experimental/menu-button/menu-button.d.ts +16 -0
  23. package/experimental/modal/modal.d.ts +44 -0
  24. package/experimental/notification/notification.d.ts +31 -0
  25. package/experimental/pagination/pagination.d.ts +29 -0
  26. package/experimental/radio-group/radio-group.d.ts +40 -0
  27. package/experimental/radio-group/radio.d.ts +42 -0
  28. package/experimental/side-menu/side-menu.d.ts +19 -0
  29. package/experimental/side-menu-group/side-menu-group.d.ts +24 -0
  30. package/experimental/side-menu-heading/side-menu-heading.d.ts +23 -0
  31. package/experimental/tab/tab.d.ts +21 -0
  32. package/experimental/table/table-sort-header.d.ts +20 -0
  33. package/experimental/table/table.d.ts +30 -0
  34. package/experimental/tabs/tabs.d.ts +29 -0
  35. package/experimental/textarea/textarea.d.ts +53 -0
  36. package/experimental/work-side-menu-group/work-side-menu-group.d.ts +24 -0
  37. package/experimental.js +1266 -64
  38. package/experimental.js.map +1 -1
  39. package/experimental.mjs +1269 -68
  40. package/experimental.mjs.map +1 -1
  41. package/index.d.ts +1 -0
  42. package/index.js +176 -1753
  43. package/index.js.map +1 -1
  44. package/index.mjs +105 -1683
  45. package/index.mjs.map +1 -1
  46. package/lib/badge/badge.d.ts +0 -16
  47. package/lib/button/button.d.ts +0 -22
  48. package/lib/calendar/calendar.d.ts +0 -16
  49. package/lib/callout/callout.d.ts +0 -16
  50. package/lib/checkbox/checkbox.d.ts +0 -25
  51. package/lib/checkbox-list/checkbox-list.d.ts +0 -16
  52. package/lib/date-picker/date-picker.d.ts +0 -21
  53. package/lib/drawer/drawer.d.ts +0 -15
  54. package/lib/dropdown/dropdown-item.d.ts +0 -15
  55. package/lib/dropdown/dropdown.d.ts +0 -29
  56. package/lib/file-upload-card/file-upload-card.d.ts +0 -17
  57. package/lib/file-upload-input/file-upload-input.d.ts +0 -15
  58. package/lib/filter-chip/filter-chip.d.ts +0 -15
  59. package/lib/footer/footer.d.ts +0 -12
  60. package/lib/footer-meta-section/footer-meta-section.d.ts +0 -10
  61. package/lib/footer-nav-section/footer-nav-section.d.ts +0 -12
  62. package/lib/form-item/form-item.d.ts +0 -19
  63. package/lib/input/input.d.ts +0 -38
  64. package/lib/link/link.d.ts +0 -15
  65. package/lib/modal/modal.d.ts +1 -23
  66. package/lib/notification/notification.d.ts +0 -14
  67. package/lib/pagination/pagination.d.ts +0 -15
  68. package/lib/push-drawer/push-drawer.d.ts +26 -0
  69. package/lib/radio-group/radio-group.d.ts +0 -19
  70. package/lib/radio-group/radio.d.ts +0 -20
  71. package/lib/side-menu/side-menu.d.ts +0 -10
  72. package/lib/side-menu-group/side-menu-group.d.ts +0 -12
  73. package/lib/side-menu-heading/side-menu-heading.d.ts +0 -11
  74. package/lib/tab/tab.d.ts +3 -1
  75. package/lib/table/table-sort-header.d.ts +0 -11
  76. package/lib/table/table.d.ts +0 -14
  77. package/lib/tabs/tabs.d.ts +0 -14
  78. package/lib/textarea/textarea.d.ts +0 -25
  79. package/package.json +1 -1
  80. package/parseISO-BHUUf1QW.mjs +1693 -0
  81. package/parseISO-BHUUf1QW.mjs.map +1 -0
  82. package/parseISO-Dj57mwuH.js +1692 -0
  83. package/parseISO-Dj57mwuH.js.map +1 -0
  84. package/experimental/form/form-summary.d.ts +0 -10
  85. package/experimental/form/form.d.ts +0 -23
  86. package/experimental/resizable-panel/ResizablePanel.d.ts +0 -7
  87. package/icon-B3p90m2x.js +0 -75
  88. package/icon-B3p90m2x.js.map +0 -1
  89. package/icon-CCNDGfBO.mjs +0 -76
  90. package/icon-CCNDGfBO.mjs.map +0 -1
  91. package/style.css +0 -49
package/experimental.mjs CHANGED
@@ -1,88 +1,1230 @@
1
- import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useRef, useState, useEffect } from "react";
3
- import { a as GoabIcon } from "./icon-CCNDGfBO.mjs";
4
- import { G } from "./icon-CCNDGfBO.mjs";
5
- const panel = "_panel_m3z4m_1";
6
- const panelBackground = "_panelBackground_m3z4m_8";
7
- const children = "_children_m3z4m_12";
8
- const handle = "_handle_m3z4m_17";
9
- const width = "_width_m3z4m_42";
10
- const Css = {
11
- panel,
12
- panelBackground,
13
- children,
14
- handle,
15
- width
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { t as transformProps, l as lowercase, f as format, p as parseISO, i as isValid, k as kebab } from "./parseISO-BHUUf1QW.mjs";
3
+ import { useRef, useEffect } from "react";
4
+ function getIconValue(icon, iconType) {
5
+ if (icon !== void 0) {
6
+ return icon ? "true" : "false";
7
+ }
8
+ return iconType ? "true" : "false";
9
+ }
10
+ function GoabxBadge({
11
+ icon,
12
+ iconType,
13
+ size = "medium",
14
+ emphasis = "strong",
15
+ version = "2",
16
+ ...rest
17
+ }) {
18
+ const _props = transformProps({ size, emphasis, ...rest }, lowercase);
19
+ return /* @__PURE__ */ jsx(
20
+ "goa-badge",
21
+ {
22
+ icon: getIconValue(icon, iconType),
23
+ icontype: iconType,
24
+ ..._props,
25
+ version,
26
+ size,
27
+ emphasis
28
+ }
29
+ );
30
+ }
31
+ function GoabxButton({
32
+ disabled,
33
+ onClick,
34
+ actionArgs,
35
+ actionArg,
36
+ children,
37
+ version = "2",
38
+ ...rest
39
+ }) {
40
+ const el = useRef(null);
41
+ const _props = transformProps(rest, lowercase);
42
+ useEffect(() => {
43
+ if (!el.current) {
44
+ return;
45
+ }
46
+ if (!onClick) {
47
+ return;
48
+ }
49
+ const current = el.current;
50
+ const listener = () => {
51
+ onClick == null ? void 0 : onClick();
52
+ };
53
+ current.addEventListener("_click", listener);
54
+ return () => {
55
+ current.removeEventListener("_click", listener);
56
+ };
57
+ }, [el, onClick]);
58
+ return /* @__PURE__ */ jsx(
59
+ "goa-button",
60
+ {
61
+ ref: el,
62
+ disabled: disabled ? "true" : void 0,
63
+ "action-arg": actionArg,
64
+ "action-args": JSON.stringify(actionArgs),
65
+ ..._props,
66
+ version,
67
+ children
68
+ }
69
+ );
70
+ }
71
+ function GoabxCalendar({
72
+ min,
73
+ max,
74
+ onChange,
75
+ name,
76
+ version = "2",
77
+ ...rest
78
+ }) {
79
+ const ref = useRef(null);
80
+ const _props = transformProps(rest, lowercase);
81
+ useEffect(() => {
82
+ if (!ref.current) {
83
+ return;
84
+ }
85
+ const current = ref.current;
86
+ const listener = (e) => {
87
+ onChange({
88
+ name: name || "",
89
+ value: e.detail.value
90
+ });
91
+ };
92
+ current.addEventListener("_change", listener);
93
+ return () => {
94
+ current.removeEventListener("_change", listener);
95
+ };
96
+ }, []);
97
+ return /* @__PURE__ */ jsx(
98
+ "goa-calendar",
99
+ {
100
+ ref,
101
+ name,
102
+ min: min || void 0,
103
+ max: max || void 0,
104
+ version,
105
+ ..._props
106
+ }
107
+ );
108
+ }
109
+ const GoabxCallout = ({
110
+ type = "information",
111
+ iconTheme = "outline",
112
+ size = "large",
113
+ ariaLive = "off",
114
+ emphasis = "medium",
115
+ children,
116
+ version = "2",
117
+ ...rest
118
+ }) => {
119
+ const _props = transformProps(
120
+ { type, icontheme: iconTheme, size, arialive: ariaLive, emphasis, ...rest },
121
+ lowercase
122
+ );
123
+ return /* @__PURE__ */ jsx("goa-callout", { ..._props, version, children });
16
124
  };
17
- function ResizablePanel(props) {
18
- const bgRef = useRef(null);
19
- const sectionRef = useRef(null);
20
- const widthRef = useRef(null);
21
- const handleRef = useRef(null);
22
- const maxWidth = useRef(0);
23
- const resizeBarState = useRef("static");
24
- const [width2, setWidth] = useState();
125
+ function GoabxCheckbox({
126
+ error,
127
+ checked,
128
+ indeterminate,
129
+ disabled,
130
+ value,
131
+ description,
132
+ reveal,
133
+ onChange,
134
+ name,
135
+ children,
136
+ size = "default",
137
+ version = "2",
138
+ ...rest
139
+ }) {
140
+ const el = useRef(null);
141
+ const _props = transformProps({ size, ...rest }, lowercase);
142
+ useEffect(() => {
143
+ if (!el.current) {
144
+ return;
145
+ }
146
+ const current = el.current;
147
+ const listener = (e) => {
148
+ const detail = e.detail;
149
+ onChange == null ? void 0 : onChange({ ...detail, event: e });
150
+ };
151
+ current.addEventListener("_change", listener);
152
+ return () => {
153
+ current.removeEventListener("_change", listener);
154
+ };
155
+ }, [name, onChange]);
156
+ return /* @__PURE__ */ jsxs(
157
+ "goa-checkbox",
158
+ {
159
+ ref: el,
160
+ ..._props,
161
+ name,
162
+ error: error ? "true" : void 0,
163
+ checked: checked ? "true" : void 0,
164
+ indeterminate: indeterminate ? "true" : void 0,
165
+ disabled: disabled ? "true" : void 0,
166
+ value: typeof value === "boolean" ? value ? "true" : void 0 : value,
167
+ description: typeof description === "string" ? description : void 0,
168
+ version,
169
+ children: [
170
+ children,
171
+ typeof description !== "string" && description && /* @__PURE__ */ jsx("div", { slot: "description", children: description }),
172
+ reveal && /* @__PURE__ */ jsx("div", { slot: "reveal", children: reveal })
173
+ ]
174
+ }
175
+ );
176
+ }
177
+ function GoabxCheckboxList({
178
+ name,
179
+ value = [],
180
+ disabled,
181
+ error,
182
+ testId,
183
+ maxWidth,
184
+ size = "default",
185
+ children,
186
+ onChange,
187
+ mt,
188
+ mr,
189
+ mb,
190
+ ml
191
+ }) {
192
+ const el = useRef(null);
193
+ useEffect(() => {
194
+ if (!el.current) return;
195
+ const current = el.current;
196
+ const listener = (e) => {
197
+ const detail = e.detail;
198
+ onChange == null ? void 0 : onChange({ ...detail, event: e });
199
+ };
200
+ current.addEventListener("_change", listener);
201
+ return () => {
202
+ current.removeEventListener("_change", listener);
203
+ };
204
+ }, [onChange]);
205
+ return /* @__PURE__ */ jsx(
206
+ "goa-checkbox-list",
207
+ {
208
+ ref: el,
209
+ name,
210
+ value,
211
+ disabled: disabled ? "true" : void 0,
212
+ error: error ? "true" : void 0,
213
+ testid: testId,
214
+ maxwidth: maxWidth,
215
+ version: "2",
216
+ size,
217
+ mt,
218
+ mr,
219
+ mb,
220
+ ml,
221
+ children
222
+ }
223
+ );
224
+ }
225
+ function GoabxDatePicker({
226
+ value,
227
+ error,
228
+ min,
229
+ max,
230
+ disabled,
231
+ relative,
232
+ version = "2",
233
+ onChange,
234
+ ...rest
235
+ }) {
236
+ const ref = useRef(null);
237
+ const _props = transformProps(rest, lowercase);
238
+ useEffect(() => {
239
+ if (value && typeof value !== "string") {
240
+ console.warn(
241
+ "Using a `Date` type for value is deprecated. Instead use a string of the format `yyyy-mm-dd`"
242
+ );
243
+ }
244
+ }, []);
245
+ useEffect(() => {
246
+ if (!ref.current) {
247
+ return;
248
+ }
249
+ const current = ref.current;
250
+ const handleChange = (e) => {
251
+ const detail = e.detail;
252
+ onChange == null ? void 0 : onChange({ ...detail, event: e });
253
+ };
254
+ if (onChange) {
255
+ current.addEventListener("_change", handleChange);
256
+ }
257
+ return () => {
258
+ if (onChange) {
259
+ current.removeEventListener("_change", handleChange);
260
+ }
261
+ };
262
+ }, [onChange]);
263
+ const formatValue = (val) => {
264
+ if (!val) return "";
265
+ if (val instanceof Date) {
266
+ return val.toISOString();
267
+ }
268
+ return val;
269
+ };
270
+ return /* @__PURE__ */ jsx(
271
+ "goa-date-picker",
272
+ {
273
+ ref,
274
+ value: formatValue(value) || void 0,
275
+ error: error ? "true" : void 0,
276
+ disabled: disabled ? "true" : void 0,
277
+ min: formatValue(min) || void 0,
278
+ max: formatValue(max) || void 0,
279
+ relative: relative ? "true" : void 0,
280
+ version,
281
+ ..._props
282
+ }
283
+ );
284
+ }
285
+ function GoabxDrawer({
286
+ position,
287
+ open,
288
+ heading,
289
+ maxSize,
290
+ testId,
291
+ actions,
292
+ children,
293
+ onClose,
294
+ version = "2"
295
+ }) {
296
+ const el = useRef(null);
25
297
  useEffect(() => {
26
298
  var _a;
27
- maxWidth.current = ((_a = bgRef.current) == null ? void 0 : _a.getBoundingClientRect().width) ?? 0;
299
+ if (!(el == null ? void 0 : el.current) || !onClose) {
300
+ return;
301
+ }
302
+ (_a = el.current) == null ? void 0 : _a.addEventListener("_close", onClose);
303
+ return () => {
304
+ var _a2;
305
+ (_a2 = el.current) == null ? void 0 : _a2.removeEventListener("_close", onClose);
306
+ };
307
+ }, [el, onClose]);
308
+ return /* @__PURE__ */ jsxs(
309
+ "goa-drawer",
310
+ {
311
+ ref: el,
312
+ position,
313
+ open: open ? true : void 0,
314
+ heading: typeof heading === "string" ? heading : void 0,
315
+ maxsize: maxSize,
316
+ testid: testId,
317
+ version,
318
+ children: [
319
+ heading && typeof heading !== "string" && /* @__PURE__ */ jsx("div", { slot: "heading", children: heading }),
320
+ actions && /* @__PURE__ */ jsx("div", { slot: "actions", children: actions }),
321
+ children
322
+ ]
323
+ }
324
+ );
325
+ }
326
+ function stringify(value) {
327
+ if (typeof value === "undefined") {
328
+ return "";
329
+ }
330
+ if (typeof value === "string") {
331
+ return value;
332
+ }
333
+ return JSON.stringify(value);
334
+ }
335
+ function GoabxDropdown({
336
+ value,
337
+ onChange,
338
+ disabled,
339
+ error,
340
+ filterable,
341
+ multiselect,
342
+ native,
343
+ relative,
344
+ children,
345
+ size = "default",
346
+ version = "2",
347
+ ...rest
348
+ }) {
349
+ const el = useRef(null);
350
+ const _props = transformProps({ size, ...rest }, lowercase);
351
+ useEffect(() => {
352
+ if (!el.current) {
353
+ return;
354
+ }
355
+ const current = el.current;
356
+ const handler = (e) => {
357
+ const detail = e.detail;
358
+ onChange == null ? void 0 : onChange({ ...detail, event: e });
359
+ };
360
+ if (onChange) {
361
+ current.addEventListener("_change", handler);
362
+ }
363
+ return () => {
364
+ if (onChange) {
365
+ current.removeEventListener("_change", handler);
366
+ }
367
+ };
368
+ }, [el, onChange]);
369
+ return /* @__PURE__ */ jsx(
370
+ "goa-dropdown",
371
+ {
372
+ ref: el,
373
+ value: stringify(value),
374
+ disabled: disabled ? "true" : void 0,
375
+ error: error ? "true" : void 0,
376
+ filterable: filterable ? "true" : void 0,
377
+ multiselect: multiselect ? "true" : void 0,
378
+ native: native ? "true" : void 0,
379
+ relative: relative ? "true" : void 0,
380
+ ..._props,
381
+ version,
382
+ children
383
+ }
384
+ );
385
+ }
386
+ function GoabxDropdownOption(props) {
387
+ useEffect(() => {
388
+ console.warn("GoabxDropdownOption is deprecated. Please use GoabxDropdownItem");
28
389
  }, []);
29
- function resetMouseState() {
30
- resizeBarState.current = "static";
390
+ return /* @__PURE__ */ jsx(GoabxDropdownItem, { ...props });
391
+ }
392
+ function GoabxDropdownItem({
393
+ value,
394
+ label,
395
+ filter,
396
+ name,
397
+ mountType = "append"
398
+ }) {
399
+ return /* @__PURE__ */ jsx(
400
+ "goa-dropdown-item",
401
+ {
402
+ value,
403
+ label,
404
+ filter,
405
+ name,
406
+ mount: mountType
407
+ }
408
+ );
409
+ }
410
+ function GoabxFileUploadCard({
411
+ onDelete,
412
+ onCancel,
413
+ filename,
414
+ version = "2",
415
+ ...rest
416
+ }) {
417
+ const el = useRef(null);
418
+ const _props = transformProps({ filename, ...rest }, lowercase);
419
+ useEffect(() => {
420
+ if (!el.current) return;
421
+ const current = el.current;
422
+ const deleteHandler = (event) => onDelete == null ? void 0 : onDelete({ filename, event });
423
+ const cancelHandler = (event) => onCancel == null ? void 0 : onCancel({ filename, event });
424
+ current.addEventListener("_delete", deleteHandler);
425
+ current.addEventListener("_cancel", cancelHandler);
426
+ return () => {
427
+ current.removeEventListener("_delete", deleteHandler);
428
+ current.removeEventListener("_cancel", cancelHandler);
429
+ };
430
+ }, [el, onDelete, onCancel, filename]);
431
+ return /* @__PURE__ */ jsx("goa-file-upload-card", { ref: el, ..._props, version });
432
+ }
433
+ function GoabxFileUploadInput({
434
+ onSelectFile,
435
+ version = "2",
436
+ ...rest
437
+ }) {
438
+ const el = useRef(null);
439
+ const _props = transformProps(rest, lowercase);
440
+ useEffect(() => {
441
+ if (!el.current) return;
442
+ const current = el.current;
443
+ const handler = (e) => {
444
+ const detail = e.detail;
445
+ onSelectFile({ ...detail, event: e });
446
+ };
447
+ current.addEventListener("_selectFile", handler);
448
+ return () => {
449
+ current.removeEventListener("_selectFile", handler);
450
+ };
451
+ }, [el, onSelectFile]);
452
+ return /* @__PURE__ */ jsx("goa-file-upload-input", { ref: el, ..._props, version });
453
+ }
454
+ const GoabxFilterChip = ({
455
+ iconTheme = "outline",
456
+ error,
457
+ onClick,
458
+ version = "2",
459
+ ...rest
460
+ }) => {
461
+ const el = useRef(null);
462
+ const _props = transformProps(
463
+ { icontheme: iconTheme, ...rest },
464
+ lowercase
465
+ );
466
+ useEffect(() => {
467
+ if (!el.current) return;
468
+ if (!onClick) return;
469
+ const current = el.current;
470
+ current.addEventListener("_click", onClick);
471
+ return () => {
472
+ current.removeEventListener("_click", onClick);
473
+ };
474
+ }, [el, onClick]);
475
+ return /* @__PURE__ */ jsx(
476
+ "goa-filter-chip",
477
+ {
478
+ ref: el,
479
+ error: error ? "true" : void 0,
480
+ version,
481
+ ..._props
482
+ }
483
+ );
484
+ };
485
+ function GoabxFormItem({
486
+ error,
487
+ helpText,
488
+ publicFormSummaryOrder,
489
+ children,
490
+ type = "",
491
+ version = "2",
492
+ ...rest
493
+ }) {
494
+ const _props = transformProps({ type, ...rest }, lowercase);
495
+ return /* @__PURE__ */ jsxs(
496
+ "goa-form-item",
497
+ {
498
+ error: typeof error === "string" ? error : void 0,
499
+ helptext: typeof helpText === "string" ? helpText : void 0,
500
+ "public-form-summary-order": publicFormSummaryOrder,
501
+ ..._props,
502
+ version,
503
+ children: [
504
+ error && typeof error !== "string" && /* @__PURE__ */ jsx("div", { slot: "error", children: error }),
505
+ helpText && typeof helpText !== "string" && /* @__PURE__ */ jsx("div", { slot: "helptext", children: helpText }),
506
+ children
507
+ ]
508
+ }
509
+ );
510
+ }
511
+ function GoabxAppFooter({ children, ...rest }) {
512
+ const _props = transformProps(rest, lowercase);
513
+ return /* @__PURE__ */ jsx("goa-app-footer", { ..._props, version: "2", children });
514
+ }
515
+ function GoabxAppFooterMetaSection({
516
+ children,
517
+ ...rest
518
+ }) {
519
+ const _props = transformProps(rest, lowercase);
520
+ return /* @__PURE__ */ jsx("goa-app-footer-meta-section", { slot: "meta", ..._props, children });
521
+ }
522
+ function GoabxAppFooterNavSection({
523
+ children,
524
+ ...rest
525
+ }) {
526
+ const _props = transformProps(rest, lowercase);
527
+ return /* @__PURE__ */ jsx("goa-app-footer-nav-section", { slot: "nav", ..._props, children });
528
+ }
529
+ function GoabxInput({
530
+ variant = "goa",
531
+ textAlign = "left",
532
+ size = "default",
533
+ focused,
534
+ disabled,
535
+ readonly,
536
+ error,
537
+ leadingContent,
538
+ trailingContent,
539
+ onTrailingIconClick,
540
+ onChange,
541
+ onFocus,
542
+ onBlur,
543
+ onKeyPress,
544
+ version = "2",
545
+ ...rest
546
+ }) {
547
+ const ref = useRef(null);
548
+ const _props = transformProps(
549
+ { variant, textalign: textAlign, size, ...rest },
550
+ lowercase
551
+ );
552
+ useEffect(() => {
553
+ if (!ref.current) {
554
+ return;
555
+ }
556
+ const current = ref.current;
557
+ const changeListener = (e) => {
558
+ const detail = e.detail;
559
+ onChange == null ? void 0 : onChange({ ...detail, event: e });
560
+ };
561
+ const clickListener = () => {
562
+ onTrailingIconClick == null ? void 0 : onTrailingIconClick();
563
+ };
564
+ const focusListener = (e) => {
565
+ const detail = e.detail;
566
+ onFocus == null ? void 0 : onFocus({ ...detail, event: e });
567
+ };
568
+ const blurListener = (e) => {
569
+ const detail = e.detail;
570
+ onBlur == null ? void 0 : onBlur({ ...detail, event: e });
571
+ };
572
+ const keypressListener = (e) => {
573
+ const detail = e.detail;
574
+ onKeyPress == null ? void 0 : onKeyPress({ ...detail, event: e });
575
+ };
576
+ current.addEventListener("_change", changeListener);
577
+ current.addEventListener("_trailingIconClick", clickListener);
578
+ current.addEventListener("_focus", focusListener);
579
+ current.addEventListener("_blur", blurListener);
580
+ current.addEventListener("_keyPress", keypressListener);
581
+ return () => {
582
+ current.removeEventListener("_change", changeListener);
583
+ current.removeEventListener("_trailingIconClick", clickListener);
584
+ current.removeEventListener("_focus", focusListener);
585
+ current.removeEventListener("_blur", blurListener);
586
+ current.removeEventListener("_keyPress", keypressListener);
587
+ };
588
+ }, [ref, onChange, onTrailingIconClick, onFocus, onBlur, onKeyPress]);
589
+ return /* @__PURE__ */ jsxs(
590
+ "goa-input",
591
+ {
592
+ ref,
593
+ ..._props,
594
+ focused: focused ? "true" : void 0,
595
+ disabled: disabled ? "true" : void 0,
596
+ readonly: readonly ? "true" : void 0,
597
+ error: error ? "true" : void 0,
598
+ handletrailingiconclick: onTrailingIconClick ? "true" : "false",
599
+ version,
600
+ children: [
601
+ leadingContent && /* @__PURE__ */ jsx("div", { slot: "leadingContent", children: leadingContent }),
602
+ trailingContent && /* @__PURE__ */ jsx("div", { slot: "trailingContent", children: trailingContent })
603
+ ]
604
+ }
605
+ );
606
+ }
607
+ const onDateChangeHandler = (onChange) => {
608
+ return ({ name, value, event }) => {
609
+ if (!value) {
610
+ onChange == null ? void 0 : onChange({ name, value: "", event });
611
+ return;
612
+ }
613
+ if (typeof value === "string" && isValid(new Date(value))) {
614
+ onChange == null ? void 0 : onChange({ name, value: parseISO(value), event });
615
+ return;
616
+ }
617
+ if (isValid(value)) {
618
+ onChange == null ? void 0 : onChange({ name, value, event });
619
+ return;
620
+ }
621
+ };
622
+ };
623
+ const onTimeChangeHandler = (onChange) => {
624
+ return ({ name, value, event }) => {
625
+ if (!value) {
626
+ onChange == null ? void 0 : onChange({ name, value: "", event });
627
+ return;
628
+ }
629
+ onChange == null ? void 0 : onChange({ name, value, event });
630
+ };
631
+ };
632
+ function toString(value, tmpl = "yyyy-MM-dd") {
633
+ if (!value) {
634
+ return "";
31
635
  }
32
- function onMouseDown(_) {
33
- resizeBarState.current = "active";
34
- window.addEventListener("mouseup", resetMouseState);
636
+ if (typeof value === "string") {
637
+ return format(parseISO(value), tmpl);
35
638
  }
36
- function onMouseUp(_) {
37
- resizeBarState.current = "static";
38
- window.removeEventListener("mouseup", resetMouseState);
639
+ if (value.toISOString() === (/* @__PURE__ */ new Date(0)).toISOString()) {
640
+ return "";
39
641
  }
40
- function onMouseMove(e) {
41
- var _a, _b;
42
- if (resizeBarState.current === "static") {
642
+ return format(value, tmpl);
643
+ }
644
+ function GoabxInputText(props) {
645
+ return /* @__PURE__ */ jsx(GoabxInput, { ...props, type: "text" });
646
+ }
647
+ function GoabxInputPassword(props) {
648
+ return /* @__PURE__ */ jsx(GoabxInput, { ...props, type: "password" });
649
+ }
650
+ function GoabxInputDate({
651
+ value,
652
+ min = "",
653
+ max = "",
654
+ ...props
655
+ }) {
656
+ return /* @__PURE__ */ jsx(
657
+ GoabxInput,
658
+ {
659
+ ...props,
660
+ type: "date",
661
+ onChange: onDateChangeHandler(props.onChange),
662
+ min: toString(min),
663
+ max: toString(max),
664
+ value: toString(value)
665
+ }
666
+ );
667
+ }
668
+ function GoabxInputTime({
669
+ value,
670
+ min = "",
671
+ max = "",
672
+ ...props
673
+ }) {
674
+ return /* @__PURE__ */ jsx(
675
+ GoabxInput,
676
+ {
677
+ ...props,
678
+ onChange: onTimeChangeHandler(props.onChange),
679
+ value,
680
+ type: "time"
681
+ }
682
+ );
683
+ }
684
+ function GoabxInputDateTime({
685
+ value,
686
+ min = "",
687
+ max = "",
688
+ ...props
689
+ }) {
690
+ return /* @__PURE__ */ jsx(
691
+ GoabxInput,
692
+ {
693
+ ...props,
694
+ onChange: onDateChangeHandler(props.onChange),
695
+ value: toString(value, "yyyy-MM-dd'T'HH:mm"),
696
+ type: "datetime-local"
697
+ }
698
+ );
699
+ }
700
+ function GoabxInputEmail(props) {
701
+ return /* @__PURE__ */ jsx(GoabxInput, { ...props, type: "email" });
702
+ }
703
+ function GoabxInputSearch(props) {
704
+ return /* @__PURE__ */ jsx(GoabxInput, { ...props, type: "search", trailingIcon: "search" });
705
+ }
706
+ function GoabxInputUrl(props) {
707
+ return /* @__PURE__ */ jsx(GoabxInput, { ...props, type: "url" });
708
+ }
709
+ function GoabxInputTel(props) {
710
+ return /* @__PURE__ */ jsx(GoabxInput, { ...props, type: "tel" });
711
+ }
712
+ function GoabxInputFile(props) {
713
+ return /* @__PURE__ */ jsx(
714
+ "input",
715
+ {
716
+ id: props.id,
717
+ name: props.name,
718
+ type: "file",
719
+ onChange: (e) => {
720
+ var _a;
721
+ return (_a = props.onChange) == null ? void 0 : _a.call(props, {
722
+ name: e.target.name,
723
+ value: e.target.value,
724
+ event: e.nativeEvent
725
+ });
726
+ },
727
+ style: { backgroundColor: "revert" }
728
+ }
729
+ );
730
+ }
731
+ function GoabxInputMonth(props) {
732
+ return /* @__PURE__ */ jsx(GoabxInput, { ...props, type: "month" });
733
+ }
734
+ function GoabxInputNumber({
735
+ min = Number.MIN_VALUE,
736
+ max = Number.MAX_VALUE,
737
+ value,
738
+ textAlign = "right",
739
+ ...props
740
+ }) {
741
+ const onNumberChange = ({ name, value: value2, event }) => {
742
+ var _a;
743
+ (_a = props.onChange) == null ? void 0 : _a.call(props, { name, value: parseFloat(value2), event });
744
+ };
745
+ const onFocus = ({ name, value: value2, event }) => {
746
+ var _a;
747
+ (_a = props.onFocus) == null ? void 0 : _a.call(props, { name, value: parseFloat(value2), event });
748
+ };
749
+ const onBlur = ({ name, value: value2, event }) => {
750
+ var _a;
751
+ (_a = props.onBlur) == null ? void 0 : _a.call(props, { name, value: parseFloat(value2), event });
752
+ };
753
+ const onKeyPress = ({ name, value: value2, key, event }) => {
754
+ var _a;
755
+ (_a = props.onKeyPress) == null ? void 0 : _a.call(props, { name, value: parseFloat(value2), key: parseInt(key), event });
756
+ };
757
+ return /* @__PURE__ */ jsx(
758
+ GoabxInput,
759
+ {
760
+ ...props,
761
+ onChange: onNumberChange,
762
+ min: min == null ? void 0 : min.toString(),
763
+ max: max == null ? void 0 : max.toString(),
764
+ value: value == null ? void 0 : value.toString(),
765
+ onFocus,
766
+ onBlur,
767
+ type: "number",
768
+ onKeyPress,
769
+ textAlign
770
+ }
771
+ );
772
+ }
773
+ function GoabxInputRange(props) {
774
+ return /* @__PURE__ */ jsx(GoabxInput, { ...props, type: "range" });
775
+ }
776
+ function GoabxLink({
777
+ actionArgs,
778
+ actionArg,
779
+ color = "interactive",
780
+ size = "medium",
781
+ children,
782
+ ...rest
783
+ }) {
784
+ const _props = transformProps({ color, size, ...rest }, lowercase);
785
+ return /* @__PURE__ */ jsx(
786
+ "goa-link",
787
+ {
788
+ "action-arg": actionArg,
789
+ "action-args": JSON.stringify(actionArgs),
790
+ ..._props,
791
+ children
792
+ }
793
+ );
794
+ }
795
+ function GoabxMenuAction(props) {
796
+ const _props = transformProps(props, lowercase);
797
+ return /* @__PURE__ */ jsx("goa-menu-action", { ..._props });
798
+ }
799
+ function GoabxMenuButton({
800
+ type = "primary",
801
+ testId,
802
+ onAction,
803
+ children,
804
+ ...rest
805
+ }) {
806
+ const el = useRef(null);
807
+ const _props = transformProps(
808
+ { type, testid: testId, ...rest },
809
+ kebab
810
+ );
811
+ useEffect(() => {
812
+ if (!el.current) {
43
813
  return;
44
814
  }
45
- const sectionEl = sectionRef.current;
46
- const xOffset = (sectionEl == null ? void 0 : sectionEl.getBoundingClientRect().x) || 0;
47
- const mouseX = e.clientX;
48
- const minWidth = props.minWidth || 0;
49
- if (mouseX <= 0) {
815
+ if (!onAction) {
50
816
  return;
51
817
  }
52
- const newXPos = ((_a = handleRef.current) == null ? void 0 : _a.getBoundingClientRect().x) ?? 0;
53
- const calcWidth = Math.max(
54
- newXPos - xOffset,
55
- Math.min(mouseX - xOffset, maxWidth.current)
56
- );
57
- const elementWidth = Math.max(minWidth, calcWidth - 64);
58
- if (elementWidth <= minWidth) {
818
+ const current = el.current;
819
+ const listener = (e) => {
820
+ const detail = e.detail;
821
+ onAction == null ? void 0 : onAction(detail);
822
+ };
823
+ current.addEventListener("_action", listener);
824
+ return () => {
825
+ current.removeEventListener("_action", listener);
826
+ };
827
+ }, [el, onAction]);
828
+ return (
829
+ // @ts-expect-error - stable WCProps requires text, but experimental supports icon-only mode
830
+ /* @__PURE__ */ jsx("goa-menu-button", { ..._props, version: "2", ref: el, children })
831
+ );
832
+ }
833
+ function GoabxModal({
834
+ heading,
835
+ children,
836
+ maxWidth,
837
+ open,
838
+ actions,
839
+ transition,
840
+ calloutVariant,
841
+ onClose,
842
+ testId,
843
+ version = "2"
844
+ }) {
845
+ const el = useRef(null);
846
+ useEffect(() => {
847
+ if (!el.current) {
59
848
  return;
60
849
  }
61
- sectionEl == null ? void 0 : sectionEl.setAttribute("style", `width: ${calcWidth}px;`);
62
- (_b = widthRef.current) == null ? void 0 : _b.setAttribute(
63
- "style",
64
- `right: ${maxWidth.current - calcWidth + 32}px`
65
- );
66
- setWidth(`${Math.round(elementWidth)}px`);
67
- }
850
+ const current = el.current;
851
+ const listener = () => {
852
+ onClose == null ? void 0 : onClose();
853
+ };
854
+ current.addEventListener("_close", listener);
855
+ return () => {
856
+ current.removeEventListener("_close", listener);
857
+ };
858
+ }, [el, onClose]);
68
859
  return /* @__PURE__ */ jsxs(
69
- "div",
860
+ "goa-modal",
70
861
  {
71
- ref: bgRef,
72
- className: Css.panelBackground,
73
- onMouseDown,
74
- onMouseMove,
75
- onMouseUp,
862
+ ref: el,
863
+ open: open ? "true" : void 0,
864
+ closable: onClose ? "true" : "false",
865
+ heading: typeof heading === "string" ? heading : void 0,
866
+ maxwidth: maxWidth,
867
+ transition,
868
+ calloutvariant: calloutVariant,
869
+ testid: testId,
870
+ version,
76
871
  children: [
77
- /* @__PURE__ */ jsxs("section", { ref: sectionRef, className: Css.panel, children: [
78
- /* @__PURE__ */ jsx("div", { className: Css.children, children: props.children }),
79
- /* @__PURE__ */ jsx("div", { ref: handleRef, className: Css.handle, children: /* @__PURE__ */ jsx(GoabIcon, { type: "reorder-two" }) })
80
- ] }),
81
- /* @__PURE__ */ jsx("div", { ref: widthRef, className: Css.width, children: width2 })
872
+ heading && typeof heading !== "string" && /* @__PURE__ */ jsx("div", { slot: "heading", children: heading }),
873
+ actions && /* @__PURE__ */ jsx("div", { slot: "actions", children: actions }),
874
+ children
82
875
  ]
83
876
  }
84
877
  );
85
878
  }
879
+ const GoabxNotification = ({
880
+ type = "information",
881
+ emphasis = "high",
882
+ compact,
883
+ ariaLive,
884
+ maxContentWidth,
885
+ children,
886
+ testId,
887
+ onDismiss,
888
+ version = "2"
889
+ }) => {
890
+ const el = useRef(null);
891
+ useEffect(() => {
892
+ if (!el.current) {
893
+ return;
894
+ }
895
+ const current = el.current;
896
+ const listener = () => {
897
+ onDismiss == null ? void 0 : onDismiss();
898
+ };
899
+ current.addEventListener("_dismiss", listener);
900
+ return () => {
901
+ current.removeEventListener("_dismiss", listener);
902
+ };
903
+ }, [el, onDismiss]);
904
+ return /* @__PURE__ */ jsx(
905
+ "goa-notification",
906
+ {
907
+ ref: el,
908
+ type,
909
+ testid: testId,
910
+ maxcontentwidth: maxContentWidth,
911
+ arialive: ariaLive,
912
+ emphasis,
913
+ compact: compact ? "true" : void 0,
914
+ version,
915
+ children
916
+ }
917
+ );
918
+ };
919
+ function GoabxPagination({
920
+ onChange,
921
+ version = "2",
922
+ ...props
923
+ }) {
924
+ const ref = useRef(null);
925
+ useEffect(() => {
926
+ if (!ref.current) {
927
+ return;
928
+ }
929
+ const current = ref.current;
930
+ const changeListener = (e) => {
931
+ const detail = e.detail;
932
+ onChange(detail);
933
+ };
934
+ current.addEventListener("_change", changeListener);
935
+ return () => {
936
+ current.removeEventListener("_change", changeListener);
937
+ };
938
+ }, [ref, onChange]);
939
+ return /* @__PURE__ */ jsx(
940
+ "goa-pagination",
941
+ {
942
+ ref,
943
+ itemcount: props.itemCount,
944
+ perpagecount: props.perPageCount,
945
+ pagenumber: props.pageNumber,
946
+ variant: props.variant,
947
+ mt: props.mt,
948
+ mb: props.mb,
949
+ ml: props.ml,
950
+ mr: props.mr,
951
+ testid: props.testId,
952
+ version
953
+ }
954
+ );
955
+ }
956
+ function GoabxRadioItem({
957
+ name,
958
+ label,
959
+ value,
960
+ description,
961
+ reveal,
962
+ revealAriaLabel,
963
+ maxWidth,
964
+ disabled,
965
+ checked,
966
+ error,
967
+ compact,
968
+ ariaLabel,
969
+ children,
970
+ version = "2",
971
+ mt,
972
+ mr,
973
+ mb,
974
+ ml
975
+ }) {
976
+ return /* @__PURE__ */ jsxs(
977
+ "goa-radio-item",
978
+ {
979
+ name,
980
+ label,
981
+ value,
982
+ description: typeof description === "string" ? description : void 0,
983
+ maxwidth: maxWidth,
984
+ error: error ? "true" : void 0,
985
+ disabled: disabled ? "true" : void 0,
986
+ checked: checked ? "true" : void 0,
987
+ compact: compact ? "true" : void 0,
988
+ arialabel: ariaLabel,
989
+ revealarialabel: revealAriaLabel,
990
+ mt,
991
+ mr,
992
+ mb,
993
+ ml,
994
+ version,
995
+ children: [
996
+ description && typeof description !== "string" && /* @__PURE__ */ jsx("div", { slot: "description", children: description }),
997
+ reveal && /* @__PURE__ */ jsx("div", { slot: "reveal", children: reveal }),
998
+ children
999
+ ]
1000
+ }
1001
+ );
1002
+ }
1003
+ function GoabxRadioGroup({
1004
+ disabled,
1005
+ error,
1006
+ onChange,
1007
+ name,
1008
+ children,
1009
+ size = "default",
1010
+ version = "2",
1011
+ ...rest
1012
+ }) {
1013
+ const el = useRef(null);
1014
+ const _props = transformProps({ size, ...rest }, lowercase);
1015
+ useEffect(() => {
1016
+ if (!el.current) return;
1017
+ const listener = (e) => {
1018
+ const detail = e.detail;
1019
+ onChange == null ? void 0 : onChange({ ...detail, event: e });
1020
+ };
1021
+ const currentEl = el.current;
1022
+ if (onChange) {
1023
+ currentEl.addEventListener("_change", listener);
1024
+ }
1025
+ return () => {
1026
+ if (onChange) {
1027
+ currentEl.removeEventListener("_change", listener);
1028
+ }
1029
+ };
1030
+ }, [name, onChange]);
1031
+ return /* @__PURE__ */ jsx(
1032
+ "goa-radio-group",
1033
+ {
1034
+ ref: el,
1035
+ ..._props,
1036
+ name,
1037
+ disabled: disabled ? "true" : void 0,
1038
+ error: error ? "true" : void 0,
1039
+ version,
1040
+ children
1041
+ }
1042
+ );
1043
+ }
1044
+ function GoabxSideMenu({
1045
+ testId,
1046
+ children,
1047
+ version = "2"
1048
+ }) {
1049
+ return /* @__PURE__ */ jsx("goa-side-menu", { testid: testId, version, children });
1050
+ }
1051
+ function GoabxSideMenuGroup({
1052
+ heading,
1053
+ icon,
1054
+ testId,
1055
+ children,
1056
+ mt,
1057
+ mr,
1058
+ mb,
1059
+ ml,
1060
+ version = "2"
1061
+ }) {
1062
+ return /* @__PURE__ */ jsx(
1063
+ "goa-side-menu-group",
1064
+ {
1065
+ heading,
1066
+ icon,
1067
+ testid: testId,
1068
+ mt,
1069
+ mr,
1070
+ mb,
1071
+ ml,
1072
+ version,
1073
+ children
1074
+ }
1075
+ );
1076
+ }
1077
+ function GoabxSideMenuHeading({
1078
+ meta,
1079
+ testId,
1080
+ icon,
1081
+ children,
1082
+ version = "2"
1083
+ }) {
1084
+ return /* @__PURE__ */ jsxs("goa-side-menu-heading", { icon, testid: testId, version, children: [
1085
+ children,
1086
+ meta && /* @__PURE__ */ jsx("span", { slot: "meta", children: meta })
1087
+ ] });
1088
+ }
1089
+ function GoabxTable({ onSort, version = "2", ...props }) {
1090
+ const ref = useRef(null);
1091
+ useEffect(() => {
1092
+ if (!ref.current) {
1093
+ return;
1094
+ }
1095
+ const current = ref.current;
1096
+ const sortListener = (e) => {
1097
+ const detail = e.detail;
1098
+ onSort == null ? void 0 : onSort(detail);
1099
+ };
1100
+ current.addEventListener("_sort", sortListener);
1101
+ return () => {
1102
+ current.removeEventListener("_sort", sortListener);
1103
+ };
1104
+ }, [ref, onSort]);
1105
+ return /* @__PURE__ */ jsx(
1106
+ "goa-table",
1107
+ {
1108
+ ref,
1109
+ width: props.width,
1110
+ variant: props.variant,
1111
+ striped: props.striped ? "true" : void 0,
1112
+ testid: props.testId,
1113
+ mt: props.mt,
1114
+ mb: props.mb,
1115
+ ml: props.ml,
1116
+ mr: props.mr,
1117
+ version,
1118
+ children: /* @__PURE__ */ jsx("table", { style: { width: "100%" }, children: props.children })
1119
+ }
1120
+ );
1121
+ }
1122
+ function GoabxTableSortHeader({
1123
+ children,
1124
+ ...rest
1125
+ }) {
1126
+ const _props = transformProps(rest, lowercase);
1127
+ return /* @__PURE__ */ jsx("goa-table-sort-header", { ..._props, children });
1128
+ }
1129
+ function GoabxTab({ heading, disabled, slug, children }) {
1130
+ return /* @__PURE__ */ jsxs(
1131
+ "goa-tab",
1132
+ {
1133
+ slug,
1134
+ disabled: disabled ? "true" : void 0,
1135
+ heading: typeof heading === "string" ? heading : void 0,
1136
+ children: [
1137
+ typeof heading !== "string" && /* @__PURE__ */ jsx("span", { slot: "heading", children: heading }),
1138
+ children
1139
+ ]
1140
+ }
1141
+ );
1142
+ }
1143
+ function GoabxTabs({
1144
+ initialTab,
1145
+ children,
1146
+ testId,
1147
+ onChange,
1148
+ variant,
1149
+ orientation
1150
+ }) {
1151
+ const ref = useRef(null);
1152
+ useEffect(() => {
1153
+ const element = ref.current;
1154
+ if (element && onChange) {
1155
+ const handler = (event) => {
1156
+ const detail = event.detail;
1157
+ onChange(detail);
1158
+ };
1159
+ element.addEventListener("_change", handler);
1160
+ return () => {
1161
+ element.removeEventListener("_change", handler);
1162
+ };
1163
+ }
1164
+ }, [onChange]);
1165
+ return /* @__PURE__ */ jsx(
1166
+ "goa-tabs",
1167
+ {
1168
+ ref,
1169
+ initialtab: initialTab,
1170
+ testid: testId,
1171
+ variant,
1172
+ version: "2",
1173
+ orientation,
1174
+ children
1175
+ }
1176
+ );
1177
+ }
1178
+ function GoabxTextArea({
1179
+ readOnly,
1180
+ disabled,
1181
+ error,
1182
+ onChange,
1183
+ onKeyPress,
1184
+ onBlur,
1185
+ version = "2",
1186
+ ...rest
1187
+ }) {
1188
+ const el = useRef(null);
1189
+ const _props = transformProps(rest, lowercase);
1190
+ useEffect(() => {
1191
+ if (!el.current) {
1192
+ return;
1193
+ }
1194
+ const current = el.current;
1195
+ const changeListener = (e) => {
1196
+ const detail = e.detail;
1197
+ onChange == null ? void 0 : onChange({ ...detail, event: e });
1198
+ };
1199
+ const keypressListener = (e) => {
1200
+ const detail = e.detail;
1201
+ onKeyPress == null ? void 0 : onKeyPress({ ...detail, event: e });
1202
+ };
1203
+ const blurListener = (e) => {
1204
+ const detail = e.detail;
1205
+ onBlur == null ? void 0 : onBlur({ ...detail, event: e });
1206
+ };
1207
+ current.addEventListener("_change", changeListener);
1208
+ current.addEventListener("_keyPress", keypressListener);
1209
+ current.addEventListener("_blur", blurListener);
1210
+ return () => {
1211
+ current.removeEventListener("_change", changeListener);
1212
+ current.removeEventListener("_keyPress", keypressListener);
1213
+ current.removeEventListener("_blur", blurListener);
1214
+ };
1215
+ }, [el, onChange, onKeyPress, onBlur]);
1216
+ return /* @__PURE__ */ jsx(
1217
+ "goa-textarea",
1218
+ {
1219
+ ref: el,
1220
+ readOnly: readOnly ? "true" : void 0,
1221
+ disabled: disabled ? "true" : void 0,
1222
+ error: error ? "true" : void 0,
1223
+ version,
1224
+ ..._props
1225
+ }
1226
+ );
1227
+ }
86
1228
  function GoabxWorkSideMenu({
87
1229
  heading,
88
1230
  url,
@@ -141,10 +1283,69 @@ function GoabxWorkSideMenuItem(props) {
141
1283
  }
142
1284
  );
143
1285
  }
1286
+ function GoabxWorkSideMenuGroup(props) {
1287
+ return /* @__PURE__ */ jsx(
1288
+ "goa-work-side-menu-group",
1289
+ {
1290
+ heading: props.heading,
1291
+ icon: props.icon,
1292
+ open: props.open ? true : void 0,
1293
+ testid: props.testId,
1294
+ children: props.children
1295
+ }
1296
+ );
1297
+ }
144
1298
  export {
145
- G as GoabDrawer,
1299
+ GoabxAppFooter,
1300
+ GoabxAppFooterMetaSection,
1301
+ GoabxAppFooterNavSection,
1302
+ GoabxBadge,
1303
+ GoabxButton,
1304
+ GoabxCalendar,
1305
+ GoabxCallout,
1306
+ GoabxCheckbox,
1307
+ GoabxCheckboxList,
1308
+ GoabxDatePicker,
1309
+ GoabxDrawer,
1310
+ GoabxDropdown,
1311
+ GoabxDropdownItem,
1312
+ GoabxDropdownOption,
1313
+ GoabxFileUploadCard,
1314
+ GoabxFileUploadInput,
1315
+ GoabxFilterChip,
1316
+ GoabxFormItem,
1317
+ GoabxInput,
1318
+ GoabxInputDate,
1319
+ GoabxInputDateTime,
1320
+ GoabxInputEmail,
1321
+ GoabxInputFile,
1322
+ GoabxInputMonth,
1323
+ GoabxInputNumber,
1324
+ GoabxInputPassword,
1325
+ GoabxInputRange,
1326
+ GoabxInputSearch,
1327
+ GoabxInputTel,
1328
+ GoabxInputText,
1329
+ GoabxInputTime,
1330
+ GoabxInputUrl,
1331
+ GoabxLink,
1332
+ GoabxMenuAction,
1333
+ GoabxMenuButton,
1334
+ GoabxModal,
1335
+ GoabxNotification,
1336
+ GoabxPagination,
1337
+ GoabxRadioGroup,
1338
+ GoabxRadioItem,
1339
+ GoabxSideMenu,
1340
+ GoabxSideMenuGroup,
1341
+ GoabxSideMenuHeading,
1342
+ GoabxTab,
1343
+ GoabxTable,
1344
+ GoabxTableSortHeader,
1345
+ GoabxTabs,
1346
+ GoabxTextArea,
146
1347
  GoabxWorkSideMenu,
147
- GoabxWorkSideMenuItem,
148
- ResizablePanel
1348
+ GoabxWorkSideMenuGroup,
1349
+ GoabxWorkSideMenuItem
149
1350
  };
150
1351
  //# sourceMappingURL=experimental.mjs.map