@jobber/components 2.86.0 → 2.86.2

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 (269) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/Autocomplete/Autocomplete.d.ts +47 -47
  3. package/dist/Autocomplete/Menu.d.ts +9 -9
  4. package/dist/Autocomplete/Option.d.ts +15 -15
  5. package/dist/Autocomplete/index.d.ts +2 -2
  6. package/dist/Autocomplete/index.js +215 -211
  7. package/dist/Avatar/Avatar.d.ts +37 -37
  8. package/dist/Avatar/index.d.ts +1 -1
  9. package/dist/Avatar/index.js +7 -74
  10. package/dist/Avatar/utilities.d.ts +1 -1
  11. package/dist/Avatar-cfd04e86.js +82 -0
  12. package/dist/Banner/Banner.d.ts +19 -19
  13. package/dist/Banner/index.d.ts +1 -1
  14. package/dist/Banner/index.js +67 -65
  15. package/dist/Button/Button.d.ts +64 -64
  16. package/dist/Button/index.d.ts +1 -1
  17. package/dist/Button/index.js +9 -53
  18. package/dist/Button-5b2f1636.js +60 -0
  19. package/dist/ButtonDismiss/ButtonDismiss.d.ts +7 -7
  20. package/dist/ButtonDismiss/index.d.ts +1 -1
  21. package/dist/ButtonDismiss/index.js +10 -15
  22. package/dist/ButtonDismiss-4cde8f7c.js +15 -0
  23. package/dist/Card/Card.d.ts +31 -31
  24. package/dist/Card/CardClickable.d.ts +12 -12
  25. package/dist/Card/index.d.ts +1 -1
  26. package/dist/Card/index.js +7 -61
  27. package/dist/Card-368e01a3.js +68 -0
  28. package/dist/Checkbox/Checkbox.d.ts +52 -52
  29. package/dist/Checkbox/index.d.ts +1 -1
  30. package/dist/Checkbox/index.js +34 -32
  31. package/dist/Chips/Chip.d.ts +8 -8
  32. package/dist/Chips/ChipDismissible.d.ts +7 -7
  33. package/dist/Chips/ChipTypes.d.ts +59 -59
  34. package/dist/Chips/Chips.d.ts +2 -2
  35. package/dist/Chips/ChipsTypes.d.ts +82 -82
  36. package/dist/Chips/InternalChip.d.ts +2 -2
  37. package/dist/Chips/InternalChipAffix.d.ts +10 -10
  38. package/dist/Chips/InternalChipButton.d.ts +10 -10
  39. package/dist/Chips/InternalChipDismissible/InternalChipDismissible.d.ts +2 -2
  40. package/dist/Chips/InternalChipDismissible/InternalChipDismissibleInput.d.ts +2 -2
  41. package/dist/Chips/InternalChipDismissible/InternalChipDismissibleTypes.d.ts +13 -13
  42. package/dist/Chips/InternalChipDismissible/hooks/index.d.ts +5 -5
  43. package/dist/Chips/InternalChipDismissible/hooks/useInView.d.ts +5 -5
  44. package/dist/Chips/InternalChipDismissible/hooks/useInternalChipDismissible.d.ts +15 -15
  45. package/dist/Chips/InternalChipDismissible/hooks/useInternalChipDismissibleInput.d.ts +28 -28
  46. package/dist/Chips/InternalChipDismissible/hooks/useRepositionMenu.d.ts +16 -16
  47. package/dist/Chips/InternalChipDismissible/hooks/useScrollToActive.d.ts +2 -2
  48. package/dist/Chips/InternalChipDismissible/index.d.ts +1 -1
  49. package/dist/Chips/InternalChipMultiSelect.d.ts +4 -4
  50. package/dist/Chips/InternalChipSingleSelect.d.ts +4 -4
  51. package/dist/Chips/index.d.ts +3 -3
  52. package/dist/Chips/index.js +493 -491
  53. package/dist/Chips/utils/mdxUtils.d.ts +9 -9
  54. package/dist/ConfirmationModal/ConfirmationModal.d.ts +62 -62
  55. package/dist/ConfirmationModal/index.d.ts +1 -1
  56. package/dist/ConfirmationModal/index.js +20 -109
  57. package/dist/ConfirmationModal-b7ef110f.js +103 -0
  58. package/dist/Content/Content.d.ts +13 -13
  59. package/dist/Content/index.d.ts +1 -1
  60. package/dist/Content/index.js +5 -19
  61. package/dist/Content-18de5fbb.js +26 -0
  62. package/dist/Countdown/Countdown.d.ts +31 -31
  63. package/dist/Countdown/computeTimeUnit.d.ts +3 -3
  64. package/dist/Countdown/index.d.ts +1 -1
  65. package/dist/Countdown/index.js +63 -61
  66. package/dist/DataDump/DataDump.d.ts +20 -20
  67. package/dist/DataDump/index.d.ts +1 -1
  68. package/dist/DataDump/index.js +18 -17
  69. package/dist/DatePicker/DatePicker.d.ts +50 -50
  70. package/dist/DatePicker/DatePickerActivator.d.ts +12 -12
  71. package/dist/DatePicker/DatePickerCustomHeader.d.ts +2 -2
  72. package/dist/DatePicker/index.d.ts +1 -1
  73. package/dist/DatePicker/index.js +13 -97
  74. package/dist/DatePicker/useFocusOnSelectedDate.d.ts +5 -5
  75. package/dist/DatePicker-ad6f8630.js +103 -0
  76. package/dist/DescriptionList/DescriptionList.d.ts +10 -10
  77. package/dist/DescriptionList/index.d.ts +1 -1
  78. package/dist/DescriptionList/index.js +16 -15
  79. package/dist/Disclosure/Disclosure.d.ts +20 -20
  80. package/dist/Disclosure/index.d.ts +1 -1
  81. package/dist/Disclosure/index.js +32 -31
  82. package/dist/Divider/Divider.d.ts +16 -16
  83. package/dist/Divider/index.d.ts +1 -1
  84. package/dist/Divider/index.js +19 -17
  85. package/dist/Drawer/Drawer.d.ts +13 -13
  86. package/dist/Drawer/DrawerGrid.d.ts +6 -6
  87. package/dist/Drawer/index.d.ts +2 -2
  88. package/dist/Drawer/index.js +39 -37
  89. package/dist/Emphasis/Emphasis.d.ts +11 -11
  90. package/dist/Emphasis/index.d.ts +1 -1
  91. package/dist/Emphasis/index.js +7 -17
  92. package/dist/Emphasis-fd845639.js +21 -0
  93. package/dist/FeatureSwitch/FeatureSwitch.d.ts +51 -51
  94. package/dist/FeatureSwitch/index.d.ts +1 -1
  95. package/dist/FeatureSwitch/index.js +57 -55
  96. package/dist/Form/Form.d.ts +18 -18
  97. package/dist/Form/index.d.ts +1 -1
  98. package/dist/Form/index.js +58 -57
  99. package/dist/FormField/FormField.d.ts +2 -2
  100. package/dist/FormField/FormFieldAffix.d.ts +13 -13
  101. package/dist/FormField/FormFieldDescription.d.ts +6 -6
  102. package/dist/FormField/FormFieldPostFix.d.ts +5 -5
  103. package/dist/FormField/FormFieldTypes.d.ts +160 -160
  104. package/dist/FormField/FormFieldWrapper.d.ts +9 -9
  105. package/dist/FormField/index.d.ts +2 -2
  106. package/dist/FormField/index.js +15 -208
  107. package/dist/FormField-a92c7bac.js +213 -0
  108. package/dist/FormatDate/FormatDate.d.ts +12 -12
  109. package/dist/FormatDate/index.d.ts +1 -1
  110. package/dist/FormatDate/index.js +24 -23
  111. package/dist/FormatEmail/FormatEmail.d.ts +8 -8
  112. package/dist/FormatEmail/index.d.ts +1 -1
  113. package/dist/FormatEmail/index.js +12 -10
  114. package/dist/FormatFile/FormatFile.d.ts +30 -30
  115. package/dist/FormatFile/FormatFileDeleteButton.d.ts +6 -6
  116. package/dist/FormatFile/InternalThumbnail.d.ts +9 -9
  117. package/dist/FormatFile/index.d.ts +1 -1
  118. package/dist/FormatFile/index.js +21 -112
  119. package/dist/FormatFile-5391d4cf.js +112 -0
  120. package/dist/FormatRelativeDateTime/FormatRelativeDateTime.d.ts +11 -11
  121. package/dist/FormatRelativeDateTime/index.d.ts +1 -1
  122. package/dist/FormatRelativeDateTime/index.js +64 -63
  123. package/dist/FormatTime/FormatTime.d.ts +15 -15
  124. package/dist/FormatTime/index.d.ts +1 -1
  125. package/dist/FormatTime/index.js +28 -27
  126. package/dist/Gallery/Gallery.d.ts +2 -2
  127. package/dist/Gallery/GalleryTypes.d.ts +31 -31
  128. package/dist/Gallery/index.d.ts +1 -1
  129. package/dist/Gallery/index.js +82 -80
  130. package/dist/Heading/Heading.d.ts +14 -14
  131. package/dist/Heading/index.d.ts +1 -1
  132. package/dist/Heading/index.js +7 -53
  133. package/dist/Heading-56750113.js +57 -0
  134. package/dist/Icon/Icon.d.ts +22 -22
  135. package/dist/Icon/index.d.ts +1 -1
  136. package/dist/Icon/index.js +4 -35
  137. package/dist/Icon-d5ad1a6d.js +41 -0
  138. package/dist/InlineLabel/InlineLabel.d.ts +17 -17
  139. package/dist/InlineLabel/index.d.ts +1 -1
  140. package/dist/InlineLabel/index.js +20 -18
  141. package/dist/InputAvatar/InputAvatar.d.ts +22 -22
  142. package/dist/InputAvatar/index.d.ts +1 -1
  143. package/dist/InputAvatar/index.js +57 -56
  144. package/dist/InputDate/InputDate.d.ts +19 -19
  145. package/dist/InputDate/index.d.ts +1 -1
  146. package/dist/InputDate/index.js +34 -33
  147. package/dist/InputEmail/InputEmail.d.ts +5 -5
  148. package/dist/InputEmail/index.d.ts +1 -1
  149. package/dist/InputEmail/index.js +29 -28
  150. package/dist/InputFile/InputFile.d.ts +121 -121
  151. package/dist/InputFile/index.d.ts +1 -1
  152. package/dist/InputFile/index.js +15 -168
  153. package/dist/InputFile-b5cf90c3.js +174 -0
  154. package/dist/InputGroup/InputGroup.d.ts +11 -11
  155. package/dist/InputGroup/index.d.ts +1 -1
  156. package/dist/InputGroup/index.js +24 -22
  157. package/dist/InputNumber/InputNumber.d.ts +11 -11
  158. package/dist/InputNumber/index.d.ts +1 -1
  159. package/dist/InputNumber/index.js +52 -51
  160. package/dist/InputPassword/InputPassword.d.ts +12 -12
  161. package/dist/InputPassword/index.d.ts +1 -1
  162. package/dist/InputPassword/index.js +28 -27
  163. package/dist/InputText/InputText.d.ts +29 -29
  164. package/dist/InputText/index.d.ts +1 -1
  165. package/dist/InputText/index.js +15 -95
  166. package/dist/InputText-cb3be15c.js +91 -0
  167. package/dist/InputTime/InputTime.d.ts +2 -2
  168. package/dist/InputTime/InputTimeProps.d.ts +18 -18
  169. package/dist/InputTime/InputTimeSafari.d.ts +2 -2
  170. package/dist/InputTime/civilTimeConversions.d.ts +3 -3
  171. package/dist/InputTime/index.d.ts +1 -1
  172. package/dist/InputTime/index.js +402 -257
  173. package/dist/InputValidation/InputValidation.d.ts +8 -8
  174. package/dist/InputValidation/index.d.ts +1 -1
  175. package/dist/InputValidation/index.js +8 -24
  176. package/dist/InputValidation-24d3621a.js +28 -0
  177. package/dist/LightBox/LightBox.d.ts +37 -37
  178. package/dist/LightBox/index.d.ts +1 -1
  179. package/dist/LightBox/index.js +6 -34
  180. package/dist/LightBox-b893b656.js +42 -0
  181. package/dist/List/List.d.ts +11 -11
  182. package/dist/List/ListItem.d.ts +54 -54
  183. package/dist/List/index.d.ts +1 -1
  184. package/dist/List/index.js +76 -74
  185. package/dist/Markdown/Markdown.d.ts +17 -17
  186. package/dist/Markdown/index.d.ts +1 -1
  187. package/dist/Markdown/index.js +12 -64
  188. package/dist/Markdown-69986c49.js +68 -0
  189. package/dist/Menu/Menu.d.ts +46 -46
  190. package/dist/Menu/index.d.ts +1 -1
  191. package/dist/Menu/index.js +13 -128
  192. package/dist/Menu-6a392af6.js +134 -0
  193. package/dist/Modal/Modal.d.ts +22 -22
  194. package/dist/Modal/index.d.ts +1 -1
  195. package/dist/Modal/index.js +14 -127
  196. package/dist/Modal/useFocusTrap.d.ts +10 -10
  197. package/dist/Modal-aaaaf2df.js +132 -0
  198. package/dist/Page/Page.d.ts +59 -59
  199. package/dist/Page/index.d.ts +1 -1
  200. package/dist/Page/index.js +63 -61
  201. package/dist/Popover/Popover.d.ts +26 -26
  202. package/dist/Popover/index.d.ts +1 -1
  203. package/dist/Popover/index.js +49 -48
  204. package/dist/ProgressBar/ProgressBar.d.ts +18 -18
  205. package/dist/ProgressBar/index.d.ts +1 -1
  206. package/dist/ProgressBar/index.js +5 -22
  207. package/dist/ProgressBar-e9a49129.js +29 -0
  208. package/dist/RadioGroup/RadioGroup.d.ts +27 -27
  209. package/dist/RadioGroup/RadioOption.d.ts +34 -34
  210. package/dist/RadioGroup/index.d.ts +2 -2
  211. package/dist/RadioGroup/index.js +38 -37
  212. package/dist/RecurringSelect/CurrentRecurrenceComponent.d.ts +8 -8
  213. package/dist/RecurringSelect/RecurringSelect.d.ts +8 -8
  214. package/dist/RecurringSelect/components/DayOfMonthSelect.d.ts +8 -8
  215. package/dist/RecurringSelect/components/MonthlyDayOfWeekSelect.d.ts +8 -8
  216. package/dist/RecurringSelect/components/MonthlySelect.d.ts +8 -8
  217. package/dist/RecurringSelect/components/WeeklySelect.d.ts +8 -8
  218. package/dist/RecurringSelect/components/index.d.ts +4 -4
  219. package/dist/RecurringSelect/index.d.ts +2 -2
  220. package/dist/RecurringSelect/types.d.ts +65 -65
  221. package/dist/Select/Option.d.ts +17 -17
  222. package/dist/Select/Select.d.ts +10 -10
  223. package/dist/Select/index.d.ts +2 -2
  224. package/dist/Select/index.js +20 -19
  225. package/dist/Spinner/Spinner.d.ts +15 -15
  226. package/dist/Spinner/index.d.ts +1 -1
  227. package/dist/Spinner/index.js +5 -19
  228. package/dist/Spinner-18d3dee6.js +26 -0
  229. package/dist/StatusLabel/StatusLabel.d.ts +25 -25
  230. package/dist/StatusLabel/index.d.ts +1 -1
  231. package/dist/StatusLabel/index.js +21 -19
  232. package/dist/Switch/Switch.d.ts +14 -14
  233. package/dist/Switch/index.d.ts +1 -1
  234. package/dist/Switch/index.js +7 -53
  235. package/dist/Switch-d2bec677.js +60 -0
  236. package/dist/Table/Body.d.ts +6 -6
  237. package/dist/Table/Cells/Cell.d.ts +7 -7
  238. package/dist/Table/Cells/CellCurrency.d.ts +8 -8
  239. package/dist/Table/Cells/CellNumeric.d.ts +4 -4
  240. package/dist/Table/Footer.d.ts +6 -6
  241. package/dist/Table/Header.d.ts +6 -6
  242. package/dist/Table/Row.d.ts +6 -6
  243. package/dist/Table/Table.d.ts +6 -6
  244. package/dist/Table/index.d.ts +8 -8
  245. package/dist/Table/index.js +41 -39
  246. package/dist/Tabs/Tabs.d.ts +19 -19
  247. package/dist/Tabs/index.d.ts +1 -1
  248. package/dist/Tabs/index.js +69 -67
  249. package/dist/Text/Text.d.ts +9 -9
  250. package/dist/Text/index.d.ts +1 -1
  251. package/dist/Text/index.js +7 -29
  252. package/dist/Text-9bc093e9.js +32 -0
  253. package/dist/Toast/Toast.d.ts +17 -17
  254. package/dist/Toast/index.d.ts +1 -1
  255. package/dist/Toast/index.js +93 -93
  256. package/dist/Toast/showToast.d.ts +2 -2
  257. package/dist/Tooltip/Tooltip.d.ts +10 -10
  258. package/dist/Tooltip/index.d.ts +1 -1
  259. package/dist/Tooltip/index.js +11 -110
  260. package/dist/Tooltip/useTooltipPositioning.d.ts +18 -18
  261. package/dist/Tooltip-4396164d.js +116 -0
  262. package/dist/Typography/Typography.d.ts +38 -38
  263. package/dist/Typography/index.d.ts +1 -1
  264. package/dist/Typography/index.js +6 -57
  265. package/dist/Typography-7e542a72.js +64 -0
  266. package/dist/{chunk-17e02351.js → style-inject.es-dcee06b6.js} +0 -0
  267. package/dist/{chunk-b67af3cb.js → tslib.es6-5b50eb8e.js} +0 -0
  268. package/package.json +6 -8
  269. package/rollup.config.js +28 -3
@@ -2,108 +2,108 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
-
7
- var __chunk_1 = require('../chunk-b67af3cb.js');
5
+ var tslib_es6 = require('../tslib.es6-5b50eb8e.js');
8
6
  var React = require('react');
9
- var React__default = _interopDefault(React);
10
- var __chunk_2 = require('../chunk-17e02351.js');
11
- require('classnames');
12
- var index = require('../Typography/index.js');
7
+ var ReactDOM = require('react-dom');
8
+ var framerMotion = require('framer-motion');
9
+ var styleInject_es = require('../style-inject.es-dcee06b6.js');
10
+ var Icon = require('../Icon-d5ad1a6d.js');
11
+ var Button = require('../Button-5b2f1636.js');
12
+ var Typography = require('../Typography-7e542a72.js');
13
13
  require('@jobber/design');
14
- var index$2 = require('../Icon/index.js');
14
+ require('classnames');
15
15
  require('react-router-dom');
16
- var index$5 = require('../Button/index.js');
17
- var framerMotion = require('framer-motion');
18
- var ReactDOM = require('react-dom');
19
- var ReactDOM__default = _interopDefault(ReactDOM);
16
+
17
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
+
19
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
20
 
21
21
  var css = "._1jL4uuxcwlNL5YnUj_ua2g {\n position: relative;\n z-index: var(--elevation-toast);\n}\n\n._1OJBJo55SADOx1bC1JQBfB {\n display: -ms-flexbox;\n display: flex;\n position: fixed;\n right: 0;\n bottom: var(--space-large);\n left: 0;\n z-index: var(--elevation-toast);\n width: 100%;\n box-sizing: border-box;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-align: center;\n align-items: center;\n padding: 0 var(--space-large);\n color: var(--color-text--reverse);\n font-size: var(--typography--fontSize-large);\n pointer-events: none;\n}\n\n._3M3dXN6cHdqE_9yCnTwXuA {\n box-shadow: var(--shadow-high);\n overflow: hidden;\n pointer-events: all;\n}\n\n._3M3dXN6cHdqE_9yCnTwXuA + ._3M3dXN6cHdqE_9yCnTwXuA {\n margin-top: var(--space-base);\n}\n\n._2JTk_JuoYf4H1PIiFTxwK {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: calc(var(--space-small) / 1.25) var(--space-base);\n border-radius: var(--radius-base);\n background: var(--color-surface--reverse);\n}\n\n._3kimXYOdDlyI9bxgiFJMgZ {\n margin-right: var(--space-base);\n}\n\n._1izxhu6XCPAQla9emS_Wn_ {\n margin-left: var(--space-base);\n}\n\n.FMxl_EoRhLki7i_UOLCT4 {\n margin-left: var(--space-small);\n}\n";
22
22
  var styles = {"wrapper":"_1jL4uuxcwlNL5YnUj_ua2g","container":"_1OJBJo55SADOx1bC1JQBfB","toast":"_3M3dXN6cHdqE_9yCnTwXuA","slice":"_2JTk_JuoYf4H1PIiFTxwK","icon":"_3kimXYOdDlyI9bxgiFJMgZ","button":"_1izxhu6XCPAQla9emS_Wn_","action":"FMxl_EoRhLki7i_UOLCT4"};
23
- __chunk_2.styleInject(css);
23
+ styleInject_es.styleInject(css);
24
24
 
25
- function Toast(_a) {
26
- var message = _a.message, _b = _a.variation, variation = _b === void 0 ? "success" : _b, action = _a.action, actionLabel = _a.actionLabel;
27
- var _c = __chunk_1.__read(React.useState(true), 2), visible = _c[0], setVisible = _c[1];
28
- var icon = getIcon();
29
- var timer;
30
- React.useEffect(function () { return startTimer(); }, []);
31
- return (React__default.createElement(framerMotion.AnimatePresence, null, visible && (React__default.createElement(framerMotion.motion.div, { className: styles.toast, initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, onMouseEnter: function () { return stopTimer(); }, onMouseLeave: function () { return startTimer(); }, exit: {
32
- opacity: 0,
33
- scale: 0.8,
34
- height: 0,
35
- transition: { duration: 0.4 },
36
- } },
37
- React__default.createElement("div", { className: styles.slice },
38
- React__default.createElement("div", { className: styles.icon },
39
- React__default.createElement(index$2.Icon, { color: icon.color, name: icon.name })),
40
- React__default.createElement(index.Typography, { element: "span", size: "large" }, message),
41
- action && (React__default.createElement(index$5.Button, { label: "" + actionLabel, onClick: action, type: "tertiary" })),
42
- React__default.createElement("div", { className: styles.button },
43
- React__default.createElement(index$5.Button, { icon: "remove", ariaLabel: "Hide Notification", onClick: handleToastClose, type: "tertiary", variation: "subtle" })))))));
44
- function startTimer() {
45
- timer = setTimeout(function () { return handleToastClose(); }, getTimeout());
46
- }
47
- function stopTimer() {
48
- clearTimeout(timer);
49
- }
50
- function handleToastClose() {
51
- setVisible(false);
52
- }
53
- function getTimeout() {
54
- var min = 5000;
55
- var max = 10000;
56
- var time = message.length * 200;
57
- if (time < min)
58
- return min;
59
- if (time > max)
60
- return max;
61
- return time;
62
- }
63
- function getIcon() {
64
- switch (variation) {
65
- case "info":
66
- return { name: "knot", color: "lightBlue" };
67
- case "error":
68
- return { name: "alert", color: "red" };
69
- default:
70
- return { name: "checkmark", color: "green" };
71
- }
72
- }
25
+ function Toast(_a) {
26
+ var message = _a.message, _b = _a.variation, variation = _b === void 0 ? "success" : _b, action = _a.action, actionLabel = _a.actionLabel;
27
+ var _c = tslib_es6.__read(React.useState(true), 2), visible = _c[0], setVisible = _c[1];
28
+ var icon = getIcon();
29
+ var timer;
30
+ React.useEffect(function () { return startTimer(); }, []);
31
+ return (React__default["default"].createElement(framerMotion.AnimatePresence, null, visible && (React__default["default"].createElement(framerMotion.motion.div, { className: styles.toast, initial: { opacity: 0, scale: 0.8 }, animate: { opacity: 1, scale: 1 }, onMouseEnter: function () { return stopTimer(); }, onMouseLeave: function () { return startTimer(); }, exit: {
32
+ opacity: 0,
33
+ scale: 0.8,
34
+ height: 0,
35
+ transition: { duration: 0.4 },
36
+ } },
37
+ React__default["default"].createElement("div", { className: styles.slice },
38
+ React__default["default"].createElement("div", { className: styles.icon },
39
+ React__default["default"].createElement(Icon.Icon, { color: icon.color, name: icon.name })),
40
+ React__default["default"].createElement(Typography.Typography, { element: "span", size: "large" }, message),
41
+ action && (React__default["default"].createElement(Button.Button, { label: "" + actionLabel, onClick: action, type: "tertiary" })),
42
+ React__default["default"].createElement("div", { className: styles.button },
43
+ React__default["default"].createElement(Button.Button, { icon: "remove", ariaLabel: "Hide Notification", onClick: handleToastClose, type: "tertiary", variation: "subtle" })))))));
44
+ function startTimer() {
45
+ timer = setTimeout(function () { return handleToastClose(); }, getTimeout());
46
+ }
47
+ function stopTimer() {
48
+ clearTimeout(timer);
49
+ }
50
+ function handleToastClose() {
51
+ setVisible(false);
52
+ }
53
+ function getTimeout() {
54
+ var min = 5000;
55
+ var max = 10000;
56
+ var time = message.length * 200;
57
+ if (time < min)
58
+ return min;
59
+ if (time > max)
60
+ return max;
61
+ return time;
62
+ }
63
+ function getIcon() {
64
+ switch (variation) {
65
+ case "info":
66
+ return { name: "knot", color: "lightBlue" };
67
+ case "error":
68
+ return { name: "alert", color: "red" };
69
+ default:
70
+ return { name: "checkmark", color: "green" };
71
+ }
72
+ }
73
73
  }
74
74
 
75
- function showToast(props) {
76
- createDocumentToast(props);
77
- }
78
- function createDocumentToast(props) {
79
- var targetId = "atlantis-toast-element";
80
- var target = document.querySelector("#" + targetId);
81
- if (!target) {
82
- target = document.createElement("div");
83
- target.id = targetId;
84
- target.classList.add(styles.wrapper);
85
- document.body.appendChild(target);
86
- }
87
- ReactDOM.render(React__default.createElement(ToasterOven, __chunk_1.__assign({}, props)), target);
88
- }
89
- var ToastContainer = React.forwardRef(ToastInternal);
90
- function ToasterOven(props) {
91
- var toastRef = React.useRef();
92
- React.useEffect(function () { return toastRef.current.add(props); });
93
- return React__default.createElement(ToastContainer, { ref: toastRef });
94
- }
95
- function ToastInternal(_, ref) {
96
- var _a = __chunk_1.__read(React.useState(0), 2), toastKey = _a[0], setToastKey = _a[1];
97
- var _b = __chunk_1.__read(React.useState([]), 2), toasts = _b[0], setToasts = _b[1];
98
- React.useImperativeHandle(ref, function () { return ({
99
- add: function (props) {
100
- setToastKey(toastKey + 1);
101
- setToasts(__chunk_1.__spread([
102
- __chunk_1.__assign(__chunk_1.__assign({}, props), { id: toastKey })
103
- ], toasts));
104
- },
105
- }); });
106
- return (React__default.createElement("div", { className: styles.container }, toasts.map(function (toast) { return (React__default.createElement(Toast, __chunk_1.__assign({}, toast, { key: toast.id }))); })));
75
+ function showToast(props) {
76
+ createDocumentToast(props);
77
+ }
78
+ function createDocumentToast(props) {
79
+ var targetId = "atlantis-toast-element";
80
+ var target = document.querySelector("#" + targetId);
81
+ if (!target) {
82
+ target = document.createElement("div");
83
+ target.id = targetId;
84
+ target.classList.add(styles.wrapper);
85
+ document.body.appendChild(target);
86
+ }
87
+ ReactDOM.render(React__default["default"].createElement(ToasterOven, tslib_es6.__assign({}, props)), target);
88
+ }
89
+ var ToastContainer = React.forwardRef(ToastInternal);
90
+ function ToasterOven(props) {
91
+ var toastRef = React.useRef();
92
+ React.useEffect(function () { return toastRef.current.add(props); });
93
+ return React__default["default"].createElement(ToastContainer, { ref: toastRef });
94
+ }
95
+ function ToastInternal(_, ref) {
96
+ var _a = tslib_es6.__read(React.useState(0), 2), toastKey = _a[0], setToastKey = _a[1];
97
+ var _b = tslib_es6.__read(React.useState([]), 2), toasts = _b[0], setToasts = _b[1];
98
+ React.useImperativeHandle(ref, function () { return ({
99
+ add: function (props) {
100
+ setToastKey(toastKey + 1);
101
+ setToasts(tslib_es6.__spread([
102
+ tslib_es6.__assign(tslib_es6.__assign({}, props), { id: toastKey })
103
+ ], toasts));
104
+ },
105
+ }); });
106
+ return (React__default["default"].createElement("div", { className: styles.container }, toasts.map(function (toast) { return (React__default["default"].createElement(Toast, tslib_es6.__assign({}, toast, { key: toast.id }))); })));
107
107
  }
108
108
 
109
109
  exports.showToast = showToast;
@@ -1,2 +1,2 @@
1
- import { ToastProps } from "./Toast";
2
- export declare function showToast(props: ToastProps): void;
1
+ import { ToastProps } from "./Toast";
2
+ export declare function showToast(props: ToastProps): void;
@@ -1,10 +1,10 @@
1
- import { ReactElement } from "react";
2
- interface TooltipProps {
3
- readonly children: ReactElement;
4
- /**
5
- * Tooltip text
6
- */
7
- readonly message: string;
8
- }
9
- export declare function Tooltip({ message, children }: TooltipProps): JSX.Element;
10
- export {};
1
+ import { ReactElement } from "react";
2
+ interface TooltipProps {
3
+ readonly children: ReactElement;
4
+ /**
5
+ * Tooltip text
6
+ */
7
+ readonly message: string;
8
+ }
9
+ export declare function Tooltip({ message, children }: TooltipProps): JSX.Element;
10
+ export {};
@@ -1 +1 @@
1
- export { Tooltip } from "./Tooltip";
1
+ export { Tooltip } from "./Tooltip";
@@ -2,116 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
5
+ var Tooltip = require('../Tooltip-4396164d.js');
6
+ require('../tslib.es6-5b50eb8e.js');
7
+ require('react');
8
+ require('classnames');
9
+ require('react-dom');
10
+ require('framer-motion');
11
+ require('../style-inject.es-dcee06b6.js');
12
+ require('react-popper');
13
+ require('../Text-9bc093e9.js');
14
+ require('../Typography-7e542a72.js');
6
15
 
7
- var __chunk_1 = require('../chunk-b67af3cb.js');
8
- var React = require('react');
9
- var React__default = _interopDefault(React);
10
- var __chunk_2 = require('../chunk-17e02351.js');
11
- var classnames = _interopDefault(require('classnames'));
12
- require('../Typography/index.js');
13
- var index$1 = require('../Text/index.js');
14
- var framerMotion = require('framer-motion');
15
- var ReactDOM = require('react-dom');
16
- var ReactDOM__default = _interopDefault(ReactDOM);
17
- var reactPopper = require('react-popper');
18
16
 
19
- var css = ":root {\n --tooltip--arrow-size: var(--space-small);\n --tooltip--offset: calc(-1 * calc(var(--space-smaller) + 1px));\n}\n\n._2IKuYsqwWWH9A-WgJDR61q {\n display: none;\n}\n\n._2fkHxHwiJK9AkUMCIPucCJ {\n display: inline-block;\n position: absolute;\n z-index: var(--elevation-tooltip);\n}\n\n._2YpF1qO7J5ncFlfoW0hA1L {\n display: inline-block;\n position: relative;\n max-width: calc(var(--base-unit) * 15);\n padding: var(--space-small);\n border: var(--border-base) solid var(--color-informative);\n border-radius: var(--radius-base);\n background-color: var(--color-informative--surface);\n}\n\n._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd,\n._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd::after {\n width: var(--space-small);\n width: var(--space-small);\n width: var(--tooltip--arrow-size);\n height: var(--space-small);\n height: var(--space-small);\n height: var(--tooltip--arrow-size);\n background-color: inherit;\n}\n\n._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd::after {\n content: \"\";\n display: block;\n position: absolute;\n border: var(--border-base) solid var(--color-informative);\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n._3VkJmaX3T1x98A59lZbEa5 {\n padding-bottom: var(--space-small);\n}\n\n._3VkJmaX3T1x98A59lZbEa5 ._2YpF1qO7J5ncFlfoW0hA1L {\n -webkit-transform-origin: bottom center;\n transform-origin: bottom center;\n}\n\n._3VkJmaX3T1x98A59lZbEa5 ._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd {\n bottom: calc(-1 * calc(var(--space-smaller) + 1px));\n bottom: calc(-1 * calc(var(--space-smaller) + 1px));\n bottom: var(--tooltip--offset);\n}\n\n._3VkJmaX3T1x98A59lZbEa5 ._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd::after {\n border-top-width: 0;\n border-left-width: 0;\n}\n\n.QtIXawS3dVhY8j2NKSZLY {\n padding-top: var(--space-small);\n}\n\n.QtIXawS3dVhY8j2NKSZLY ._2YpF1qO7J5ncFlfoW0hA1L {\n -webkit-transform-origin: top center;\n transform-origin: top center;\n}\n\n.QtIXawS3dVhY8j2NKSZLY ._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd {\n top: calc(-1 * calc(var(--space-smaller) + 1px));\n top: calc(-1 * calc(var(--space-smaller) + 1px));\n top: var(--tooltip--offset);\n}\n\n.QtIXawS3dVhY8j2NKSZLY ._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd::after {\n border-bottom-width: 0;\n border-right-width: 0;\n}\n";
20
- var styles = {"shadowActivator":"_2IKuYsqwWWH9A-WgJDR61q","tooltipWrapper":"_2fkHxHwiJK9AkUMCIPucCJ","tooltip":"_2YpF1qO7J5ncFlfoW0hA1L","arrow":"_3DjyKsZFiUA0QD18ABsimd","above":"_3VkJmaX3T1x98A59lZbEa5","below":"QtIXawS3dVhY8j2NKSZLY"};
21
- __chunk_2.styleInject(css);
22
17
 
23
- function useTooltipPositioning() {
24
- var _a, _b;
25
- var shadowRef = React.useRef(null);
26
- var _c = __chunk_1.__read(React.useState(), 2), positionElement = _c[0], setTooltipRef = _c[1];
27
- var _d = __chunk_1.__read(React.useState(), 2), arrowElement = _d[0], setArrowRef = _d[1];
28
- var popper = reactPopper.usePopper((_a = shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling, positionElement, {
29
- placement: "top",
30
- modifiers: [
31
- { name: "flip", options: { fallbackPlacements: ["bottom"] } },
32
- {
33
- name: "arrow",
34
- options: { element: arrowElement },
35
- },
36
- ],
37
- });
38
- return __chunk_1.__assign(__chunk_1.__assign({}, popper), { placement: (_b = popper.state) === null || _b === void 0 ? void 0 : _b.placement, shadowRef: shadowRef,
39
- setArrowRef: setArrowRef,
40
- setTooltipRef: setTooltipRef });
41
- }
42
-
43
- var variation = {
44
- startOrStop: { scale: 0.6, opacity: 0 },
45
- done: { scale: 1, opacity: 1 },
46
- };
47
- function Tooltip(_a) {
48
- var message = _a.message, children = _a.children;
49
- var _b = __chunk_1.__read(React.useState(false), 2), show = _b[0], setShow = _b[1];
50
- var _c = useTooltipPositioning(), attributes = _c.attributes, placement = _c.placement, shadowRef = _c.shadowRef, popperStyles = _c.styles, setArrowRef = _c.setArrowRef, setTooltipRef = _c.setTooltipRef;
51
- initializeListeners();
52
- var toolTipClassNames = classnames(styles.tooltipWrapper, placement === "bottom" && styles.below, placement === "top" && styles.above);
53
- return (React__default.createElement(React__default.Fragment, null,
54
- React__default.createElement("span", { className: styles.shadowActivator, ref: shadowRef }),
55
- children,
56
- React__default.createElement(TooltipPortal, null, show && (React__default.createElement("div", __chunk_1.__assign({ className: toolTipClassNames, style: popperStyles.popper, ref: setTooltipRef, role: "tooltip" }, attributes.popper),
57
- React__default.createElement(framerMotion.motion.div, { className: styles.tooltip, variants: variation, initial: "startOrStop", animate: "done", exit: "startOrStop", transition: {
58
- type: "spring",
59
- damping: 20,
60
- stiffness: 300,
61
- } },
62
- React__default.createElement(index$1.Text, null, message),
63
- React__default.createElement("div", { ref: setArrowRef, style: popperStyles.arrow, className: styles.arrow })))))));
64
- function initializeListeners() {
65
- var showTooltip = function () {
66
- setShow(true);
67
- };
68
- var hideTooltip = function () {
69
- setShow(false);
70
- };
71
- var injectAttributes = function () {
72
- var _a;
73
- if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
74
- var activator = shadowRef.current.nextElementSibling;
75
- // Manually inject "aria-description" and "tabindex" to let the screen
76
- // readers read the tooltip message.
77
- // This is to avoid having to add those attribute as a prop on every
78
- // component we have.
79
- activator.setAttribute("aria-description", message);
80
- activator.setAttribute("tabindex", "0"); // enable focus
81
- }
82
- };
83
- var addListeners = function () {
84
- var _a;
85
- if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
86
- var activator = shadowRef.current.nextElementSibling;
87
- activator.addEventListener("mouseenter", showTooltip);
88
- activator.addEventListener("mouseleave", hideTooltip);
89
- activator.addEventListener("focus", showTooltip);
90
- activator.addEventListener("blur", hideTooltip);
91
- }
92
- };
93
- var removeListeners = function () {
94
- var _a;
95
- if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
96
- var activator = shadowRef.current.nextElementSibling;
97
- activator.removeEventListener("mouseenter", showTooltip);
98
- activator.removeEventListener("mouseleave", hideTooltip);
99
- activator.removeEventListener("focus", showTooltip);
100
- activator.removeEventListener("blur", hideTooltip);
101
- }
102
- };
103
- React.useLayoutEffect(function () {
104
- injectAttributes();
105
- addListeners();
106
- return function () {
107
- removeListeners();
108
- };
109
- }, []);
110
- }
111
- }
112
- function TooltipPortal(_a) {
113
- var children = _a.children;
114
- return ReactDOM__default.createPortal(children, document.body);
115
- }
116
-
117
- exports.Tooltip = Tooltip;
18
+ exports.Tooltip = Tooltip.Tooltip;
@@ -1,18 +1,18 @@
1
- /// <reference types="react" />
2
- export declare function useTooltipPositioning(): {
3
- placement: "auto" | "auto-start" | "auto-end" | "top" | "bottom" | "right" | "left" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end" | undefined;
4
- shadowRef: import("react").RefObject<HTMLSpanElement>;
5
- setArrowRef: import("react").Dispatch<import("react").SetStateAction<HTMLDivElement | null | undefined>>;
6
- setTooltipRef: import("react").Dispatch<import("react").SetStateAction<HTMLDivElement | null | undefined>>;
7
- styles: {
8
- [key: string]: import("react").CSSProperties;
9
- };
10
- attributes: {
11
- [key: string]: {
12
- [key: string]: string;
13
- } | undefined;
14
- };
15
- state: import("@popperjs/core").State | null;
16
- update: (() => Promise<Partial<import("@popperjs/core").State>>) | null;
17
- forceUpdate: (() => void) | null;
18
- };
1
+ /// <reference types="react" />
2
+ export declare function useTooltipPositioning(): {
3
+ placement: "top" | "bottom" | "right" | "left" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end" | undefined;
4
+ shadowRef: import("react").RefObject<HTMLSpanElement>;
5
+ setArrowRef: import("react").Dispatch<import("react").SetStateAction<HTMLDivElement | null | undefined>>;
6
+ setTooltipRef: import("react").Dispatch<import("react").SetStateAction<HTMLDivElement | null | undefined>>;
7
+ styles: {
8
+ [key: string]: import("react").CSSProperties;
9
+ };
10
+ attributes: {
11
+ [key: string]: {
12
+ [key: string]: string;
13
+ } | undefined;
14
+ };
15
+ state: import("@popperjs/core").State | null;
16
+ update: (() => Promise<Partial<import("@popperjs/core").State>>) | null;
17
+ forceUpdate: (() => void) | null;
18
+ };
@@ -0,0 +1,116 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('./tslib.es6-5b50eb8e.js');
4
+ var React = require('react');
5
+ var classnames = require('classnames');
6
+ var ReactDOM = require('react-dom');
7
+ var framerMotion = require('framer-motion');
8
+ var styleInject_es = require('./style-inject.es-dcee06b6.js');
9
+ var reactPopper = require('react-popper');
10
+ var Text = require('./Text-9bc093e9.js');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
16
+ var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
17
+
18
+ var css = ":root {\n --tooltip--arrow-size: var(--space-small);\n --tooltip--offset: calc(-1 * calc(var(--space-smaller) + 1px));\n}\n\n._2IKuYsqwWWH9A-WgJDR61q {\n display: none;\n}\n\n._2fkHxHwiJK9AkUMCIPucCJ {\n display: inline-block;\n position: absolute;\n z-index: var(--elevation-tooltip);\n}\n\n._2YpF1qO7J5ncFlfoW0hA1L {\n display: inline-block;\n position: relative;\n max-width: calc(var(--base-unit) * 15);\n padding: var(--space-small);\n border: var(--border-base) solid var(--color-informative);\n border-radius: var(--radius-base);\n background-color: var(--color-informative--surface);\n}\n\n._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd,\n._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd::after {\n width: var(--space-small);\n width: var(--space-small);\n width: var(--tooltip--arrow-size);\n height: var(--space-small);\n height: var(--space-small);\n height: var(--tooltip--arrow-size);\n background-color: inherit;\n}\n\n._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd::after {\n content: \"\";\n display: block;\n position: absolute;\n border: var(--border-base) solid var(--color-informative);\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n\n._3VkJmaX3T1x98A59lZbEa5 {\n padding-bottom: var(--space-small);\n}\n\n._3VkJmaX3T1x98A59lZbEa5 ._2YpF1qO7J5ncFlfoW0hA1L {\n -webkit-transform-origin: bottom center;\n transform-origin: bottom center;\n}\n\n._3VkJmaX3T1x98A59lZbEa5 ._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd {\n bottom: calc(-1 * calc(var(--space-smaller) + 1px));\n bottom: calc(-1 * calc(var(--space-smaller) + 1px));\n bottom: var(--tooltip--offset);\n}\n\n._3VkJmaX3T1x98A59lZbEa5 ._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd::after {\n border-top-width: 0;\n border-left-width: 0;\n}\n\n.QtIXawS3dVhY8j2NKSZLY {\n padding-top: var(--space-small);\n}\n\n.QtIXawS3dVhY8j2NKSZLY ._2YpF1qO7J5ncFlfoW0hA1L {\n -webkit-transform-origin: top center;\n transform-origin: top center;\n}\n\n.QtIXawS3dVhY8j2NKSZLY ._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd {\n top: calc(-1 * calc(var(--space-smaller) + 1px));\n top: calc(-1 * calc(var(--space-smaller) + 1px));\n top: var(--tooltip--offset);\n}\n\n.QtIXawS3dVhY8j2NKSZLY ._2YpF1qO7J5ncFlfoW0hA1L ._3DjyKsZFiUA0QD18ABsimd::after {\n border-bottom-width: 0;\n border-right-width: 0;\n}\n";
19
+ var styles = {"shadowActivator":"_2IKuYsqwWWH9A-WgJDR61q","tooltipWrapper":"_2fkHxHwiJK9AkUMCIPucCJ","tooltip":"_2YpF1qO7J5ncFlfoW0hA1L","arrow":"_3DjyKsZFiUA0QD18ABsimd","above":"_3VkJmaX3T1x98A59lZbEa5","below":"QtIXawS3dVhY8j2NKSZLY"};
20
+ styleInject_es.styleInject(css);
21
+
22
+ function useTooltipPositioning() {
23
+ var _a, _b;
24
+ var shadowRef = React.useRef(null);
25
+ var _c = tslib_es6.__read(React.useState(), 2), positionElement = _c[0], setTooltipRef = _c[1];
26
+ var _d = tslib_es6.__read(React.useState(), 2), arrowElement = _d[0], setArrowRef = _d[1];
27
+ var popper = reactPopper.usePopper((_a = shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling, positionElement, {
28
+ placement: "top",
29
+ modifiers: [
30
+ { name: "flip", options: { fallbackPlacements: ["bottom"] } },
31
+ {
32
+ name: "arrow",
33
+ options: { element: arrowElement },
34
+ },
35
+ ],
36
+ });
37
+ return tslib_es6.__assign(tslib_es6.__assign({}, popper), { placement: (_b = popper.state) === null || _b === void 0 ? void 0 : _b.placement, shadowRef: shadowRef,
38
+ setArrowRef: setArrowRef,
39
+ setTooltipRef: setTooltipRef });
40
+ }
41
+
42
+ var variation = {
43
+ startOrStop: { scale: 0.6, opacity: 0 },
44
+ done: { scale: 1, opacity: 1 },
45
+ };
46
+ function Tooltip(_a) {
47
+ var message = _a.message, children = _a.children;
48
+ var _b = tslib_es6.__read(React.useState(false), 2), show = _b[0], setShow = _b[1];
49
+ var _c = useTooltipPositioning(), attributes = _c.attributes, placement = _c.placement, shadowRef = _c.shadowRef, popperStyles = _c.styles, setArrowRef = _c.setArrowRef, setTooltipRef = _c.setTooltipRef;
50
+ initializeListeners();
51
+ var toolTipClassNames = classnames__default["default"](styles.tooltipWrapper, placement === "bottom" && styles.below, placement === "top" && styles.above);
52
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
53
+ React__default["default"].createElement("span", { className: styles.shadowActivator, ref: shadowRef }),
54
+ children,
55
+ React__default["default"].createElement(TooltipPortal, null, show && (React__default["default"].createElement("div", tslib_es6.__assign({ className: toolTipClassNames, style: popperStyles.popper, ref: setTooltipRef, role: "tooltip" }, attributes.popper),
56
+ React__default["default"].createElement(framerMotion.motion.div, { className: styles.tooltip, variants: variation, initial: "startOrStop", animate: "done", exit: "startOrStop", transition: {
57
+ type: "spring",
58
+ damping: 20,
59
+ stiffness: 300,
60
+ } },
61
+ React__default["default"].createElement(Text.Text, null, message),
62
+ React__default["default"].createElement("div", { ref: setArrowRef, style: popperStyles.arrow, className: styles.arrow })))))));
63
+ function initializeListeners() {
64
+ var showTooltip = function () {
65
+ setShow(true);
66
+ };
67
+ var hideTooltip = function () {
68
+ setShow(false);
69
+ };
70
+ var injectAttributes = function () {
71
+ var _a;
72
+ if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
73
+ var activator = shadowRef.current.nextElementSibling;
74
+ // Manually inject "aria-description" and "tabindex" to let the screen
75
+ // readers read the tooltip message.
76
+ // This is to avoid having to add those attribute as a prop on every
77
+ // component we have.
78
+ activator.setAttribute("aria-description", message);
79
+ activator.setAttribute("tabindex", "0"); // enable focus
80
+ }
81
+ };
82
+ var addListeners = function () {
83
+ var _a;
84
+ if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
85
+ var activator = shadowRef.current.nextElementSibling;
86
+ activator.addEventListener("mouseenter", showTooltip);
87
+ activator.addEventListener("mouseleave", hideTooltip);
88
+ activator.addEventListener("focus", showTooltip);
89
+ activator.addEventListener("blur", hideTooltip);
90
+ }
91
+ };
92
+ var removeListeners = function () {
93
+ var _a;
94
+ if ((_a = shadowRef === null || shadowRef === void 0 ? void 0 : shadowRef.current) === null || _a === void 0 ? void 0 : _a.nextElementSibling) {
95
+ var activator = shadowRef.current.nextElementSibling;
96
+ activator.removeEventListener("mouseenter", showTooltip);
97
+ activator.removeEventListener("mouseleave", hideTooltip);
98
+ activator.removeEventListener("focus", showTooltip);
99
+ activator.removeEventListener("blur", hideTooltip);
100
+ }
101
+ };
102
+ React.useLayoutEffect(function () {
103
+ injectAttributes();
104
+ addListeners();
105
+ return function () {
106
+ removeListeners();
107
+ };
108
+ }, []);
109
+ }
110
+ }
111
+ function TooltipPortal(_a) {
112
+ var children = _a.children;
113
+ return ReactDOM__default["default"].createPortal(children, document.body);
114
+ }
115
+
116
+ exports.Tooltip = Tooltip;
@@ -1,38 +1,38 @@
1
- import { ReactNode } from "react";
2
- import fontSizes from "./css/FontSizes.css";
3
- import fontWeights from "./css/FontWeights.css";
4
- import textCases from "./css/TextCases.css";
5
- import textColors from "./css/TextColors.css";
6
- import emphasis from "./css/Emphasis.css";
7
- import alignment from "./css/TextAlignment.css";
8
- import fontFamilies from "./css/FontFamilies.css";
9
- interface TypographyProps {
10
- readonly id?: string;
11
- /**
12
- * @default "p"
13
- */
14
- readonly element?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "b" | "em" | "dd" | "dt" | "strong" | "span";
15
- readonly size?: keyof typeof fontSizes;
16
- /**
17
- * Aside from changing the font weights, this also changes the font family.
18
- * Source sans for `regular` and `bold`.
19
- * Poppins for `extraBold` and `black`.
20
- * @default "regular"
21
- */
22
- readonly fontWeight?: keyof typeof fontWeights;
23
- readonly textCase?: keyof typeof textCases;
24
- readonly textColor?: keyof typeof textColors;
25
- readonly emphasisType?: keyof typeof emphasis;
26
- /**
27
- * Sets the alignment to start, center, or end.
28
- * In LTR scripts this equates to left, center, or right.
29
- * @default "start"
30
- */
31
- readonly align?: keyof typeof alignment;
32
- readonly fontFamily?: keyof typeof fontFamilies;
33
- readonly children: ReactNode;
34
- numberOfLines?: number;
35
- }
36
- export declare type TypographyOptions = Omit<TypographyProps, "children">;
37
- export declare function Typography({ id, children, element: Tag, size, align, fontWeight, textCase, textColor, emphasisType, numberOfLines, fontFamily, }: TypographyProps): JSX.Element;
38
- export {};
1
+ import { ReactNode } from "react";
2
+ import fontSizes from "./css/FontSizes.css";
3
+ import fontWeights from "./css/FontWeights.css";
4
+ import textCases from "./css/TextCases.css";
5
+ import textColors from "./css/TextColors.css";
6
+ import emphasis from "./css/Emphasis.css";
7
+ import alignment from "./css/TextAlignment.css";
8
+ import fontFamilies from "./css/FontFamilies.css";
9
+ interface TypographyProps {
10
+ readonly id?: string;
11
+ /**
12
+ * @default "p"
13
+ */
14
+ readonly element?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "b" | "em" | "dd" | "dt" | "strong" | "span";
15
+ readonly size?: keyof typeof fontSizes;
16
+ /**
17
+ * Aside from changing the font weights, this also changes the font family.
18
+ * Source sans for `regular` and `bold`.
19
+ * Poppins for `extraBold` and `black`.
20
+ * @default "regular"
21
+ */
22
+ readonly fontWeight?: keyof typeof fontWeights;
23
+ readonly textCase?: keyof typeof textCases;
24
+ readonly textColor?: keyof typeof textColors;
25
+ readonly emphasisType?: keyof typeof emphasis;
26
+ /**
27
+ * Sets the alignment to start, center, or end.
28
+ * In LTR scripts this equates to left, center, or right.
29
+ * @default "start"
30
+ */
31
+ readonly align?: keyof typeof alignment;
32
+ readonly fontFamily?: keyof typeof fontFamilies;
33
+ readonly children: ReactNode;
34
+ numberOfLines?: number;
35
+ }
36
+ export declare type TypographyOptions = Omit<TypographyProps, "children">;
37
+ export declare function Typography({ id, children, element: Tag, size, align, fontWeight, textCase, textColor, emphasisType, numberOfLines, fontFamily, }: TypographyProps): JSX.Element;
38
+ export {};
@@ -1 +1 @@
1
- export * from "./Typography";
1
+ export * from "./Typography";