@kaizen/components 1.51.0 → 1.52.1

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 (204) hide show
  1. package/dist/cjs/Button/GenericButton/GenericButton.cjs +89 -82
  2. package/dist/cjs/Button/GenericButton/GenericButton.module.scss.cjs +2 -1
  3. package/dist/cjs/ButtonGroup/ButtonGroup.cjs +4 -4
  4. package/dist/cjs/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.cjs +2 -2
  5. package/dist/cjs/GuidanceBlock/GuidanceBlock.cjs +2 -2
  6. package/dist/cjs/KaizenProvider/KaizenProvider.cjs +1 -1
  7. package/dist/cjs/KaizenProvider/subcomponents/OptionalIntlProvider/OptionalIntlProvider.cjs +11 -2
  8. package/dist/cjs/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.cjs +1 -2
  9. package/dist/cjs/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.cjs +2 -2
  10. package/dist/cjs/Table/Table.cjs +2 -2
  11. package/dist/cjs/Tabs/subcomponents/Tab.cjs +20 -14
  12. package/dist/cjs/__future__/Workflow/subcomponents/Header/Header.cjs +1 -1
  13. package/dist/cjs/__overlays__/Focusable/v3/Focusable.cjs +33 -0
  14. package/dist/cjs/__overlays__/Focusable/v3/Focusable.module.scss.cjs +6 -0
  15. package/dist/cjs/__overlays__/Tooltip/v1/Tooltip.module.scss.cjs +21 -0
  16. package/dist/cjs/__overlays__/Tooltip/v1/index.cjs +8 -0
  17. package/dist/cjs/__overlays__/Tooltip/v3/OverlayArrow.cjs +32 -0
  18. package/dist/cjs/__overlays__/Tooltip/v3/OverlayArrow.module.scss.cjs +7 -0
  19. package/dist/cjs/__overlays__/Tooltip/v3/Tooltip.cjs +59 -0
  20. package/dist/cjs/__overlays__/Tooltip/v3/Tooltip.module.scss.cjs +8 -0
  21. package/dist/cjs/__overlays__/Tooltip/v3/TooltipTrigger.cjs +24 -0
  22. package/dist/cjs/__utilities__/ReversedColors/v3/ReversedColors.cjs +23 -0
  23. package/dist/cjs/index.cjs +2 -2
  24. package/dist/cjs/overlaysV1.cjs +4 -0
  25. package/dist/cjs/overlaysV2.cjs +4 -0
  26. package/dist/cjs/overlaysV3.cjs +15 -0
  27. package/dist/cjs/reactAriaComponentsV3.cjs +11 -0
  28. package/dist/cjs/reactAriaV3.cjs +11 -0
  29. package/dist/cjs/utilitiesV3.cjs +5 -0
  30. package/dist/cjs/utils/mergeClassNames.cjs +33 -0
  31. package/dist/esm/Button/GenericButton/GenericButton.mjs +90 -82
  32. package/dist/esm/Button/GenericButton/GenericButton.module.scss.mjs +2 -1
  33. package/dist/esm/ButtonGroup/ButtonGroup.mjs +1 -1
  34. package/dist/esm/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.mjs +1 -1
  35. package/dist/esm/GuidanceBlock/GuidanceBlock.mjs +1 -1
  36. package/dist/esm/KaizenProvider/KaizenProvider.mjs +1 -1
  37. package/dist/esm/KaizenProvider/subcomponents/OptionalIntlProvider/OptionalIntlProvider.mjs +11 -2
  38. package/dist/esm/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.mjs +1 -2
  39. package/dist/esm/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.mjs +1 -1
  40. package/dist/esm/Table/Table.mjs +1 -1
  41. package/dist/esm/Tabs/subcomponents/Tab.mjs +21 -15
  42. package/dist/esm/__future__/Workflow/subcomponents/Header/Header.mjs +1 -1
  43. package/dist/esm/__overlays__/Focusable/v3/Focusable.mjs +24 -0
  44. package/dist/esm/__overlays__/Focusable/v3/Focusable.module.scss.mjs +4 -0
  45. package/dist/esm/__overlays__/Tooltip/v1/Tooltip.module.scss.mjs +19 -0
  46. package/dist/esm/__overlays__/Tooltip/v1/index.mjs +6 -0
  47. package/dist/esm/__overlays__/Tooltip/v3/OverlayArrow.mjs +24 -0
  48. package/dist/esm/__overlays__/Tooltip/v3/OverlayArrow.module.scss.mjs +5 -0
  49. package/dist/esm/__overlays__/Tooltip/v3/Tooltip.mjs +46 -0
  50. package/dist/esm/__overlays__/Tooltip/v3/Tooltip.module.scss.mjs +6 -0
  51. package/dist/esm/__overlays__/Tooltip/v3/TooltipTrigger.mjs +16 -0
  52. package/dist/esm/__utilities__/ReversedColors/v3/ReversedColors.mjs +14 -0
  53. package/dist/esm/index.mjs +1 -1
  54. package/dist/esm/overlaysV1.mjs +1 -0
  55. package/dist/esm/overlaysV2.mjs +1 -0
  56. package/dist/esm/overlaysV3.mjs +4 -0
  57. package/dist/esm/reactAriaComponentsV3.mjs +1 -0
  58. package/dist/esm/reactAriaV3.mjs +1 -0
  59. package/dist/esm/utilitiesV3.mjs +1 -0
  60. package/dist/esm/utils/mergeClassNames.mjs +25 -0
  61. package/dist/styles.css +18 -15
  62. package/dist/types/Button/GenericButton/GenericButton.d.ts +2 -1
  63. package/dist/types/ButtonGroup/ButtonGroup.d.ts +1 -1
  64. package/dist/types/Container/Container.d.ts +1 -1
  65. package/dist/types/Content/Content.d.ts +1 -1
  66. package/dist/types/DateInput/DateInput/DateInput.d.ts +1 -1
  67. package/dist/types/DatePicker/subcomponents/DateInputField/DateInputField.d.ts +1 -1
  68. package/dist/types/Filter/FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.d.ts +1 -1
  69. package/dist/types/Filter/FilterDatePicker/subcomponents/DateInputField/DateInputField.d.ts +1 -1
  70. package/dist/types/GuidanceBlock/GuidanceBlock.d.ts +1 -1
  71. package/dist/types/KaizenProvider/subcomponents/OptionalIntlProvider/OptionalIntlProvider.d.ts +2 -2
  72. package/dist/types/Notification/subcomponents/GenericNotification/GenericNotification.d.ts +1 -1
  73. package/dist/types/Select/Select.d.ts +3 -3
  74. package/dist/types/__future__/Select/Select.d.ts +2 -2
  75. package/dist/types/__future__/Select/subcomponents/SelectToggle/SelectToggle.d.ts +2 -2
  76. package/dist/types/__overlays__/Focusable/v3/Focusable.d.ts +6 -0
  77. package/dist/types/__overlays__/Focusable/v3/index.d.ts +1 -0
  78. package/dist/types/__overlays__/Tooltip/v1/index.d.ts +8 -0
  79. package/dist/types/{Tooltip → __overlays__/Tooltip/v1}/utils/isSemanticElement.d.ts +2 -2
  80. package/dist/types/__overlays__/Tooltip/v2/index.d.ts +1 -0
  81. package/dist/types/__overlays__/Tooltip/v3/OverlayArrow.d.ts +7 -0
  82. package/dist/types/__overlays__/Tooltip/v3/Tooltip.d.ts +32 -0
  83. package/dist/types/__overlays__/Tooltip/v3/TooltipTrigger.d.ts +19 -0
  84. package/dist/types/__overlays__/Tooltip/v3/index.d.ts +2 -0
  85. package/dist/types/__overlays__/v1.d.ts +1 -0
  86. package/dist/types/__overlays__/v2.d.ts +1 -0
  87. package/dist/types/__overlays__/v3.d.ts +2 -0
  88. package/dist/types/__react-aria-components__/index.d.ts +1 -0
  89. package/dist/types/__react-aria__/index.d.ts +1 -0
  90. package/dist/types/__utilities__/ReversedColors/v3/ReversedColors.d.ts +7 -0
  91. package/dist/types/__utilities__/ReversedColors/v3/index.d.ts +1 -0
  92. package/dist/types/__utilities__/v3.d.ts +1 -0
  93. package/dist/types/index.d.ts +1 -1
  94. package/dist/types/utils/getNodeText.d.ts +1 -2
  95. package/dist/types/utils/mergeClassNames.d.ts +8 -0
  96. package/package.json +6 -1
  97. package/src/Button/Button/Button.module.scss +33 -23
  98. package/src/Button/GenericButton/GenericButton.tsx +135 -91
  99. package/src/Button/utils/_mixins.scss +1 -1
  100. package/src/ButtonGroup/ButtonGroup.tsx +1 -1
  101. package/src/ButtonGroup/_docs/ButtonGroup.stickersheet.stories.tsx +1 -1
  102. package/src/Filter/FilterButton/FilterButtonRemovable/FilterButtonRemovable.tsx +1 -1
  103. package/src/GuidanceBlock/GuidanceBlock.tsx +1 -1
  104. package/src/KaizenProvider/KaizenProvider.tsx +5 -7
  105. package/src/KaizenProvider/subcomponents/OptionalIntlProvider/OptionalIntlProvider.tsx +14 -4
  106. package/src/MultiSelect/subcomponents/MultiSelectToggle/MultiSelectToggle.tsx +1 -1
  107. package/src/Notification/subcomponents/GenericNotification/GenericNotification.tsx +1 -1
  108. package/src/RichTextEditor/RichTextEditor/subcomponents/ToggleIconButton/ToggleIconButton.tsx +1 -1
  109. package/src/Table/Table.tsx +1 -1
  110. package/src/Tabs/_docs/Tabs.stories.tsx +1 -1
  111. package/src/Tabs/subcomponents/Tab.tsx +27 -21
  112. package/src/__future__/Workflow/subcomponents/Header/Header.tsx +1 -1
  113. package/src/__overlays__/Focusable/v3/Focusable.module.scss +3 -0
  114. package/src/__overlays__/Focusable/v3/Focusable.tsx +37 -0
  115. package/src/__overlays__/Focusable/v3/_docs/ApiSpecification.mdx +38 -0
  116. package/src/__overlays__/Focusable/v3/_docs/Focusable.stories.tsx +24 -0
  117. package/src/__overlays__/Focusable/v3/index.ts +1 -0
  118. package/src/{Tooltip → __overlays__/Tooltip/v1}/Tooltip.module.scss +1 -1
  119. package/src/__overlays__/Tooltip/v1/_docs/Tooltip.mdx +139 -0
  120. package/src/{Tooltip → __overlays__/Tooltip/v1}/_docs/Tooltip.stickersheet.stories.tsx +1 -1
  121. package/src/{Tooltip → __overlays__/Tooltip/v1}/_docs/Tooltip.stories.tsx +2 -2
  122. package/src/__overlays__/Tooltip/v1/index.ts +7 -0
  123. package/src/{Tooltip → __overlays__/Tooltip/v2}/_docs/Tooltip.mdx +2 -4
  124. package/src/__overlays__/Tooltip/v2/_docs/Tooltip.stories.tsx +49 -0
  125. package/src/__overlays__/Tooltip/v2/index.ts +1 -0
  126. package/src/__overlays__/Tooltip/v3/OverlayArrow.module.scss +43 -0
  127. package/src/__overlays__/Tooltip/v3/OverlayArrow.tsx +34 -0
  128. package/src/__overlays__/Tooltip/v3/Tooltip.module.scss +67 -0
  129. package/src/__overlays__/Tooltip/v3/Tooltip.tsx +101 -0
  130. package/src/__overlays__/Tooltip/v3/TooltipTrigger.tsx +30 -0
  131. package/src/__overlays__/Tooltip/v3/_docs/ApiSpecification.mdx +163 -0
  132. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.docs.stories.tsx +203 -0
  133. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.mdx +182 -0
  134. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.spec.stories.tsx +219 -0
  135. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.stickersheet.stories.tsx +46 -0
  136. package/src/__overlays__/Tooltip/v3/_docs/Tooltip.stories.tsx +72 -0
  137. package/src/__overlays__/Tooltip/v3/_docs/assets/tooltip_anatomy.png +0 -0
  138. package/src/__overlays__/Tooltip/v3/_docs/assets/tooltip_placement.png +0 -0
  139. package/src/__overlays__/Tooltip/v3/_docs/assets/tooltip_trigger_1.png +0 -0
  140. package/src/__overlays__/Tooltip/v3/_docs/assets/tooltip_trigger_2.png +0 -0
  141. package/src/__overlays__/Tooltip/v3/_docs/assets/tooltip_trigger_3.png +0 -0
  142. package/src/__overlays__/Tooltip/v3/_docs/assets/tooltip_variant.png +0 -0
  143. package/src/__overlays__/Tooltip/v3/_docs/assets/tooltip_when_to_use.png +0 -0
  144. package/src/__overlays__/Tooltip/v3/index.ts +2 -0
  145. package/src/__overlays__/v1.ts +1 -0
  146. package/src/__overlays__/v2.ts +2 -0
  147. package/src/__overlays__/v3.ts +2 -0
  148. package/src/__react-aria-components__/index.ts +1 -0
  149. package/src/__react-aria__/index.ts +1 -0
  150. package/src/__utilities__/ReversedColors/v3/ReversedColors.tsx +20 -0
  151. package/src/__utilities__/ReversedColors/v3/index.ts +1 -0
  152. package/src/__utilities__/v3.ts +1 -0
  153. package/src/index.ts +1 -1
  154. package/src/types/cssVariables.d.ts +7 -0
  155. package/src/utils/mergeClassNames.ts +32 -0
  156. package/v1/overlays/package.json +5 -0
  157. package/v2/overlays/package.json +5 -0
  158. package/v3/overlays/package.json +5 -0
  159. package/v3/react-aria/package.json +5 -0
  160. package/v3/react-aria-components/package.json +5 -0
  161. package/dist/cjs/Tooltip/Tooltip.module.scss.cjs +0 -21
  162. package/dist/esm/Tooltip/Tooltip.module.scss.mjs +0 -19
  163. package/dist/types/AvatarGroup/_docs/example-data.d.ts +0 -8
  164. package/dist/types/BrandMoment/_docs/ExampleHeaders.d.ts +0 -3
  165. package/dist/types/Calendar/_docs/controls/defaultMonthControls.d.ts +0 -2
  166. package/dist/types/Calendar/_docs/controls/weekStartsOnControls.d.ts +0 -2
  167. package/dist/types/DatePicker/_docs/controls/datePickerLocaleControls.d.ts +0 -2
  168. package/dist/types/DatePicker/_docs/controls/disabledDayMatchersControls.d.ts +0 -2
  169. package/dist/types/Filter/FilterBar/context/types.d.ts +0 -28
  170. package/dist/types/Filter/FilterDatePicker/_docs/controls/disabledDaysControls.d.ts +0 -2
  171. package/dist/types/Filter/FilterDatePicker/_docs/controls/validationControls.d.ts +0 -2
  172. package/dist/types/Filter/FilterDateRangePicker/_docs/controls/disabledDaysControls.d.ts +0 -2
  173. package/dist/types/Filter/FilterDateRangePicker/_docs/controls/validationControls.d.ts +0 -2
  174. package/dist/types/Filter/FilterMultiSelect/_docs/MockData.d.ts +0 -10
  175. package/dist/types/Filter/FilterSelect/_docs/mockData.d.ts +0 -6
  176. package/dist/types/Filter/_docs/controls/renderTriggerControls.d.ts +0 -2
  177. package/dist/types/Menu/_docs/MenuContentExample.d.ts +0 -8
  178. package/dist/types/Menu/_docs/examples.d.ts +0 -11
  179. package/dist/types/Modal/_docs/controls.d.ts +0 -11
  180. package/dist/types/MultiSelect/MultiSelect.d.ts +0 -23
  181. package/dist/types/MultiSelect/subcomponents/MultiSelectOptions/MultiSelectOptions.d.ts +0 -13
  182. package/dist/types/Tooltip/index.d.ts +0 -1
  183. package/dist/types/Workflow/_docs/controls/controls.d.ts +0 -2
  184. package/dist/types/Workflow/_docs/controls/index.d.ts +0 -1
  185. package/dist/types/__future__/Select/_docs/mockData.d.ts +0 -6
  186. package/dist/types/__future__/Select/types.d.ts +0 -22
  187. package/dist/types/__future__/Workflow/_docs/controls/controls.d.ts +0 -2
  188. package/dist/types/__future__/Workflow/_docs/controls/index.d.ts +0 -1
  189. package/src/Tooltip/index.ts +0 -1
  190. /package/dist/cjs/{Tooltip → __overlays__/Tooltip/v1}/Tooltip.cjs +0 -0
  191. /package/dist/cjs/{Tooltip → __overlays__/Tooltip/v1}/subcomponents/AppearanceAnim.cjs +0 -0
  192. /package/dist/cjs/{Tooltip → __overlays__/Tooltip/v1}/utils/isSemanticElement.cjs +0 -0
  193. /package/dist/esm/{Tooltip → __overlays__/Tooltip/v1}/Tooltip.mjs +0 -0
  194. /package/dist/esm/{Tooltip → __overlays__/Tooltip/v1}/subcomponents/AppearanceAnim.mjs +0 -0
  195. /package/dist/esm/{Tooltip → __overlays__/Tooltip/v1}/utils/isSemanticElement.mjs +0 -0
  196. /package/dist/types/{Tooltip → __overlays__/Tooltip/v1}/Tooltip.d.ts +0 -0
  197. /package/dist/types/{Tooltip → __overlays__/Tooltip/v1}/subcomponents/AppearanceAnim.d.ts +0 -0
  198. /package/src/{Tooltip → __overlays__/Tooltip/v1}/Tooltip.spec.tsx +0 -0
  199. /package/src/{Tooltip → __overlays__/Tooltip/v1}/Tooltip.tsx +0 -0
  200. /package/src/{Tooltip → __overlays__/Tooltip/v1}/_variables.scss +0 -0
  201. /package/src/{Tooltip → __overlays__/Tooltip/v1}/subcomponents/AppearanceAnim.spec.tsx +0 -0
  202. /package/src/{Tooltip → __overlays__/Tooltip/v1}/subcomponents/AppearanceAnim.tsx +0 -0
  203. /package/src/{Tooltip → __overlays__/Tooltip/v1}/utils/isSemanticElement.spec.tsx +0 -0
  204. /package/src/{Tooltip → __overlays__/Tooltip/v1}/utils/isSemanticElement.tsx +0 -0
@@ -3,6 +3,8 @@
3
3
  var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var classnames = require('classnames');
6
+ var reactAria = require('react-aria');
7
+ var reactAriaComponents = require('react-aria-components');
6
8
  var Badge = require('../../Badge/Badge.cjs');
7
9
  require('../../Loading/LoadingGraphic/LoadingGraphic.cjs');
8
10
  require('../../Loading/LoadingHeading/LoadingHeading.cjs');
@@ -46,6 +48,7 @@ var GenericButton = React.forwardRef(function (_a, ref) {
46
48
  type = _h === void 0 ? "button" : _h,
47
49
  otherProps = tslib.__rest(_a, ["iconPosition", "iconButton", "primary", "secondary", "newTabAndIUnderstandTheAccessibilityImplications", "disableTabFocusAndIUnderstandTheAccessibilityImplications", "type"]);
48
50
  var buttonRef = React.useRef();
51
+ var wrapperRef = React.useRef(null);
49
52
  React.useImperativeHandle(ref, function () {
50
53
  return {
51
54
  focus: function () {
@@ -63,108 +66,112 @@ var GenericButton = React.forwardRef(function (_a, ref) {
63
66
  disableTabFocusAndIUnderstandTheAccessibilityImplications: disableTabFocusAndIUnderstandTheAccessibilityImplications,
64
67
  type: type
65
68
  }, otherProps);
66
- var determineButtonRenderer = function () {
67
- if (props.component) {
68
- return renderCustomComponent(props.component, props);
69
- }
70
- if (props.href && !props.disabled && !props.working) {
71
- return renderLink(props, buttonRef);
72
- }
73
- return renderButton(props, buttonRef);
74
- };
69
+ if (props.component) {
70
+ return renderCustomComponent(props.component, props, wrapperRef);
71
+ }
75
72
  return React__default.default.createElement("span", {
73
+ ref: wrapperRef,
76
74
  className: classnames__default.default(GenericButton_module.container, props.fullWidth && GenericButton_module.fullWidth),
77
75
  "aria-live": "workingLabel" in props ? "polite" : undefined
78
- }, determineButtonRenderer());
76
+ }, props.href && !props.disabled && !props.working ? renderLink(props, buttonRef) : renderButton(props, buttonRef));
79
77
  });
80
78
  GenericButton.displayName = "GenericButton";
81
- var renderCustomComponent = function (CustomComponent, props) {
82
- var id = props.id,
83
- disabled = props.disabled,
84
- href = props.href,
85
- onClick = props.onClick,
86
- onFocus = props.onFocus,
87
- onBlur = props.onBlur,
88
- rest = tslib.__rest(props, ["id", "disabled", "href", "onClick", "onFocus", "onBlur"]);
89
- var customProps = getCustomProps(rest);
90
- return React__default.default.createElement(CustomComponent, tslib.__assign({
91
- id: id,
79
+ var renderCustomComponent = function (CustomComponent, props, ref) {
80
+ var passedInProps = tslib.__assign({
81
+ id: props.id,
92
82
  className: buttonClass(props),
93
- disabled: disabled,
94
- href: href,
95
- onClick: onClick,
96
- onFocus: onFocus,
97
- onBlur: onBlur,
83
+ disabled: props.disabled,
84
+ href: props.href,
85
+ onClick: props.onClick,
86
+ onFocus: props.onFocus,
87
+ onBlur: props.onBlur,
98
88
  "aria-label": generateAriaLabel(props)
99
- }, customProps), renderContent(props));
89
+ }, getCustomProps(props));
90
+ var _a = reactAriaComponents.useContextProps(passedInProps, ref,
91
+ // @ts-expect-error we're using span ref on link context, but that's ok because we need only sizing
92
+ reactAriaComponents.LinkContext),
93
+ contextProps = _a[0],
94
+ contextRef = _a[1];
95
+ // @ts-expect-error
96
+ // @todo: Make a wrapper and take it out of Button
97
+ var linkProps = reactAria.useLink(contextProps, contextRef).linkProps;
98
+ // Unset this because the one defined in buttonProps shows
99
+ // focus-visible styles on click, in future we'll style using [data-focus-visible] which is consistent across browsers
100
+ delete linkProps.onPointerDown;
101
+ return React__default.default.createElement("span", {
102
+ ref: contextRef,
103
+ className: classnames__default.default(GenericButton_module.container, props.fullWidth && GenericButton_module.fullWidth),
104
+ "aria-live": "workingLabel" in props ? "polite" : undefined
105
+ }, React__default.default.createElement(CustomComponent, tslib.__assign({}, contextProps, linkProps, {
106
+ "aria-describedby": props["aria-describedby"] === null ? undefined : linkProps["aria-describedby"]
107
+ }), renderContent(props)));
100
108
  };
101
109
  var renderButton = function (props, ref) {
102
- var id = props.id,
103
- disabled = props.disabled,
104
- onClick = props.onClick,
105
- onMouseDown = props.onMouseDown,
106
- type = props.type,
107
- disableTabFocusAndIUnderstandTheAccessibilityImplications = props.disableTabFocusAndIUnderstandTheAccessibilityImplications,
108
- onFocus = props.onFocus,
109
- onBlur = props.onBlur,
110
- form = props.form,
111
- formAction = props.formAction,
112
- formMethod = props.formMethod,
113
- formEncType = props.formEncType,
114
- formTarget = props.formTarget,
115
- formNoValidate = props.formNoValidate,
116
- rest = tslib.__rest(props, ["id", "disabled", "onClick", "onMouseDown", "type", "disableTabFocusAndIUnderstandTheAccessibilityImplications", "onFocus", "onBlur", "form", "formAction", "formMethod", "formEncType", "formTarget", "formNoValidate"]);
117
- var customProps = getCustomProps(rest);
118
- return React__default.default.createElement("button", tslib.__assign({
119
- // eslint-disable-next-line react/button-has-type
120
- type: type,
121
- id: id,
122
- disabled: disabled,
110
+ var disableActions = props.disabled || props.working;
111
+ var passedInProps = tslib.__assign({
112
+ id: props.id,
113
+ disabled: props.disabled,
114
+ onClick: !disableActions ? props.onClick : undefined,
115
+ onMouseDown: !disableActions ? props.onMouseDown : undefined,
116
+ type: props.type,
117
+ onFocus: props.onFocus,
118
+ onBlur: props.onBlur,
119
+ form: props.form,
120
+ formAction: props.formAction,
121
+ formMethod: props.formMethod,
122
+ formEncType: props.formEncType,
123
+ formTarget: props.formTarget,
124
+ formNoValidate: props.formNoValidate,
123
125
  className: buttonClass(props),
124
- onClick: onClick,
125
- onFocus: onFocus,
126
- onBlur: onBlur,
127
- onMouseDown: function (e) {
128
- return onMouseDown && onMouseDown(e);
129
- },
130
126
  "aria-label": generateAriaLabel(props),
131
- "aria-disabled": disabled || props.working ? true : undefined,
132
- form: form,
133
- formAction: formAction,
134
- formMethod: formMethod,
135
- formEncType: formEncType,
136
- formTarget: formTarget,
137
- formNoValidate: formNoValidate,
138
- tabIndex: disableTabFocusAndIUnderstandTheAccessibilityImplications ? -1 : undefined,
139
- ref: ref
140
- }, customProps), renderContent(props));
127
+ "aria-disabled": props.disabled || props.working ? true : undefined,
128
+ tabIndex: props.disableTabFocusAndIUnderstandTheAccessibilityImplications ? -1 : undefined
129
+ }, getCustomProps(props));
130
+ // we're using useFocusable instead of useButton because at this stage we want to hook only to focusable.
131
+ // Not standardize button behavior as we're currently relying on some weird native behaviours (like onClick firing on enter key press) see https://react-spectrum.adobe.com/blog/building-a-button-part-1.html
132
+ // @ts-ignore
133
+ var focusableProps = reactAria.useFocusable(passedInProps, ref).focusableProps;
134
+ return (
135
+ // eslint-disable-next-line react/button-has-type
136
+ React__default.default.createElement("button", tslib.__assign({}, passedInProps, focusableProps, {
137
+ "aria-describedby": props["aria-describedby"] === null ? undefined : props["aria-describedby"] || focusableProps["aria-describedby"],
138
+ // Unset this because the one defined in buttonProps shows
139
+ // focus-visible styles on click
140
+ onPointerDown: undefined,
141
+ ref: ref
142
+ }), renderContent(props))
143
+ );
141
144
  };
142
145
  var renderLink = function (props, ref) {
143
- var id = props.id,
144
- href = props.href,
145
- onClick = props.onClick,
146
- newTabAndIUnderstandTheAccessibilityImplications = props.newTabAndIUnderstandTheAccessibilityImplications,
147
- onFocus = props.onFocus,
148
- onBlur = props.onBlur,
149
- rest = tslib.__rest(props, ["id", "href", "onClick", "newTabAndIUnderstandTheAccessibilityImplications", "onFocus", "onBlur"]);
150
- var customProps = getCustomProps(rest);
151
- var target = newTabAndIUnderstandTheAccessibilityImplications ? "_blank" : "_self";
152
- return React__default.default.createElement("a", tslib.__assign({
153
- id: id,
154
- href: href,
146
+ var target = props.newTabAndIUnderstandTheAccessibilityImplications ? "_blank" : "_self";
147
+ var passedInProps = tslib.__assign({
148
+ id: props.id,
149
+ href: props.href,
155
150
  target: target,
156
151
  rel: target === "_blank" ? "noopener noreferrer" : undefined,
157
152
  className: buttonClass(props),
158
- onClick: onClick,
159
- onFocus: onFocus,
160
- onBlur: onBlur,
161
- ref: ref,
153
+ onClick: props.onClick,
154
+ onFocus: props.onFocus,
155
+ onBlur: props.onBlur,
162
156
  "aria-label": generateAriaLabel(props)
163
- }, customProps), renderContent(props));
157
+ }, getCustomProps(props));
158
+ // we're using useFocusable instead of useLink because at this stage we want to hook only to focusable.
159
+ // Not standardize button behavior as we're currently relying on some weird native behaviours (like onClick firing on enter key press) see https://react-spectrum.adobe.com/blog/building-a-button-part-1.html
160
+ // @ts-ignore
161
+ var focusableProps = reactAria.useFocusable(passedInProps, ref).focusableProps;
162
+ return React__default.default.createElement("a", tslib.__assign({}, passedInProps, focusableProps, {
163
+ "aria-describedby": props["aria-describedby"] === null ? undefined : props["aria-describedby"] || focusableProps["aria-describedby"],
164
+ // Unset this because the one defined in linkProps shows
165
+ // focus-visible styles on click
166
+ onPointerDown: undefined,
167
+ ref: ref
168
+ }), renderContent(props));
164
169
  };
165
170
  var buttonClass = function (props) {
166
171
  var isDefault = !props.primary && !props.destructive && !props.secondary;
167
- return classnames__default.default(GenericButton_module.button, isDefault && GenericButton_module.default, props.primary && GenericButton_module.primary, props.destructive && GenericButton_module.destructive, props.secondary && GenericButton_module.secondary, props.size && GenericButton_module[props.size], props.reversed && GenericButton_module.reversed, props.iconButton && GenericButton_module.iconButton, props.working && GenericButton_module.working, (props.directionalLink || props.paginationLink) && GenericButton_module.circleButton, props.directionalLink && GenericButton_module.directionalLink, props.paginationLink && GenericButton_module.paginationLink, props.isActive && GenericButton_module.isPaginationLinkActive, props.classNameOverride);
172
+ return classnames__default.default(GenericButton_module.button, isDefault && GenericButton_module.default,
173
+ // @ts-ignore
174
+ (props.disabled || props["aria-disabled"]) && GenericButton_module.disabled, props.primary && GenericButton_module.primary, props.destructive && GenericButton_module.destructive, props.secondary && GenericButton_module.secondary, props.size && GenericButton_module[props.size], props.reversed && GenericButton_module.reversed, props.iconButton && GenericButton_module.iconButton, props.working && GenericButton_module.working, (props.directionalLink || props.paginationLink) && GenericButton_module.circleButton, props.directionalLink && GenericButton_module.directionalLink, props.paginationLink && GenericButton_module.paginationLink, props.isActive && GenericButton_module.isPaginationLinkActive, props.classNameOverride);
168
175
  };
169
176
  var renderLoadingSpinner = function () {
170
177
  return React__default.default.createElement("div", {
@@ -2,8 +2,9 @@
2
2
 
3
3
  var styles = {
4
4
  "button": "GenericButton-module_button__CrXoI",
5
- "reversed": "GenericButton-module_reversed__Pzsic",
5
+ "disabled": "GenericButton-module_disabled__S0O3z",
6
6
  "working": "GenericButton-module_working__mRozR",
7
+ "reversed": "GenericButton-module_reversed__Pzsic",
7
8
  "content": "GenericButton-module_content__E-vUa",
8
9
  "default": "GenericButton-module_default__miX7x",
9
10
  "primary": "GenericButton-module_primary__FB-Ts",
@@ -4,7 +4,7 @@ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var classnames = require('classnames');
6
6
  var FilterButtonBase = require('../Filter/FilterButton/subcomponents/FilterButtonBase/FilterButtonBase.cjs');
7
- var Tooltip = require('../Tooltip/Tooltip.cjs');
7
+ var index = require('../__overlays__/Tooltip/v1/index.cjs');
8
8
  var ButtonGroup_module = require('./ButtonGroup.module.scss.cjs');
9
9
  function _interopDefault(e) {
10
10
  return e && e.__esModule ? e : {
@@ -26,9 +26,9 @@ var ButtonGroup = function (_a) {
26
26
  className: classnames__default.default(ButtonGroup_module.buttonGroup, classNameOverride)
27
27
  }, restProps);
28
28
  if (childCount === 1) return React__default.default.createElement("div", tslib.__assign({}, containerProps), children);
29
- return React__default.default.createElement("div", tslib.__assign({}, containerProps), React__default.default.Children.map(children, function (child, index) {
30
- var buttonClassNames = classnames__default.default(ButtonGroup_module.child, index === 0 && ButtonGroup_module.firstChild, index === childCount - 1 && ButtonGroup_module.lastChild, child.props.classNameOverride);
31
- if (child.type === Tooltip.Tooltip) {
29
+ return React__default.default.createElement("div", tslib.__assign({}, containerProps), React__default.default.Children.map(children, function (child, index$1) {
30
+ var buttonClassNames = classnames__default.default(ButtonGroup_module.child, index$1 === 0 && ButtonGroup_module.firstChild, index$1 === childCount - 1 && ButtonGroup_module.lastChild, child.props.classNameOverride);
31
+ if (child.type === index.Tooltip) {
32
32
  var button = child.props.children;
33
33
  if (isFilterButton(button)) {
34
34
  return React__default.default.cloneElement(child, {
@@ -5,7 +5,7 @@ var React = require('react');
5
5
  var ButtonGroup = require('../../../ButtonGroup/ButtonGroup.cjs');
6
6
  require('../../../Icon/subcomponents/SVG/SVG.cjs');
7
7
  var ClearIcon = require('../../../Icon/ClearIcon.cjs');
8
- var Tooltip = require('../../../Tooltip/Tooltip.cjs');
8
+ var index = require('../../../__overlays__/Tooltip/v1/index.cjs');
9
9
  var isRefObject = require('../../../utils/isRefObject.cjs');
10
10
  var FilterButton = require('../FilterButton/FilterButton.cjs');
11
11
  var FilterButtonBase = require('../subcomponents/FilterButtonBase/FilterButtonBase.cjs');
@@ -25,7 +25,7 @@ var FilterButtonRemovable = React.forwardRef(function (_a, ref) {
25
25
  var removeButtonLabel = (_b = removeButtonProps === null || removeButtonProps === void 0 ? void 0 : removeButtonProps.tooltipText) !== null && _b !== void 0 ? _b : "Remove filter - ".concat(triggerButtonProps === null || triggerButtonProps === void 0 ? void 0 : triggerButtonProps.label);
26
26
  return React__default.default.createElement(ButtonGroup.ButtonGroup, tslib.__assign({}, restProps), React__default.default.createElement(FilterButton.FilterButton, tslib.__assign({
27
27
  ref: ref
28
- }, triggerButtonProps)), React__default.default.createElement(Tooltip.Tooltip, {
28
+ }, triggerButtonProps)), React__default.default.createElement(index.Tooltip, {
29
29
  text: removeButtonLabel,
30
30
  display: "inline-block",
31
31
  position: "below"
@@ -10,7 +10,7 @@ var Heading = require('../Heading/Heading.cjs');
10
10
  require('../Icon/subcomponents/SVG/SVG.cjs');
11
11
  var ArrowForwardIcon = require('../Icon/ArrowForwardIcon.cjs');
12
12
  var Text = require('../Text/Text.cjs');
13
- var Tooltip = require('../Tooltip/Tooltip.cjs');
13
+ var index = require('../__overlays__/Tooltip/v1/index.cjs');
14
14
  var GuidanceBlock_module = require('./GuidanceBlock.module.scss.cjs');
15
15
  function _interopDefault(e) {
16
16
  return e && e.__esModule ? e : {
@@ -23,7 +23,7 @@ var Media__default = /*#__PURE__*/_interopDefault(Media);
23
23
  var WithTooltip = function (_a) {
24
24
  var tooltipProps = _a.tooltipProps,
25
25
  children = _a.children;
26
- return !!tooltipProps ? React__default.default.createElement(Tooltip.Tooltip, tslib.__assign({}, tooltipProps), children) : React__default.default.createElement(React__default.default.Fragment, null, children);
26
+ return !!tooltipProps ? React__default.default.createElement(index.Tooltip, tslib.__assign({}, tooltipProps), children) : React__default.default.createElement(React__default.default.Fragment, null, children);
27
27
  };
28
28
  /**
29
29
  * {@link https://cultureamp.atlassian.net/wiki/spaces/DesignSystem/pages/3082093807/Guidance+Block Guidance} |
@@ -34,7 +34,7 @@ var KaizenProvider = function (_a) {
34
34
  }, [documentIsAvailable]);
35
35
  return React__default.default.createElement(OptionalIntlProvider.OptionalIntlProvider, {
36
36
  locale: locale
37
- }, React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(ToastNotificationContext.ToastNotificationProvider, null, notificationsList, children), React__default.default.createElement(FontDefinitions.FontDefinitions, null)));
37
+ }, React__default.default.createElement(ToastNotificationContext.ToastNotificationProvider, null, notificationsList, children), React__default.default.createElement(FontDefinitions.FontDefinitions, null));
38
38
  };
39
39
  KaizenProvider.displayName = "KaizenProvider";
40
40
  exports.KaizenProvider = KaizenProvider;
@@ -2,6 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var i18nReactIntl = require('@cultureamp/i18n-react-intl');
5
+ var reactAria = require('react-aria');
5
6
  var reactIntl = require('react-intl');
6
7
  function _interopDefault(e) {
7
8
  return e && e.__esModule ? e : {
@@ -13,10 +14,18 @@ var OptionalIntlProvider = function (_a) {
13
14
  var locale = _a.locale,
14
15
  children = _a.children;
15
16
  var parent = React.useContext(reactIntl.IntlContext);
16
- if (parent) return children;
17
+ if (parent) {
18
+ // we always wrap with react-aria provider as we have no way checking if parent is wrapped (useLocale returns default value if not)
19
+ // but it's not a big deal as we'll consume the defined locale anyways so no effect on children
20
+ return React__default.default.createElement(reactAria.I18nProvider, {
21
+ locale: parent.locale
22
+ }, children);
23
+ }
17
24
  return React__default.default.createElement(i18nReactIntl.StaticIntlProvider, {
18
25
  locale: locale
19
- }, children);
26
+ }, React__default.default.createElement(reactAria.I18nProvider, {
27
+ locale: locale
28
+ }, children));
20
29
  };
21
30
  OptionalIntlProvider.displayName = "OptionalIntlProvider";
22
31
  exports.OptionalIntlProvider = OptionalIntlProvider;
@@ -7,9 +7,8 @@ var ClearButton = require('../../../ClearButton/ClearButton.cjs');
7
7
  require('../../../Icon/subcomponents/SVG/SVG.cjs');
8
8
  var ChevronDownIcon = require('../../../Icon/ChevronDownIcon.cjs');
9
9
  var ChevronUpIcon = require('../../../Icon/ChevronUpIcon.cjs');
10
- var RemovableTag = require('../../../__future__/Tag/RemovableTag/RemovableTag.cjs');
11
- require('../../../__future__/Tag/Tag/Tag.cjs');
12
10
  var MultiSelectToggle_module = require('./MultiSelectToggle.module.scss.cjs');
11
+ var RemovableTag = require('../../../__future__/Tag/RemovableTag/RemovableTag.cjs');
13
12
  function _interopDefault(e) {
14
13
  return e && e.__esModule ? e : {
15
14
  default: e
@@ -3,7 +3,7 @@
3
3
  var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var classnames = require('classnames');
6
- var Tooltip = require('../../../../Tooltip/Tooltip.cjs');
6
+ var index = require('../../../../__overlays__/Tooltip/v1/index.cjs');
7
7
  var ToggleIconButton_module = require('./ToggleIconButton.module.scss.cjs');
8
8
  function _interopDefault(e) {
9
9
  return e && e.__esModule ? e : {
@@ -24,7 +24,7 @@ var ToggleIconButton = React__default.default.forwardRef(function (props, ref) {
24
24
  classNameOverride = props.classNameOverride,
25
25
  onClick = props.onClick,
26
26
  nativeButtonProps = tslib.__rest(props, ["label", "icon", "isActive", "mood", "disabled", "classNameOverride", "onClick"]);
27
- return React__default.default.createElement(Tooltip.Tooltip, {
27
+ return React__default.default.createElement(index.Tooltip, {
28
28
  text: label,
29
29
  display: "inline-block",
30
30
  position: "above",
@@ -11,7 +11,7 @@ require('../Icon/subcomponents/SVG/SVG.cjs');
11
11
  var ExclamationIcon = require('../Icon/ExclamationIcon.cjs');
12
12
  var SortAscendingIcon = require('../Icon/SortAscendingIcon.cjs');
13
13
  var SortDescendingIcon = require('../Icon/SortDescendingIcon.cjs');
14
- var Tooltip = require('../Tooltip/Tooltip.cjs');
14
+ var index = require('../__overlays__/Tooltip/v1/index.cjs');
15
15
  var Table_module = require('./Table.module.scss.cjs');
16
16
  function _interopDefault(e) {
17
17
  return e && e.__esModule ? e : {
@@ -162,7 +162,7 @@ var TableHeaderRowCell = function (_a) {
162
162
  React__default.default.createElement("div", {
163
163
  className: Table_module.headerRowCellNoButton
164
164
  }, cellContents);
165
- cellContents = tooltipInfo != null ? React__default.default.createElement(Tooltip.Tooltip, {
165
+ cellContents = tooltipInfo != null ? React__default.default.createElement(index.Tooltip, {
166
166
  animationDuration: 0,
167
167
  classNameOverride: Table_module.headerRowCellTooltip,
168
168
  text: tooltipInfo,
@@ -4,6 +4,7 @@ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var tabs = require('@reach/tabs');
6
6
  var classnames = require('classnames');
7
+ var reactAria = require('react-aria');
7
8
  var Badge = require('../../Badge/Badge.cjs');
8
9
  var Tab_module = require('./Tab.module.scss.cjs');
9
10
  function _interopDefault(e) {
@@ -24,6 +25,7 @@ var Tab = function (props) {
24
25
  children = props.children,
25
26
  classNameOverride = props.classNameOverride,
26
27
  restProps = tslib.__rest(props, ["isSelected", "badge", "disabled", "children", "classNameOverride"]);
28
+ var ref = React.useRef(null);
27
29
  var _a = React.useState(false),
28
30
  isHovered = _a[0],
29
31
  setIsHovered = _a[1];
@@ -31,28 +33,32 @@ var Tab = function (props) {
31
33
  isFocused = _b[0],
32
34
  setIsFocused = _b[1];
33
35
  var showActiveBadge = isSelected || isHovered || isFocused;
34
- var onFocus = function (event) {
35
- var _a;
36
- setIsFocused(true);
37
- (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, event);
38
- };
39
- var onBlur = function (event) {
40
- var _a;
41
- setIsFocused(false);
42
- (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
43
- };
44
- return React__default.default.createElement(tabs.Tab, tslib.__assign({
36
+ var tabProps = tslib.__assign({
45
37
  disabled: disabled,
46
38
  className: classnames__default.default(Tab_module.tab, classNameOverride, isSelected && Tab_module.selected),
47
- onFocus: onFocus,
48
- onBlur: onBlur,
39
+ onFocus: function (event) {
40
+ var _a;
41
+ setIsFocused(true);
42
+ (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, event);
43
+ },
44
+ onBlur: function (event) {
45
+ var _a;
46
+ setIsFocused(false);
47
+ (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);
48
+ },
49
49
  onMouseEnter: function () {
50
50
  return setIsHovered(true);
51
51
  },
52
52
  onMouseLeave: function () {
53
53
  return setIsHovered(false);
54
54
  }
55
- }, restProps), children, badge && React__default.default.createElement("span", {
55
+ }, restProps);
56
+ var focusableProps = reactAria.useFocusable(tabProps, ref).focusableProps;
57
+ // Reach is setting and managing tabIndex for us here, so we remove it from the focusableProps (also it needs to be non-defined, undefined is not enough)
58
+ delete focusableProps.tabIndex;
59
+ return React__default.default.createElement(tabs.Tab, tslib.__assign({
60
+ ref: ref
61
+ }, tabProps, focusableProps), children, badge && React__default.default.createElement("span", {
56
62
  className: Tab_module.badge
57
63
  }, React__default.default.createElement(Badge.Badge, {
58
64
  variant: showActiveBadge ? "active" : "default"
@@ -19,7 +19,7 @@ var Header = function (_a) {
19
19
  headerActions = _a.headerActions,
20
20
  restProps = tslib.__rest(_a, ["workflowName", "stepName", "status", "headerActions"]);
21
21
  return React__default.default.createElement(Root.HeaderRoot, tslib.__assign({}, restProps), React__default.default.createElement(Branding.Branding, {
22
- alt: "Cultureamp"
22
+ alt: "Culture Amp"
23
23
  }), React__default.default.createElement(Titles.Titles, {
24
24
  workflowName: workflowName,
25
25
  stepName: stepName,
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var React = require('react');
5
+ var classnames = require('classnames');
6
+ var reactAria = require('react-aria');
7
+ var Focusable_module = require('./Focusable.module.scss.cjs');
8
+ function _interopDefault(e) {
9
+ return e && e.__esModule ? e : {
10
+ default: e
11
+ };
12
+ }
13
+ var React__default = /*#__PURE__*/_interopDefault(React);
14
+ var classnames__default = /*#__PURE__*/_interopDefault(classnames);
15
+ var Focusable = function (_a) {
16
+ var children = _a.children,
17
+ className = _a.className,
18
+ props = tslib.__rest(_a, ["children", "className"]);
19
+ var ref = React.useRef(null);
20
+ var focusableProps = reactAria.useFocusable(props, ref).focusableProps;
21
+ return React__default.default.createElement("div", tslib.__assign({
22
+ ref: ref,
23
+ className: classnames__default.default(Focusable_module.focusableWrapper, className)
24
+ }, focusableProps, {
25
+ "data-inline-hidden-content": true,
26
+ // We want the div to be focusable for keyboard users,
27
+ // but screen readers will have the VisuallyHidden content
28
+ // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
29
+ tabIndex: 0,
30
+ "aria-describedby": undefined
31
+ }, props), children);
32
+ };
33
+ exports.Focusable = Focusable;
@@ -0,0 +1,6 @@
1
+ 'use strict';
2
+
3
+ var styles = {
4
+ "focusableWrapper": "Focusable-module_focusableWrapper__NfuIi"
5
+ };
6
+ module.exports = styles;
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var styles = {
4
+ "tooltip": "Tooltip-module_tooltip__Qa021",
5
+ "tooltipContent": "Tooltip-module_tooltipContent__B1va8",
6
+ "default": "Tooltip-module_default__oc1MF",
7
+ "informative": "Tooltip-module_informative__2IhL8",
8
+ "positive": "Tooltip-module_positive__0jHXh",
9
+ "cautionary": "Tooltip-module_cautionary__yGXwE",
10
+ "highlight": "Tooltip-module_highlight__RiT9b",
11
+ "arrow": "Tooltip-module_arrow__brVJc",
12
+ "arrowInner": "Tooltip-module_arrowInner__wOJTc",
13
+ "arrowMain": "Tooltip-module_arrowMain__uVNp3",
14
+ "arrowShadow": "Tooltip-module_arrowShadow__HYZRR",
15
+ "displayInline": "Tooltip-module_displayInline__H48ln",
16
+ "displayBlock": "Tooltip-module_displayBlock__se4CN",
17
+ "displayInlineBlock": "Tooltip-module_displayInlineBlock__2k-Z6",
18
+ "displayFlex": "Tooltip-module_displayFlex__PLv5m",
19
+ "displayInlineFlex": "Tooltip-module_displayInlineFlex__bRLEm"
20
+ };
21
+ module.exports = styles;
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var Tooltip$1 = require('./Tooltip.cjs');
4
+
5
+ // Since we can't add a deprecation flag on a * export
6
+ /** * @deprecated use v2 or upgrade to v3 for the latest release */
7
+ var Tooltip = Tooltip$1.Tooltip;
8
+ exports.Tooltip = Tooltip;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var React = require('react');
5
+ var reactAriaComponents = require('react-aria-components');
6
+ var mergeClassNames = require('../../../utils/mergeClassNames.cjs');
7
+ var OverlayArrow_module = require('./OverlayArrow.module.scss.cjs');
8
+ var ReversedColors = require('../../../__utilities__/ReversedColors/v3/ReversedColors.cjs');
9
+ function _interopDefault(e) {
10
+ return e && e.__esModule ? e : {
11
+ default: e
12
+ };
13
+ }
14
+ var React__default = /*#__PURE__*/_interopDefault(React);
15
+
16
+ /**
17
+ * An OverlayArrow renders a custom arrow element relative to an overlay element
18
+ * such as a popover or tooltip such that it aligns with a trigger element.
19
+ */
20
+ var OverlayArrow = function (props) {
21
+ var reverseColors = ReversedColors.useReversedColors();
22
+ return React__default.default.createElement(reactAriaComponents.OverlayArrow, tslib.__assign({}, props, {
23
+ className: mergeClassNames.mergeClassNames(OverlayArrow_module.overlayArrow, reverseColors && OverlayArrow_module.reversed, props.className)
24
+ }), React__default.default.createElement("svg", {
25
+ width: 8,
26
+ height: 8,
27
+ viewBox: "0 0 8 8"
28
+ }, React__default.default.createElement("path", {
29
+ d: "M0 0 L4 4 L8 0"
30
+ })));
31
+ };
32
+ exports.OverlayArrow = OverlayArrow;
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var styles = {
4
+ "overlayArrow": "OverlayArrow-module_overlayArrow__hoDyK",
5
+ "reversed": "OverlayArrow-module_reversed__-WGcR"
6
+ };
7
+ module.exports = styles;
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ var tslib = require('tslib');
4
+ var React = require('react');
5
+ var reactAria = require('react-aria');
6
+ var reactAriaComponents = require('react-aria-components');
7
+ var mergeClassNames = require('../../../utils/mergeClassNames.cjs');
8
+ var OverlayArrow = require('./OverlayArrow.cjs');
9
+ var Tooltip_module = require('./Tooltip.module.scss.cjs');
10
+ var ReversedColors = require('../../../__utilities__/ReversedColors/v3/ReversedColors.cjs');
11
+ function _interopDefault(e) {
12
+ return e && e.__esModule ? e : {
13
+ default: e
14
+ };
15
+ }
16
+ var React__default = /*#__PURE__*/_interopDefault(React);
17
+
18
+ /**
19
+ * A tooltip displays a description of an element on hover or focus.
20
+ */
21
+ var Tooltip = React.forwardRef(function (_a, ref) {
22
+ var children = _a.children,
23
+ className = _a.className,
24
+ props = tslib.__rest(_a, ["children", "className"]);
25
+ var triggerRef = reactAriaComponents.useContextProps(tslib.__assign({
26
+ children: children,
27
+ className: className
28
+ }, props), ref, reactAriaComponents.TooltipContext)[0].triggerRef;
29
+ var contextState = React.useContext(reactAriaComponents.TooltipTriggerStateContext);
30
+ var reverseColors = ReversedColors.useReversedColors();
31
+ var _b = React.useState(false),
32
+ shouldInlineHiddenContent = _b[0],
33
+ setShouldInlineHiddenContent = _b[1];
34
+ React.useLayoutEffect(function () {
35
+ var _a;
36
+ setShouldInlineHiddenContent(!!((_a = triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current) === null || _a === void 0 ? void 0 : _a.getAttribute("data-inline-hidden-content")));
37
+ }, [triggerRef]);
38
+ return React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(reactAriaComponents.Tooltip, tslib.__assign({
39
+ ref: ref,
40
+ offset: 8
41
+ }, props, {
42
+ className: mergeClassNames.mergeClassNames(Tooltip_module.tooltip, className, reverseColors && Tooltip_module.reversed)
43
+ }), function (renderProps) {
44
+ return React__default.default.createElement(React__default.default.Fragment, null, React__default.default.createElement(OverlayArrow.OverlayArrow, null), typeof children === "function" ? children(renderProps) : children);
45
+ }), shouldInlineHiddenContent ? React__default.default.createElement(reactAria.VisuallyHidden, null, typeof children === "function" ? children({
46
+ placement: "center",
47
+ isEntering: false,
48
+ isExiting: false,
49
+ state: contextState,
50
+ defaultChildren: undefined
51
+ }) : children) : null);
52
+ });
53
+ Object.defineProperty(exports, "TooltipContext", {
54
+ enumerable: true,
55
+ get: function () {
56
+ return reactAriaComponents.TooltipContext;
57
+ }
58
+ });
59
+ exports.Tooltip = Tooltip;
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var styles = {
4
+ "tooltip": "Tooltip-module_tooltip__efL1m",
5
+ "reversed": "Tooltip-module_reversed__NnCbZ",
6
+ "slide": "Tooltip-module_slide__lFdGA"
7
+ };
8
+ module.exports = styles;