@hazelcast/ui 4.0.1-canary.5 → 4.0.1-canary.7

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 (117) hide show
  1. package/lib/components/AppHeader/SelectCluster/SelectCluster.js +1 -1
  2. package/lib/components/AppHeader/SelectCluster/SelectCluster.js.map +1 -1
  3. package/lib/components/AutocompleteField.d.ts +1 -3
  4. package/lib/components/AutocompleteField.js +4 -5
  5. package/lib/components/AutocompleteField.js.map +1 -1
  6. package/lib/components/AutocompleteField.module.css +183 -0
  7. package/lib/components/Button.d.ts +1 -0
  8. package/lib/components/Button.js +2 -1
  9. package/lib/components/Button.js.map +1 -1
  10. package/lib/components/Button.module.css +6 -0
  11. package/lib/components/Checkbox.js +1 -1
  12. package/lib/components/Checkbox.js.map +1 -1
  13. package/lib/components/Checkbox.module.css +97 -0
  14. package/lib/components/Modal.d.ts +19 -2
  15. package/lib/components/Modal.js +56 -25
  16. package/lib/components/Modal.js.map +1 -1
  17. package/lib/components/Modal.module.css +222 -0
  18. package/lib/components/NumberField.d.ts +2 -3
  19. package/lib/components/NumberField.js +5 -8
  20. package/lib/components/NumberField.js.map +1 -1
  21. package/lib/components/NumberField.module.css +73 -0
  22. package/lib/components/Pagination.js +2 -2
  23. package/lib/components/Pagination.js.map +1 -1
  24. package/lib/components/PasswordField.d.ts +1 -2
  25. package/lib/components/PasswordField.js +1 -1
  26. package/lib/components/PasswordField.js.map +1 -1
  27. package/lib/components/PasswordField.module.scss +3 -0
  28. package/lib/components/Select/CheckableSelectField.d.ts +0 -1
  29. package/lib/components/Select/CheckableSelectField.js +12 -6
  30. package/lib/components/Select/CheckableSelectField.js.map +1 -1
  31. package/lib/components/Select/CheckableSelectField.module.css +112 -0
  32. package/lib/components/Select/Common.js +3 -3
  33. package/lib/components/Select/Common.js.map +1 -1
  34. package/lib/components/Select/Common.module.css +35 -0
  35. package/lib/components/Select/MultiSelectField.d.ts +1 -1
  36. package/lib/components/Select/MultiSelectField.js +3 -5
  37. package/lib/components/Select/MultiSelectField.js.map +1 -1
  38. package/lib/components/Select/MultiSelectField.module.css +60 -0
  39. package/lib/components/Select/SelectField.d.ts +2 -3
  40. package/lib/components/Select/SelectField.js +4 -6
  41. package/lib/components/Select/SelectField.js.map +1 -1
  42. package/lib/components/Select/SelectField.module.css +202 -0
  43. package/lib/components/TextArea.js +1 -1
  44. package/lib/components/TextArea.js.map +1 -1
  45. package/lib/components/TextArea.module.css +109 -0
  46. package/lib/components/TextField.module.css +1 -1
  47. package/lib/old/AutocompleteField.d.ts +49 -0
  48. package/lib/old/AutocompleteField.js +166 -0
  49. package/lib/old/AutocompleteField.js.map +1 -0
  50. package/lib/old/AutocompleteFieldFormik.d.ts +9 -0
  51. package/lib/old/AutocompleteFieldFormik.js +19 -0
  52. package/lib/old/AutocompleteFieldFormik.js.map +1 -0
  53. package/lib/old/Checkbox.d.ts +35 -0
  54. package/lib/old/Checkbox.js +38 -0
  55. package/lib/old/Checkbox.js.map +1 -0
  56. package/lib/old/CheckboxFormik.d.ts +10 -0
  57. package/lib/old/CheckboxFormik.js +17 -0
  58. package/lib/old/CheckboxFormik.js.map +1 -0
  59. package/lib/old/Modal.d.ts +26 -0
  60. package/lib/old/Modal.js +41 -0
  61. package/lib/old/Modal.js.map +1 -0
  62. package/lib/old/NumberField.d.ts +33 -0
  63. package/lib/old/NumberField.js +141 -0
  64. package/lib/old/NumberField.js.map +1 -0
  65. package/lib/old/NumberFieldFormik.d.ts +10 -0
  66. package/lib/old/NumberFieldFormik.js +52 -0
  67. package/lib/old/NumberFieldFormik.js.map +1 -0
  68. package/lib/old/PasswordField.d.ts +29 -0
  69. package/lib/old/PasswordField.js +26 -0
  70. package/lib/old/PasswordField.js.map +1 -0
  71. package/lib/old/PasswordFieldFormik.d.ts +10 -0
  72. package/lib/old/PasswordFieldFormik.js +17 -0
  73. package/lib/old/PasswordFieldFormik.js.map +1 -0
  74. package/lib/old/PasswordFieldLegacy.module.scss +26 -0
  75. package/lib/old/Select/CheckableSelectField.d.ts +40 -0
  76. package/lib/old/Select/CheckableSelectField.js +77 -0
  77. package/lib/old/Select/CheckableSelectField.js.map +1 -0
  78. package/lib/old/Select/CheckableSelectFieldFormik.d.ts +10 -0
  79. package/lib/old/Select/CheckableSelectFieldFormik.js +19 -0
  80. package/lib/old/Select/CheckableSelectFieldFormik.js.map +1 -0
  81. package/lib/old/Select/Common.d.ts +5 -0
  82. package/lib/old/Select/Common.js +54 -0
  83. package/lib/old/Select/Common.js.map +1 -0
  84. package/lib/old/Select/MultiSelectField.d.ts +28 -0
  85. package/lib/old/Select/MultiSelectField.js +113 -0
  86. package/lib/old/Select/MultiSelectField.js.map +1 -0
  87. package/lib/old/Select/MultiSelectFieldFormik.d.ts +11 -0
  88. package/lib/old/Select/MultiSelectFieldFormik.js +19 -0
  89. package/lib/old/Select/MultiSelectFieldFormik.js.map +1 -0
  90. package/lib/old/Select/SelectField.d.ts +43 -0
  91. package/lib/old/Select/SelectField.js +103 -0
  92. package/lib/old/Select/SelectField.js.map +1 -0
  93. package/lib/old/Select/SelectFieldFormik.d.ts +10 -0
  94. package/lib/old/Select/SelectFieldFormik.js +19 -0
  95. package/lib/old/Select/SelectFieldFormik.js.map +1 -0
  96. package/lib/old/Select/helpers.d.ts +12 -0
  97. package/lib/old/Select/helpers.js +29 -0
  98. package/lib/old/Select/helpers.js.map +1 -0
  99. package/lib/old/TextArea.d.ts +19 -0
  100. package/lib/old/TextArea.js +25 -0
  101. package/lib/old/TextArea.js.map +1 -0
  102. package/lib/old/TextAreaFormik.d.ts +9 -0
  103. package/lib/old/TextAreaFormik.js +11 -0
  104. package/lib/old/TextAreaFormik.js.map +1 -0
  105. package/lib/old/index.d.ts +34 -0
  106. package/lib/old/index.js +18 -0
  107. package/lib/old/index.js.map +1 -1
  108. package/package.json +1 -1
  109. /package/lib/{components/AutocompleteField.module.scss → old/AutocompleteFieldLegacy.module.scss} +0 -0
  110. /package/lib/{components/Checkbox.module.scss → old/CheckboxLegacy.module.scss} +0 -0
  111. /package/lib/{components/Modal.module.scss → old/ModalLegacy.module.scss} +0 -0
  112. /package/lib/{components/NumberField.module.scss → old/NumberFieldLegacy.module.scss} +0 -0
  113. /package/lib/{components/Select/CheckableSelectField.module.scss → old/Select/CheckableSelectFieldLegacy.module.scss} +0 -0
  114. /package/lib/{components/Select/Common.module.scss → old/Select/CommonLegacy.module.scss} +0 -0
  115. /package/lib/{components/Select/MultiSelectField.module.scss → old/Select/MultiSelectFieldLegacy.module.scss} +0 -0
  116. /package/lib/{components/Select/SelectField.module.scss → old/Select/SelectFieldLegacy.module.scss} +0 -0
  117. /package/lib/{components/TextArea.module.scss → old/TextAreaLegacy.module.scss} +0 -0
@@ -27,7 +27,7 @@ export const SelectCluster = ({ clusterVersions, clusterName, clusterNames, isRe
27
27
  })), [clusterVersions, clusterNames]);
28
28
  const { status, value } = getSafeValue(clusterName, clusterNames);
29
29
  const disabled = isReadOnly || status === 'disabled';
30
- return (React.createElement(SelectField, { name: "cluster", label: "Select Cluster", showAriaLabel: true, size: "small", "data-test": "select-cluster", className: cn(styles.select, { [styles.disabled]: disabled }), classNames: {
30
+ return (React.createElement(SelectField, { name: "cluster", label: "Select Cluster", showAriaLabel: true, "data-test": "select-cluster", className: cn(styles.select, { [styles.disabled]: disabled }), classNames: {
31
31
  menuPortal: () => styles.menuPortal,
32
32
  }, disabled: disabled, iconLeft: CheckCircle, iconLeftAriaLabel: "Select cluster", iconLeftContainerClassName: styles.selectIconLeftContainer, iconLeftClassName: cn(styles.selectIconLeft, {
33
33
  [styles.disabled]: status === 'disabled',
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCluster.js","sourceRoot":"","sources":["../../../../src/components/AppHeader/SelectCluster/SelectCluster.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,EAAE,EAAM,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAEhD,MAAM,YAAY,GAAG,CACnB,WAA0B,EAC1B,YAA6B,EAI7B,EAAE;IACF,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;IACrD,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,gBAAgB;SACxB,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;QACzE,KAAK,EAAE,WAAW;KACnB,CAAA;AACH,CAAC,CAAA;AAUD,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5H,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,YAAY,EACV,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACzC,2CAAgB,iBAAiB,IAAE,eAAe,CAAC,IAAI,CAAC,CAAQ,CACjE,CAAC,CAAC,CAAC,CACF,oBAAC,cAAc,IAAC,IAAI,EAAC,OAAO,GAAG,CAChC;KACJ,CAAC,CAAC,EACL,CAAC,eAAe,EAAE,YAAY,CAAC,CAChC,CAAA;IAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,UAAU,IAAI,MAAM,KAAK,UAAU,CAAA;IAEpD,OAAO,CACL,oBAAC,WAAW,IACV,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,gBAAgB,EACtB,aAAa,QACb,IAAI,EAAC,OAAO,eACF,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC7D,UAAU,EAAE;YACV,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU;SACpC,EACD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,WAAW,EACrB,iBAAiB,EAAC,gBAAgB,EAClC,0BAA0B,EAAE,MAAM,CAAC,uBAAuB,EAC1D,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE;YAC3C,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,UAAU;YACxC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc;SACjD,CAAC,EACF,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACZ,CACH,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"SelectCluster.js","sourceRoot":"","sources":["../../../../src/components/AppHeader/SelectCluster/SelectCluster.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,KAAK,EAAE,EAAM,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAEhD,MAAM,YAAY,GAAG,CACnB,WAA0B,EAC1B,YAA6B,EAI7B,EAAE;IACF,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA;IACrD,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;YACL,MAAM,EAAE,cAAc;YACtB,KAAK,EAAE,gBAAgB;SACxB,CAAA;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;QACzE,KAAK,EAAE,WAAW;KACnB,CAAA;AACH,CAAC,CAAA;AAUD,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC5H,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,CAAC,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAClC,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,IAAI;QACX,YAAY,EACV,eAAe,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CACzC,2CAAgB,iBAAiB,IAAE,eAAe,CAAC,IAAI,CAAC,CAAQ,CACjE,CAAC,CAAC,CAAC,CACF,oBAAC,cAAc,IAAC,IAAI,EAAC,OAAO,GAAG,CAChC;KACJ,CAAC,CAAC,EACL,CAAC,eAAe,EAAE,YAAY,CAAC,CAChC,CAAA;IAED,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,UAAU,IAAI,MAAM,KAAK,UAAU,CAAA;IAEpD,OAAO,CACL,oBAAC,WAAW,IACV,IAAI,EAAC,SAAS,EACd,KAAK,EAAC,gBAAgB,EACtB,aAAa,qBACH,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC,EAC7D,UAAU,EAAE;YACV,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU;SACpC,EACD,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,WAAW,EACrB,iBAAiB,EAAC,gBAAgB,EAClC,0BAA0B,EAAE,MAAM,CAAC,uBAAuB,EAC1D,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE;YAC3C,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,UAAU;YACxC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,KAAK,cAAc;SACjD,CAAC,EACF,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,GACZ,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -1,7 +1,6 @@
1
1
  import React, { FocusEvent, ReactNode } from 'react';
2
2
  import { FormatOptionLabelMeta } from 'react-select';
3
3
  import { HelpProps } from './Help';
4
- import { SelectFieldSize } from './Select/SelectField';
5
4
  import { FieldHeaderProps } from './FieldHeader';
6
5
  export type AutocompleteFieldOption = {
7
6
  label: string;
@@ -10,7 +9,6 @@ export type AutocompleteFieldOption = {
10
9
  export type RenderOptionFunction<O = AutocompleteFieldOption> = (highlightedLabelText: ReactNode, option: O extends AutocompleteFieldOption ? O : never, labelMeta: FormatOptionLabelMeta<AutocompleteFieldOption>) => ReactNode;
11
10
  export type AutocompleteFieldProps = {
12
11
  'data-test'?: string;
13
- size?: SelectFieldSize;
14
12
  className?: string;
15
13
  disabled?: boolean;
16
14
  error?: string;
@@ -31,7 +29,7 @@ export type AutocompleteFieldProps = {
31
29
  value?: string | null;
32
30
  placeholder?: string;
33
31
  openMenuOnClick?: boolean;
34
- } & Omit<FieldHeaderProps, 'id'>;
32
+ } & Omit<FieldHeaderProps, 'id' | 'size'>;
35
33
  type GetSelectedOptionFromValueProps = {
36
34
  value?: string | null;
37
35
  optionsMap: {
@@ -4,7 +4,7 @@ import { useUID } from 'react-uid';
4
4
  import cn from 'classnames';
5
5
  import { Search, X } from 'react-feather';
6
6
  import useIsomorphicLayoutEffect from 'react-use/lib/useIsomorphicLayoutEffect';
7
- import styles from './AutocompleteField.module.scss';
7
+ import styles from './AutocompleteField.module.css';
8
8
  import { Error, errorId } from './Error';
9
9
  import { canUseDOM } from '../utils/ssr';
10
10
  import { IconButton } from './IconButton';
@@ -39,7 +39,7 @@ const DropdownIndicator = (props) => {
39
39
  const ClearIndicator = ({ innerProps }) => {
40
40
  // Visually impaired people will use the keyboard (backspace) to remove the value. We do not want to confuse them by allowing to focus this button.
41
41
  // @ts-ignore
42
- return React.createElement(IconButton, { ...innerProps, icon: X, ariaHidden: true, variant: "ghost", className: styles.clear, tabIndex: -1 });
42
+ return React.createElement(IconButton, { ...innerProps, icon: X, ariaHidden: true, variant: "ghost", size: "small", className: styles.clear, tabIndex: -1 });
43
43
  };
44
44
  export const highlightOptionText = (labelText, inputValue) => {
45
45
  const separator = '<%>';
@@ -54,7 +54,7 @@ export const highlightOptionText = (labelText, inputValue) => {
54
54
  }), key: val + `${i}` }, val)))
55
55
  : labelText;
56
56
  };
57
- export const AutocompleteField = ({ 'data-test': dataTest = 'autocomplete-field', className, disabled, error, errorClassName, isClearable, label, labelClassName, helperText, size = 'medium', menuPortalTarget = 'body', name, onChange, onFocus, onBlur, onInputChange, options, required, value, placeholder = 'Search...', showAriaLabel = false, renderOption, openMenuOnClick = true, ...rest }) => {
57
+ export const AutocompleteField = ({ 'data-test': dataTest = 'autocomplete-field', className, disabled, error, errorClassName, isClearable, label, labelClassName, helperText, menuPortalTarget = 'body', name, onChange, onFocus, onBlur, onInputChange, options, required, value, placeholder = 'Search...', showAriaLabel = false, renderOption, openMenuOnClick = true, ...rest }) => {
58
58
  // when the user clicks on an input with the value, the value should disappear,
59
59
  // but then it should appear after the user selects something or blurs the input
60
60
  const [isValueHidden, setValueHidden] = useState(false);
@@ -140,14 +140,13 @@ export const AutocompleteField = ({ 'data-test': dataTest = 'autocomplete-field'
140
140
  [styles.withError]: 'error' in props,
141
141
  [styles.disabled]: disabled,
142
142
  [styles.hasError]: error,
143
- [styles.small]: size === 'small',
144
143
  [styles.empty]: !value,
145
144
  },
146
145
  // Menu container is either this select itself or any other element
147
146
  // We can always add this class to the select itself because even if the menu container is any parent it won't break it
148
147
  // However, if it is the select itself, it will properly add necessary specificity level to the menu styles.
149
148
  styles.menuContainer, className) },
150
- React.createElement(FieldHeader, { label: label, id: id, size: size, "data-test": dataTest, helperText: helperText, showAriaLabel: showAriaLabel, labelClassName: labelClassName }),
149
+ React.createElement(FieldHeader, { label: label, id: id, size: "small", "data-test": dataTest, helperText: helperText, showAriaLabel: showAriaLabel, labelClassName: labelClassName }),
151
150
  React.createElement("div", { className: styles.selectBlock },
152
151
  React.createElement(ReactSelect, { onInputChange: onInputChange, formatOptionLabel: formatOptionLabelFn, styles: {
153
152
  ...props.styles,
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteField.js","sourceRoot":"","sources":["../../src/components/AutocompleteField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutocompleteField.js","sourceRoot":"","sources":["../../src/components/AutocompleteField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACtF,OAAO,WAAW,EAAE,EAAc,UAAU,EAAmE,MAAM,cAAc,CAAA;AACnI,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,yBAAyB,MAAM,yCAAyC,CAAA;AAC/E,OAAO,MAAM,MAAM,gCAAgC,CAAA;AACnD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAoB,MAAM,eAAe,CAAA;AA0C7D;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,EAAE,KAAK,EAAE,UAAU,EAAmC;;IAC/F,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,GAAG,MAAA,UAAU,CAAC,KAAK,CAAC,mCAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;IAC9D,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,KAAK,GAA4B,CAAC,UAAU,EAAE,EAAE;IACpD,mFAAmF;IACnF,kEAAkE;IAClE,MAAM,KAAK,GAAG;QACZ,GAAG,UAAU;QACb,YAAY,EAAE,YAAY;KAC3B,CAAA;IACD,OAAO,oBAAC,UAAU,CAAC,KAAK,OAAK,KAAK,GAAI,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAwC,CAAC,KAAK,EAAE,EAAE;IACvE,OAAO,CACL,oBAAC,UAAU,CAAC,iBAAiB,OAAK,KAAK;QACrC,oBAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,CACS,CAChC,CAAA;AACH,CAAC,CAAA;AAED,gCAAgC;AAChC,MAAM,cAAc,GAAqC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;IAC1E,mJAAmJ;IAEnJ,aAAa;IACb,OAAO,oBAAC,UAAU,OAAK,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,UAAU,QAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAI,CAAA;AAC/H,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,UAA8B,EAAa,EAAE;IAClG,MAAM,SAAS,GAAG,KAAK,CAAA;IACvB,MAAM,KAAK,GAAG,UAAU,IAAI,EAAE,CAAA;IAC9B,OAAO,KAAK;QACV,CAAC,CAAC,SAAS;aACN,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,SAAS,KAAK,SAAS,EAAE,CAAC;aAC9D,KAAK,CAAC,SAAS,CAAC;aAChB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;aACpB,GAAG,CAAC,CAAC,GAAW,EAAE,CAAS,EAAE,EAAE,CAAC,CAC/B,8BACE,SAAS,EAAE,EAAE,CAAC;gBACZ,4CAA4C,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;aACxF,CAAC,EACF,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,IAEhB,GAAG,CACC,CACR,CAAC;QACN,CAAC,CAAC,SAAS,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAClE,WAAW,EAAE,QAAQ,GAAG,oBAAoB,EAC5C,SAAS,EACT,QAAQ,EACR,KAAK,EACL,cAAc,EACd,WAAW,EACX,KAAK,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,GAAG,MAAM,EACzB,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,aAAa,EACb,OAAO,EACP,QAAQ,EACR,KAAK,EACL,WAAW,GAAG,WAAW,EACzB,aAAa,GAAG,KAAK,EACrB,YAAY,EACZ,eAAe,GAAG,IAAI,EACtB,GAAG,IAAI,EACR,EAAE,EAAE;IACH,+EAA+E;IAC/E,gFAAgF;IAChF,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvD,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IAEnB,yBAAyB,CAAC,GAAG,EAAE;QAC7B,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAExD,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7E,aAAa,CAAC,SAAS,GAAG,GAAG,aAAa,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,EAAE,CAAA;QAChF,CAAC;IACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAEtB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CACH,OAAO,CAAC,MAAM,CACZ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QACd,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAA;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC,EACD,EAAgD,CACjD,EACH,CAAC,OAAO,CAAC,CACV,CAAA;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IAE5G,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAClC,CAAC,MAAsC,EAAE,EAAE;QACzC,cAAc,CAAC,KAAK,CAAC,CACpB;QAAC,QAA8C,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzF,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CACjC,CAAC,CAA0B,EAAE,EAAE;QAC7B,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,CAAC,CAAC,CAAA;QACZ,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,cAAc,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,EACD,CAAC,OAAO,EAAE,eAAe,CAAC,CAC3B,CAAA;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAChC,CAAC,CAA0B,EAAE,EAAE;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,CAAC,CAAC,CAAA;QACX,CAAC;QACD,cAAc,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC,EACD,CAAC,MAAM,CAAC,CACT,CAAA;IAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAC3C,CAAC,MAA+B,EAAE,SAAyD,EAAE,EAAE;QAC7F,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAA;QAChC,IAAI,UAAU,GAAc,MAAM,CAAC,KAAK,CAAA;QACxC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;QAC5D,CAAC;QACD,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;IAChF,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,gBAAsD,EAAkC,EAAE;QAClH,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAAC;YAC/B,0CAA0C;YAC1C,OAAO,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QAC9C,CAAC;QACD,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAAC;YAC/B,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,OAAO,gBAAgB,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,KAAK,GAAqD;QAC9D,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,uBAAuB;QAClC,eAAe,EAAE,uBAAuB;QACxC,mHAAmH;QACnH,mBAAmB,EAAE,KAAK,IAAI,OAAO,CAAC,EAAE,CAAC;QACzC,cAAc,EAAE,CAAC,CAAC,KAAK;QAEvB,aAAa;QACb,eAAe,EAAE,QAAQ;QACzB,KAAK;QACL,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,KAAK;QACjC,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,cAAc;QACrB,WAAW;QACX,OAAO;QACP,QAAQ,EAAE,UAAyH;QACnI,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,QAAQ;QAChB,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;QACpD,UAAU,EAAE;YACV,iBAAiB;YACjB,cAAc;YACd,KAAK;SACN;QACD,eAAe;QACf,GAAG,IAAI;KACR,CAAA;IAED,OAAO,CACL,0CACa,QAAQ,EACnB,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,SAAS,EAChB;YACE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,IAAI,KAAK;YACpC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;YAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK;YACxB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK;SACvB;QACD,mEAAmE;QACnE,uHAAuH;QACvH,4GAA4G;QAC5G,MAAM,CAAC,aAAa,EACpB,SAAS,CACV;QAED,oBAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,OAAO,eACD,QAAQ,EACnB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,GAC9B;QACF,6BAAK,SAAS,EAAE,MAAM,CAAC,WAAW;YAChC,oBAAC,WAAW,IACV,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,mBAAmB,EACtC,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBAEf,aAAa;oBACb,WAAW,EAAE,CAAC,IAAmB,EAAE,EAAE;;wBAAC,OAAA,CAAC;4BACrC,GAAG,IAAI;4BACP,GAAG,MAAA,KAAK,CAAC,MAAM,0CAAE,WAAW;4BAC5B,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;yBACjD,CAAC,CAAA;qBAAA;iBACH,KACG,KAAK,GACT,CACE;QACN,oBAAC,KAAK,iBAAY,GAAG,QAAQ,QAAQ,EAAE,SAAS,QAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,GAAI,CAChI,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,183 @@
1
+ .container {
2
+ color: var(--hive-color-text-v4);
3
+ box-sizing: border-box;
4
+ font-family: var(--hive-font-family-text);
5
+ font-size: var(--hive-font-size-body-small);
6
+ font-weight: var(--hive-font-weight-text-regular);
7
+ line-height: normal;
8
+ }
9
+
10
+ .container .selectBlock {
11
+ display: flex;
12
+ flex-direction: row;
13
+ align-items: center;
14
+ position: relative;
15
+ }
16
+
17
+ .clear.clear {
18
+ --button-size: calc(var(--hive-grid) * 6);
19
+
20
+ margin-left: calc(var(--hive-grid) * 1);
21
+ border-radius: var(--hive-border-radius-pill);
22
+ }
23
+
24
+ .container :global(.hz-autocomplete-field) {
25
+ flex: 1 1 auto;
26
+ font-size: var(--hive-font-size-body-small);
27
+ }
28
+
29
+ .container :global(.hz-autocomplete-field__value-container) {
30
+ padding: 0;
31
+ }
32
+
33
+ .container :global(.hz-autocomplete-field__single-value) {
34
+ color: var(--hive-color-text-v4);
35
+ }
36
+
37
+ .container :global(.hz-autocomplete-field__placeholder) {
38
+ color: var(--hive-color-text-secondary-v4);
39
+ }
40
+
41
+ .container :global(.hz-autocomplete-field__indicator-separator) {
42
+ display: none;
43
+ }
44
+
45
+ .container :global(.hz-autocomplete-field__control) {
46
+ cursor: text;
47
+ color: var(--hive-color-text-v4);
48
+ min-height: calc(var(--hive-grid) * 7.5);
49
+ padding-left: calc(var(--hive-grid) * 3);
50
+ padding-right: calc(var(--hive-grid) * 2);
51
+ box-sizing: border-box;
52
+ border: var(--hive-border-width) solid var(--hive-color-border-v4);
53
+ border-radius: var(--hive-border-radius);
54
+ background-color: var(--hive-color-neutral-white-v4);
55
+ transition: none;
56
+ box-shadow: none;
57
+ }
58
+
59
+ .container :global(.hz-autocomplete-field__control--menu-is-open) {
60
+ border-radius: var(--hive-border-radius) var(--hive-border-radius) 0 0;
61
+ }
62
+
63
+ .container :global(.hz-autocomplete-field__dropdown-indicator) {
64
+ color: var(--hive-color-text-secondary-v4);
65
+ padding: 0 calc(var(--hive-grid) * 0.5);
66
+ }
67
+
68
+ .container.disabled {
69
+ opacity: 0.5;
70
+ }
71
+
72
+ .container.disabled :global(.hz-autocomplete-field__control) {
73
+ color: var(--hive-color-text-secondary-v4);
74
+ background-color: var(--hive-color-neutral-white-v4);
75
+ border-color: var(--hive-color-border-v4);
76
+ }
77
+
78
+ .container.hasError :global(.hz-autocomplete-field__control) {
79
+ border-color: var(--hive-color-error-v4);
80
+ }
81
+
82
+ .container :global(.hz-autocomplete-field__control):hover,
83
+ .container.hover :global(.hz-autocomplete-field__control) {
84
+ border-color: var(--hive-color-text-v4);
85
+ }
86
+
87
+ .container.focus :global(.hz-autocomplete-field__control),
88
+ .container :global(.hz-autocomplete-field__control--is-focused) {
89
+ outline: none;
90
+ border-color: var(--hive-color-primary-v4);
91
+ box-shadow: 0 0 0 3px oklch(from var(--hive-color-primary-v4) l c h / 0.5);
92
+ }
93
+
94
+ .container :global(.hz-autocomplete-field__control--menu-is-open),
95
+ .container :global(.hz-autocomplete-field__control--is-focused.hz-autocomplete-field__control--menu-is-open) {
96
+ border-color: var(--hive-color-border-v4);
97
+ box-shadow: none;
98
+ }
99
+
100
+ .container.hasError.focus :global(.hz-autocomplete-field__control),
101
+ .container.hasError :global(.hz-autocomplete-field__control--is-focused) {
102
+ border-color: var(--hive-color-error-v4);
103
+ box-shadow: 0 0 0 3px oklch(from var(--hive-color-error-v4) l c h / 0.4);
104
+ }
105
+
106
+ .container.hasError :global(.hz-autocomplete-field__control--menu-is-open) {
107
+ border-color: var(--hive-color-error-v4);
108
+ box-shadow: none;
109
+ }
110
+
111
+ .menuContainer :global(.hz-autocomplete-field__menu-portal) {
112
+ z-index: 2000;
113
+ }
114
+
115
+ .menuContainer.menuContainer :global(.hz-autocomplete-field__menu) {
116
+ margin-top: 0;
117
+ margin-bottom: calc(var(--hive-grid) * 1);
118
+ border: var(--hive-border-width) solid var(--hive-color-border-v4);
119
+ border-top: none;
120
+ border-radius: 0 0 var(--hive-border-radius) var(--hive-border-radius);
121
+ background-color: var(--hive-color-neutral-white-v4);
122
+ overflow: hidden;
123
+ box-shadow:
124
+ 0 4px 12px oklch(0 0 0 / 0.08),
125
+ 0 1px 3px oklch(0 0 0 / 0.06);
126
+ z-index: 1000;
127
+ font-family: var(--hive-font-family-text);
128
+ font-size: var(--hive-font-size-body-small);
129
+ }
130
+
131
+ .menuContainer :global(.hz-autocomplete-field__menu-list) {
132
+ padding: 0;
133
+ color: var(--hive-color-text-v4);
134
+ }
135
+
136
+ .menuContainer.menuContainer.menuContainer :global(.hz-autocomplete-field__option),
137
+ .menuContainer.menuContainer.menuContainer :global(.hz-autocomplete-field__menu-notice) {
138
+ min-height: calc(var(--hive-grid) * 10);
139
+ line-height: calc(var(--hive-grid) * 10);
140
+ padding: 0 calc(var(--hive-grid) * 3);
141
+ background-color: transparent;
142
+ outline: none;
143
+ text-align: left;
144
+ white-space: pre;
145
+ cursor: pointer;
146
+ color: var(--hive-color-text-v4);
147
+ text-decoration: none;
148
+ }
149
+
150
+ .menuContainer.menuContainer.menuContainer :global(.hz-autocomplete-field__option--is-focused) {
151
+ background-color: var(--hive-color-surface-hover-v4);
152
+ outline: none;
153
+ box-shadow: none !important;
154
+ text-decoration: none !important;
155
+ }
156
+
157
+ .menuContainer.menuContainer.menuContainer :global(.hz-autocomplete-field__option--is-selected) {
158
+ background-color: var(--hive-color-surface-active-v4);
159
+ color: var(--hive-color-text-v4);
160
+ font-weight: var(--hive-font-weight-text-medium);
161
+ text-decoration: none !important;
162
+ box-shadow: none !important;
163
+ }
164
+
165
+ .menuContainer.menuContainer.menuContainer :global(.hz-autocomplete-field__matched-option-text) {
166
+ font-weight: var(--hive-font-weight-text-bold);
167
+ color: var(--hive-color-text-v4);
168
+ text-decoration: none;
169
+ }
170
+
171
+ .withError {
172
+ position: relative;
173
+ padding-bottom: calc(var(--hive-grid) * 4.75 + var(--hive-grid));
174
+ }
175
+
176
+ .withError .errorContainer {
177
+ position: absolute;
178
+ bottom: 0;
179
+ left: 0;
180
+ overflow: hidden;
181
+ height: calc(var(--hive-grid) * 4.75);
182
+ width: 100%;
183
+ }
@@ -51,6 +51,7 @@ export type ButtonCommonProps = {
51
51
  tooltip?: string;
52
52
  active?: boolean;
53
53
  truncate?: boolean;
54
+ fullWidth?: boolean;
54
55
  } & (ButtonDisabledProps | ButtonNotDisabledProps) & Pick<HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, 'className' | 'onClick' | 'tabIndex' | 'style'>;
55
56
  export type ButtonTypeAnchorProps = {
56
57
  component: 'a';
@@ -22,7 +22,7 @@ const sizeClass = {
22
22
  small: styles.sizeSmall,
23
23
  regular: styles.sizeRegular,
24
24
  };
25
- export const Button = forwardRef(({ component: Component = 'button', className, bodyClassName, outline = 'outline', children, disabled, disabledTooltip, disabledTooltipVisible, disabledTooltipPlacement, iconLeft, iconLeftAriaLabel, iconLeftColor, iconLeftClassName, iconRight, iconRightAriaLabel, iconRightColor, iconRightClassName, rel = 'noopener', target, type = 'button', loading, variant = 'contained', color = 'primary', size = 'regular', tooltip, active, truncate = true, ...rest }, ref) => {
25
+ export const Button = forwardRef(({ component: Component = 'button', className, bodyClassName, outline = 'outline', children, disabled, disabledTooltip, disabledTooltipVisible, disabledTooltipPlacement, iconLeft, iconLeftAriaLabel, iconLeftColor, iconLeftClassName, iconRight, iconRightAriaLabel, iconRightColor, iconRightClassName, rel = 'noopener', target, type = 'button', loading, variant = 'contained', color = 'primary', size = 'regular', tooltip, active, truncate = true, fullWidth, ...rest }, ref) => {
26
26
  const tooltipId = useUID();
27
27
  const iconSize = size === 'small' ? 'small' : 'smallMedium';
28
28
  const relFinal = Array.isArray(rel) ? rel.join(' ') : rel;
@@ -31,6 +31,7 @@ export const Button = forwardRef(({ component: Component = 'button', className,
31
31
  React.createElement(Component, { "data-test": "button", className: cn(styles.button, variantClass[variant], colorClass[color], sizeClass[size], {
32
32
  [styles.active]: active,
33
33
  [styles.inset]: outline === 'inset',
34
+ [styles.fullWidth]: fullWidth,
34
35
  }, className), "aria-describedby": disabled ? tooltipId : undefined, disabled: disabled !== null && disabled !== void 0 ? disabled : loading, rel: Component === 'a' ? relFinal : undefined, target: Component === 'a' ? target : undefined, type: Component === 'button' ? type : undefined, ref: ref, ...rest },
35
36
  React.createElement("span", { className: cn(styles.body, bodyClassName) },
36
37
  loading && !loadingAnimationOnRight && React.createElement(Loader, { className: styles.iconLeft, size: iconSize }),
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwB,UAAU,EAAgC,MAAM,OAAO,CAAA;AAC7F,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,IAAI,EAAuB,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAe,MAAM,WAAW,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC,OAAO,MAAM,MAAM,qBAAqB,CAAA;AAuFxC,MAAM,YAAY,GAAkC;IAClD,SAAS,EAAE,MAAM,CAAC,gBAAgB;IAClC,QAAQ,EAAE,MAAM,CAAC,eAAe;IAChC,KAAK,EAAE,MAAM,CAAC,YAAY;IAC1B,IAAI,EAAE,MAAM,CAAC,WAAW;CACzB,CAAA;AAED,MAAM,UAAU,GAAgC;IAC9C,OAAO,EAAE,MAAM,CAAC,YAAY;IAC5B,SAAS,EAAE,MAAM,CAAC,cAAc;IAChC,OAAO,EAAE,MAAM,CAAC,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC,WAAW;CAC3B,CAAA;AAED,MAAM,SAAS,GAA+B;IAC5C,KAAK,EAAE,MAAM,CAAC,SAAS;IACvB,OAAO,EAAE,MAAM,CAAC,WAAW;CAC5B,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC9B,CACE,EACE,SAAS,EAAE,SAAS,GAAG,QAAQ,EAC/B,SAAS,EACT,aAAa,EACb,OAAO,GAAG,SAAS,EACnB,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,GAAG,GAAG,UAAU,EAChB,MAAM,EACN,IAAI,GAAG,QAAQ,EACf,OAAO,EACP,OAAO,GAAG,WAAW,EACrB,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,SAAS,EAChB,OAAO,EACP,MAAM,EACN,QAAQ,GAAG,IAAI,EACf,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,MAAM,SAAS,GAAG,MAAM,EAAE,CAAA;IAC1B,MAAM,QAAQ,GAAa,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAA;IACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACzD,MAAM,uBAAuB,GAAG,OAAO,IAAI,SAAS,IAAI,kBAAkB,IAAI,CAAC,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAA;IAE9G,OAAO,CACL,oBAAC,OAAO,IACN,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,EAC7C,IAAI,EAAE,QAAQ,IAAI,sBAAsB,EACxC,IAAI,EAAE,wBAAwB;QAE9B,oBAAC,SAAS,iBACE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,MAAM,EACb,YAAY,CAAC,OAAO,CAAC,EACrB,UAAU,CAAC,KAAK,CAAC,EACjB,SAAS,CAAC,IAAI,CAAC,EACf;gBACE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM;gBACvB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO;aACpC,EACD,SAAS,CACV,sBACiB,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAClD,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,EAC7B,GAAG,EAAE,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC7C,MAAM,EAAE,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC9C,IAAI,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC/C,GAAG,EAAE,GAAuD,KACxD,IAAI;YAER,8BAAM,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;gBAC5C,OAAO,IAAI,CAAC,uBAAuB,IAAI,oBAAC,MAAM,IAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAI;gBAC7F,QAAQ,IAAI,iBAAiB,IAAI,CAAC,OAAO,IAAI,CAC5C,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,iBAAiB,eAClB,kBAAkB,EAC5B,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAC1D,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,aAAa,GACpB,CACH;gBACA,QAAQ,CAAC,CAAC,CAAC,CACV,oBAAC,aAAa,IAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,IAAI,sBAAsB,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAI,CACpH,CAAC,CAAC,CAAC,CACF,QAAQ,CACT;gBACA,uBAAuB,IAAI,oBAAC,MAAM,IAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAI;gBAClF,CAAC,uBAAuB,IAAI,SAAS,IAAI,kBAAkB,IAAI,CAC9D,oBAAC,IAAI,IACH,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,kBAAkB,eACnB,mBAAmB,EAC7B,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAC5D,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,cAAc,GACrB,CACH,CACI,CACG,CACJ,CACX,CAAA;AACH,CAAC,CACF,CAAA;AAED,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwB,UAAU,EAAgC,MAAM,OAAO,CAAA;AAC7F,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,IAAI,EAAuB,MAAM,QAAQ,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAe,MAAM,WAAW,CAAA;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAGjC,OAAO,MAAM,MAAM,qBAAqB,CAAA;AAwFxC,MAAM,YAAY,GAAkC;IAClD,SAAS,EAAE,MAAM,CAAC,gBAAgB;IAClC,QAAQ,EAAE,MAAM,CAAC,eAAe;IAChC,KAAK,EAAE,MAAM,CAAC,YAAY;IAC1B,IAAI,EAAE,MAAM,CAAC,WAAW;CACzB,CAAA;AAED,MAAM,UAAU,GAAgC;IAC9C,OAAO,EAAE,MAAM,CAAC,YAAY;IAC5B,SAAS,EAAE,MAAM,CAAC,cAAc;IAChC,OAAO,EAAE,MAAM,CAAC,YAAY;IAC5B,MAAM,EAAE,MAAM,CAAC,WAAW;CAC3B,CAAA;AAED,MAAM,SAAS,GAA+B;IAC5C,KAAK,EAAE,MAAM,CAAC,SAAS;IACvB,OAAO,EAAE,MAAM,CAAC,WAAW;CAC5B,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAC9B,CACE,EACE,SAAS,EAAE,SAAS,GAAG,QAAQ,EAC/B,SAAS,EACT,aAAa,EACb,OAAO,GAAG,SAAS,EACnB,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,GAAG,GAAG,UAAU,EAChB,MAAM,EACN,IAAI,GAAG,QAAQ,EACf,OAAO,EACP,OAAO,GAAG,WAAW,EACrB,KAAK,GAAG,SAAS,EACjB,IAAI,GAAG,SAAS,EAChB,OAAO,EACP,MAAM,EACN,QAAQ,GAAG,IAAI,EACf,SAAS,EACT,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,MAAM,SAAS,GAAG,MAAM,EAAE,CAAA;IAC1B,MAAM,QAAQ,GAAa,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAA;IACrE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACzD,MAAM,uBAAuB,GAAG,OAAO,IAAI,SAAS,IAAI,kBAAkB,IAAI,CAAC,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAA;IAE9G,OAAO,CACL,oBAAC,OAAO,IACN,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,EAC7C,IAAI,EAAE,QAAQ,IAAI,sBAAsB,EACxC,IAAI,EAAE,wBAAwB;QAE9B,oBAAC,SAAS,iBACE,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,MAAM,EACb,YAAY,CAAC,OAAO,CAAC,EACrB,UAAU,CAAC,KAAK,CAAC,EACjB,SAAS,CAAC,IAAI,CAAC,EACf;gBACE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM;gBACvB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO;gBACnC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS;aAC9B,EACD,SAAS,CACV,sBACiB,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAClD,QAAQ,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,OAAO,EAC7B,GAAG,EAAE,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAC7C,MAAM,EAAE,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,EAC9C,IAAI,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAC/C,GAAG,EAAE,GAAuD,KACxD,IAAI;YAER,8BAAM,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC;gBAC5C,OAAO,IAAI,CAAC,uBAAuB,IAAI,oBAAC,MAAM,IAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAI;gBAC7F,QAAQ,IAAI,iBAAiB,IAAI,CAAC,OAAO,IAAI,CAC5C,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,EACd,SAAS,EAAE,iBAAiB,eAClB,kBAAkB,EAC5B,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EAC1D,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,aAAa,GACpB,CACH;gBACA,QAAQ,CAAC,CAAC,CAAC,CACV,oBAAC,aAAa,IAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,IAAI,sBAAsB,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,GAAI,CACpH,CAAC,CAAC,CAAC,CACF,QAAQ,CACT;gBACA,uBAAuB,IAAI,oBAAC,MAAM,IAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,GAAI;gBAClF,CAAC,uBAAuB,IAAI,SAAS,IAAI,kBAAkB,IAAI,CAC9D,oBAAC,IAAI,IACH,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,kBAAkB,eACnB,mBAAmB,EAC7B,kBAAkB,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAC5D,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,cAAc,GACrB,CACH,CACI,CACG,CACJ,CACX,CAAA;AACH,CAAC,CACF,CAAA;AAED,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA"}
@@ -47,6 +47,12 @@
47
47
  --button-padding-x: 16px;
48
48
  }
49
49
 
50
+ .fullWidth.fullWidth {
51
+ display: flex;
52
+ width: 100%;
53
+ max-width: 100%;
54
+ }
55
+
50
56
  .button:hover,
51
57
  .button.hover {
52
58
  background: var(--button-bg-hover);
@@ -4,7 +4,7 @@ import { useUID } from 'react-uid';
4
4
  import classNames from 'classnames';
5
5
  import { Error, errorId } from './Error';
6
6
  import { Help, helpTooltipId } from './Help';
7
- import styles from './Checkbox.module.scss';
7
+ import styles from './Checkbox.module.css';
8
8
  import { TruncatedText } from './TruncatedText';
9
9
  /**
10
10
  * ### Purpose
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../src/components/Checkbox.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../src/components/Checkbox.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ .wrapper {
2
+ --checkbox-size: calc(var(--hive-grid) * 4);
3
+ --checkbox-radius: calc(var(--hive-grid) * 1);
4
+ --checkbox-padding: 1px;
5
+ --checkbox-transition-duration: 120ms;
6
+ --checkbox-shadow: 0 1px 2px oklch(0 0 0 / 0.05);
7
+ --checkbox-shadow-checked: 0 1px 1px oklch(0 0 0 / 0.05);
8
+
9
+ display: flex;
10
+ flex-direction: row;
11
+ align-items: center;
12
+ gap: calc(var(--hive-grid) * 2);
13
+ cursor: pointer;
14
+ box-sizing: border-box;
15
+ color: var(--hive-color-text-v4);
16
+ font-family: var(--hive-font-family-text);
17
+ font-size: var(--hive-font-size-body-small);
18
+ font-weight: var(--hive-font-weight-text-regular);
19
+ line-height: var(--hive-line-height-body-small);
20
+ }
21
+
22
+ .wrapper * {
23
+ box-sizing: border-box;
24
+ }
25
+
26
+ .wrapper input {
27
+ position: absolute;
28
+ width: 1px;
29
+ height: 1px;
30
+ padding: 0;
31
+ margin: -1px;
32
+ overflow: hidden;
33
+ clip: rect(0, 0, 0, 0);
34
+ white-space: nowrap;
35
+ border: 0;
36
+ }
37
+
38
+ .wrapper .checkmark {
39
+ order: -1;
40
+ flex-shrink: 0;
41
+ width: var(--checkbox-size);
42
+ height: var(--checkbox-size);
43
+ padding: var(--checkbox-padding);
44
+ border: var(--hive-border-width) solid var(--hive-color-border-v4);
45
+ border-radius: var(--checkbox-radius);
46
+ background-color: var(--hive-color-neutral-white-v4);
47
+ color: var(--hive-color-neutral-white-v4);
48
+ box-shadow: var(--checkbox-shadow);
49
+ transition:
50
+ background-color var(--checkbox-transition-duration) ease,
51
+ border-color var(--checkbox-transition-duration) ease,
52
+ box-shadow var(--checkbox-transition-duration) ease;
53
+ }
54
+
55
+ .wrapper > input:checked ~ .checkmark,
56
+ .wrapper.indeterminate > input ~ .checkmark {
57
+ background-color: var(--hive-color-primary-v4);
58
+ border-color: var(--hive-color-primary-v4);
59
+ box-shadow: var(--checkbox-shadow-checked);
60
+ }
61
+
62
+ .wrapper:hover > input:not(:disabled) ~ .checkmark,
63
+ .wrapper.hover > input:not(:disabled) ~ .checkmark {
64
+ border-color: var(--hive-color-primary-v4);
65
+ }
66
+
67
+ .wrapper.error > input ~ .checkmark {
68
+ border-color: var(--hive-color-error-v4);
69
+ }
70
+
71
+ .wrapper > input:focus-visible ~ .checkmark,
72
+ .wrapper.focus > input ~ .checkmark {
73
+ border-color: var(--hive-color-primary-v4);
74
+ box-shadow: 0 0 0 3px oklch(from var(--hive-color-primary-v4) l c h / 0.5);
75
+ }
76
+
77
+ .wrapper.disabled {
78
+ cursor: not-allowed;
79
+ opacity: 0.5;
80
+ }
81
+
82
+ .wrapper .name {
83
+ overflow: hidden;
84
+ }
85
+
86
+ .wrapper .helperText {
87
+ margin-left: calc(var(--hive-grid) * 1);
88
+ }
89
+
90
+ .errorContainer {
91
+ margin-top: calc(var(--hive-grid) * 0.5);
92
+ margin-left: calc(var(--hive-grid) * 6);
93
+ }
94
+
95
+ .withError {
96
+ margin-bottom: calc(var(--hive-grid) * 2);
97
+ }
@@ -1,13 +1,23 @@
1
- import { FC, ReactNode } from 'react';
1
+ import { FC, ReactElement, ReactNode, AnchorHTMLAttributes } from 'react';
2
2
  import { Props as ReactModalProps } from 'react-modal';
3
3
  import { DataTestProp } from '../helpers/types';
4
4
  import { ButtonProps, ButtonTypeButtonProps } from './Button';
5
5
  import { IconProps } from './Icon';
6
6
  export declare const setAppElement: (appElement: string | HTMLElement) => void;
7
7
  export type ModalActionProps = ButtonProps<ButtonTypeButtonProps>;
8
+ export type ModalIntent = 'action' | 'confirm' | 'info' | 'danger' | 'success';
9
+ export type ModalHelperLinkProps = {
10
+ label: ReactNode;
11
+ href: string;
12
+ ariaLabel?: string;
13
+ target?: AnchorHTMLAttributes<HTMLAnchorElement>['target'];
14
+ rel?: AnchorHTMLAttributes<HTMLAnchorElement>['rel'];
15
+ };
8
16
  export type ModalProps = {
9
17
  actions?: ModalActionProps[];
10
18
  hideActions?: boolean;
19
+ hideHeader?: boolean;
20
+ hideFooter?: boolean;
11
21
  autoFocus?: boolean;
12
22
  children?: ReactNode;
13
23
  closable?: boolean;
@@ -18,9 +28,16 @@ export type ModalProps = {
18
28
  footerClassName?: string;
19
29
  overlayClassName?: string;
20
30
  className?: string;
31
+ cancelLabel?: string | ReactElement;
21
32
  icon?: IconProps['icon'];
22
33
  iconAriaLabel?: IconProps['ariaLabel'];
23
34
  onClose: ReactModalProps['onRequestClose'];
24
- title: string;
35
+ title?: string;
36
+ description?: ReactNode;
37
+ eyebrow?: ReactNode;
38
+ intent?: ModalIntent;
39
+ helperLink?: ModalHelperLinkProps;
40
+ header?: ReactNode;
41
+ footer?: ReactNode;
25
42
  } & DataTestProp & Exclude<ReactModalProps, 'onRequestClose' | 'shouldFocusAfterRender' | 'shouldReturnFocusAfterClose'>;
26
43
  export declare const Modal: FC<ModalProps>;
@@ -1,41 +1,72 @@
1
1
  import React, { useMemo } from 'react';
2
2
  import ReactModal from 'react-modal';
3
3
  import cn from 'classnames';
4
- import { X } from 'react-feather';
4
+ import { X, ExternalLink } from 'react-feather';
5
5
  import { Button } from './Button';
6
6
  import { Icon } from './Icon';
7
- import { IconButton } from './IconButton';
8
- import styles from './Modal.module.scss';
7
+ import styles from './Modal.module.css';
9
8
  // Direct re-exporting is breaking tests in MC
10
9
  // TODO: Investigate why
11
10
  export const setAppElement = (appElement) => ReactModal.setAppElement(appElement);
11
+ const intentClass = {
12
+ action: undefined,
13
+ confirm: styles.intentConfirm,
14
+ info: styles.intentInfo,
15
+ danger: styles.intentDanger,
16
+ success: styles.intentSuccess,
17
+ };
18
+ const intentActionColor = {
19
+ action: 'primary',
20
+ confirm: 'warning',
21
+ info: 'primary',
22
+ danger: 'danger',
23
+ success: 'primary',
24
+ };
12
25
  /*
13
26
  * ### Purpose
14
- * Occasionally there's a user-story that's not a part of the main user flow. Such action can be contained in a Modal.
15
- * Modals can contain components like forms, menus, tables etc.
16
- * Usually modals are used to drive a complex action. In case there is a simple action (e.g. confirmation), consider using a Dialog.
27
+ * Modal surfaces a focused, secondary user-story on top of the current page. Use it for
28
+ * confirmations, short forms, or any flow that should pause the underlying page.
17
29
  *
18
30
  * ### General Info
19
- * - Modal always contains a title, icon "X" in the header, content and active buttons in the footer.
20
- * - No interactions on the underlying page can be performed while a Modal.
21
- * - Content beneath the modal is covered by a "blanket".
22
- * - To close the Modal, use "Cancel" button in the footer, "X" button in the header, press "Esc" key or click anywhere on the "blanket".
31
+ * - Three optional sections `header`, body (`children`) and `footer` are independently
32
+ * customizable. Omit a section (or pass `hideHeader` / `hideFooter`) to remove it entirely.
33
+ * - The default header renders structured `title`, `eyebrow`, `description` and `icon` props.
34
+ * Pass a `header` ReactNode to fully replace the header section (the close button is preserved).
35
+ * - The default footer renders `actions` plus an optional `helperLink`. Pass a `footer`
36
+ * ReactNode to fully replace it, or `hideActions` / no `helperLink` to drop pieces.
37
+ * - Underlying page is blocked by an overlay; click overlay or press Esc to close (when `closable`).
23
38
  */
24
- export const Modal = ({ 'data-test': dataTest = 'modal', actions, hideActions = false, autoFocus = true, children, className, closable = true, showCloseButton = true, bodyClassName, headerClassName, contentClassName, footerClassName, icon, iconAriaLabel, onClose, overlayClassName, title, ...rest }) => {
39
+ export const Modal = ({ 'data-test': dataTest = 'modal', actions, hideActions = false, hideHeader = false, hideFooter = false, autoFocus = true, children, className, closable = true, showCloseButton = true, bodyClassName, headerClassName, contentClassName, footerClassName, icon, iconAriaLabel, onClose, overlayClassName, cancelLabel = 'Cancel', title, description, eyebrow, intent = 'action', helperLink, header, footer, ...rest }) => {
40
+ var _a, _b;
25
41
  const shouldAutoFocusCancelButton = useMemo(() => autoFocus && !(actions === null || actions === void 0 ? void 0 : actions.some((action) => action === null || action === void 0 ? void 0 : action.autoFocus)), [autoFocus, actions]);
26
- return (React.createElement(ReactModal, { portalClassName: styles.portal, className: cn(styles.modal, className), contentLabel: title, onRequestClose: onClose, overlayClassName: cn(styles.overlay, overlayClassName), shouldCloseOnEsc: closable, shouldCloseOnOverlayClick: closable, shouldFocusAfterRender: false, shouldReturnFocusAfterClose: true, ...rest },
27
- React.createElement("div", { className: styles.outline }),
28
- React.createElement("div", { className: cn(styles.body, bodyClassName) },
29
- React.createElement("div", { "data-test": "modal-header", className: cn(styles.header, headerClassName) },
30
- icon && iconAriaLabel && React.createElement(Icon, { "data-test": "modal-header-icon", className: styles.icon, icon: icon, ariaLabel: iconAriaLabel }),
31
- React.createElement("h3", { "data-test": "modal-header-title", className: styles.title }, title),
32
- closable && showCloseButton && (
33
- // Note: Mostly a Dialog use-case. We want it to be closable, but we don't want to show an X button in the corner.
34
- React.createElement("div", { className: styles.close },
35
- React.createElement(IconButton, { "data-test": `${dataTest}-button-close`, variant: "ghost", ariaLabel: "Close icon", icon: X, onClick: onClose })))),
36
- React.createElement("div", { "data-test": "modal-content", className: cn(styles.content, contentClassName) }, children),
37
- !hideActions && (React.createElement("div", { "data-test": "modal-footer", className: cn(styles.footer, footerClassName) }, actions === null || actions === void 0 ? void 0 :
38
- actions.map(({ children, ...actionPropsRest }, key) => (React.createElement(Button, { key: key, "data-test": "modal-button-action", ...actionPropsRest }, children))),
39
- React.createElement(Button, { autoFocus: shouldAutoFocusCancelButton, "data-test": "modal-button-cancel", variant: "outlined", color: "secondary", onClick: onClose }, "Cancel"))))));
42
+ const hasIcon = !!(icon && iconAriaLabel);
43
+ const hasBody = children !== undefined && children !== null && children !== false;
44
+ const hasStructuredHeader = !!(title || eyebrow || description || hasIcon);
45
+ const hasCustomHeader = header !== undefined && header !== null && header !== false;
46
+ const renderHeader = !hideHeader && (hasCustomHeader || hasStructuredHeader);
47
+ const hasCustomFooter = footer !== undefined && footer !== null && footer !== false;
48
+ const hasStructuredFooter = !hideActions || !!helperLink;
49
+ const renderFooter = !hideFooter && (hasCustomFooter || hasStructuredFooter);
50
+ const renderClose = closable && showCloseButton;
51
+ return (React.createElement(ReactModal, { portalClassName: styles.portal, className: cn(styles.modal, intent !== 'action' && intentClass[intent], className), contentLabel: title, onRequestClose: onClose, overlayClassName: cn(styles.overlay, overlayClassName), shouldCloseOnEsc: closable, shouldCloseOnOverlayClick: closable, shouldFocusAfterRender: false, shouldReturnFocusAfterClose: true, ...rest },
52
+ renderClose && (React.createElement("button", { type: "button", "data-test": `${dataTest}-button-close`, className: styles.close, "aria-label": "Close icon", onClick: (e) => onClose === null || onClose === void 0 ? void 0 : onClose(e) },
53
+ React.createElement(X, { size: 16, "aria-hidden": true }))),
54
+ renderHeader &&
55
+ (hasCustomHeader ? (React.createElement("div", { "data-test": "modal-header", className: headerClassName }, header)) : (React.createElement("div", { "data-test": "modal-header", className: cn(styles.header, headerClassName) },
56
+ React.createElement("div", { className: styles.headerRow },
57
+ hasIcon && (React.createElement("div", { className: styles.iconBox },
58
+ React.createElement(Icon, { "data-test": "modal-header-icon", icon: icon, ariaLabel: iconAriaLabel }))),
59
+ React.createElement("div", { className: styles.headerText },
60
+ eyebrow && (React.createElement("p", { "data-test": "modal-header-eyebrow", className: styles.eyebrow }, eyebrow)),
61
+ title && (React.createElement("h3", { "data-test": "modal-header-title", className: styles.title }, title)),
62
+ description && (React.createElement("p", { "data-test": "modal-header-description", className: styles.description }, description))))))),
63
+ hasBody && (React.createElement("div", { "data-test": "modal-content", className: cn(styles.body, bodyClassName, contentClassName) }, children)),
64
+ renderFooter && (React.createElement("div", { "data-test": "modal-footer", className: cn(styles.footer, footerClassName) }, hasCustomFooter ? (footer) : (React.createElement(React.Fragment, null,
65
+ helperLink && (React.createElement("a", { "data-test": "modal-helper-link", className: styles.helperLink, href: helperLink.href, target: (_a = helperLink.target) !== null && _a !== void 0 ? _a : '_blank', rel: (_b = helperLink.rel) !== null && _b !== void 0 ? _b : 'noopener noreferrer', "aria-label": helperLink.ariaLabel },
66
+ helperLink.label,
67
+ React.createElement(ExternalLink, { size: 12, "aria-hidden": true }))),
68
+ !hideActions && (React.createElement("div", { className: styles.footerActions },
69
+ React.createElement(Button, { autoFocus: shouldAutoFocusCancelButton, "data-test": "modal-button-cancel", variant: "ghost", color: "secondary", size: "small", onClick: (e) => onClose === null || onClose === void 0 ? void 0 : onClose(e) }, cancelLabel), actions === null || actions === void 0 ? void 0 :
70
+ actions.map(({ children: actionChildren, size = 'small', color, ...actionPropsRest }, key) => (React.createElement(Button, { key: key, "data-test": "modal-button-action", size: size, color: color !== null && color !== void 0 ? color : intentActionColor[intent], ...actionPropsRest }, actionChildren)))))))))));
40
71
  };
41
72
  //# sourceMappingURL=Modal.js.map