@hazelcast/ui 1.1.1 → 1.2.0

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 (178) hide show
  1. package/lib/Alert.d.ts +3 -2
  2. package/lib/Alert.js +23 -22
  3. package/lib/Alert.js.map +1 -1
  4. package/lib/Alert.module.scss +14 -6
  5. package/lib/AutocompleteField.d.ts +2 -1
  6. package/lib/AutocompleteField.js +41 -19
  7. package/lib/AutocompleteField.js.map +1 -1
  8. package/lib/AutocompleteField.module.scss +2 -4
  9. package/lib/AutocompleteFieldFormik.d.ts +2 -1
  10. package/lib/AutocompleteFieldFormik.js +11 -5
  11. package/lib/AutocompleteFieldFormik.js.map +1 -1
  12. package/lib/Button.d.ts +80 -13
  13. package/lib/Button.js +39 -12
  14. package/lib/Button.js.map +1 -1
  15. package/lib/Button.module.scss +119 -87
  16. package/lib/Calendar/Calendar.d.ts +1 -1
  17. package/lib/Calendar/Calendar.js +6 -1
  18. package/lib/Calendar/Calendar.js.map +1 -1
  19. package/lib/Calendar/Calendar.module.scss +132 -124
  20. package/lib/Calendar/components/CalendarTime.js +1 -1
  21. package/lib/Calendar/components/CalendarTime.js.map +1 -1
  22. package/lib/Card.d.ts +1 -0
  23. package/lib/Card.js +4 -3
  24. package/lib/Card.js.map +1 -1
  25. package/lib/Card.module.scss +15 -3
  26. package/lib/Checkbox.js +4 -3
  27. package/lib/Checkbox.js.map +1 -1
  28. package/lib/Checkbox.module.scss +15 -6
  29. package/lib/CheckboxFormik.d.ts +2 -1
  30. package/lib/CheckboxFormik.js +9 -4
  31. package/lib/CheckboxFormik.js.map +1 -1
  32. package/lib/CodeEditor.d.ts +3 -2
  33. package/lib/CodeEditor.js +3 -2
  34. package/lib/CodeEditor.js.map +1 -1
  35. package/lib/EmptyState.d.ts +6 -4
  36. package/lib/EmptyState.js +4 -6
  37. package/lib/EmptyState.js.map +1 -1
  38. package/lib/EmptyState.module.scss +0 -1
  39. package/lib/Error.d.ts +1 -0
  40. package/lib/Error.js +2 -1
  41. package/lib/Error.js.map +1 -1
  42. package/lib/FieldHeader.d.ts +20 -0
  43. package/lib/FieldHeader.js +15 -0
  44. package/lib/FieldHeader.js.map +1 -0
  45. package/lib/FieldHeader.module.scss +20 -0
  46. package/lib/Icon.d.ts +2 -2
  47. package/lib/IconButton.d.ts +13 -3
  48. package/lib/IconButton.js +2 -2
  49. package/lib/IconButton.js.map +1 -1
  50. package/lib/InteractiveList.d.ts +2 -1
  51. package/lib/InteractiveList.js.map +1 -1
  52. package/lib/Link.js +2 -3
  53. package/lib/Link.js.map +1 -1
  54. package/lib/Link.module.scss +6 -0
  55. package/lib/Loader.module.scss +3 -1
  56. package/lib/Modal.d.ts +2 -0
  57. package/lib/Modal.js +2 -2
  58. package/lib/Modal.js.map +1 -1
  59. package/lib/NumberField.js +11 -5
  60. package/lib/NumberField.js.map +1 -1
  61. package/lib/NumberFieldFormik.d.ts +2 -1
  62. package/lib/NumberFieldFormik.js +7 -4
  63. package/lib/NumberFieldFormik.js.map +1 -1
  64. package/lib/Overlay.d.ts +2 -1
  65. package/lib/Overlay.js +7 -5
  66. package/lib/Overlay.js.map +1 -1
  67. package/lib/Overlay.module.scss +16 -3
  68. package/lib/Pagination.d.ts +0 -3
  69. package/lib/Pagination.js +10 -13
  70. package/lib/Pagination.js.map +1 -1
  71. package/lib/Pagination.module.scss +2 -1
  72. package/lib/PasswordFieldFormik.d.ts +2 -1
  73. package/lib/PasswordFieldFormik.js +9 -4
  74. package/lib/PasswordFieldFormik.js.map +1 -1
  75. package/lib/Popover.d.ts +1 -0
  76. package/lib/Popover.js +2 -0
  77. package/lib/Popover.js.map +1 -0
  78. package/lib/RadioGroup.js +4 -3
  79. package/lib/RadioGroup.js.map +1 -1
  80. package/lib/RadioGroup.module.scss +2 -4
  81. package/lib/RadioGroupFormik.d.ts +2 -1
  82. package/lib/RadioGroupFormik.js +9 -4
  83. package/lib/RadioGroupFormik.js.map +1 -1
  84. package/lib/SegmentedControl.d.ts +8 -8
  85. package/lib/SegmentedControl.js.map +1 -1
  86. package/lib/SegmentedControl.module.scss +4 -2
  87. package/lib/SegmentedControlFormik.d.ts +4 -4
  88. package/lib/SegmentedControlFormik.js.map +1 -1
  89. package/lib/Select/CheckableSelectField.d.ts +31 -0
  90. package/lib/Select/CheckableSelectField.js +89 -0
  91. package/lib/Select/CheckableSelectField.js.map +1 -0
  92. package/lib/Select/CheckableSelectField.module.scss +79 -0
  93. package/lib/Select/CheckableSelectFieldFormik.d.ts +10 -0
  94. package/lib/Select/CheckableSelectFieldFormik.js +19 -0
  95. package/lib/Select/CheckableSelectFieldFormik.js.map +1 -0
  96. package/lib/Select/MultiSelectField.d.ts +5 -8
  97. package/lib/Select/MultiSelectField.js +11 -9
  98. package/lib/Select/MultiSelectField.js.map +1 -1
  99. package/lib/Select/MultiSelectField.module.scss +8 -0
  100. package/lib/Select/MultiSelectFieldFormik.d.ts +2 -1
  101. package/lib/Select/MultiSelectFieldFormik.js +11 -5
  102. package/lib/Select/MultiSelectFieldFormik.js.map +1 -1
  103. package/lib/Select/SelectField.d.ts +3 -7
  104. package/lib/Select/SelectField.js +8 -8
  105. package/lib/Select/SelectField.js.map +1 -1
  106. package/lib/Select/SelectField.module.scss +4 -4
  107. package/lib/Select/SelectFieldFormik.d.ts +2 -1
  108. package/lib/Select/SelectFieldFormik.js +10 -4
  109. package/lib/Select/SelectFieldFormik.js.map +1 -1
  110. package/lib/Select/index.d.ts +2 -0
  111. package/lib/Select/index.js +2 -0
  112. package/lib/Select/index.js.map +1 -1
  113. package/lib/Slider.d.ts +6 -5
  114. package/lib/Slider.js +35 -17
  115. package/lib/Slider.js.map +1 -1
  116. package/lib/Slider.module.scss +8 -8
  117. package/lib/Table/Cell.module.scss +11 -4
  118. package/lib/Table/EnhancedRenderers.d.ts +0 -7
  119. package/lib/Table/EnhancedRenderers.js +3 -14
  120. package/lib/Table/EnhancedRenderers.js.map +1 -1
  121. package/lib/Table/Header.js +9 -3
  122. package/lib/Table/Header.js.map +1 -1
  123. package/lib/Table/Header.module.scss +26 -35
  124. package/lib/Table/Row.js +2 -3
  125. package/lib/Table/Row.js.map +1 -1
  126. package/lib/Table/Row.module.scss +4 -10
  127. package/lib/Table/Table.d.ts +10 -4
  128. package/lib/Table/Table.js +66 -26
  129. package/lib/Table/Table.js.map +1 -1
  130. package/lib/Table/Table.module.scss +5 -5
  131. package/lib/Tabs/Tab.d.ts +9 -1
  132. package/lib/Tabs/Tab.js +5 -2
  133. package/lib/Tabs/Tab.js.map +1 -1
  134. package/lib/Tabs/Tab.module.scss +4 -0
  135. package/lib/TextArea.d.ts +2 -5
  136. package/lib/TextArea.js +7 -7
  137. package/lib/TextArea.js.map +1 -1
  138. package/lib/TextArea.module.scss +2 -4
  139. package/lib/TextField.d.ts +4 -7
  140. package/lib/TextField.js +9 -8
  141. package/lib/TextField.js.map +1 -1
  142. package/lib/TextField.module.scss +4 -22
  143. package/lib/TextFieldFormik.d.ts +4 -2
  144. package/lib/TextFieldFormik.js +15 -4
  145. package/lib/TextFieldFormik.js.map +1 -1
  146. package/lib/TimeField.d.ts +2 -11
  147. package/lib/TimeField.js +7 -6
  148. package/lib/TimeField.js.map +1 -1
  149. package/lib/TimeField.module.scss +6 -6
  150. package/lib/Toggle.js +4 -3
  151. package/lib/Toggle.js.map +1 -1
  152. package/lib/Toggle.module.scss +15 -14
  153. package/lib/Tooltip.d.ts +7 -1
  154. package/lib/Tooltip.js +38 -23
  155. package/lib/Tooltip.js.map +1 -1
  156. package/lib/Tooltip.module.scss +10 -5
  157. package/lib/TruncatedText.d.ts +1 -1
  158. package/lib/TruncatedText.js +1 -1
  159. package/lib/TruncatedText.js.map +1 -1
  160. package/lib/hooks/index.d.ts +1 -0
  161. package/lib/hooks/index.js +3 -0
  162. package/lib/hooks/index.js.map +1 -0
  163. package/lib/hooks/usePrevious.d.ts +1 -0
  164. package/lib/hooks/usePrevious.js +9 -0
  165. package/lib/hooks/usePrevious.js.map +1 -0
  166. package/lib/hooks/useTableCustomizableColumns.d.ts +9 -0
  167. package/lib/hooks/useTableCustomizableColumns.js +23 -0
  168. package/lib/hooks/useTableCustomizableColumns.js.map +1 -0
  169. package/lib/index.d.ts +2 -0
  170. package/lib/index.js +2 -0
  171. package/lib/index.js.map +1 -1
  172. package/package.json +13 -13
  173. package/styles/constants/_sizes.scss +5 -4
  174. package/styles/constants/_typography.scss +3 -3
  175. package/styles/fonts.css +29 -65
  176. package/styles/helpers/_a11y.scss +4 -0
  177. package/styles/helpers/_error.scss +17 -0
  178. package/styles/helpers/_index.scss +1 -0
package/lib/Tooltip.js CHANGED
@@ -1,7 +1,20 @@
1
- import React, { useCallback, useEffect, useState, useImperativeHandle } from 'react';
1
+ import React, { useCallback, useState, useImperativeHandle, useLayoutEffect } from 'react';
2
+ import ReactDOM from 'react-dom';
2
3
  import { usePopper } from 'react-popper';
4
+ import useEvent from 'react-use/lib/useEvent';
3
5
  import cn from 'classnames';
6
+ import { canUseDOM } from './utils/ssr';
4
7
  import styles from './Tooltip.module.scss';
8
+ const getTooltipPortalContainer = (tooltipContainer, referenceElement) => {
9
+ if (tooltipContainer === 'body') {
10
+ // There is no document is SSR environment
11
+ return canUseDOM ? document.body : null;
12
+ }
13
+ if (tooltipContainer === 'referenceElement') {
14
+ return referenceElement !== null && referenceElement !== void 0 ? referenceElement : null;
15
+ }
16
+ return tooltipContainer;
17
+ };
5
18
  /**
6
19
  * ### Purpose
7
20
  * Useful when you need to display additional information/actionable content.
@@ -12,11 +25,13 @@ import styles from './Tooltip.module.scss';
12
25
  * - Offset (space between a target and tooltip elements) can be also configured via "offset" property.
13
26
  * - If "content" property is undefined, tooltip element will be removed from DOM entirely.
14
27
  * - It's required to set the "id" property which will be assigned to the tooltip. This id parameter can be then used as a value of "aria-labelledby" attribute.
28
+ * - Use `updateToken` prop to update the tooltip position.
29
+ * - Use `tooltipContainer` prop to change the tooltip portal container. Defaults to `body`.
15
30
  *
16
31
  * ### Usage
17
32
  * Wrap the target element with Tooltip component and use the "content" property to define what should be displayed inside the tooltip.
18
33
  */
19
- export const Tooltip = ({ id, content, hideTimeoutDuration = 100, offset = 10, placement = 'top', visible: visibilityOverride, children, popperRef, }) => {
34
+ export const Tooltip = ({ id, content, hideTimeoutDuration = 100, offset = 10, padding = 10, placement = 'top', visible: visibilityOverride, children, popperRef, updateToken, tooltipContainer = 'body', }) => {
20
35
  const [isShown, setShown] = useState(false);
21
36
  const [hideTimeout, setHideTimeout] = useState(null);
22
37
  /*
@@ -33,6 +48,7 @@ export const Tooltip = ({ id, content, hideTimeoutDuration = 100, offset = 10, p
33
48
  name: 'arrow',
34
49
  options: {
35
50
  element: arrowElement,
51
+ padding,
36
52
  },
37
53
  },
38
54
  {
@@ -53,32 +69,31 @@ export const Tooltip = ({ id, content, hideTimeoutDuration = 100, offset = 10, p
53
69
  const onMouseLeave = useCallback(() => {
54
70
  setHideTimeout(setTimeout(() => setShown(false), hideTimeoutDuration));
55
71
  }, [hideTimeoutDuration]);
56
- useEffect(() => {
57
- referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.addEventListener('mouseenter', onMouseEnter);
58
- popperElement === null || popperElement === void 0 ? void 0 : popperElement.addEventListener('mouseenter', onMouseEnter);
59
- return () => {
60
- referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.removeEventListener('mouseenter', onMouseEnter);
61
- popperElement === null || popperElement === void 0 ? void 0 : popperElement.removeEventListener('mouseenter', onMouseEnter);
62
- };
63
- }, [referenceElement, popperElement, onMouseEnter]);
64
- useEffect(() => {
65
- referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.addEventListener('mouseleave', onMouseLeave);
66
- popperElement === null || popperElement === void 0 ? void 0 : popperElement.addEventListener('mouseleave', onMouseLeave);
67
- return () => {
68
- referenceElement === null || referenceElement === void 0 ? void 0 : referenceElement.removeEventListener('mouseleave', onMouseLeave);
69
- popperElement === null || popperElement === void 0 ? void 0 : popperElement.removeEventListener('mouseleave', onMouseLeave);
70
- };
71
- }, [referenceElement, popperElement, onMouseLeave]);
72
+ useEvent('mouseenter', onMouseEnter, referenceElement);
73
+ useEvent('mouseleave', onMouseLeave, referenceElement);
74
+ useEvent('mouseenter', onMouseEnter, popperElement);
75
+ useEvent('mouseleave', onMouseLeave, popperElement);
72
76
  // Makes sure "visible" prop can override local "isShown" state
73
77
  const isTooltipVisible = visibilityOverride !== null && visibilityOverride !== void 0 ? visibilityOverride : isShown;
78
+ // Update the tooltip's position (useful when resizing table columns)
79
+ useLayoutEffect(() => {
80
+ var _a;
81
+ if (content) {
82
+ void ((_a = popper === null || popper === void 0 ? void 0 : popper.update) === null || _a === void 0 ? void 0 : _a.call(popper));
83
+ }
84
+ // eslint-disable-next-line react-hooks/exhaustive-deps
85
+ }, [isTooltipVisible, updateToken]);
86
+ const tooltipPortalContainer = getTooltipPortalContainer(tooltipContainer, referenceElement);
74
87
  return (React.createElement(React.Fragment, null,
75
88
  children(setReferenceElement),
76
89
  content !== undefined && (React.createElement(React.Fragment, null,
77
90
  React.createElement("span", { id: id, className: styles.tooltipSr, role: "tooltip", "data-test": "tooltip-sr" }, content),
78
- React.createElement("span", Object.assign({ ref: setPopperElement, className: cn(styles.overlay, {
79
- [styles.hidden]: !isTooltipVisible,
80
- }), style: popper.styles.popper, "data-test": "tooltip-overlay", "aria-hidden": true }, popper.attributes.popper),
81
- content,
82
- React.createElement("span", Object.assign({ ref: setArrowElement, className: styles.arrow, style: popper.styles.arrow, "data-test": "tooltip-arrow" }, popper.attributes.arrow)))))));
91
+ tooltipPortalContainer &&
92
+ ReactDOM.createPortal(React.createElement(React.Fragment, null,
93
+ React.createElement("span", Object.assign({ ref: setPopperElement, className: cn(styles.overlay, {
94
+ [styles.hidden]: !isTooltipVisible,
95
+ }), style: popper.styles.popper, "data-test": "tooltip-overlay", "aria-hidden": true }, popper.attributes.popper),
96
+ content,
97
+ React.createElement("span", Object.assign({ ref: setArrowElement, className: styles.arrow, style: popper.styles.arrow, "data-test": "tooltip-arrow" }, popper.attributes.arrow)))), tooltipPortalContainer)))));
83
98
  };
84
99
  //# sourceMappingURL=Tooltip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../src/Tooltip.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../src/Tooltip.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ @use "sass:math";
2
+
1
3
  @use '../styles/constants' as c;
2
4
  @use '../styles/helpers' as h;
3
5
 
@@ -5,23 +7,26 @@
5
7
  @include h.visuallyHidden;
6
8
  }
7
9
 
8
- $tooltipArrowSize1-3: c.$tooltipArrowSize / 3;
9
- $tooltipArrowSize2-3: c.$tooltipArrowSize / 3 * 2;
10
+ $tooltipArrowSize1-3: math.div(c.$tooltipArrowSize, 3);
11
+ $tooltipArrowSize2-3: math.div(c.$tooltipArrowSize, 3) * 2;
10
12
 
11
13
  .overlay {
12
14
  @include c.typographyBodySmall;
13
15
 
14
16
  position: relative;
15
17
  max-width: c.$tooltipMaxWidth;
16
- padding: c.$grid * 5;
18
+ padding: c.$grid * 3;
17
19
  background: c.$colorNeutralLighter;
18
20
  border: c.$borderWidth solid c.$colorNeutralLight;
19
21
  border-radius: c.$borderRadius;
20
22
  color: c.$colorText;
21
- z-index: c.$zIndex200;
23
+ z-index: c.$zIndex2000;
22
24
 
23
25
  &.hidden {
24
26
  visibility: hidden;
27
+ // important is needed to override inline style
28
+ top: -99999px !important;
29
+ left: -99999px !important;
25
30
  }
26
31
 
27
32
  > .arrow {
@@ -71,7 +76,7 @@ $tooltipArrowSize2-3: c.$tooltipArrowSize / 3 * 2;
71
76
  border-top: c.$tooltipArrowSize solid transparent;
72
77
  border-bottom: c.$tooltipArrowSize solid transparent;
73
78
  top: 50%;
74
- left: 0%;
79
+ left: 0;
75
80
  margin-top: -(c.$tooltipArrowSize);
76
81
  }
77
82
 
@@ -1,7 +1,7 @@
1
1
  import { FC, ReactText } from 'react';
2
2
  interface TruncatedTextProps {
3
3
  text: ReactText | ((...arg: unknown[]) => string);
4
- forceUpdateToken?: ReactText;
4
+ forceUpdateToken?: ReactText | boolean;
5
5
  className?: string;
6
6
  tooltipVisible?: boolean;
7
7
  }
@@ -17,7 +17,7 @@ export const TruncatedText = ({ text, forceUpdateToken, className, tooltipVisibl
17
17
  // https://codepen.io/triple-j/pen/wadKQB
18
18
  setTooltip(span.offsetWidth < span.scrollWidth ? text : undefined);
19
19
  }, [text, forceUpdateToken]);
20
- return (React.createElement(Tooltip, { id: idTooltip, placement: "top", content: tooltip, visible: tooltipVisible }, (ref) => (React.createElement("div", { ref: mergeRefs([textRef, ref]), className: cn(styles.truncatedText, className) },
20
+ return (React.createElement(Tooltip, { id: idTooltip, placement: "top", content: tooltip, visible: tooltipVisible, updateToken: forceUpdateToken }, (ref) => (React.createElement("div", { ref: mergeRefs([textRef, ref]), className: cn(styles.truncatedText, className) },
21
21
  React.createElement("span", { "aria-labelledby": tooltip ? idTooltip : undefined }, text)))));
22
22
  };
23
23
  //# sourceMappingURL=TruncatedText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TruncatedText.js","sourceRoot":"","sources":["../src/TruncatedText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,MAAM,EAAE,QAAQ,EAAyB,MAAM,OAAO,CAAA;AAC1E,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,yBAAyB,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAUhD,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE;IAC7G,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAA0B,CAAA;IAChE,MAAM,SAAS,GAAG,MAAM,EAAE,CAAA;IAE1B,yBAAyB,CAAC,GAAG,EAAE;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAA;QAE5B,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAM;SACP;QAED,yCAAyC;QACzC,UAAU,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACpE,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAE5B,OAAO,CACL,oBAAC,OAAO,IAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,IAC9E,CAAC,GAAG,EAAE,EAAE,CAAC,CACR,6BAAK,GAAG,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC;QACjF,iDAAuB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAG,IAAI,CAAQ,CACjE,CACP,CACO,CACX,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"TruncatedText.js","sourceRoot":"","sources":["../src/TruncatedText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,MAAM,EAAE,QAAQ,EAAyB,MAAM,OAAO,CAAA;AAC1E,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,yBAAyB,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAUhD,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE;IAC7G,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,EAA0B,CAAA;IAChE,MAAM,SAAS,GAAG,MAAM,EAAE,CAAA;IAE1B,yBAAyB,CAAC,GAAG,EAAE;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAA;QAE5B,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,OAAM;SACP;QAED,yCAAyC;QACzC,UAAU,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACpE,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAA;IAE5B,OAAO,CACL,oBAAC,OAAO,IAAC,EAAE,EAAE,SAAS,EAAE,SAAS,EAAC,KAAK,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,gBAAgB,IAC7G,CAAC,GAAG,EAAE,EAAE,CAAC,CACR,6BAAK,GAAG,EAAE,SAAS,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC;QACjF,iDAAuB,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAG,IAAI,CAAQ,CACjE,CACP,CACO,CACX,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export * from './useTableCustomizableColumns';
@@ -0,0 +1,3 @@
1
+ /* export only hooks for external usage */
2
+ export * from './useTableCustomizableColumns';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,cAAc,+BAA+B,CAAA"}
@@ -0,0 +1 @@
1
+ export declare const usePrevious: <T extends unknown>(value: T) => T;
@@ -0,0 +1,9 @@
1
+ import { useRef, useEffect } from 'react';
2
+ export const usePrevious = (value) => {
3
+ const ref = useRef(value);
4
+ useEffect(() => {
5
+ ref.current = value;
6
+ }, [value]);
7
+ return ref.current;
8
+ };
9
+ //# sourceMappingURL=usePrevious.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePrevious.js","sourceRoot":"","sources":["../../src/hooks/usePrevious.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEzC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAoB,KAAQ,EAAE,EAAE;IACzD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,CAAC,OAAO,GAAG,KAAK,CAAA;IACrB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,OAAO,GAAG,CAAC,OAAO,CAAA;AACpB,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import { CheckableSelectProps } from '../Select';
3
+ export declare function useTableCustomizableColumns<T>(columns: T, opts?: {
4
+ 'data-test'?: string;
5
+ size: CheckableSelectProps<T>['size'];
6
+ }): {
7
+ tableColumns: T;
8
+ control: JSX.Element;
9
+ };
@@ -0,0 +1,23 @@
1
+ import React, { useMemo, useState } from 'react';
2
+ import { CheckableSelectField } from '../Select';
3
+ export function useTableCustomizableColumns(columns, opts) {
4
+ const untypedColumns = columns;
5
+ const { size = 'medium', 'data-test': dataTest = 'table-custom-columns' } = opts || {};
6
+ // Header is used as a label
7
+ const toggleableColumns = useMemo(() => untypedColumns.filter(({ Header }) => !!Header), [untypedColumns]);
8
+ const options = useMemo(() => toggleableColumns.map(({ Header }) => ({
9
+ value: String(Header),
10
+ label: String(Header),
11
+ })), [toggleableColumns]);
12
+ const [value, setValue] = useState(toggleableColumns.map(({ Header }) => String(Header)));
13
+ const valueSet = useMemo(() => new Set(value), [value]);
14
+ const toggleableColumnsSet = useMemo(() => new Set(toggleableColumns.map(({ Header }) => String(Header))), [toggleableColumns]);
15
+ const tableColumns = useMemo(() => {
16
+ return untypedColumns.filter(({ Header }) => (toggleableColumnsSet.has(String(Header)) ? valueSet.has(String(Header)) : true));
17
+ }, [untypedColumns, valueSet, toggleableColumnsSet]);
18
+ return {
19
+ tableColumns: tableColumns,
20
+ control: (React.createElement(CheckableSelectField, { name: "custom-columns", options: options, value: value, "data-test": dataTest, label: "Columns", onChange: setValue, size: size })),
21
+ };
22
+ }
23
+ //# sourceMappingURL=useTableCustomizableColumns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableCustomizableColumns.js","sourceRoot":"","sources":["../../src/hooks/useTableCustomizableColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGhD,OAAO,EAAE,oBAAoB,EAA2C,MAAM,WAAW,CAAA;AAEzF,MAAM,UAAU,2BAA2B,CACzC,OAAU,EACV,IAGC;IAED,MAAM,cAAc,GAAI,OAA2C,CAAA;IACnE,MAAM,EAAE,IAAI,GAAG,QAAQ,EAAE,WAAW,EAAE,QAAQ,GAAG,sBAAsB,EAAE,GAAG,IAAI,IAAI,EAAE,CAAA;IACtF,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;IAC1G,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CACH,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;KACtB,CAAC,CAAC,EACL,CAAC,iBAAiB,CAAC,CACpB,CAAA;IACD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAW,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACnG,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACvD,MAAM,oBAAoB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAC/H,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IAChI,CAAC,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAA;IAEpD,OAAO;QACL,YAAY,EAAG,YAA6B;QAC5C,OAAO,EAAE,CACP,oBAAC,oBAAoB,IACnB,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,eACD,QAAQ,EACnB,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,GACV,CACH;KACF,CAAA;AACH,CAAC"}
package/lib/index.d.ts CHANGED
@@ -29,6 +29,7 @@ export * from './NumberFieldFormik';
29
29
  export * from './Overlay';
30
30
  export * from './PasswordField';
31
31
  export * from './PasswordFieldFormik';
32
+ export * from './Popover';
32
33
  export * from './Radio';
33
34
  export * from './RadioFormik';
34
35
  export * from './RadioGroup';
@@ -51,3 +52,4 @@ export * from './Toggle';
51
52
  export * from './ToggleFormik';
52
53
  export * from './Tooltip';
53
54
  export * from './TruncatedText';
55
+ export * from './hooks';
package/lib/index.js CHANGED
@@ -29,6 +29,7 @@ export * from './NumberFieldFormik';
29
29
  export * from './Overlay';
30
30
  export * from './PasswordField';
31
31
  export * from './PasswordFieldFormik';
32
+ export * from './Popover';
32
33
  export * from './Radio';
33
34
  export * from './RadioFormik';
34
35
  export * from './RadioGroup';
@@ -51,4 +52,5 @@ export * from './Toggle';
51
52
  export * from './ToggleFormik';
52
53
  export * from './Tooltip';
53
54
  export * from './TruncatedText';
55
+ export * from './hooks';
54
56
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hazelcast/ui",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "Hazelcast design system components",
5
5
  "author": "",
6
6
  "homepage": "https://github.com/hazelcast/frontend-shared#readme",
@@ -43,15 +43,15 @@
43
43
  "url": "https://github.com/hazelcast/frontend-shared/issues"
44
44
  },
45
45
  "dependencies": {
46
- "@codemirror/basic-setup": "0.18.0",
47
- "@codemirror/legacy-modes": "0.18.0",
48
- "@codemirror/stream-parser": "0.18.2",
49
- "@codemirror/view": "0.18.8",
50
- "@hazelcast/helpers": "^1.1.1",
51
- "@hazelcast/services": "^1.1.1",
46
+ "@codemirror/basic-setup": "0.19.0",
47
+ "@codemirror/stream-parser": "0.19.2",
48
+ "@codemirror/view": "0.19.9",
49
+ "@hazelcast/helpers": "1.0.1-next.46",
50
+ "@hazelcast/services": "^1.2.0",
52
51
  "@headlessui/react": "^1.2.0",
53
52
  "@icons-pack/react-simple-icons": "^3.13.0",
54
53
  "@popperjs/core": "^2.5.3",
54
+ "@types/react-modal": "3.12.1",
55
55
  "@types/react-select": "3.0.26",
56
56
  "@types/react-table": "^7.0.28",
57
57
  "classnames": "^2.2.6",
@@ -72,10 +72,11 @@
72
72
  "use-deep-compare": "^1.1.0"
73
73
  },
74
74
  "devDependencies": {
75
- "@hazelcast/test-helpers": "^1.1.1",
75
+ "@codemirror/legacy-modes": "0.19.0",
76
+ "@hazelcast/test-helpers": "^1.2.0",
76
77
  "@storybook/addon-docs": "6.1.21",
77
78
  "@storybook/addons": "6.1.21",
78
- "@storybook/preset-scss": "^1.0.2",
79
+ "@storybook/preset-scss": "^1.0.3",
79
80
  "@storybook/react": "6.1.21",
80
81
  "@storybook/theming": "6.1.21",
81
82
  "@types/classnames": "^2.2.10",
@@ -84,7 +85,6 @@
84
85
  "@types/react": "^16.14.4",
85
86
  "@types/react-datepicker": "^3.1.3",
86
87
  "@types/react-dom": "^16.9.11",
87
- "@types/react-modal": "^3.10.6",
88
88
  "doiuse": "^4.2.0",
89
89
  "enzyme": "^3.11.0",
90
90
  "enzyme-adapter-react-16": "^1.15.5",
@@ -92,19 +92,19 @@
92
92
  "postcss": "^8.1.1",
93
93
  "postcss-cli": "^8.1.0",
94
94
  "postcss-reporter": "^7.0.1",
95
- "postcss-scss": "^3.0.2",
95
+ "postcss-scss": "^3.0.5",
96
96
  "react": "^16.14.0",
97
97
  "react-dom": "^16.14.0",
98
98
  "storybook-addon-designs": "5.4.2",
99
99
  "stylelint": "^13.7.2",
100
100
  "stylelint-config-prettier": "^8.0.2",
101
101
  "stylelint-config-standard": "^20.0.0",
102
- "stylelint-scss": "^3.18.0",
102
+ "stylelint-scss": "^3.19.0",
103
103
  "yup": "^0.32.9"
104
104
  },
105
105
  "peerDependencies": {
106
106
  "react": "^16.14.0",
107
107
  "react-dom": "^16.14.0"
108
108
  },
109
- "gitHead": "5a0535dc082f67640534d78d666ccc9e720828b4"
109
+ "gitHead": "46315e51c611ac84d5b786d497c6d03e12a73333"
110
110
  }
@@ -74,13 +74,14 @@ $sliderThumbShadowSize: 1px;
74
74
  $sliderThumbShadowBlur: $grid;
75
75
  $sliderFillBorderSize: 1px;
76
76
 
77
- $emptyStateMaxWidth: 960px !important;
78
77
  $emptyStateButtonMinWidthNormal: 120px !default;
79
78
  $emptyStateButtonMinWidthLarge: 140px !default;
80
79
 
81
80
  $borderRadiusNotification: 3px;
82
81
 
83
82
  // Table column widths
84
- $tableColumnMinWidth: 30;
85
- $tableColumnWidth: 150;
86
- $tableColumnMaxWidth: 200;
83
+ $tableColumnMinWidth: 60;
84
+ $tableColumnWidth: 170;
85
+ $tableColumnMaxWidth: 600;
86
+
87
+ $errorHeight: $grid * 4.75;
@@ -1,12 +1,12 @@
1
- $fontFamilyHeading: 'Ubuntu', sans-serif !default;
1
+ $fontFamilyHeading: 'Roboto', 'Helvetica', 'Arial', sans-serif !default;
2
2
  $fontWeightHeadingLight: 300 !default;
3
3
  $fontWeightHeadingRegular: 400 !default;
4
4
  $fontWeightHeadingBold: 500 !default;
5
5
 
6
- $fontFamilyText: 'Open Sans', sans-serif !default;
6
+ $fontFamilyText: 'Roboto', 'Helvetica', 'Arial', sans-serif !default;
7
7
  $fontWeightTextLight: 300 !default;
8
8
  $fontWeightTextRegular: 400 !default;
9
- $fontWeightTextBold: 600 !default;
9
+ $fontWeightTextBold: 500 !default;
10
10
 
11
11
  // https://www.figma.com/file/8mVm6LTbp2Z0RaWWjTZoft/%F0%9F%90%9DHIVE?node-id=0%3A136
12
12
  $fontSizeH1: 2rem !default;
package/styles/fonts.css CHANGED
@@ -1,77 +1,41 @@
1
- /* Generated with https://google-webfonts-helper.herokuapp.com/fonts */
2
-
3
- /* ubuntu-300 - latin */
1
+ /* roboto-300 - latin */
4
2
  @font-face {
5
- font-family: 'Ubuntu';
3
+ font-family: 'Roboto';
6
4
  font-style: normal;
7
5
  font-weight: 300;
8
- src: url('../assets/ubuntu-v15-latin-300.eot'); /* IE9 Compat Modes */
9
- src: local('Ubuntu Light'), local('Ubuntu-Light'), url('../assets/ubuntu-v15-latin-300.eot?#iefix') format('embedded-opentype'),
10
- /* IE6-IE8 */ url('../assets/ubuntu-v15-latin-300.woff2') format('woff2'),
11
- /* Super Modern Browsers */ url('../assets/ubuntu-v15-latin-300.woff') format('woff'),
12
- /* Modern Browsers */ url('../assets/ubuntu-v15-latin-300.ttf') format('truetype'),
13
- /* Safari, Android, iOS */ url('../assets/ubuntu-v15-latin-300.svg#Ubuntu') format('svg'); /* Legacy iOS */
14
- }
15
- /* ubuntu-regular - latin */
16
- @font-face {
17
- font-family: 'Ubuntu';
18
- font-style: normal;
19
- font-weight: 400;
20
- src: url('../assets/ubuntu-v15-latin-regular.eot'); /* IE9 Compat Modes */
21
- src: local('Ubuntu Regular'), local('Ubuntu-Regular'), url('../assets/ubuntu-v15-latin-regular.eot?#iefix') format('embedded-opentype'),
22
- /* IE6-IE8 */ url('../assets/ubuntu-v15-latin-regular.woff2') format('woff2'),
23
- /* Super Modern Browsers */ url('../assets/ubuntu-v15-latin-regular.woff') format('woff'),
24
- /* Modern Browsers */ url('../assets/ubuntu-v15-latin-regular.ttf') format('truetype'),
25
- /* Safari, Android, iOS */ url('../assets/ubuntu-v15-latin-regular.svg#Ubuntu') format('svg'); /* Legacy iOS */
26
- }
27
- /* ubuntu-500 - latin */
28
- @font-face {
29
- font-family: 'Ubuntu';
30
- font-style: normal;
31
- font-weight: 500;
32
- src: url('../assets/ubuntu-v15-latin-500.eot'); /* IE9 Compat Modes */
33
- src: local('Ubuntu Medium'), local('Ubuntu-Medium'), url('../assets/ubuntu-v15-latin-500.eot?#iefix') format('embedded-opentype'),
34
- /* IE6-IE8 */ url('../assets/ubuntu-v15-latin-500.woff2') format('woff2'),
35
- /* Super Modern Browsers */ url('../assets/ubuntu-v15-latin-500.woff') format('woff'),
36
- /* Modern Browsers */ url('../assets/ubuntu-v15-latin-500.ttf') format('truetype'),
37
- /* Safari, Android, iOS */ url('../assets/ubuntu-v15-latin-500.svg#Ubuntu') format('svg'); /* Legacy iOS */
6
+ src: url('../fonts/roboto-v27-latin-300.eot'); /* IE9 Compat Modes */
7
+ src: local(''),
8
+ url('../fonts/roboto-v27-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
9
+ url('../fonts/roboto-v27-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
10
+ url('../fonts/roboto-v27-latin-300.woff') format('woff'), /* Modern Browsers */
11
+ url('../fonts/roboto-v27-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
12
+ url('../fonts/roboto-v27-latin-300.svg#Roboto') format('svg'); /* Legacy iOS */
38
13
  }
39
14
 
40
- /* open-sans-300 - latin */
15
+ /* roboto-regular - latin */
41
16
  @font-face {
42
- font-family: 'Open Sans';
43
- font-style: normal;
44
- font-weight: 300;
45
- src: url('../assets/open-sans-v18-latin-300.eot'); /* IE9 Compat Modes */
46
- src: local('Open Sans Light'), local('OpenSans-Light'), url('../assets/open-sans-v18-latin-300.eot?#iefix') format('embedded-opentype'),
47
- /* IE6-IE8 */ url('../assets/open-sans-v18-latin-300.woff2') format('woff2'),
48
- /* Super Modern Browsers */ url('../assets/open-sans-v18-latin-300.woff') format('woff'),
49
- /* Modern Browsers */ url('../assets/open-sans-v18-latin-300.ttf') format('truetype'),
50
- /* Safari, Android, iOS */ url('../assets/open-sans-v18-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
51
- }
52
- /* open-sans-regular - latin */
53
- @font-face {
54
- font-family: 'Open Sans';
17
+ font-family: 'Roboto';
55
18
  font-style: normal;
56
19
  font-weight: 400;
57
- src: url('../assets/open-sans-v18-latin-regular.eot'); /* IE9 Compat Modes */
58
- src: local('Open Sans Regular'), local('OpenSans-Regular'),
59
- url('../assets/open-sans-v18-latin-regular.eot?#iefix') format('embedded-opentype'),
60
- /* IE6-IE8 */ url('../assets/open-sans-v18-latin-regular.woff2') format('woff2'),
61
- /* Super Modern Browsers */ url('../assets/open-sans-v18-latin-regular.woff') format('woff'),
62
- /* Modern Browsers */ url('../assets/open-sans-v18-latin-regular.ttf') format('truetype'),
63
- /* Safari, Android, iOS */ url('../assets/open-sans-v18-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
20
+ src: url('../fonts/roboto-v27-latin-regular.eot'); /* IE9 Compat Modes */
21
+ src: local(''),
22
+ url('../fonts/roboto-v27-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
23
+ url('../fonts/roboto-v27-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
24
+ url('../fonts/roboto-v27-latin-regular.woff') format('woff'), /* Modern Browsers */
25
+ url('../fonts/roboto-v27-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
26
+ url('../fonts/roboto-v27-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
64
27
  }
65
- /* open-sans-600 - latin */
28
+
29
+ /* roboto-500 - latin */
66
30
  @font-face {
67
- font-family: 'Open Sans';
31
+ font-family: 'Roboto';
68
32
  font-style: normal;
69
- font-weight: 600;
70
- src: url('../assets/open-sans-v18-latin-600.eot'); /* IE9 Compat Modes */
71
- src: local('Open Sans SemiBold'), local('OpenSans-SemiBold'),
72
- url('../assets/open-sans-v18-latin-600.eot?#iefix') format('embedded-opentype'),
73
- /* IE6-IE8 */ url('../assets/open-sans-v18-latin-600.woff2') format('woff2'),
74
- /* Super Modern Browsers */ url('../assets/open-sans-v18-latin-600.woff') format('woff'),
75
- /* Modern Browsers */ url('../assets/open-sans-v18-latin-600.ttf') format('truetype'),
76
- /* Safari, Android, iOS */ url('../assets/open-sans-v18-latin-600.svg#OpenSans') format('svg'); /* Legacy iOS */
33
+ font-weight: 500;
34
+ src: url('../fonts/roboto-v27-latin-500.eot'); /* IE9 Compat Modes */
35
+ src: local(''),
36
+ url('../fonts/roboto-v27-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
37
+ url('../fonts/roboto-v27-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
38
+ url('../fonts/roboto-v27-latin-500.woff') format('woff'), /* Modern Browsers */
39
+ url('../fonts/roboto-v27-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
40
+ url('../fonts/roboto-v27-latin-500.svg#Roboto') format('svg'); /* Legacy iOS */
77
41
  }
@@ -4,6 +4,10 @@
4
4
  box-shadow: inset 0 0 0 c.$outlineWidth c.$colorAccessibilityOutline;
5
5
  }
6
6
 
7
+ @mixin outlineAround {
8
+ box-shadow: 0 0 0 c.$outlineWidth c.$colorAccessibilityOutline;
9
+ }
10
+
7
11
  @mixin outlineFormField {
8
12
  border-color: c.$colorAccessibilityOutline;
9
13
  // Border is also colored with the a11y color. We need to make the total visible outline width c.$outlineWidth, including the border
@@ -0,0 +1,17 @@
1
+ @use '../constants' as c;
2
+
3
+ @mixin withError {
4
+ .withError {
5
+ position: relative;
6
+ padding-bottom: c.$errorHeight;
7
+
8
+ .errorContainer {
9
+ position: absolute;
10
+ bottom: 0;
11
+ left: 0;
12
+ overflow: hidden;
13
+ height: c.$errorHeight;
14
+ width: 100%;
15
+ }
16
+ }
17
+ }
@@ -1,3 +1,4 @@
1
1
  @forward './a11y';
2
2
  @forward './input';
3
3
  @forward './text';
4
+ @forward './error';