@hexure/ui 1.13.39 → 1.13.40

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 (82) hide show
  1. package/dist/cjs/index.js +286 -302
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/components/Accordion/Accordion.d.ts +1 -0
  4. package/dist/cjs/types/components/ActionDialog/ActionDialog.d.ts +2 -0
  5. package/dist/cjs/types/components/Alert/Alert.d.ts +2 -0
  6. package/dist/cjs/types/components/AppHeader/AppHeader.d.ts +2 -0
  7. package/dist/cjs/types/components/AppMenu/AppMenu.d.ts +2 -0
  8. package/dist/cjs/types/components/BulkActionBar/BulkActionBar.d.ts +2 -0
  9. package/dist/cjs/types/components/Button/Button.d.ts +2 -0
  10. package/dist/cjs/types/components/ButtonMenu/ButtonMenu.d.ts +2 -0
  11. package/dist/cjs/types/components/Checkbox/Checkbox.d.ts +2 -0
  12. package/dist/cjs/types/components/Checklist/Checklist.d.ts +2 -0
  13. package/dist/cjs/types/components/Copy/Copy.d.ts +3 -1
  14. package/dist/cjs/types/components/DatePicker/DatePicker.d.ts +2 -0
  15. package/dist/cjs/types/components/Drawer/Drawer.d.ts +2 -0
  16. package/dist/cjs/types/components/Field/Field.d.ts +2 -0
  17. package/dist/cjs/types/components/FieldGroup/FieldGroup.d.ts +2 -0
  18. package/dist/cjs/types/components/FileUpload/FileUpload.d.ts +2 -0
  19. package/dist/cjs/types/components/Heading/Heading.d.ts +2 -0
  20. package/dist/cjs/types/components/Input/Input.d.ts +2 -0
  21. package/dist/cjs/types/components/Link/Link.d.ts +2 -0
  22. package/dist/cjs/types/components/Loader/Loader.d.ts +5 -1
  23. package/dist/cjs/types/components/Logo/Logo.d.ts +2 -0
  24. package/dist/cjs/types/components/Modal/Modal.d.ts +2 -0
  25. package/dist/cjs/types/components/MoreMenu/MoreMenu.d.ts +2 -0
  26. package/dist/cjs/types/components/{MultiSelect → Multiselect}/MultiSelect.d.ts +2 -0
  27. package/dist/cjs/types/components/PageHeader/PageHeader.d.ts +2 -0
  28. package/dist/cjs/types/components/Pagination/Pagination.d.ts +2 -0
  29. package/dist/cjs/types/components/ProgressBar/ProgressBar.d.ts +2 -0
  30. package/dist/cjs/types/components/Radio/Radio.d.ts +2 -0
  31. package/dist/cjs/types/components/RadioList/RadioList.d.ts +2 -0
  32. package/dist/cjs/types/components/Select/Select.d.ts +2 -0
  33. package/dist/cjs/types/components/Table/Table.d.ts +2 -0
  34. package/dist/cjs/types/components/Tabs/Tabs.d.ts +2 -0
  35. package/dist/cjs/types/components/Tag/Tag.d.ts +2 -0
  36. package/dist/cjs/types/components/Toast/Toast.d.ts +2 -0
  37. package/dist/cjs/types/components/Toggle/Toggle.d.ts +2 -0
  38. package/dist/cjs/types/components/Tooltip/Tooltip.d.ts +2 -0
  39. package/dist/cjs/types/components/ZeroState/ZeroState.d.ts +2 -0
  40. package/dist/esm/index.js +286 -302
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/types/components/Accordion/Accordion.d.ts +1 -0
  43. package/dist/esm/types/components/ActionDialog/ActionDialog.d.ts +2 -0
  44. package/dist/esm/types/components/Alert/Alert.d.ts +2 -0
  45. package/dist/esm/types/components/AppHeader/AppHeader.d.ts +2 -0
  46. package/dist/esm/types/components/AppMenu/AppMenu.d.ts +2 -0
  47. package/dist/esm/types/components/BulkActionBar/BulkActionBar.d.ts +2 -0
  48. package/dist/esm/types/components/Button/Button.d.ts +2 -0
  49. package/dist/esm/types/components/ButtonMenu/ButtonMenu.d.ts +2 -0
  50. package/dist/esm/types/components/Checkbox/Checkbox.d.ts +2 -0
  51. package/dist/esm/types/components/Checklist/Checklist.d.ts +2 -0
  52. package/dist/esm/types/components/Copy/Copy.d.ts +3 -1
  53. package/dist/esm/types/components/DatePicker/DatePicker.d.ts +2 -0
  54. package/dist/esm/types/components/Drawer/Drawer.d.ts +2 -0
  55. package/dist/esm/types/components/Field/Field.d.ts +2 -0
  56. package/dist/esm/types/components/FieldGroup/FieldGroup.d.ts +2 -0
  57. package/dist/esm/types/components/FileUpload/FileUpload.d.ts +2 -0
  58. package/dist/esm/types/components/Heading/Heading.d.ts +2 -0
  59. package/dist/esm/types/components/Input/Input.d.ts +2 -0
  60. package/dist/esm/types/components/Link/Link.d.ts +2 -0
  61. package/dist/esm/types/components/Loader/Loader.d.ts +5 -1
  62. package/dist/esm/types/components/Logo/Logo.d.ts +2 -0
  63. package/dist/esm/types/components/Modal/Modal.d.ts +2 -0
  64. package/dist/esm/types/components/MoreMenu/MoreMenu.d.ts +2 -0
  65. package/dist/esm/types/components/{MultiSelect → Multiselect}/MultiSelect.d.ts +2 -0
  66. package/dist/esm/types/components/PageHeader/PageHeader.d.ts +2 -0
  67. package/dist/esm/types/components/Pagination/Pagination.d.ts +2 -0
  68. package/dist/esm/types/components/ProgressBar/ProgressBar.d.ts +2 -0
  69. package/dist/esm/types/components/Radio/Radio.d.ts +2 -0
  70. package/dist/esm/types/components/RadioList/RadioList.d.ts +2 -0
  71. package/dist/esm/types/components/Select/Select.d.ts +2 -0
  72. package/dist/esm/types/components/Table/Table.d.ts +2 -0
  73. package/dist/esm/types/components/Tabs/Tabs.d.ts +2 -0
  74. package/dist/esm/types/components/Tag/Tag.d.ts +2 -0
  75. package/dist/esm/types/components/Toast/Toast.d.ts +2 -0
  76. package/dist/esm/types/components/Toggle/Toggle.d.ts +2 -0
  77. package/dist/esm/types/components/Tooltip/Tooltip.d.ts +2 -0
  78. package/dist/esm/types/components/ZeroState/ZeroState.d.ts +2 -0
  79. package/dist/index.d.ts +155 -82
  80. package/package.json +1 -1
  81. /package/dist/cjs/types/components/{MultiSelect → Multiselect}/index.d.ts +0 -0
  82. /package/dist/esm/types/components/{MultiSelect → Multiselect}/index.d.ts +0 -0
package/dist/esm/index.js CHANGED
@@ -85,24 +85,6 @@ const EditableTheme = {
85
85
  PRIMARY_COLOR: Colors.PRIMARY,
86
86
  };
87
87
 
88
- const generateUniqueId = (() => {
89
- return (prefix = 'id') => {
90
- const counterKey = `${prefix}-counter`;
91
- const idKey = `${prefix}-id`;
92
- const existingId = localStorage.getItem(idKey);
93
- if (existingId) {
94
- return existingId;
95
- }
96
- let counter = parseInt(localStorage.getItem(counterKey) || '0', 10);
97
- counter += 1;
98
- localStorage.setItem(counterKey, counter.toString());
99
- const counterString = counter.toString().padStart(4, '0');
100
- const uniqueId = `${prefix}-${counterString}`;
101
- localStorage.setItem(idKey, uniqueId);
102
- return uniqueId;
103
- };
104
- })();
105
-
106
88
  const Header$3 = styled.div `
107
89
  display: flex;
108
90
  align-items: center;
@@ -123,13 +105,13 @@ const Title$2 = styled.div `
123
105
  box-sizing: border-box;
124
106
  `;
125
107
  const Accordion = (_a) => {
126
- var { title, children, open, onClick } = _a, accessibleProps = __rest(_a, ["title", "children", "open", "onClick"]);
127
- const id = generateUniqueId('accordion');
108
+ var { id, title, children, open, onClick } = _a, accessibleProps = __rest(_a, ["id", "title", "children", "open", "onClick"]);
109
+ const baseId = id || 'accordion';
128
110
  return (React.createElement(React.Fragment, null,
129
- React.createElement(Header$3, Object.assign({ id: `${id}-header`, onClick: onClick }, accessibleProps),
130
- React.createElement(Title$2, { id: `${id}-title` }, title),
131
- React.createElement(Icon, { color: Colors.BLACK.Hex, id: `${id}-icon`, path: open ? mdiChevronUp : mdiChevronDown, size: '24px' })),
132
- open ? React.createElement("div", { id: `${id}-content` }, children) : null));
111
+ React.createElement(Header$3, Object.assign({ id: `${baseId}-header`, onClick: onClick }, accessibleProps),
112
+ React.createElement(Title$2, { id: `${baseId}-title` }, title),
113
+ React.createElement(Icon, { color: Colors.BLACK.Hex, id: `${baseId}-icon`, path: open ? mdiChevronUp : mdiChevronDown, size: '24px' })),
114
+ open ? React.createElement("div", { id: `${baseId}-content` }, children) : null));
133
115
  };
134
116
 
135
117
  const StyledComponent = styled.p `
@@ -147,9 +129,9 @@ const StyledComponent = styled.p `
147
129
  box-sizing: border-box;
148
130
  `;
149
131
  const Copy = (_a) => {
150
- var { children, align = '', margin = '', padding = '', type = 'default', color = 'BLACK' } = _a, accessibleProps = __rest(_a, ["children", "align", "margin", "padding", "type", "color"]);
151
- const id = generateUniqueId('copy');
152
- return (React.createElement(StyledComponent, Object.assign({ "$align": align, "$color": color, "$margin": margin, "$padding": padding, "$type": type, id: `${id}-styled-component` }, accessibleProps), children));
132
+ var { children, align = '', margin = '', padding = '', type = 'default', color = 'BLACK', id } = _a, accessibleProps = __rest(_a, ["children", "align", "margin", "padding", "type", "color", "id"]);
133
+ const baseId = id || 'copy';
134
+ return (React.createElement(StyledComponent, Object.assign({ "$align": align, "$color": color, "$margin": margin, "$padding": padding, "$type": type, id: `${baseId}-styled-component` }, accessibleProps), children));
153
135
  };
154
136
  Copy.defaultProps = {
155
137
  type: 'default',
@@ -198,12 +180,12 @@ const positions = {
198
180
  };
199
181
  const Content$3 = styled.div(props => (Object.assign({ position: 'absolute', borderRadius: '4px', borderWidth: '1px', borderStyle: 'solid', borderColor: props.theme.PRIMARY_COLOR.Hex, background: '#ffffff', boxShadow: '0px 5px 30px -10px rgba(0, 0, 0, 0.5)', width: props.$width || '240px', padding: '10px 12px', zIndex: 9999 }, positions[props.$position])));
200
182
  Content$3.defaultProps = { theme: EditableTheme };
201
- const Tooltip = ({ children, position = 'right-top', width = '240px', trigger, }) => {
183
+ const Tooltip = ({ children, position = 'right-top', width = '240px', trigger, id, }) => {
202
184
  const [show_content, toggleContent] = useState(false);
203
- const id = generateUniqueId('tooltip');
204
- return (React.createElement(Wrapper$h, { id: `${id}-wrapper`, onMouseEnter: toggleContent.bind(null, true), onMouseLeave: toggleContent.bind(null, false) },
205
- trigger || React.createElement(StyledIcon$6, { id: `${id}-icon`, path: mdiInformationOutline }),
206
- show_content ? (React.createElement(Content$3, { "$position": position, "$width": width, id: `${id}-content` }, children && (React.createElement(Copy, { id: `${id}-copy`, type: 'small' }, children)))) : null));
185
+ const baseId = id || 'tooltip';
186
+ return (React.createElement(Wrapper$h, { id: `${baseId}-wrapper`, onMouseEnter: toggleContent.bind(null, true), onMouseLeave: toggleContent.bind(null, false) },
187
+ trigger || React.createElement(StyledIcon$6, { id: `${baseId}-icon`, path: mdiInformationOutline }),
188
+ show_content ? (React.createElement(Content$3, { "$position": position, "$width": width, id: `${baseId}-content` }, children && (React.createElement(Copy, { id: `${baseId}-copy`, type: 'small' }, children)))) : null));
207
189
  };
208
190
 
209
191
  const StyledButton = styled.button `
@@ -283,7 +265,7 @@ const Badge$1 = styled.span `
283
265
  margin-right: ${props => (props.$small ? '-5px' : '-10px')};
284
266
  `;
285
267
  const Button = (_a) => {
286
- var { badge, children, disabled = false, icon, isForm = false, loading = false, margin = '', onClick, small = false, format = 'primary', iconPosition = 'after', toolTip, title = '' } = _a, accessibleProps = __rest(_a, ["badge", "children", "disabled", "icon", "isForm", "loading", "margin", "onClick", "small", "format", "iconPosition", "toolTip", "title"]);
268
+ var { badge, children, disabled = false, icon, isForm = false, loading = false, margin = '', onClick, small = false, format = 'primary', iconPosition = 'after', toolTip, title = '', id } = _a, accessibleProps = __rest(_a, ["badge", "children", "disabled", "icon", "isForm", "loading", "margin", "onClick", "small", "format", "iconPosition", "toolTip", "title", "id"]);
287
269
  const theme = useContext(ThemeContext) || EditableTheme;
288
270
  const has_children = children && children.length > 0;
289
271
  const button_type_mapping = {
@@ -317,12 +299,12 @@ const Button = (_a) => {
317
299
  },
318
300
  };
319
301
  const format_styles = button_type_mapping[format];
320
- const id = generateUniqueId('button');
321
- const button_view = (React.createElement(StyledButton, Object.assign({ "$bg_color": format_styles.background_color, "$border_color": format_styles.border_color, "$disabled": disabled || loading, "$hasChildren": !!has_children, "$iconPosition": iconPosition, "$margin": margin, "$small": small, disabled: disabled || loading, onClick: disabled || loading ? undefined : onClick, title: title, type: isForm ? 'submit' : undefined }, accessibleProps, { id: `${id}-styled-button` }),
322
- children ? (React.createElement(Label$5, { "$content_color": format_styles.content_color, "$small": small, id: `${id}-label` }, children)) : null,
323
- icon && !badge ? (React.createElement(StyledIcon$5, { "$hasChildren": !!has_children, id: `${id}-icon` },
324
- React.createElement(Icon, { color: format ? format_styles === null || format_styles === void 0 ? void 0 : format_styles.content_color : '#fff', id: `${id}-icon-svg`, path: loading ? mdiLoading : icon, size: small ? '20px' : '24px', spin: loading }))) : null,
325
- badge && !icon ? (React.createElement(Badge$1, { "$bg_color": format_styles.badge_bg_color, "$content_color": format_styles.badge_content_color, "$small": small, id: `${id}-badge` }, badge)) : null));
302
+ const baseId = id || 'button';
303
+ const button_view = (React.createElement(StyledButton, Object.assign({ "$bg_color": format_styles.background_color, "$border_color": format_styles.border_color, "$disabled": disabled || loading, "$hasChildren": !!has_children, "$iconPosition": iconPosition, "$margin": margin, "$small": small, disabled: disabled || loading, onClick: disabled || loading ? undefined : onClick, title: title, type: isForm ? 'submit' : undefined }, accessibleProps, { id: `${baseId}-styled-button` }),
304
+ children ? (React.createElement(Label$5, { "$content_color": format_styles.content_color, "$small": small, id: `${baseId}-label` }, children)) : null,
305
+ icon && !badge ? (React.createElement(StyledIcon$5, { "$hasChildren": !!has_children, id: `${baseId}-icon` },
306
+ React.createElement(Icon, { color: format ? format_styles === null || format_styles === void 0 ? void 0 : format_styles.content_color : '#fff', id: `${baseId}-icon-svg`, path: loading ? mdiLoading : icon, size: small ? '20px' : '24px', spin: loading }))) : null,
307
+ badge && !icon ? (React.createElement(Badge$1, { "$bg_color": format_styles.badge_bg_color, "$content_color": format_styles.badge_content_color, "$small": small, id: `${baseId}-badge` }, badge)) : null));
326
308
  if (toolTip && Object.keys(toolTip).length) {
327
309
  return (React.createElement(Tooltip, Object.assign({}, toolTip, { trigger: (toolTip === null || toolTip === void 0 ? void 0 : toolTip.trigger) || button_view }), toolTip === null || toolTip === void 0 ? void 0 : toolTip.children));
328
310
  }
@@ -360,17 +342,17 @@ const H3 = styled.h3 `
360
342
  box-sizing: border-box;
361
343
  `;
362
344
  const Heading = (_a) => {
363
- var { bold, children, margin, padding, type } = _a, accessibleProps = __rest(_a, ["bold", "children", "margin", "padding", "type"]);
364
- const id = generateUniqueId('heading');
345
+ var { bold, children, margin, padding, type, id } = _a, accessibleProps = __rest(_a, ["bold", "children", "margin", "padding", "type", "id"]);
346
+ const baseId = id || 'heading';
365
347
  switch (type) {
366
348
  case 'secondary': {
367
- return (React.createElement(H2, Object.assign({ "$bold": bold, "$margin": margin, "$padding": padding }, accessibleProps, { id: `${id}-h2` }), children));
349
+ return (React.createElement(H2, Object.assign({ "$bold": bold, "$margin": margin, "$padding": padding }, accessibleProps, { id: `${baseId}-h2` }), children));
368
350
  }
369
351
  case 'tertiary': {
370
- return (React.createElement(H3, Object.assign({ "$bold": bold, "$margin": margin, "$padding": padding }, accessibleProps, { id: `${id}-h3` }), children));
352
+ return (React.createElement(H3, Object.assign({ "$bold": bold, "$margin": margin, "$padding": padding }, accessibleProps, { id: `${baseId}-h3` }), children));
371
353
  }
372
354
  default: {
373
- return (React.createElement(H1, Object.assign({ "$bold": bold, "$margin": margin, "$padding": padding }, accessibleProps, { id: `${id}-h1` }), children));
355
+ return (React.createElement(H1, Object.assign({ "$bold": bold, "$margin": margin, "$padding": padding }, accessibleProps, { id: `${baseId}-h1` }), children));
374
356
  }
375
357
  }
376
358
  };
@@ -402,16 +384,16 @@ const Buttons$1 = styled.div `
402
384
  box-sizing: border-box;
403
385
  `;
404
386
  const ActionDialog = (_a) => {
405
- var { description, title, primaryButton, secondaryButton, tertiaryButton, style = {} } = _a, accessibleProps = __rest(_a, ["description", "title", "primaryButton", "secondaryButton", "tertiaryButton", "style"]);
406
- const id = generateUniqueId('action-dialog');
407
- return (React.createElement(Wrapper$g, Object.assign({}, accessibleProps, { id: `${id}-wrapper` }),
408
- React.createElement(Container$4, { "$customStyle": style, id: `${id}-container`, open: true },
409
- title ? (React.createElement(Heading, { id: `${id}-title`, margin: '0px 0px 20px 0px', type: 'secondary' }, title)) : null,
410
- description ? (React.createElement(Copy, { align: 'center', id: `${id}-description` }, description)) : null,
411
- primaryButton || secondaryButton || tertiaryButton ? (React.createElement(Buttons$1, { id: `${id}-buttons` },
412
- tertiaryButton ? (React.createElement(Button, Object.assign({}, tertiaryButton, { format: tertiaryButton.format || 'secondary', id: `${id}-tertiary-button` }))) : null,
413
- secondaryButton ? (React.createElement(Button, Object.assign({}, secondaryButton, { format: secondaryButton.format || 'secondary', id: `${id}-secondary-button` }))) : null,
414
- primaryButton ? (React.createElement(Button, Object.assign({}, primaryButton, { format: primaryButton.format || 'primary', id: `${id}-primary-button` }))) : null)) : null)));
387
+ var { description, title, primaryButton, secondaryButton, tertiaryButton, style = {}, id } = _a, accessibleProps = __rest(_a, ["description", "title", "primaryButton", "secondaryButton", "tertiaryButton", "style", "id"]);
388
+ const baseId = id || 'action-dialog';
389
+ return (React.createElement(Wrapper$g, Object.assign({}, accessibleProps, { id: `${baseId}-wrapper` }),
390
+ React.createElement(Container$4, { "$customStyle": style, id: `${baseId}-container`, open: true },
391
+ title ? (React.createElement(Heading, { id: `${baseId}-title`, margin: '0px 0px 20px 0px', type: 'secondary' }, title)) : null,
392
+ description ? (React.createElement(Copy, { align: 'center', id: `${baseId}-description` }, description)) : null,
393
+ primaryButton || secondaryButton || tertiaryButton ? (React.createElement(Buttons$1, { id: `${baseId}-buttons` },
394
+ tertiaryButton ? (React.createElement(Button, Object.assign({}, tertiaryButton, { format: tertiaryButton.format || 'secondary', id: `${baseId}-tertiary-button` }))) : null,
395
+ secondaryButton ? (React.createElement(Button, Object.assign({}, secondaryButton, { format: secondaryButton.format || 'secondary', id: `${baseId}-secondary-button` }))) : null,
396
+ primaryButton ? (React.createElement(Button, Object.assign({}, primaryButton, { format: primaryButton.format || 'primary', id: `${baseId}-primary-button` }))) : null)) : null)));
415
397
  };
416
398
 
417
399
  const Wrapper$f = styled.div `
@@ -438,9 +420,9 @@ const Action$1 = styled.div `
438
420
  `;
439
421
  Action$1.defaultProps = { theme: EditableTheme };
440
422
  const Alert = (_a) => {
441
- var { action, type = 'info', title, description, small = false } = _a, accessibleProps = __rest(_a, ["action", "type", "title", "description", "small"]);
423
+ var { action, type = 'info', title, description, small = false, id } = _a, accessibleProps = __rest(_a, ["action", "type", "title", "description", "small", "id"]);
442
424
  const theme = useContext(ThemeContext) || EditableTheme;
443
- const id = generateUniqueId('alert');
425
+ const baseId = id || 'alert';
444
426
  const type_mapping = {
445
427
  info: {
446
428
  color: theme.PRIMARY_COLOR.Hex,
@@ -459,12 +441,12 @@ const Alert = (_a) => {
459
441
  icon: mdiCheckboxMarkedCircleOutline,
460
442
  },
461
443
  };
462
- return (React.createElement(Wrapper$f, Object.assign({}, accessibleProps, { "$small": small, id: `${id}-wrapper`, style: { borderLeftColor: type_mapping[type].color } }),
463
- React.createElement(StyledIcon$4, { color: type_mapping[type].color, id: `${id}-icon`, path: type_mapping[type].icon, size: small ? '20px' : '30px' }),
464
- React.createElement("div", { id: `${id}-content` },
465
- title && !small ? (React.createElement(Heading, { bold: true, id: `${id}-title`, margin: '2px 0 0 0', type: 'tertiary' }, title)) : null,
466
- description ? (React.createElement(Copy, { id: `${id}-description`, margin: small ? '' : '6px 0 0 0 !important' }, description)) : null,
467
- action && !small ? (React.createElement(Action$1, { id: `${id}-action`, onClick: action.onClick }, action.label)) : null)));
444
+ return (React.createElement(Wrapper$f, Object.assign({}, accessibleProps, { "$small": small, id: `${baseId}-wrapper`, style: { borderLeftColor: type_mapping[type].color } }),
445
+ React.createElement(StyledIcon$4, { color: type_mapping[type].color, id: `${baseId}-icon`, path: type_mapping[type].icon, size: small ? '20px' : '30px' }),
446
+ React.createElement("div", { id: `${baseId}-content` },
447
+ title && !small ? (React.createElement(Heading, { bold: true, id: `${baseId}-title`, margin: '2px 0 0 0', type: 'tertiary' }, title)) : null,
448
+ description ? (React.createElement(Copy, { id: `${baseId}-description`, margin: small ? '' : '6px 0 0 0 !important' }, description)) : null,
449
+ action && !small ? (React.createElement(Action$1, { id: `${baseId}-action`, onClick: action.onClick }, action.label)) : null)));
468
450
  };
469
451
 
470
452
  const colorMapping = {
@@ -490,23 +472,23 @@ const colorMapping = {
490
472
  },
491
473
  };
492
474
  const Logo = (_a) => {
493
- var { type = 'standard_full', height = '50px' } = _a, accessibleProps = __rest(_a, ["type", "height"]);
475
+ var { type = 'standard_full', height = '50px', id } = _a, accessibleProps = __rest(_a, ["type", "height", "id"]);
494
476
  const type_parts = type.split('_');
495
- const id = generateUniqueId('logo');
477
+ const baseId = id || 'logo';
496
478
  switch (type_parts[0]) {
497
479
  case 'mark':
498
- return (React.createElement("svg", Object.assign({ fill: 'none', height: height, viewBox: '0 0 58 51', width: '100%', xmlns: 'http://www.w3.org/2000/svg' }, accessibleProps, { id: `${id}-svg` }),
499
- React.createElement("path", { d: 'M43.9348 -1.14441e-05H13.3724L0 25.2376L7.27148 38.0136L14.1215 50.0487H43.1856L57.3077 25.2376L43.9348 -1.14441e-05ZM38.206 9.49903L46.459 25.0743L37.6507 40.5497H19.6567L15.5417 33.3199L10.8487 25.0743L19.1013 9.49903H38.206Z', fill: type_parts[1], id: `${id}-path` })));
480
+ return (React.createElement("svg", Object.assign({ fill: 'none', height: height, viewBox: '0 0 58 51', width: '100%', xmlns: 'http://www.w3.org/2000/svg' }, accessibleProps, { id: `${baseId}-svg` }),
481
+ React.createElement("path", { d: 'M43.9348 -1.14441e-05H13.3724L0 25.2376L7.27148 38.0136L14.1215 50.0487H43.1856L57.3077 25.2376L43.9348 -1.14441e-05ZM38.206 9.49903L46.459 25.0743L37.6507 40.5497H19.6567L15.5417 33.3199L10.8487 25.0743L19.1013 9.49903H38.206Z', fill: type_parts[1], id: `${baseId}-path` })));
500
482
  default:
501
- return (React.createElement("svg", Object.assign({ fill: 'none', height: height, preserveAspectRatio: 'xMidYMid meet', viewBox: '0 0 236 50', width: '100%', xmlns: 'http://www.w3.org/2000/svg' }, accessibleProps, { id: `${id}-svg` }),
502
- React.createElement("path", { d: 'M230.794 29.59H219.306L214.279 39.0907L217.012 43.9001L219.587 48.4308H230.512L235.821 39.0907L230.794 29.59V29.59ZM228.641 33.1659L231.743 39.0292L228.432 44.8549H221.668L220.121 42.1332L218.356 39.0292L221.459 33.1659H228.641Z', fill: colorMapping[type_parts[1]].fill_3, id: `${id}-path-1` }),
503
- React.createElement("path", { d: 'M211.662 42.6033L199.206 42.6319C196.339 42.6319 193.862 41.6095 191.846 39.5923C189.828 37.5755 188.805 35.0985 188.805 32.2321C188.805 29.3656 189.828 26.8886 191.846 24.8718C193.848 22.8332 196.325 21.7975 199.206 21.7975C202.072 21.7975 204.549 22.8199 206.566 24.8374C207.613 25.8847 208.391 27.093 208.944 28.5312L209.253 29.3327H197.87L196.325 32.2579L197.921 35.0969H211.458L215.015 28.6192C214.296 25.5702 212.835 22.9293 210.672 20.7657C207.531 17.6257 203.674 16.0333 199.206 16.0333C194.737 16.0333 190.88 17.6257 187.739 20.7657C184.555 23.9501 183.007 27.7011 183.007 32.2321C183.007 36.7001 184.599 40.5577 187.739 43.6981C190.88 46.8384 194.737 48.4308 199.206 48.4308H210.095L214.745 48.3297L211.662 42.6033', fill: colorMapping[type_parts[1]].fill_1, id: `${id}-path-2` }),
504
- React.createElement("path", { d: 'M160.945 19.133L158.826 20.8384C155.734 23.9359 154.141 27.8058 154.141 32.2967L154.141 47.7903L156.985 49.407L159.939 47.8778L159.94 32.2967C159.94 29.6632 160.778 27.3706 162.432 25.4846C162.615 25.2739 162.811 25.0666 163.018 24.8639C163.074 24.8155 164.138 24.0061 164.811 23.5592C166.321 22.5576 168.076 21.9876 170.024 21.8632L170.166 21.8621C172.923 21.8621 175.32 22.7325 177.301 24.4494L180.146 23.0088L180.246 19.3426C177.44 17.1664 174.132 16.0633 170.408 16.0633C166.909 16.0633 163.725 17.0962 160.945 19.133', fill: colorMapping[type_parts[1]].fill_1, id: `${id}-path-3` }),
505
- React.createElement("path", { d: 'M131.392 50C135.884 50 139.753 48.4076 142.893 45.2676C146.033 42.1269 147.626 38.2581 147.626 33.7668V18.1124L144.782 16.4964L141.827 18.0251V33.7668C141.827 36.6932 140.792 39.1936 138.745 41.2034C136.684 43.1927 134.128 44.2013 131.151 44.2013L131.01 44.2002H131.81L131.669 44.2013C128.692 44.2013 126.136 43.1927 124.074 41.2034C122.028 39.1936 120.993 36.6932 120.993 33.7668V18.0251L118.038 16.4964L115.194 18.1124V33.7668C115.194 38.2581 116.786 42.1269 119.926 45.2676C123.067 48.4076 126.936 50 131.427 50H131.392Z', fill: colorMapping[type_parts[1]].fill_1, id: `${id}-path-4` }),
506
- React.createElement("path", { d: 'M93.8353 26.9933L97.8468 31.2421L100.788 28.1521L107.791 20.4534L106.753 17.3567L103.584 16.5678', fill: colorMapping[type_parts[1]].fill_2, id: `${id}-path-5` }),
507
- React.createElement("path", { d: 'M80.7509 16.5677L77.5821 17.3564L76.5441 20.4534L83.5514 28.1568L88.1484 32.9862L76.5412 45.2133L77.5187 48.3175C79.525 48.9571 80.359 49.1805 80.6985 49.2584L92.195 37.238L103.636 49.2584C103.976 49.1805 104.81 48.9571 106.817 48.3175L107.794 45.2133L80.7509 16.5677', fill: colorMapping[type_parts[1]].fill_1, id: `${id}-path-6` }),
508
- React.createElement("path", { d: 'M67.8498 45.479C67.5109 44.893 66.7322 43.5486 66.2043 42.6319H55.1965C52.3299 42.6319 49.8532 41.6095 47.8364 39.5923C45.819 37.5755 44.7966 35.0985 44.7966 32.2321C44.7966 29.3656 45.819 26.8886 47.8364 24.8718C49.8388 22.8332 52.316 21.7975 55.1965 21.7975C58.0632 21.7975 60.5398 22.8199 62.5565 24.8374C63.6038 25.8847 64.3824 27.093 64.9357 28.5312L65.2435 29.3327H53.8141C53.231 30.2171 52.5673 31.6476 52.303 32.2354L53.912 35.0969H67.474L71.0059 28.6192C70.2872 25.5702 68.8261 22.9293 66.6625 20.7657C63.5219 17.6257 59.6649 16.0333 55.1965 16.0333C50.7283 16.0333 46.8708 17.6257 43.7303 20.7657C40.546 23.9501 38.9979 27.7011 38.9979 32.2321C38.9979 36.7001 40.5903 40.5577 43.7303 43.6981C46.8708 46.8384 50.7283 48.4308 55.1965 48.4308H66.0873C66.9322 47.0737 67.5668 45.977 67.8498 45.479', fill: colorMapping[type_parts[1]].fill_1, id: `${id}-path-7` }),
509
- React.createElement("path", { d: 'M27.6655 20.7443C26.9235 20.002 26.2307 19.4097 25.608 18.9831C22.7338 17.0113 19.5684 16.0117 16.1992 16.0117C13.6229 16.0117 11.1676 16.5943 8.9002 17.7442C8.1016 18.1264 7.38657 18.6118 6.73074 19.0799L5.88805 19.6819C5.85364 19.711 5.81716 19.7449 5.78223 19.7749L5.77618 17.9067C5.78246 17.9022 5.7892 17.8965 5.79554 17.8921L5.72168 1.52402L2.84058 1.54784e-05L0 1.6145V24.9966V30.8918C0.0184614 30.8508 0.0393993 30.8108 0.0580857 30.7698C0.0216133 31.2417 0 31.7206 0 32.2105V47.6757L2.84688 49.2499C4.7412 48.3293 5.4988 47.9164 5.79866 47.7385V32.2105C5.79866 29.3439 6.82128 26.8672 8.83853 24.8504C10.8415 22.8118 13.319 21.7759 16.1992 21.7759C19.0796 21.7759 21.557 22.8118 23.5635 24.8538C25.3441 26.6351 26.3374 28.7976 26.5963 31.4625C26.6263 31.6669 26.6339 40.3058 26.6339 47.6694C27.2825 48.0147 28.6127 48.8167 29.5141 49.3059C29.9448 49.0814 32.0589 47.8425 32.3979 47.6669V32.2105C32.3979 27.6795 30.8499 23.9285 27.6655 20.7443Z', fill: colorMapping[type_parts[1]].fill_1, id: `${id}-path-8` })));
483
+ return (React.createElement("svg", Object.assign({ fill: 'none', height: height, preserveAspectRatio: 'xMidYMid meet', viewBox: '0 0 236 50', width: '100%', xmlns: 'http://www.w3.org/2000/svg' }, accessibleProps, { id: `${baseId}-svg` }),
484
+ React.createElement("path", { d: 'M230.794 29.59H219.306L214.279 39.0907L217.012 43.9001L219.587 48.4308H230.512L235.821 39.0907L230.794 29.59V29.59ZM228.641 33.1659L231.743 39.0292L228.432 44.8549H221.668L220.121 42.1332L218.356 39.0292L221.459 33.1659H228.641Z', fill: colorMapping[type_parts[1]].fill_3, id: `${baseId}-path-1` }),
485
+ React.createElement("path", { d: 'M211.662 42.6033L199.206 42.6319C196.339 42.6319 193.862 41.6095 191.846 39.5923C189.828 37.5755 188.805 35.0985 188.805 32.2321C188.805 29.3656 189.828 26.8886 191.846 24.8718C193.848 22.8332 196.325 21.7975 199.206 21.7975C202.072 21.7975 204.549 22.8199 206.566 24.8374C207.613 25.8847 208.391 27.093 208.944 28.5312L209.253 29.3327H197.87L196.325 32.2579L197.921 35.0969H211.458L215.015 28.6192C214.296 25.5702 212.835 22.9293 210.672 20.7657C207.531 17.6257 203.674 16.0333 199.206 16.0333C194.737 16.0333 190.88 17.6257 187.739 20.7657C184.555 23.9501 183.007 27.7011 183.007 32.2321C183.007 36.7001 184.599 40.5577 187.739 43.6981C190.88 46.8384 194.737 48.4308 199.206 48.4308H210.095L214.745 48.3297L211.662 42.6033', fill: colorMapping[type_parts[1]].fill_1, id: `${baseId}-path-2` }),
486
+ React.createElement("path", { d: 'M160.945 19.133L158.826 20.8384C155.734 23.9359 154.141 27.8058 154.141 32.2967L154.141 47.7903L156.985 49.407L159.939 47.8778L159.94 32.2967C159.94 29.6632 160.778 27.3706 162.432 25.4846C162.615 25.2739 162.811 25.0666 163.018 24.8639C163.074 24.8155 164.138 24.0061 164.811 23.5592C166.321 22.5576 168.076 21.9876 170.024 21.8632L170.166 21.8621C172.923 21.8621 175.32 22.7325 177.301 24.4494L180.146 23.0088L180.246 19.3426C177.44 17.1664 174.132 16.0633 170.408 16.0633C166.909 16.0633 163.725 17.0962 160.945 19.133', fill: colorMapping[type_parts[1]].fill_1, id: `${baseId}-path-3` }),
487
+ React.createElement("path", { d: 'M131.392 50C135.884 50 139.753 48.4076 142.893 45.2676C146.033 42.1269 147.626 38.2581 147.626 33.7668V18.1124L144.782 16.4964L141.827 18.0251V33.7668C141.827 36.6932 140.792 39.1936 138.745 41.2034C136.684 43.1927 134.128 44.2013 131.151 44.2013L131.01 44.2002H131.81L131.669 44.2013C128.692 44.2013 126.136 43.1927 124.074 41.2034C122.028 39.1936 120.993 36.6932 120.993 33.7668V18.0251L118.038 16.4964L115.194 18.1124V33.7668C115.194 38.2581 116.786 42.1269 119.926 45.2676C123.067 48.4076 126.936 50 131.427 50H131.392Z', fill: colorMapping[type_parts[1]].fill_1, id: `${baseId}-path-4` }),
488
+ React.createElement("path", { d: 'M93.8353 26.9933L97.8468 31.2421L100.788 28.1521L107.791 20.4534L106.753 17.3567L103.584 16.5678', fill: colorMapping[type_parts[1]].fill_2, id: `${baseId}-path-5` }),
489
+ React.createElement("path", { d: 'M80.7509 16.5677L77.5821 17.3564L76.5441 20.4534L83.5514 28.1568L88.1484 32.9862L76.5412 45.2133L77.5187 48.3175C79.525 48.9571 80.359 49.1805 80.6985 49.2584L92.195 37.238L103.636 49.2584C103.976 49.1805 104.81 48.9571 106.817 48.3175L107.794 45.2133L80.7509 16.5677', fill: colorMapping[type_parts[1]].fill_1, id: `${baseId}-path-6` }),
490
+ React.createElement("path", { d: 'M67.8498 45.479C67.5109 44.893 66.7322 43.5486 66.2043 42.6319H55.1965C52.3299 42.6319 49.8532 41.6095 47.8364 39.5923C45.819 37.5755 44.7966 35.0985 44.7966 32.2321C44.7966 29.3656 45.819 26.8886 47.8364 24.8718C49.8388 22.8332 52.316 21.7975 55.1965 21.7975C58.0632 21.7975 60.5398 22.8199 62.5565 24.8374C63.6038 25.8847 64.3824 27.093 64.9357 28.5312L65.2435 29.3327H53.8141C53.231 30.2171 52.5673 31.6476 52.303 32.2354L53.912 35.0969H67.474L71.0059 28.6192C70.2872 25.5702 68.8261 22.9293 66.6625 20.7657C63.5219 17.6257 59.6649 16.0333 55.1965 16.0333C50.7283 16.0333 46.8708 17.6257 43.7303 20.7657C40.546 23.9501 38.9979 27.7011 38.9979 32.2321C38.9979 36.7001 40.5903 40.5577 43.7303 43.6981C46.8708 46.8384 50.7283 48.4308 55.1965 48.4308H66.0873C66.9322 47.0737 67.5668 45.977 67.8498 45.479', fill: colorMapping[type_parts[1]].fill_1, id: `${baseId}-path-7` }),
491
+ React.createElement("path", { d: 'M27.6655 20.7443C26.9235 20.002 26.2307 19.4097 25.608 18.9831C22.7338 17.0113 19.5684 16.0117 16.1992 16.0117C13.6229 16.0117 11.1676 16.5943 8.9002 17.7442C8.1016 18.1264 7.38657 18.6118 6.73074 19.0799L5.88805 19.6819C5.85364 19.711 5.81716 19.7449 5.78223 19.7749L5.77618 17.9067C5.78246 17.9022 5.7892 17.8965 5.79554 17.8921L5.72168 1.52402L2.84058 1.54784e-05L0 1.6145V24.9966V30.8918C0.0184614 30.8508 0.0393993 30.8108 0.0580857 30.7698C0.0216133 31.2417 0 31.7206 0 32.2105V47.6757L2.84688 49.2499C4.7412 48.3293 5.4988 47.9164 5.79866 47.7385V32.2105C5.79866 29.3439 6.82128 26.8672 8.83853 24.8504C10.8415 22.8118 13.319 21.7759 16.1992 21.7759C19.0796 21.7759 21.557 22.8118 23.5635 24.8538C25.3441 26.6351 26.3374 28.7976 26.5963 31.4625C26.6263 31.6669 26.6339 40.3058 26.6339 47.6694C27.2825 48.0147 28.6127 48.8167 29.5141 49.3059C29.9448 49.0814 32.0589 47.8425 32.3979 47.6669V32.2105C32.3979 27.6795 30.8499 23.9285 27.6655 20.7443Z', fill: colorMapping[type_parts[1]].fill_1, id: `${baseId}-path-8` })));
510
492
  }
511
493
  };
512
494
 
@@ -533,11 +515,11 @@ const Buttons = styled.div `
533
515
  column-gap: 10px;
534
516
  flex-direction: reverse;
535
517
  `;
536
- const AppHeader = ({ logoUrl, buttons = [] }) => {
537
- const id = generateUniqueId('app-header');
538
- return (React.createElement(Container$3, { id: `${id}-container` },
539
- React.createElement(LogoWrapper, { id: `${id}-logo-wrapper` }, logoUrl ? (React.createElement(Image, { id: `${id}-logo`, src: logoUrl })) : (React.createElement(Logo, { height: '30px', id: `${id}-default-logo` }))),
540
- React.createElement(Buttons, { id: `${id}-buttons` }, buttons.map((b, i) => (React.createElement(Button, Object.assign({ key: i }, b, { id: `${id}-button-${i}` })))))));
518
+ const AppHeader = ({ logoUrl, buttons = [], id }) => {
519
+ const baseId = id || 'app-header';
520
+ return (React.createElement(Container$3, { id: `${baseId}-container` },
521
+ React.createElement(LogoWrapper, { id: `${baseId}-logo-wrapper` }, logoUrl ? (React.createElement(Image, { id: `${baseId}-logo`, src: logoUrl })) : (React.createElement(Logo, { height: '30px', id: `${baseId}-default-logo` }))),
522
+ React.createElement(Buttons, { id: `${baseId}-buttons` }, buttons.map((b, i) => (React.createElement(Button, Object.assign({ key: i }, b, { id: `${baseId}-button-${i}` })))))));
541
523
  };
542
524
 
543
525
  const Wrapper$e = styled.div `
@@ -566,13 +548,13 @@ const Remove$1 = styled.div `
566
548
  align-items: center;
567
549
  `;
568
550
  const Tag = (_a) => {
569
- var { children, color = 'PRIMARY', removable, onClick } = _a, accessibleProps = __rest(_a, ["children", "color", "removable", "onClick"]);
570
- const id = generateUniqueId('tag');
571
- return (React.createElement(Wrapper$e, Object.assign({ "$color": color, "$removable": removable, onClick: onClick }, accessibleProps, { id: `${id}-wrapper` }),
572
- React.createElement(Content$2, { id: `${id}-content` },
573
- React.createElement(Label$4, { "$color": color, id: `${id}-label` }, children),
574
- removable ? (React.createElement(Remove$1, { id: `${id}-remove` },
575
- React.createElement(Icon, { color: color === 'SUBTLE_GRAY' ? '#000000' : '#ffffff', id: `${id}-icon`, path: mdiClose, size: '15px' }))) : null)));
551
+ var { children, color = 'PRIMARY', removable, onClick, id } = _a, accessibleProps = __rest(_a, ["children", "color", "removable", "onClick", "id"]);
552
+ const baseId = id || 'tag';
553
+ return (React.createElement(Wrapper$e, Object.assign({ "$color": color, "$removable": removable, onClick: onClick }, accessibleProps, { id: `${baseId}-wrapper` }),
554
+ React.createElement(Content$2, { id: `${baseId}-content` },
555
+ React.createElement(Label$4, { "$color": color, id: `${baseId}-label` }, children),
556
+ removable ? (React.createElement(Remove$1, { id: `${baseId}-remove` },
557
+ React.createElement(Icon, { color: color === 'SUBTLE_GRAY' ? '#000000' : '#ffffff', id: `${baseId}-icon`, path: mdiClose, size: '15px' }))) : null)));
576
558
  };
577
559
 
578
560
  const SidebarContainer = styled.div `
@@ -662,30 +644,30 @@ const FooterInfo = styled.div `
662
644
  const SidebarMenuContainer = styled.div `
663
645
  flex-grow: 1;
664
646
  `;
665
- const AppMenu = ({ menu, isCollapsed, footerTag, defaultWidth = '280px' }) => {
647
+ const AppMenu = ({ menu, isCollapsed, footerTag, defaultWidth = '280px', id, }) => {
666
648
  const theme = useContext(ThemeContext) || EditableTheme;
667
649
  const [collapsed, toggleCollapse] = useState(isCollapsed);
668
- const id = generateUniqueId('app-menu');
669
- return (React.createElement(SidebarContainer, { "$isOpen": !collapsed, "$width": defaultWidth, id: `${id}-sidebar-container` },
670
- React.createElement(SidebarMenuContainer, { id: `${id}-sidebar-menu-container` }, menu.map((nav_item, navIndex) => {
671
- const navItemId = generateUniqueId(`nav-item-${navIndex}`);
650
+ const baseId = id || 'app-menu';
651
+ return (React.createElement(SidebarContainer, { "$isOpen": !collapsed, "$width": defaultWidth, id: `${baseId}-sidebar-container` },
652
+ React.createElement(SidebarMenuContainer, { id: `${baseId}-sidebar-menu-container` }, menu.map((nav_item, navIndex) => {
653
+ const navItemId = `${baseId}-nav-item-${navIndex}`;
672
654
  return (React.createElement(React.Fragment, { key: navItemId },
673
655
  React.createElement(MenuWrapper$1, { "$active": !!nav_item.is_active, "$color": theme.PRIMARY_COLOR, id: `${navItemId}-menu-wrapper`, onClick: nav_item.onClick, title: collapsed ? (nav_item === null || nav_item === void 0 ? void 0 : nav_item.title) || nav_item.label : '' },
674
656
  React.createElement(MenuIcon, { "$active": !!nav_item.is_active, id: `${navItemId}-menu-icon`, path: nav_item.icon }),
675
657
  collapsed ? null : (React.createElement(MenuLabel, { "$active": nav_item.is_active, "$color": theme.PRIMARY_COLOR, id: `${navItemId}-menu-label` }, nav_item.label))),
676
658
  nav_item.is_active && nav_item.menu && !collapsed ? (React.createElement(SubMenu, { id: `${navItemId}-sub-menu` }, nav_item.menu.map((menu_item, menuIndex) => {
677
- const menuItemId = generateUniqueId(`menu-item-${menuIndex}`);
659
+ const menuItemId = `${navItemId}-menu-item-${menuIndex}`;
678
660
  return (React.createElement(SubMenuItem, { "$active": menu_item.is_active, "$color": theme.PRIMARY_COLOR, id: `${menuItemId}-sub-menu-item`, key: menuItemId, onClick: menu_item.onClick }, menu_item.label));
679
661
  }))) : null));
680
662
  })),
681
- React.createElement(Footer, { id: `${id}-footer` },
682
- collapsed ? null : (React.createElement(FooterInfo, { id: `${id}-footer-info` },
683
- footerTag ? React.createElement(Tag, { id: `${id}-footer-tag` }, footerTag) : null,
684
- React.createElement(Copy, { id: `${id}-footer-copy`, margin: '8px 0 0 0', type: 'small' },
663
+ React.createElement(Footer, { id: `${baseId}-footer` },
664
+ collapsed ? null : (React.createElement(FooterInfo, { id: `${baseId}-footer-info` },
665
+ footerTag ? React.createElement(Tag, { id: `${baseId}-footer-tag` }, footerTag) : null,
666
+ React.createElement(Copy, { id: `${baseId}-footer-copy`, margin: '8px 0 0 0', type: 'small' },
685
667
  "\u00A9 ",
686
668
  new Date().getFullYear(),
687
669
  " Hexure"))),
688
- React.createElement(Button, { icon: collapsed ? mdiChevronRight : mdiChevronLeft, id: `${id}-collapse-button`, onClick: (e) => {
670
+ React.createElement(Button, { icon: collapsed ? mdiChevronRight : mdiChevronLeft, id: `${baseId}-collapse-button`, onClick: (e) => {
689
671
  e.preventDefault();
690
672
  toggleCollapse(!collapsed);
691
673
  }, small: true }))));
@@ -760,19 +742,19 @@ const ErrorMsg = styled.span `
760
742
  margin-left: 8px;
761
743
  `;
762
744
  const BulkActionBar = (_a) => {
763
- var { actions = [], errorMsg, onClear, selectedCount = 0 } = _a, accessibleProps = __rest(_a, ["actions", "errorMsg", "onClear", "selectedCount"]);
764
- const id = generateUniqueId('bulk-action-bar');
765
- return (React.createElement(Wrapper$d, Object.assign({}, accessibleProps, { id: `${id}-wrapper` }),
766
- React.createElement(Left, { id: `${id}-left` },
767
- React.createElement(Info$1, { id: `${id}-info` },
768
- React.createElement(Selected, { id: `${id}-selected` },
745
+ var { actions = [], errorMsg, onClear, selectedCount = 0, id } = _a, accessibleProps = __rest(_a, ["actions", "errorMsg", "onClear", "selectedCount", "id"]);
746
+ const baseId = id || 'bulk-action-bar';
747
+ return (React.createElement(Wrapper$d, Object.assign({}, accessibleProps, { id: `${baseId}-wrapper` }),
748
+ React.createElement(Left, { id: `${baseId}-left` },
749
+ React.createElement(Info$1, { id: `${baseId}-info` },
750
+ React.createElement(Selected, { id: `${baseId}-selected` },
769
751
  selectedCount,
770
752
  " Selected"),
771
- onClear ? (React.createElement(Clear, { id: `${id}-clear`, onClick: onClear }, "Clear")) : null),
772
- React.createElement(Actions$1, { id: `${id}-actions` }, actions.map((action, i) => (React.createElement(Button, Object.assign({}, action, { id: `${id}-action-${i}`, key: i, small: true })))))),
773
- errorMsg ? (React.createElement(Error$1, { id: `${id}-error` },
774
- React.createElement(Icon, { color: Colors.RED.Hex, id: `${id}-error-icon`, path: mdiInformationOutline, size: '20px' }),
775
- React.createElement(ErrorMsg, { id: `${id}-error-msg` }, errorMsg))) : null));
753
+ onClear ? (React.createElement(Clear, { id: `${baseId}-clear`, onClick: onClear }, "Clear")) : null),
754
+ React.createElement(Actions$1, { id: `${baseId}-actions` }, actions.map((action, i) => (React.createElement(Button, Object.assign({}, action, { id: `${baseId}-action-${i}`, key: i, small: true })))))),
755
+ errorMsg ? (React.createElement(Error$1, { id: `${baseId}-error` },
756
+ React.createElement(Icon, { color: Colors.RED.Hex, id: `${baseId}-error-icon`, path: mdiInformationOutline, size: '20px' }),
757
+ React.createElement(ErrorMsg, { id: `${baseId}-error-msg` }, errorMsg))) : null));
776
758
  };
777
759
 
778
760
  const Wrapper$c = styled.div `
@@ -820,11 +802,11 @@ Title$1.defaultProps = {
820
802
  disabled: false,
821
803
  };
822
804
  const MoreMenu = (_a) => {
823
- var { maxHeight, menuItems = [] } = _a, accessibleProps = __rest(_a, ["maxHeight", "menuItems"]);
824
- const id = generateUniqueId('more-menu');
825
- return (React.createElement(Wrapper$c, Object.assign({ "$maxHeight": maxHeight }, accessibleProps, { id: `${id}-wrapper` }), menuItems.map((item, i) => {
805
+ var { maxHeight, menuItems = [], id } = _a, accessibleProps = __rest(_a, ["maxHeight", "menuItems", "id"]);
806
+ const baseId = id || 'more-menu';
807
+ return (React.createElement(Wrapper$c, Object.assign({ "$maxHeight": maxHeight }, accessibleProps, { id: `${baseId}-wrapper` }), menuItems.map((item, i) => {
826
808
  var _a;
827
- const itemId = generateUniqueId(`menu-item-${i}`);
809
+ const itemId = `${baseId}-menu-item-${i}`;
828
810
  return (React.createElement(MenuItem, { id: `${itemId}-menu-item`, key: i, onClick: item.onClick },
829
811
  item.icon ? (React.createElement(Icon, { color: item.disabled ? Colors.LIGHT_GRAY.Hex : Colors.MEDIUM_GRAY.Hex, id: `${itemId}-icon`, path: item.icon, size: '20px' })) : null,
830
812
  React.createElement(Title$1, { disabled: (_a = item.disabled) !== null && _a !== void 0 ? _a : false, id: `${itemId}-title` }, item.label)));
@@ -843,11 +825,11 @@ const StyledMoreMenu = styled(MoreMenu) `
843
825
  max-height: ${props => props.maxHeight};
844
826
  z-index: 10;
845
827
  `;
846
- const ButtonMenu = ({ disabled, label, maxHeight, menuItems, small, position = 'bottomLeft', format = 'primary', menuWidth = '200px', enableHover = true, enableClick = false, show = false, }) => {
828
+ const ButtonMenu = ({ disabled, label, maxHeight, menuItems, small, position = 'bottomLeft', format = 'primary', menuWidth = '200px', enableHover = true, enableClick = false, show = false, id, }) => {
847
829
  const [showMenu, toggleMenu] = useState(false);
848
830
  const [menuPosition, setMenuPosition] = useState({ top: '0px', left: '0px' });
849
831
  const menuWrapperRef = useRef(null);
850
- const id = generateUniqueId('button-menu');
832
+ const baseId = id || 'button-menu';
851
833
  useEffect(() => {
852
834
  toggleMenu(show);
853
835
  }, [show]);
@@ -913,9 +895,9 @@ const ButtonMenu = ({ disabled, label, maxHeight, menuItems, small, position = '
913
895
  setMenuPosition({ top: `${top}px`, left: `${left}px` });
914
896
  }
915
897
  }, [showMenu, position, menuWidth]);
916
- return (React.createElement(MenuWrapper, { id: `${id}-menu-wrapper`, onClick: handleClick, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, ref: menuWrapperRef },
917
- React.createElement(Button, { disabled: disabled, format: format, icon: mdiDotsHorizontal, id: `${id}-button`, small: small }, label),
918
- showMenu && (React.createElement(StyledMoreMenu, { "$left": menuPosition.left, "$menuWidth": menuWidth, "$top": menuPosition.top, id: `${id}-more-menu`, maxHeight: maxHeight, menuItems: menuItems }))));
898
+ return (React.createElement(MenuWrapper, { id: `${baseId}-menu-wrapper`, onClick: handleClick, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, ref: menuWrapperRef },
899
+ React.createElement(Button, { disabled: disabled, format: format, icon: mdiDotsHorizontal, id: `${baseId}-button`, small: small }, label),
900
+ showMenu && (React.createElement(StyledMoreMenu, { "$left": menuPosition.left, "$menuWidth": menuWidth, "$top": menuPosition.top, id: `${baseId}-more-menu`, maxHeight: maxHeight, menuItems: menuItems }))));
919
901
  };
920
902
 
921
903
  const Wrapper$b = styled.label `
@@ -997,12 +979,12 @@ const Label$3 = styled.span `
997
979
  box-sizing: border-box;
998
980
  `;
999
981
  const Checkbox = (_a) => {
1000
- var { children, color, disabled, checked, onChange, invalid, tooltip, tabIndex } = _a, accessibleProps = __rest(_a, ["children", "color", "disabled", "checked", "onChange", "invalid", "tooltip", "tabIndex"]);
1001
- const id = generateUniqueId('checkbox');
1002
- return (React.createElement(Wrapper$b, Object.assign({ "$disabled": disabled }, accessibleProps, { id: `${id}-wrapper` }),
1003
- React.createElement(Input$2, { checked: checked, disabled: disabled, id: `${id}-input`, name: accessibleProps.name, onChange: disabled ? undefined : onChange, tabIndex: disabled ? -1 : tabIndex, type: 'checkbox' }),
1004
- React.createElement(Check$1, { "$invalid": invalid, id: `${id}-check` }),
1005
- children ? (React.createElement(Label$3, { color: color, id: `${id}-label` },
982
+ var { children, color, disabled, checked, onChange, invalid, tooltip, tabIndex, id } = _a, accessibleProps = __rest(_a, ["children", "color", "disabled", "checked", "onChange", "invalid", "tooltip", "tabIndex", "id"]);
983
+ const baseId = id || 'checkbox';
984
+ return (React.createElement(Wrapper$b, Object.assign({ "$disabled": disabled }, accessibleProps, { id: `${baseId}-wrapper` }),
985
+ React.createElement(Input$2, { checked: checked, disabled: disabled, id: `${baseId}-input`, name: accessibleProps.name, onChange: disabled ? undefined : onChange, tabIndex: disabled ? -1 : tabIndex, type: 'checkbox' }),
986
+ React.createElement(Check$1, { "$invalid": invalid, id: `${baseId}-check` }),
987
+ children ? (React.createElement(Label$3, { color: color, id: `${baseId}-label` },
1006
988
  children,
1007
989
  tooltip ? React.createElement(Tooltip, Object.assign({}, tooltip)) : null)) : null));
1008
990
  };
@@ -1017,9 +999,10 @@ const Options$1 = styled.div `
1017
999
  box-sizing: border-box;
1018
1000
  `;
1019
1001
  const Checklist = (_a) => {
1020
- var { disabled, onChange, options, selected = [], showSelectAll } = _a, accessibleProps = __rest(_a, ["disabled", "onChange", "options", "selected", "showSelectAll"]);
1002
+ var { disabled, onChange, options, selected = [], showSelectAll, id } = _a, accessibleProps = __rest(_a, ["disabled", "onChange", "options", "selected", "showSelectAll", "id"]);
1021
1003
  const values = options.map((option) => option.value);
1022
1004
  const selected_options = options.filter(o => selected.includes(o.value));
1005
+ const baseId = id || 'checklist';
1023
1006
  const handleToggleAll = () => {
1024
1007
  if (selected_options.length === options.length) {
1025
1008
  triggerChange([]);
@@ -1043,14 +1026,13 @@ const Checklist = (_a) => {
1043
1026
  },
1044
1027
  });
1045
1028
  };
1046
- const id = generateUniqueId('checklist');
1047
1029
  return (React.createElement(React.Fragment, null,
1048
- showSelectAll && values.length ? (React.createElement(SelectAll, { id: `${id}-select-all` },
1049
- React.createElement(Checkbox, { checked: selected.length === values.length, disabled: disabled, id: `${id}-checkbox-select-all`, onChange: handleToggleAll }, "Select All"))) : null,
1050
- React.createElement(Options$1, { id: `${id}-options` }, options.map((option, i) => {
1030
+ showSelectAll && values.length ? (React.createElement(SelectAll, { id: `${baseId}-select-all` },
1031
+ React.createElement(Checkbox, { checked: selected.length === values.length, disabled: disabled, id: `${baseId}-checkbox-select-all`, onChange: handleToggleAll }, "Select All"))) : null,
1032
+ React.createElement(Options$1, { id: `${baseId}-options` }, options.map((option, i) => {
1051
1033
  const label = `${option.label || option.value}`;
1052
1034
  const checked = selected.includes(option.value);
1053
- const optionId = generateUniqueId('option');
1035
+ const optionId = `${baseId}-option-${i}`;
1054
1036
  return (React.createElement(Checkbox, Object.assign({ id: `${optionId}-checkbox`, key: i }, accessibleProps, { checked: checked, color: option.color, disabled: disabled, onChange: handleChange.bind(null, option) }), label));
1055
1037
  }))));
1056
1038
  };
@@ -1119,10 +1101,10 @@ const SearchInput$1 = styled.input `
1119
1101
  white-space: nowrap;
1120
1102
  `;
1121
1103
  const Select = (_a) => {
1122
- var { options, optionGroups, placeholder = '--Select-One--', readOnly, invalid, searchable = false, value: propValue, onChange, style, tabIndex } = _a, accessibleProps = __rest(_a, ["options", "optionGroups", "placeholder", "readOnly", "invalid", "searchable", "value", "onChange", "style", "tabIndex"]);
1104
+ var { options, optionGroups, placeholder = '--Select-One--', readOnly, invalid, searchable = false, value: propValue, onChange, style, tabIndex, id } = _a, accessibleProps = __rest(_a, ["options", "optionGroups", "placeholder", "readOnly", "invalid", "searchable", "value", "onChange", "style", "tabIndex", "id"]);
1123
1105
  const [searchTerm, setSearchTerm] = useState('');
1124
1106
  const [value, setValue] = useState(propValue || '');
1125
- const id = generateUniqueId('select');
1107
+ const baseId = id || 'select';
1126
1108
  // Update the value when the prop changes
1127
1109
  useEffect(() => {
1128
1110
  setValue(propValue || '');
@@ -1142,15 +1124,15 @@ const Select = (_a) => {
1142
1124
  const filteredOptionGroups = searchable
1143
1125
  ? optionGroups === null || optionGroups === void 0 ? void 0 : optionGroups.map(group => (Object.assign(Object.assign({}, group), { options: group.options.filter(option => { var _a; return (_a = option.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(searchTerm.toLowerCase()); }) })))
1144
1126
  : optionGroups;
1145
- return (React.createElement(Wrapper$a, { "$invalid": invalid, "$readOnly": readOnly, "$style": style, id: `${id}-wrapper` },
1146
- searchable && (React.createElement(SearchInput$1, Object.assign({ id: `${id}-search-input`, onChange: handleSearch, placeholder: placeholder, tabIndex: readOnly ? -1 : tabIndex, type: 'text', value: searchTerm }, accessibleProps))),
1147
- React.createElement(Trigger$1, Object.assign({ disabled: readOnly, id: `${id}-trigger`, onChange: handleChange, placeholder: placeholder, tabIndex: readOnly ? -1 : tabIndex, value: value }, accessibleProps),
1148
- placeholder && !value && (React.createElement("option", { disabled: true, id: `${id}-placeholder`, value: '' }, placeholder)),
1127
+ return (React.createElement(Wrapper$a, { "$invalid": invalid, "$readOnly": readOnly, "$style": style, id: `${baseId}-wrapper` },
1128
+ searchable && (React.createElement(SearchInput$1, Object.assign({ id: `${baseId}-search-input`, onChange: handleSearch, placeholder: placeholder, tabIndex: readOnly ? -1 : tabIndex, type: 'text', value: searchTerm }, accessibleProps))),
1129
+ React.createElement(Trigger$1, Object.assign({ disabled: readOnly, id: `${baseId}-trigger`, onChange: handleChange, placeholder: placeholder, tabIndex: readOnly ? -1 : tabIndex, value: value }, accessibleProps),
1130
+ placeholder && !value && (React.createElement("option", { disabled: true, id: `${baseId}-placeholder`, value: '' }, placeholder)),
1149
1131
  filteredOptionGroups &&
1150
- filteredOptionGroups.map((group, i) => (React.createElement("optgroup", { id: `${id}-optgroup-${i}`, key: i, label: group.label || `Group ${i}` }, group.options.map((option, j) => (React.createElement("option", { id: `${id}-option-${i}-${j}`, key: j, style: { color: option.color }, value: option.value }, option.label || option.value)))))),
1132
+ filteredOptionGroups.map((group, i) => (React.createElement("optgroup", { id: `${baseId}-optgroup-${i}`, key: i, label: group.label || `Group ${i}` }, group.options.map((option, j) => (React.createElement("option", { id: `${baseId}-option-${i}-${j}`, key: j, style: { color: option.color }, value: option.value }, option.label || option.value)))))),
1151
1133
  filteredOptions &&
1152
- filteredOptions.map((option, i) => (React.createElement("option", { id: `${id}-option-${i}`, key: i, style: { color: option.color }, value: option.value }, option.label || option.value)))),
1153
- React.createElement(IconWrapper$2, { color: Colors.BLACK.Hex, id: `${id}-icon`, path: mdiChevronDown, size: '22px' })));
1134
+ filteredOptions.map((option, i) => (React.createElement("option", { id: `${baseId}-option-${i}`, key: i, style: { color: option.color }, value: option.value }, option.label || option.value)))),
1135
+ React.createElement(IconWrapper$2, { color: Colors.BLACK.Hex, id: `${baseId}-icon`, path: mdiChevronDown, size: '22px' })));
1154
1136
  };
1155
1137
 
1156
1138
  const DatePickerWrapper = styled.div `
@@ -1163,7 +1145,7 @@ const Middle = styled.div `
1163
1145
  `;
1164
1146
  const DatePicker = ({ readOnly = false, invalid = false, maxDate = null, minDate = null, date,
1165
1147
  // eslint-disable-next-line @typescript-eslint/no-empty-function
1166
- onChange = () => { }, style, }) => {
1148
+ onChange = () => { }, style, id, }) => {
1167
1149
  const [selectedDay, setSelectedDay] = useState(date ? dayjs(date).date().toString() : '');
1168
1150
  const [selectedMonth, setSelectedMonth] = useState(date ? (dayjs(date).month() + 1).toString() : '');
1169
1151
  const [selectedYear, setSelectedYear] = useState(date ? dayjs(date).year().toString() : '');
@@ -1240,13 +1222,13 @@ onChange = () => { }, style, }) => {
1240
1222
  setSelectedYear(e.target.value);
1241
1223
  setDDate(new_date);
1242
1224
  };
1243
- const id = generateUniqueId('date-picker');
1225
+ const baseId = id || 'date-picker';
1244
1226
  return (React.createElement(React.Fragment, null,
1245
- React.createElement(DatePickerWrapper, { "$style": style, id: `${id}-wrapper` },
1246
- React.createElement(Select, { id: `${id}-month-select`, invalid: invalid, onChange: handleMonthChange, options: months, placeholder: 'Select Month', readOnly: readOnly, style: { borderRadius: '4px 0px 0px 4px', flexGrow: 3 }, value: selectedMonth }),
1247
- React.createElement(Middle, { id: `${id}-middle` },
1248
- React.createElement(Select, { id: `${id}-day-select`, invalid: invalid, onChange: handleDayChange, options: dayOptions, placeholder: 'Select Day', readOnly: readOnly, style: { borderRadius: '0px' }, value: selectedDay })),
1249
- React.createElement(Select, { id: `${id}-year-select`, invalid: invalid, onChange: handleYearChange, options: years, placeholder: 'Select Year', readOnly: readOnly, style: { borderRadius: '0px 4px 4px 0px', flexGrow: 2 }, value: selectedYear }))));
1227
+ React.createElement(DatePickerWrapper, { "$style": style, id: `${baseId}-wrapper` },
1228
+ React.createElement(Select, { id: `${baseId}-month-select`, invalid: invalid, onChange: handleMonthChange, options: months, placeholder: 'Select Month', readOnly: readOnly, style: { borderRadius: '4px 0px 0px 4px', flexGrow: 3 }, value: selectedMonth }),
1229
+ React.createElement(Middle, { id: `${baseId}-middle` },
1230
+ React.createElement(Select, { id: `${baseId}-day-select`, invalid: invalid, onChange: handleDayChange, options: dayOptions, placeholder: 'Select Day', readOnly: readOnly, style: { borderRadius: '0px' }, value: selectedDay })),
1231
+ React.createElement(Select, { id: `${baseId}-year-select`, invalid: invalid, onChange: handleYearChange, options: years, placeholder: 'Select Year', readOnly: readOnly, style: { borderRadius: '0px 4px 4px 0px', flexGrow: 2 }, value: selectedYear }))));
1250
1232
  };
1251
1233
 
1252
1234
  const Scrim$1 = styled.div `
@@ -1309,7 +1291,7 @@ const ButtonBar$1 = styled.div `
1309
1291
  background: #fff;
1310
1292
  `;
1311
1293
  const Drawer = (_a) => {
1312
- var { children, description, title, onClose, primaryButton, position = 'fixed', secondaryButton, tertiaryButton, scrim = 'dark', width } = _a, accessibleProps = __rest(_a, ["children", "description", "title", "onClose", "primaryButton", "position", "secondaryButton", "tertiaryButton", "scrim", "width"]);
1294
+ var { children, description, title, onClose, primaryButton, position = 'fixed', secondaryButton, tertiaryButton, scrim = 'dark', width, id } = _a, accessibleProps = __rest(_a, ["children", "description", "title", "onClose", "primaryButton", "position", "secondaryButton", "tertiaryButton", "scrim", "width", "id"]);
1313
1295
  useEffect(() => {
1314
1296
  document.onkeydown = e => {
1315
1297
  if (e.key === 'Escape') {
@@ -1319,22 +1301,22 @@ const Drawer = (_a) => {
1319
1301
  return function cleanup() {
1320
1302
  document.onkeydown = null;
1321
1303
  };
1322
- }, []);
1323
- const id = generateUniqueId('drawer');
1304
+ }, [onClose]);
1305
+ const baseId = id || 'drawer';
1324
1306
  return (React.createElement(React.Fragment, null,
1325
- React.createElement(Container$2, Object.assign({}, accessibleProps, { "$position": position, "$width": width, id: `${id}-container` }),
1326
- React.createElement(Header$2, { id: `${id}-header` },
1327
- React.createElement("div", { id: `${id}-header-content` },
1328
- title ? (React.createElement(Heading, { id: `${id}-title`, type: 'secondary' }, title)) : null,
1329
- description ? (React.createElement(Copy, { color: 'GRAY', id: `${id}-description` }, description)) : null),
1330
- React.createElement(Close$1, { id: `${id}-close`, onClick: onClose },
1331
- React.createElement(Button, { format: 'secondary', icon: mdiClose, id: `${id}-close-button`, small: true }))),
1332
- React.createElement(ContentWrapper$1, { id: `${id}-content-wrapper` }, children),
1333
- primaryButton || secondaryButton || tertiaryButton ? (React.createElement(ButtonBar$1, { id: `${id}-button-bar` },
1334
- tertiaryButton ? (React.createElement(Button, Object.assign({}, tertiaryButton, { format: tertiaryButton.format || 'secondary', id: `${id}-tertiary-button` }))) : null,
1335
- secondaryButton ? (React.createElement(Button, Object.assign({}, secondaryButton, { format: secondaryButton.format || 'secondary', id: `${id}-secondary-button` }))) : null,
1336
- primaryButton ? (React.createElement(Button, Object.assign({}, primaryButton, { format: primaryButton.format || 'primary', id: `${id}-primary-button` }))) : null)) : null),
1337
- scrim ? (React.createElement(Scrim$1, { "$position": position, "$scrim": scrim, id: `${id}-scrim`, onClick: onClose })) : null));
1307
+ React.createElement(Container$2, Object.assign({}, accessibleProps, { "$position": position, "$width": width, id: `${baseId}-container` }),
1308
+ React.createElement(Header$2, { id: `${baseId}-header` },
1309
+ React.createElement("div", { id: `${baseId}-header-content` },
1310
+ title ? (React.createElement(Heading, { id: `${baseId}-title`, type: 'secondary' }, title)) : null,
1311
+ description ? (React.createElement(Copy, { color: 'GRAY', id: `${baseId}-description` }, description)) : null),
1312
+ React.createElement(Close$1, { id: `${baseId}-close`, onClick: onClose },
1313
+ React.createElement(Button, { format: 'secondary', icon: mdiClose, id: `${baseId}-close-button`, small: true }))),
1314
+ React.createElement(ContentWrapper$1, { id: `${baseId}-content-wrapper` }, children),
1315
+ primaryButton || secondaryButton || tertiaryButton ? (React.createElement(ButtonBar$1, { id: `${baseId}-button-bar` },
1316
+ tertiaryButton ? (React.createElement(Button, Object.assign({}, tertiaryButton, { format: tertiaryButton.format || 'secondary', id: `${baseId}-tertiary-button` }))) : null,
1317
+ secondaryButton ? (React.createElement(Button, Object.assign({}, secondaryButton, { format: secondaryButton.format || 'secondary', id: `${baseId}-secondary-button` }))) : null,
1318
+ primaryButton ? (React.createElement(Button, Object.assign({}, primaryButton, { format: primaryButton.format || 'primary', id: `${baseId}-primary-button` }))) : null)) : null),
1319
+ scrim ? (React.createElement(Scrim$1, { "$position": position, "$scrim": scrim, id: `${baseId}-scrim`, onClick: onClose })) : null));
1338
1320
  };
1339
1321
 
1340
1322
  const Wrapper$9 = styled.div(props => (Object.assign({ margin: '0px 0px 18px 0px' }, props.$customStyle)));
@@ -1386,18 +1368,18 @@ const Validation = styled.div `
1386
1368
  box-sizing: border-box;
1387
1369
  `;
1388
1370
  const Field = (_a) => {
1389
- var { action, children, validationText, label, description, required, htmlFor, style = {}, tooltip } = _a, accessibleProps = __rest(_a, ["action", "children", "validationText", "label", "description", "required", "htmlFor", "style", "tooltip"]);
1390
- const id = generateUniqueId('field');
1391
- return (React.createElement(Wrapper$9, Object.assign({ "$customStyle": style }, accessibleProps, { id: `${id}-wrapper` }),
1392
- React.createElement(LabelRow, { id: `${id}-label-row` },
1393
- label || required || tooltip ? (React.createElement(Label$2, { htmlFor: htmlFor, id: `${id}-label` },
1371
+ var { action, children, validationText, label, description, required, htmlFor, style = {}, tooltip, id } = _a, accessibleProps = __rest(_a, ["action", "children", "validationText", "label", "description", "required", "htmlFor", "style", "tooltip", "id"]);
1372
+ const baseId = id || 'field';
1373
+ return (React.createElement(Wrapper$9, Object.assign({ "$customStyle": style }, accessibleProps, { id: `${baseId}-wrapper` }),
1374
+ React.createElement(LabelRow, { id: `${baseId}-label-row` },
1375
+ label || required || tooltip ? (React.createElement(Label$2, { htmlFor: htmlFor, id: `${baseId}-label` },
1394
1376
  label,
1395
- required ? React.createElement(Required, { id: `${id}-required` }, "*") : null,
1377
+ required ? React.createElement(Required, { id: `${baseId}-required` }, "*") : null,
1396
1378
  tooltip ? React.createElement(Tooltip, Object.assign({}, tooltip)) : null)) : null,
1397
- action ? (React.createElement(Action, { id: action.id || `${id}-action`, onClick: action.onClick }, action.label)) : null),
1398
- description ? React.createElement(Description, { id: `${id}-description` }, description) : null,
1399
- React.createElement("div", { id: `${id}-children` }, children),
1400
- validationText ? React.createElement(Validation, { id: `${id}-validation` }, validationText) : null));
1379
+ action ? (React.createElement(Action, { id: action.id || `${baseId}-action`, onClick: action.onClick }, action.label)) : null),
1380
+ description ? React.createElement(Description, { id: `${baseId}-description` }, description) : null,
1381
+ React.createElement("div", { id: `${baseId}-children` }, children),
1382
+ validationText ? (React.createElement(Validation, { id: `${baseId}-validation` }, validationText)) : null));
1401
1383
  };
1402
1384
 
1403
1385
  const Wrapper$8 = styled.fieldset `
@@ -1429,11 +1411,11 @@ const Content$1 = styled.div `
1429
1411
  border-radius: 8px;
1430
1412
  background: #fcfcfc;
1431
1413
  `;
1432
- const FieldGroup = ({ children, label }) => {
1433
- const id = generateUniqueId('field-group');
1434
- return (React.createElement(Wrapper$8, { id: `${id}-wrapper` },
1435
- React.createElement(Label$1, { id: `${id}-label` }, label),
1436
- React.createElement(Content$1, { id: `${id}-content` }, children)));
1414
+ const FieldGroup = ({ children, label, id }) => {
1415
+ const baseId = id || 'field-group';
1416
+ return (React.createElement(Wrapper$8, { id: `${baseId}-wrapper` },
1417
+ React.createElement(Label$1, { id: `${baseId}-label` }, label),
1418
+ React.createElement(Content$1, { id: `${baseId}-content` }, children)));
1437
1419
  };
1438
1420
 
1439
1421
  const Dropzone = styled.div `
@@ -1507,7 +1489,7 @@ const Remove = styled(Icon) `
1507
1489
  fill: ${Colors.RED.Hex} !important;
1508
1490
  }
1509
1491
  `;
1510
- const FileUpload = ({ accept, onChange, onError, maxFiles = 10, maxSize = 2, value = [], message, tooltipInfo = '', validateFile, }) => {
1492
+ const FileUpload = ({ accept, onChange, onError, maxFiles = 10, maxSize = 2, value = [], message, tooltipInfo = '', validateFile, id, }) => {
1511
1493
  const inputRef = useRef(null);
1512
1494
  const [files, setFiles] = useState(value || []);
1513
1495
  const [dragging, setDragging] = useState(false);
@@ -1606,24 +1588,24 @@ const FileUpload = ({ accept, onChange, onError, maxFiles = 10, maxSize = 2, val
1606
1588
  setAllowMoreFiles(false);
1607
1589
  }
1608
1590
  }, [files]);
1609
- const id = generateUniqueId('file-upload');
1591
+ const baseId = id || 'file-upload';
1610
1592
  return (React.createElement(React.Fragment, null,
1611
- React.createElement("input", { accept: accept, id: `${id}-input`, multiple: true, onChange: allowMoreFiles ? handleChange : undefined, ref: inputRef, style: { display: 'none' }, type: 'file' }),
1612
- React.createElement(Dropzone, { "$dragging": dragging, id: `${id}-dropzone`, onDragEnter: allowMoreFiles ? handleDrag : undefined, onDragLeave: allowMoreFiles ? handleDrag : undefined, onDragOver: allowMoreFiles ? handleDrag : undefined, onDrop: allowMoreFiles ? handleDrop : undefined, value: files ? files : [] },
1613
- files.length ? (React.createElement(Files, { id: `${id}-files` }, files.map(file => {
1614
- const fileId = generateUniqueId('file');
1593
+ React.createElement("input", { accept: accept, id: `${baseId}-input`, multiple: true, onChange: allowMoreFiles ? handleChange : undefined, ref: inputRef, style: { display: 'none' }, type: 'file' }),
1594
+ React.createElement(Dropzone, { "$dragging": dragging, id: `${baseId}-dropzone`, onDragEnter: allowMoreFiles ? handleDrag : undefined, onDragLeave: allowMoreFiles ? handleDrag : undefined, onDragOver: allowMoreFiles ? handleDrag : undefined, onDrop: allowMoreFiles ? handleDrop : undefined, value: files ? files : [] },
1595
+ files.length ? (React.createElement(Files, { id: `${baseId}-files` }, files.map((file, index) => {
1596
+ const fileId = `${baseId}-file-${index}`;
1615
1597
  return (React.createElement(File, { id: `${fileId}-file`, key: file.name },
1616
1598
  React.createElement(Copy, { id: `${fileId}-file-name`, type: 'bold' }, file.name),
1617
1599
  React.createElement(Remove, { id: `${fileId}-remove`, onClick: handleRemove.bind(null, file), path: mdiMinusCircle })));
1618
1600
  }))) : null,
1619
- allowMoreFiles ? (React.createElement(ClickZone, { id: `${id}-click-zone`, onClick: triggerFileExplorer },
1620
- files.length ? null : (React.createElement(IconWrapper$1, { "$dragging": dragging, id: `${id}-icon-wrapper` },
1621
- React.createElement(StyledIcon$3, { id: `${id}-icon`, path: mdiFolderPlusOutline }))),
1622
- React.createElement(Content, { id: `${id}-content` },
1623
- React.createElement(Copy, { align: 'center', id: `${id}-copy`, type: 'bold' }, "Drag & drop files here or click to select files"),
1624
- message ? (React.createElement(MessageDiv, { id: `${id}-message-div` },
1625
- React.createElement(Copy, { align: 'center', color: 'GRAY', id: `${id}-message` }, message),
1626
- tooltipInfo && (React.createElement("span", { id: `${id}-tooltip` },
1601
+ allowMoreFiles ? (React.createElement(ClickZone, { id: `${baseId}-click-zone`, onClick: triggerFileExplorer },
1602
+ files.length ? null : (React.createElement(IconWrapper$1, { "$dragging": dragging, id: `${baseId}-icon-wrapper` },
1603
+ React.createElement(StyledIcon$3, { id: `${baseId}-icon`, path: mdiFolderPlusOutline }))),
1604
+ React.createElement(Content, { id: `${baseId}-content` },
1605
+ React.createElement(Copy, { align: 'center', id: `${baseId}-copy`, type: 'bold' }, "Drag & drop files here or click to select files"),
1606
+ message ? (React.createElement(MessageDiv, { id: `${baseId}-message-div` },
1607
+ React.createElement(Copy, { align: 'center', color: 'GRAY', id: `${baseId}-message` }, message),
1608
+ tooltipInfo && (React.createElement("span", { id: `${baseId}-tooltip` },
1627
1609
  React.createElement(Tooltip, { children: tooltipInfo, position: 'left-center' }))))) : null))) : null)));
1628
1610
  };
1629
1611
 
@@ -1846,7 +1828,7 @@ const Loader$1 = styled.div `
1846
1828
  const Input$1 = (_a) => {
1847
1829
  var { format, suffix, height, invalid, loading, max, maxLength, min, onBlur, onChange, onFocus, onKeyDown,
1848
1830
  // eslint-disable-next-line @typescript-eslint/no-empty-function
1849
- onSuggestedSelect = () => { }, placeholder, readOnly, showCharCount, step, style, suggestedValues, showErrorTextColor = false, type = 'text', value = '', innerRef = null, tabIndex, isAutoComplete = false } = _a, accessibleProps = __rest(_a, ["format", "suffix", "height", "invalid", "loading", "max", "maxLength", "min", "onBlur", "onChange", "onFocus", "onKeyDown", "onSuggestedSelect", "placeholder", "readOnly", "showCharCount", "step", "style", "suggestedValues", "showErrorTextColor", "type", "value", "innerRef", "tabIndex", "isAutoComplete"]);
1831
+ onSuggestedSelect = () => { }, placeholder, readOnly, showCharCount, step, style, suggestedValues, showErrorTextColor = false, type = 'text', value = '', innerRef = null, tabIndex, isAutoComplete = false, id } = _a, accessibleProps = __rest(_a, ["format", "suffix", "height", "invalid", "loading", "max", "maxLength", "min", "onBlur", "onChange", "onFocus", "onKeyDown", "onSuggestedSelect", "placeholder", "readOnly", "showCharCount", "step", "style", "suggestedValues", "showErrorTextColor", "type", "value", "innerRef", "tabIndex", "isAutoComplete", "id"]);
1850
1832
  const [show_options, setShowOptions] = useState(false);
1851
1833
  const [internalValue, setInternalValue] = useState(value);
1852
1834
  const [internalSuggestedValues, setInternalSuggestedValues] = useState(suggestedValues || []);
@@ -1918,8 +1900,8 @@ const Input$1 = (_a) => {
1918
1900
  if (format === 'ssn' && type !== 'password') {
1919
1901
  formatted_value = formatAsSsn(internalValue);
1920
1902
  }
1921
- const id = generateUniqueId('input');
1922
- return type === 'textarea' ? (React.createElement(StyledWrapper, { "$invalid": invalid, "$readOnly": readOnly, "$style": style, "$suggestions": show_options && !!internalSuggestedValues.length, id: `${id}-wrapper` },
1903
+ const baseId = id || 'input';
1904
+ return type === 'textarea' ? (React.createElement(StyledWrapper, { "$invalid": invalid, "$readOnly": readOnly, "$style": style, "$suggestions": show_options && !!internalSuggestedValues.length, id: `${baseId}-wrapper` },
1923
1905
  React.createElement(StyledTextArea, Object.assign({ "$height": height, "$invalid": invalid, "$readOnly": readOnly, "$showErrorTextColor": showErrorTextColor, maxLength: maxLength, onBlur: readOnly
1924
1906
  ? e => e.preventDefault()
1925
1907
  : e => {
@@ -1934,12 +1916,12 @@ const Input$1 = (_a) => {
1934
1916
  setShowOptions(true);
1935
1917
  if (onFocus)
1936
1918
  onFocus(e);
1937
- }, onKeyDown: readOnly ? e => e.preventDefault() : onKeyDown, placeholder: placeholder, readOnly: readOnly, ref: innerRef, tabIndex: readOnly ? -1 : tabIndex, value: formatted_value }, accessibleProps, { id: `${id}-textarea` })),
1938
- loading ? (React.createElement(Loader$1, { id: `${id}-loader` },
1919
+ }, onKeyDown: readOnly ? e => e.preventDefault() : onKeyDown, placeholder: placeholder, readOnly: readOnly, ref: innerRef, tabIndex: readOnly ? -1 : tabIndex, value: formatted_value }, accessibleProps, { id: `${baseId}-textarea` })),
1920
+ loading ? (React.createElement(Loader$1, { id: `${baseId}-loader` },
1939
1921
  React.createElement(Icon, { color: Colors.MEDIUM_GRAY.Hex, path: mdiLoading, size: '20px', spin: true }))) : null,
1940
- showCharCount ? (React.createElement(CharacterCount, { id: `${id}-char-count` },
1922
+ showCharCount ? (React.createElement(CharacterCount, { id: `${baseId}-char-count` },
1941
1923
  internalValue.length,
1942
- maxLength ? ` / ${maxLength}` : null)) : null)) : (React.createElement(StyledWrapper, { "$invalid": invalid, "$readOnly": readOnly, "$style": style, "$suggestions": show_options && !!internalSuggestedValues.length, id: `${id}-wrapper` },
1924
+ maxLength ? ` / ${maxLength}` : null)) : null)) : (React.createElement(StyledWrapper, { "$invalid": invalid, "$readOnly": readOnly, "$style": style, "$suggestions": show_options && !!internalSuggestedValues.length, id: `${baseId}-wrapper` },
1943
1925
  React.createElement(StyledInput, Object.assign({ "$height": height, "$invalid": invalid, "$readOnly": readOnly, "$showErrorTextColor": showErrorTextColor, max: max, maxLength: maxLength, min: min, onBlur: readOnly
1944
1926
  ? e => e.preventDefault()
1945
1927
  : e => {
@@ -1956,20 +1938,20 @@ const Input$1 = (_a) => {
1956
1938
  setIsFocused(true);
1957
1939
  if (onFocus)
1958
1940
  onFocus(e);
1959
- }, onKeyDown: readOnly ? e => e.preventDefault() : onKeyDown, placeholder: placeholder, readOnly: readOnly, ref: innerRef, step: step, tabIndex: readOnly ? -1 : tabIndex, type: type, value: format === 'currency_decimal' && internalValue ? `$${formatted_value}` : formatted_value }, accessibleProps, { id: `${id}-input` })),
1960
- loading ? (React.createElement(Loader$1, { id: `${id}-loader` },
1941
+ }, onKeyDown: readOnly ? e => e.preventDefault() : onKeyDown, placeholder: placeholder, readOnly: readOnly, ref: innerRef, step: step, tabIndex: readOnly ? -1 : tabIndex, type: type, value: format === 'currency_decimal' && internalValue ? `$${formatted_value}` : formatted_value }, accessibleProps, { id: `${baseId}-input` })),
1942
+ loading ? (React.createElement(Loader$1, { id: `${baseId}-loader` },
1961
1943
  React.createElement(Icon, { color: Colors.MEDIUM_GRAY.Hex, path: mdiLoading, size: '20px', spin: true }))) : null,
1962
- showCharCount ? (React.createElement(CharacterCount, { id: `${id}-char-count` },
1944
+ showCharCount ? (React.createElement(CharacterCount, { id: `${baseId}-char-count` },
1963
1945
  internalValue.length,
1964
1946
  maxLength ? ` / ${maxLength}` : null)) : null,
1965
- suffix && React.createElement(StyledSuffix, { id: `${id}-suffix` }, suffix),
1966
- show_options && internalSuggestedValues.length ? (React.createElement(SuggestedValues, { id: `${id}-suggested-values` },
1967
- isAutoComplete ? null : (React.createElement(SuggestedSummary, { id: `${id}-suggested-summary` },
1947
+ suffix && React.createElement(StyledSuffix, { id: `${baseId}-suffix` }, suffix),
1948
+ show_options && internalSuggestedValues.length ? (React.createElement(SuggestedValues, { id: `${baseId}-suggested-values` },
1949
+ isAutoComplete ? null : (React.createElement(SuggestedSummary, { id: `${baseId}-suggested-summary` },
1968
1950
  internalSuggestedValues.length,
1969
1951
  " Results Match \"",
1970
1952
  internalValue,
1971
1953
  "\"")),
1972
- internalSuggestedValues.map((suggestedValue, index) => (React.createElement(SuggestedValue, { id: `${id}-suggested-value-${index}`, key: index, onClick: () => {
1954
+ internalSuggestedValues.map((suggestedValue, index) => (React.createElement(SuggestedValue, { id: `${baseId}-suggested-value-${index}`, key: index, onClick: () => {
1973
1955
  handleInputChange({ target: { value: suggestedValue } });
1974
1956
  onSuggestedSelect();
1975
1957
  setShowOptions(false);
@@ -1983,7 +1965,7 @@ const Wrapper$7 = styled.a `
1983
1965
  letter-spacing: ${props => (props.$small ? '1px' : '0px')};
1984
1966
  font-weight: 500;
1985
1967
  font-style: normal;
1986
- text-decoration: 'none';
1968
+ text-decoration: none;
1987
1969
  font-family: 'Roboto', Helvetica, Arial, sans-serif;
1988
1970
  margin: 0px;
1989
1971
  padding: 0px;
@@ -1992,9 +1974,9 @@ const Wrapper$7 = styled.a `
1992
1974
  `;
1993
1975
  Wrapper$7.defaultProps = { theme: EditableTheme };
1994
1976
  const Link = (_a) => {
1995
- var { children, onClick, small } = _a, accessibleProps = __rest(_a, ["children", "onClick", "small"]);
1996
- const id = generateUniqueId('link');
1997
- return (React.createElement(Wrapper$7, Object.assign({ "$small": small, onClick: onClick }, accessibleProps, { id: `${id}-wrapper` }), children));
1977
+ var { children, onClick, small, id } = _a, accessibleProps = __rest(_a, ["children", "onClick", "small", "id"]);
1978
+ const baseId = id || 'link';
1979
+ return (React.createElement(Wrapper$7, Object.assign({ "$small": small, onClick: onClick }, accessibleProps, { id: `${baseId}-wrapper` }), children));
1998
1980
  };
1999
1981
 
2000
1982
  const dash = keyframes `
@@ -2027,10 +2009,10 @@ const Path = styled.path `
2027
2009
  -webkit-animation: ${dash} 1.1s ease-in-out infinite;
2028
2010
  animation: ${dash} 1.1s ease-in-out infinite;
2029
2011
  `;
2030
- const Loader = () => {
2031
- const id = generateUniqueId('loader');
2032
- return (React.createElement(Spinner, { id: `${id}-spinner`, viewBox: '0 0 16 18' },
2033
- React.createElement(Path, { d: 'M7.21487 1.2868C7.88431 0.9044 8.73031 0.9044 9.39974 1.2868L9.40283 1.28856L14.4613 4.20761C15.1684 4.598 15.5746 5.33558 15.5746 6.11465V8.99996V11.8853C15.5746 12.6507 15.1632 13.3848 14.4617 13.7721L9.37973 16.7132C8.71029 17.0956 7.86428 17.0956 7.19485 16.7132L7.19088 16.7109L2.11279 13.772C1.40602 13.3816 1 12.6441 1 11.8653V8.98995V6.11465C1 5.31458 1.44381 4.59039 2.10827 4.21051L7.21487 1.2868Z', fill: 'none', id: `${id}-path`, strokeWidth: '2' })));
2012
+ const Loader = ({ id }) => {
2013
+ const baseId = id || 'loader';
2014
+ return (React.createElement(Spinner, { id: `${baseId}-spinner`, viewBox: '0 0 16 18' },
2015
+ React.createElement(Path, { d: 'M7.21487 1.2868C7.88431 0.9044 8.73031 0.9044 9.39974 1.2868L9.40283 1.28856L14.4613 4.20761C15.1684 4.598 15.5746 5.33558 15.5746 6.11465V8.99996V11.8853C15.5746 12.6507 15.1632 13.3848 14.4617 13.7721L9.37973 16.7132C8.71029 17.0956 7.86428 17.0956 7.19485 16.7132L7.19088 16.7109L2.11279 13.772C1.40602 13.3816 1 12.6441 1 11.8653V8.98995V6.11465C1 5.31458 1.44381 4.59039 2.10827 4.21051L7.21487 1.2868Z', fill: 'none', id: `${baseId}-path`, strokeWidth: '2' })));
2034
2016
  };
2035
2017
 
2036
2018
  const Steps = styled.div `
@@ -2081,10 +2063,10 @@ const StepLine = styled.div `
2081
2063
  background-color: ${props => (props.$active ? Colors.PRIMARY.Hex : Colors.MEDIUM_GRAY.Hex)};
2082
2064
  transition: background-color 0.5s ease-in-out;
2083
2065
  `;
2084
- const ProgressBar = ({ steps, showStepLine = false }) => {
2085
- const id = generateUniqueId('progress-bar');
2086
- return (React.createElement(Steps, { id: `${id}-steps` }, steps.map((step, i) => {
2087
- const stepId = generateUniqueId(`step-${i}`);
2066
+ const ProgressBar = ({ steps, showStepLine = false, id }) => {
2067
+ const baseId = id || 'progress-bar';
2068
+ return (React.createElement(Steps, { id: `${baseId}-steps` }, steps.map((step, i) => {
2069
+ const stepId = `${baseId}-step-${i}`;
2088
2070
  return (React.createElement(React.Fragment, { key: i },
2089
2071
  i !== 0 && showStepLine && React.createElement(StepLine, { "$active": step.active, id: `${stepId}-line` }),
2090
2072
  React.createElement(Step, { id: `${stepId}-step` },
@@ -2165,7 +2147,7 @@ const ButtonContainer = styled.div `
2165
2147
  margin: 0 10px;
2166
2148
  `;
2167
2149
  const Modal = (_a) => {
2168
- var { children, title, onClose, maxWidth, fullscreen, steps, primaryButton, secondaryButton, tertiaryButton, quarternaryButton } = _a, accessibleProps = __rest(_a, ["children", "title", "onClose", "maxWidth", "fullscreen", "steps", "primaryButton", "secondaryButton", "tertiaryButton", "quarternaryButton"]);
2150
+ var { children, title, onClose, maxWidth, fullscreen, steps, primaryButton, secondaryButton, tertiaryButton, quarternaryButton, id } = _a, accessibleProps = __rest(_a, ["children", "title", "onClose", "maxWidth", "fullscreen", "steps", "primaryButton", "secondaryButton", "tertiaryButton", "quarternaryButton", "id"]);
2169
2151
  useEffect(() => {
2170
2152
  document.onkeydown = e => {
2171
2153
  if (e.key === 'Escape') {
@@ -2175,36 +2157,36 @@ const Modal = (_a) => {
2175
2157
  return function cleanup() {
2176
2158
  document.onkeydown = null;
2177
2159
  };
2178
- }, []);
2179
- const id = generateUniqueId('modal');
2180
- return (React.createElement(Wrapper$6, { id: `${id}-wrapper` },
2181
- React.createElement(Container$1, Object.assign({ "$fullscreen": fullscreen, "$maxWidth": maxWidth, open: true }, accessibleProps, { id: `${id}-container` }),
2182
- React.createElement(Header$1, { id: `${id}-header` },
2183
- title ? (React.createElement(Heading, { id: `${id}-title`, type: 'secondary' }, title)) : null,
2184
- React.createElement(Close, { id: `${id}-close`, onClick: onClose },
2185
- React.createElement(CloseMsg, { id: `${id}-close-msg` }, "(Esc)"),
2186
- React.createElement(Icon, { color: Colors.BLACK.Hex, id: `${id}-close-icon`, path: mdiClose, size: '24px' }))),
2160
+ }, [onClose]);
2161
+ const baseId = id || 'modal';
2162
+ return (React.createElement(Wrapper$6, { id: `${baseId}-wrapper` },
2163
+ React.createElement(Container$1, Object.assign({ "$fullscreen": fullscreen, "$maxWidth": maxWidth, open: true }, accessibleProps, { id: `${baseId}-container` }),
2164
+ React.createElement(Header$1, { id: `${baseId}-header` },
2165
+ title ? (React.createElement(Heading, { id: `${baseId}-title`, type: 'secondary' }, title)) : null,
2166
+ React.createElement(Close, { id: `${baseId}-close`, onClick: onClose },
2167
+ React.createElement(CloseMsg, { id: `${baseId}-close-msg` }, "(Esc)"),
2168
+ React.createElement(Icon, { color: Colors.BLACK.Hex, id: `${baseId}-close-icon`, path: mdiClose, size: '24px' }))),
2187
2169
  steps ? React.createElement(ProgressBar, { steps: steps }) : null,
2188
- React.createElement(ContentWrapper, { id: `${id}-content-wrapper` }, children),
2189
- primaryButton || secondaryButton || tertiaryButton || quarternaryButton ? (React.createElement(ButtonBar, { id: `${id}-button-bar` },
2190
- tertiaryButton || quarternaryButton ? (React.createElement("div", { id: `${id}-left-buttons`, style: {
2170
+ React.createElement(ContentWrapper, { id: `${baseId}-content-wrapper` }, children),
2171
+ primaryButton || secondaryButton || tertiaryButton || quarternaryButton ? (React.createElement(ButtonBar, { id: `${baseId}-button-bar` },
2172
+ tertiaryButton || quarternaryButton ? (React.createElement("div", { id: `${baseId}-left-buttons`, style: {
2191
2173
  marginRight: 'auto',
2192
2174
  paddingRight: 40,
2193
2175
  display: 'flex',
2194
2176
  alignItems: 'center',
2195
2177
  } },
2196
- tertiaryButton ? (React.createElement(Button, Object.assign({}, tertiaryButton, { format: tertiaryButton.format || 'secondary', id: `${id}-tertiary-button` }))) : null,
2197
- quarternaryButton ? (React.createElement(ButtonContainer, { id: `${id}-quarternary-button-container` },
2198
- React.createElement(Button, Object.assign({}, quarternaryButton, { format: quarternaryButton.format || 'secondary', id: `${id}-quarternary-button` })))) : null)) : null,
2199
- primaryButton || secondaryButton ? (React.createElement("div", { id: `${id}-right-buttons`, style: {
2178
+ tertiaryButton ? (React.createElement(Button, Object.assign({}, tertiaryButton, { format: tertiaryButton.format || 'secondary', id: `${baseId}-tertiary-button` }))) : null,
2179
+ quarternaryButton ? (React.createElement(ButtonContainer, { id: `${baseId}-quarternary-button-container` },
2180
+ React.createElement(Button, Object.assign({}, quarternaryButton, { format: quarternaryButton.format || 'secondary', id: `${baseId}-quarternary-button` })))) : null)) : null,
2181
+ primaryButton || secondaryButton ? (React.createElement("div", { id: `${baseId}-right-buttons`, style: {
2200
2182
  marginLeft: 'auto',
2201
2183
  paddingLeft: 40,
2202
2184
  display: 'flex',
2203
2185
  alignItems: 'center',
2204
2186
  } },
2205
- secondaryButton ? (React.createElement(ButtonContainer, { id: `${id}-secondary-button-container` },
2206
- React.createElement(Button, Object.assign({}, secondaryButton, { format: secondaryButton.format || 'secondary', id: `${id}-secondary-button` })))) : null,
2207
- primaryButton ? (React.createElement(Button, Object.assign({}, primaryButton, { format: primaryButton.format || 'primary', id: `${id}-primary-button` }))) : null)) : null)) : null)));
2187
+ secondaryButton ? (React.createElement(ButtonContainer, { id: `${baseId}-secondary-button-container` },
2188
+ React.createElement(Button, Object.assign({}, secondaryButton, { format: secondaryButton.format || 'secondary', id: `${baseId}-secondary-button` })))) : null,
2189
+ primaryButton ? (React.createElement(Button, Object.assign({}, primaryButton, { format: primaryButton.format || 'primary', id: `${baseId}-primary-button` }))) : null)) : null)) : null)));
2208
2190
  };
2209
2191
 
2210
2192
  const Wrapper$5 = styled.div `
@@ -2293,23 +2275,23 @@ const SearchInput = styled.input `
2293
2275
  white-space: nowrap;
2294
2276
  `;
2295
2277
  const MultiSelect = (_a) => {
2296
- var { readOnly, displayCount = 3, invalid, onChange, options = [], selected = [], showSelectAll, searchable = false, style } = _a, accessibleProps = __rest(_a, ["readOnly", "displayCount", "invalid", "onChange", "options", "selected", "showSelectAll", "searchable", "style"]);
2278
+ var { readOnly, displayCount = 3, invalid, onChange, options = [], selected = [], showSelectAll, searchable = false, style, id } = _a, accessibleProps = __rest(_a, ["readOnly", "displayCount", "invalid", "onChange", "options", "selected", "showSelectAll", "searchable", "style", "id"]);
2297
2279
  const [showOptions, setShowOptions] = useState(false);
2298
2280
  const selected_options = options.filter(o => selected.includes(o.value));
2299
2281
  const [filter, setFilter] = useState('');
2300
- const id = generateUniqueId('multiselect');
2282
+ const baseId = id || 'multiselect';
2301
2283
  // Filter the options based on the filter state
2302
2284
  const filteredOptions = options.filter(o => { var _a, _b; return ((_a = o.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(filter)) || ((_b = o.value) === null || _b === void 0 ? void 0 : _b.toString().toLowerCase().includes(filter)); });
2303
- return (React.createElement(Wrapper$5, { "$style": style, id: `${id}-wrapper` },
2304
- searchable && (React.createElement(SearchInput, { id: `${id}-search-input`, onChange: e => setFilter(e.target.value), onClick: () => setShowOptions(!showOptions), placeholder: `${showSelectAll ? options.length : selected_options.length} Selected`, type: 'text', value: filter })),
2305
- React.createElement(Trigger, Object.assign({ "$invalid": invalid, "$readOnly": readOnly, "$showOptions": showOptions, id: `${id}-trigger`, onClick: readOnly ? undefined : setShowOptions.bind(null, !showOptions) }, accessibleProps),
2306
- React.createElement(Value, { id: `${id}-value` }, selected.length > 0 && selected.length <= displayCount
2285
+ return (React.createElement(Wrapper$5, { "$style": style, id: `${baseId}-wrapper` },
2286
+ searchable && (React.createElement(SearchInput, { id: `${baseId}-search-input`, onChange: e => setFilter(e.target.value), onClick: () => setShowOptions(!showOptions), placeholder: `${showSelectAll ? options.length : selected_options.length} Selected`, type: 'text', value: filter })),
2287
+ React.createElement(Trigger, Object.assign({ "$invalid": invalid, "$readOnly": readOnly, "$showOptions": showOptions, id: `${baseId}-trigger`, onClick: readOnly ? undefined : setShowOptions.bind(null, !showOptions) }, accessibleProps),
2288
+ React.createElement(Value, { id: `${baseId}-value` }, selected.length > 0 && selected.length <= displayCount
2307
2289
  ? selected_options.map(o => o.label || o.value).join(', ')
2308
2290
  : `${selected_options.length} Selected`),
2309
- React.createElement(Icon, { color: Colors.BLACK.Hex, id: `${id}-icon`, path: showOptions ? mdiChevronUp : mdiChevronDown, size: '22px' })),
2310
- showOptions ? (React.createElement(Options, { id: `${id}-options` },
2311
- React.createElement(Checklist, { id: `${id}-checklist`, onChange: onChange, options: filteredOptions, selected: selected, showSelectAll: showSelectAll }))) : null,
2312
- showOptions ? (React.createElement(Scrim, { id: `${id}-scrim`, onClick: setShowOptions.bind(null, !showOptions) })) : null));
2291
+ React.createElement(Icon, { color: Colors.BLACK.Hex, id: `${baseId}-icon`, path: showOptions ? mdiChevronUp : mdiChevronDown, size: '22px' })),
2292
+ showOptions ? (React.createElement(Options, { id: `${baseId}-options` },
2293
+ React.createElement(Checklist, { id: `${baseId}-checklist`, onChange: onChange, options: filteredOptions, selected: selected, showSelectAll: showSelectAll }))) : null,
2294
+ showOptions ? (React.createElement(Scrim, { id: `${baseId}-scrim`, onClick: setShowOptions.bind(null, !showOptions) })) : null));
2313
2295
  };
2314
2296
 
2315
2297
  const Wrapper$4 = styled.div `
@@ -2342,27 +2324,27 @@ const Actions = styled.div `
2342
2324
  align-items: center;
2343
2325
  gap: 8px;
2344
2326
  `;
2345
- const PageHeader = ({ title = '', breadcrumbs, actions, buttonMenu, tag }) => {
2327
+ const PageHeader = ({ title = '', breadcrumbs, actions, buttonMenu, tag, id, }) => {
2346
2328
  const { format = 'primary', menuItems = [], label = '', enableHover = true, enableClick = false, show = false, } = buttonMenu || {};
2347
- const id = generateUniqueId('page-header');
2348
- return (React.createElement(Wrapper$4, { id: `${id}-wrapper` },
2349
- React.createElement(Info, { id: `${id}-info` },
2350
- React.createElement(Title, { id: `${id}-title` },
2351
- React.createElement(Heading, { id: `${id}-heading`, type: 'secondary' }, title),
2352
- tag ? React.createElement(Tag, Object.assign({}, tag, { id: `${id}-tag` })) : null),
2353
- breadcrumbs ? (React.createElement(Breadcrumbs, { id: `${id}-breadcrumbs` }, breadcrumbs.map((crumb, i) => {
2354
- const crumbId = generateUniqueId(`breadcrumb-${i}`);
2329
+ const baseId = id || 'page-header';
2330
+ return (React.createElement(Wrapper$4, { id: `${baseId}-wrapper` },
2331
+ React.createElement(Info, { id: `${baseId}-info` },
2332
+ React.createElement(Title, { id: `${baseId}-title` },
2333
+ React.createElement(Heading, { id: `${baseId}-heading`, type: 'secondary' }, title),
2334
+ tag ? React.createElement(Tag, Object.assign({}, tag, { id: `${baseId}-tag` })) : null),
2335
+ breadcrumbs ? (React.createElement(Breadcrumbs, { id: `${baseId}-breadcrumbs` }, breadcrumbs.map((crumb, i) => {
2336
+ const crumbId = `${baseId}-breadcrumb-${i}`;
2355
2337
  return (React.createElement(React.Fragment, { key: i },
2356
2338
  crumb.onClick ? (React.createElement(Link, { id: `${crumbId}-link`, onClick: crumb.onClick, small: true }, crumb.label)) : (React.createElement(Copy, { id: `${crumbId}-copy`, type: 'small' }, crumb.label)),
2357
2339
  i + 1 < breadcrumbs.length ? (React.createElement(Icon$1, { id: `${crumbId}-icon`, path: mdiChevronRight, size: '14px' })) : null));
2358
2340
  }))) : null),
2359
- actions ? (React.createElement(Actions, { id: `${id}-actions` },
2341
+ actions ? (React.createElement(Actions, { id: `${baseId}-actions` },
2360
2342
  actions.map((action, i) => {
2361
2343
  const { label } = action, buttonProps = __rest(action, ["label"]);
2362
- const actionId = generateUniqueId(`action-${i}`);
2344
+ const actionId = `${baseId}-action-${i}`;
2363
2345
  return (React.createElement(Button, Object.assign({}, buttonProps, { id: `${actionId}-button`, key: i, small: true }), label));
2364
2346
  }),
2365
- menuItems.length ? (React.createElement(ButtonMenu, { enableClick: enableClick, enableHover: enableHover, format: format, label: label, menuItems: menuItems, show: show, small: true })) : null)) : null));
2347
+ menuItems.length ? (React.createElement(ButtonMenu, { enableClick: enableClick, enableHover: enableHover, format: format, id: `${baseId}-button-menu`, label: label, menuItems: menuItems, show: show, small: true })) : null)) : null));
2366
2348
  };
2367
2349
 
2368
2350
  const Wrapper$3 = styled.nav `
@@ -2372,7 +2354,7 @@ const Wrapper$3 = styled.nav `
2372
2354
  column-gap: 10px;
2373
2355
  `;
2374
2356
  const Pagination = (_a) => {
2375
- var { currentPage = 1, onClick, pageCount = 0 } = _a, accessibleProps = __rest(_a, ["currentPage", "onClick", "pageCount"]);
2357
+ var { currentPage = 1, onClick, pageCount = 0, id } = _a, accessibleProps = __rest(_a, ["currentPage", "onClick", "pageCount", "id"]);
2376
2358
  const is_first_page = currentPage === 1;
2377
2359
  const is_last_page = currentPage === pageCount;
2378
2360
  const handlePrevClick = () => {
@@ -2391,14 +2373,14 @@ const Pagination = (_a) => {
2391
2373
  onClick(new_page);
2392
2374
  }
2393
2375
  };
2394
- const id = generateUniqueId('pagination');
2395
- return (React.createElement(Wrapper$3, Object.assign({}, accessibleProps, { id: `${id}-wrapper` }),
2396
- React.createElement(Button, { disabled: is_first_page, icon: mdiChevronLeft, id: `${id}-prev-button`, onClick: handlePrevClick, small: true }),
2397
- React.createElement(Select, { id: `${id}-select`, onChange: handlePageChange, options: Array.from(Array(pageCount).keys(), p => p + 1).map(p => ({
2376
+ const baseId = id || 'pagination';
2377
+ return (React.createElement(Wrapper$3, Object.assign({}, accessibleProps, { id: `${baseId}-wrapper` }),
2378
+ React.createElement(Button, { disabled: is_first_page, icon: mdiChevronLeft, id: `${baseId}-prev-button`, onClick: handlePrevClick, small: true }),
2379
+ React.createElement(Select, { id: `${baseId}-select`, onChange: handlePageChange, options: Array.from(Array(pageCount).keys(), p => p + 1).map(p => ({
2398
2380
  label: `Page ${p}`,
2399
2381
  value: `${p}`,
2400
2382
  })), value: `${currentPage}` }),
2401
- React.createElement(Button, { disabled: is_last_page, icon: mdiChevronRight, id: `${id}-next-button`, onClick: handleNextClick, small: true })));
2383
+ React.createElement(Button, { disabled: is_last_page, icon: mdiChevronRight, id: `${baseId}-next-button`, onClick: handleNextClick, small: true })));
2402
2384
  };
2403
2385
 
2404
2386
  const Wrapper$2 = styled.label `
@@ -2477,21 +2459,23 @@ const Label = styled.span `
2477
2459
  margin-left: 6px;
2478
2460
  `;
2479
2461
  const Radio = (_a) => {
2480
- var { children, disabled, checked, onChange, value, invalid, tooltip, tabIndex } = _a, accessibleProps = __rest(_a, ["children", "disabled", "checked", "onChange", "value", "invalid", "tooltip", "tabIndex"]);
2481
- const id = generateUniqueId('radio');
2482
- return (React.createElement(Wrapper$2, Object.assign({}, accessibleProps, { id: `${id}-wrapper` }),
2483
- React.createElement(Input, { checked: checked, disabled: disabled, id: `${id}-input`, name: accessibleProps.name, onChange: disabled ? undefined : onChange, tabIndex: disabled ? -1 : tabIndex, type: 'radio', value: value }),
2484
- React.createElement(Check, { "$invalid": invalid, id: `${id}-check` }),
2485
- React.createElement(Label, { id: `${id}-label` },
2462
+ var { children, disabled, checked, onChange, value, invalid, tooltip, tabIndex, id } = _a, accessibleProps = __rest(_a, ["children", "disabled", "checked", "onChange", "value", "invalid", "tooltip", "tabIndex", "id"]);
2463
+ const baseId = id || 'radio';
2464
+ return (React.createElement(Wrapper$2, Object.assign({}, accessibleProps, { id: `${baseId}-wrapper` }),
2465
+ React.createElement(Input, { checked: checked, disabled: disabled, id: `${baseId}-input`, name: accessibleProps.name, onChange: disabled ? undefined : onChange, tabIndex: disabled ? -1 : tabIndex, type: 'radio', value: value }),
2466
+ React.createElement(Check, { "$invalid": invalid, id: `${baseId}-check` }),
2467
+ React.createElement(Label, { id: `${baseId}-label` },
2486
2468
  children,
2487
2469
  tooltip ? React.createElement(Tooltip, Object.assign({}, tooltip)) : null)));
2488
2470
  };
2489
2471
 
2490
2472
  const RadioList = (_a) => {
2491
- var { disabled, onChange, options, value } = _a, accessibleProps = __rest(_a, ["disabled", "onChange", "options", "value"]);
2492
- return (React.createElement(React.Fragment, null, options.map((option) => {
2473
+ var { disabled, onChange, options, value, id } = _a, accessibleProps = __rest(_a, ["disabled", "onChange", "options", "value", "id"]);
2474
+ const baseId = id || 'radio-list';
2475
+ return (React.createElement(React.Fragment, null, options.map((option, index) => {
2493
2476
  const label = option.label || option.value;
2494
- return (React.createElement(Radio, Object.assign({ checked: value === option.value, disabled: disabled, onChange: onChange, value: option.value }, accessibleProps), label));
2477
+ const optionId = `${baseId}-option-${index}`;
2478
+ return (React.createElement(Radio, Object.assign({ checked: value === option.value, disabled: disabled, id: optionId, key: option.value, onChange: onChange, value: option.value }, accessibleProps), label));
2495
2479
  })));
2496
2480
  };
2497
2481
 
@@ -2559,21 +2543,21 @@ const StyledIcon$1 = styled(Icon) `
2559
2543
  `;
2560
2544
  StyledIcon$1.defaultProps = { theme: EditableTheme };
2561
2545
  const Table = (_a) => {
2562
- var { columns = [], data = [], sortBy, sortDirection, hideHeaders, onRowClick, onSortChange, tableLayout } = _a, accessibleProps = __rest(_a, ["columns", "data", "sortBy", "sortDirection", "hideHeaders", "onRowClick", "onSortChange", "tableLayout"]);
2563
- const id = generateUniqueId('table');
2564
- return (React.createElement(StyledTable, Object.assign({ "$tableLayout": tableLayout }, accessibleProps, { id: `${id}-styled-table` }),
2565
- hideHeaders ? null : (React.createElement("thead", { id: `${id}-thead` },
2566
- React.createElement("tr", { id: `${id}-header-row` }, columns.map((column, i) => {
2567
- const columnId = generateUniqueId(`column-${i}`);
2546
+ var { columns = [], data = [], sortBy, sortDirection, hideHeaders, onRowClick, onSortChange, tableLayout, id } = _a, accessibleProps = __rest(_a, ["columns", "data", "sortBy", "sortDirection", "hideHeaders", "onRowClick", "onSortChange", "tableLayout", "id"]);
2547
+ const baseId = id || 'table';
2548
+ return (React.createElement(StyledTable, Object.assign({ "$tableLayout": tableLayout }, accessibleProps, { id: `${baseId}-styled-table` }),
2549
+ hideHeaders ? null : (React.createElement("thead", { id: `${baseId}-thead` },
2550
+ React.createElement("tr", { id: `${baseId}-header-row` }, columns.map((column, i) => {
2551
+ const columnId = `${baseId}-column-${i}`;
2568
2552
  return (React.createElement(Header, { "$isSortable": column.isSortable, "$width": column.width, id: `${columnId}-header`, key: i, onClick: onSortChange === null || onSortChange === void 0 ? void 0 : onSortChange.bind(null, column.id) },
2569
2553
  column.label,
2570
2554
  column.isSortable && sortBy === column.id ? (React.createElement(IconWrapper, { id: `${columnId}-icon-wrapper` },
2571
2555
  React.createElement(StyledIcon$1, { id: `${columnId}-icon`, path: sortDirection === 'asc' ? mdiChevronUp : mdiChevronDown, size: '20px' }))) : null));
2572
2556
  })))),
2573
- data.length ? (React.createElement("tbody", { id: `${id}-tbody` }, data.map((row, i) => {
2574
- const rowId = generateUniqueId(`row-${i}`);
2557
+ data.length ? (React.createElement("tbody", { id: `${baseId}-tbody` }, data.map((row, i) => {
2558
+ const rowId = `${baseId}-row-${i}`;
2575
2559
  return (React.createElement(Row, { "$bgColor": i % 2 === 0 ? '#ffffff' : '#f9f9f9', "$isClickable": !!onRowClick, id: `${rowId}-row`, key: i, onClick: onRowClick ? onRowClick.bind(null, row) : undefined }, columns.map((column, j) => {
2576
- const columnId = generateUniqueId(`column-${j}`);
2560
+ const columnId = `${baseId}-column-${j}`;
2577
2561
  return (React.createElement(Column, { "$align": columns[j].align, "$width": columns[j].width, id: `${columnId}-column`, key: j }, column.render ? column.render(row) : row[column.id] || 'N/A'));
2578
2562
  })));
2579
2563
  }))) : null));
@@ -2629,11 +2613,11 @@ const Badge = styled.div `
2629
2613
  `;
2630
2614
  Badge.defaultProps = { theme: EditableTheme };
2631
2615
  const Tabs = (_a) => {
2632
- var { tabs } = _a, accessibleProps = __rest(_a, ["tabs"]);
2633
- const id = generateUniqueId('tabs');
2634
- return (React.createElement(Wrapper$1, Object.assign({}, accessibleProps, { id: `${id}-wrapper` }), tabs.map((_a, i) => {
2616
+ var { tabs, id } = _a, accessibleProps = __rest(_a, ["tabs", "id"]);
2617
+ const baseId = id || 'tabs';
2618
+ return (React.createElement(Wrapper$1, Object.assign({}, accessibleProps, { id: `${baseId}-wrapper` }), tabs.map((_a, i) => {
2635
2619
  var { isActive, label, badgeCount, errorBadge, onClick } = _a, accessibleProps = __rest(_a, ["isActive", "label", "badgeCount", "errorBadge", "onClick"]);
2636
- const tabId = generateUniqueId(`tab-${i}`);
2620
+ const tabId = `${baseId}-tab-${i}`;
2637
2621
  return (React.createElement(Tab, Object.assign({ "$isActive": isActive || false, key: i, onClick: isActive ? undefined : onClick }, accessibleProps, { id: `${tabId}-tab` }),
2638
2622
  badgeCount ? (React.createElement(Badge, { "$isError": errorBadge || false, id: `${tabId}-badge` }, badgeCount)) : null,
2639
2623
  label));
@@ -2664,12 +2648,12 @@ const Handle = styled.div `
2664
2648
  box-sizing: border-box;
2665
2649
  `;
2666
2650
  const Toggle = (_a) => {
2667
- var { onClick, on } = _a, accessibleProps = __rest(_a, ["onClick", "on"]);
2668
- const id = generateUniqueId('toggle');
2669
- return (React.createElement(Track, Object.assign({ "$on": on, onClick: onClick }, accessibleProps, { id: `${id}-track` }),
2670
- React.createElement("input", { checked: on, id: `${id}-input`, name: accessibleProps.name, type: 'hidden' }),
2671
- React.createElement(Handle, { "$on": on, id: `${id}-handle` },
2672
- React.createElement(Icon, { color: on ? Colors.GREEN.Hex : Colors.BLACK.Hex, id: `${id}-icon`, path: on ? mdiCheck : mdiClose, size: '16px' }))));
2651
+ var { onClick, on, id } = _a, accessibleProps = __rest(_a, ["onClick", "on", "id"]);
2652
+ const baseId = id || 'toggle';
2653
+ return (React.createElement(Track, Object.assign({ "$on": on, onClick: onClick }, accessibleProps, { id: `${baseId}-track` }),
2654
+ React.createElement("input", { checked: on, id: `${baseId}-input`, name: accessibleProps.name, type: 'hidden' }),
2655
+ React.createElement(Handle, { "$on": on, id: `${baseId}-handle` },
2656
+ React.createElement(Icon, { color: on ? Colors.GREEN.Hex : Colors.BLACK.Hex, id: `${baseId}-icon`, path: on ? mdiCheck : mdiClose, size: '16px' }))));
2673
2657
  };
2674
2658
  Toggle.defaultProps = {};
2675
2659
 
@@ -2699,15 +2683,15 @@ const StyledIcon = styled.div `
2699
2683
  background: #f5f5f5;
2700
2684
  `;
2701
2685
  const ZeroState = (_a) => {
2702
- var { icon, title, description, action } = _a, accessibleProps = __rest(_a, ["icon", "title", "description", "action"]);
2703
- const id = generateUniqueId('zero-state');
2704
- return (React.createElement(Container, Object.assign({}, accessibleProps, { id: `${id}-container` }),
2705
- React.createElement(StyledIcon, { id: `${id}-icon-wrapper` },
2706
- React.createElement(Icon, { color: Colors.MEDIUM_GRAY.Hex, id: `${id}-icon`, path: icon, size: '40px' })),
2707
- React.createElement(Wrapper, { id: `${id}-wrapper` },
2708
- React.createElement(Heading, { children: title, id: `${id}-heading`, type: 'tertiary' }),
2709
- description && (React.createElement(Copy, { align: 'center', children: description, color: 'GRAY', id: `${id}-description`, type: 'default' }))),
2710
- action && (React.createElement(Button, { children: action.children, disabled: action.disabled, format: action.format, icon: action.icon, id: `${id}-button`, onClick: action.onClick }))));
2686
+ var { icon, title, description, action, id } = _a, accessibleProps = __rest(_a, ["icon", "title", "description", "action", "id"]);
2687
+ const baseId = id || 'zero-state';
2688
+ return (React.createElement(Container, Object.assign({}, accessibleProps, { id: `${baseId}-container` }),
2689
+ React.createElement(StyledIcon, { id: `${baseId}-icon-wrapper` },
2690
+ React.createElement(Icon, { color: Colors.MEDIUM_GRAY.Hex, id: `${baseId}-icon`, path: icon, size: '40px' })),
2691
+ React.createElement(Wrapper, { id: `${baseId}-wrapper` },
2692
+ React.createElement(Heading, { children: title, id: `${baseId}-heading`, type: 'tertiary' }),
2693
+ description && (React.createElement(Copy, { align: 'center', children: description, color: 'GRAY', id: `${baseId}-description`, type: 'default' }))),
2694
+ action && (React.createElement(Button, { children: action.children, disabled: action.disabled, format: action.format, icon: action.icon, id: `${baseId}-button`, onClick: action.onClick }))));
2711
2695
  };
2712
2696
 
2713
2697
  export { Accordion, ActionDialog, Alert, AppHeader, AppMenu, BulkActionBar, Button, ButtonMenu, Checkbox, Checklist, Colors, Copy, DatePicker, Drawer, EditableTheme, Field, FieldGroup, FileUpload, FontSizes, FontStyles, Heading, Input$1 as Input, Link, Loader, Logo, Modal, MoreMenu, MultiSelect, PageHeader, Pagination, ProgressBar, Radio, RadioList, Select, Table, Tabs, Tag, Toggle, Tooltip, ZeroState, formatAsPhone, formatAsSsn, getAgesFromDob, getDaysForMonth, getYears, validateEmail, validatePhone };