@uncinc/uncinc-react-kitchen-sink 2.4.0 → 2.4.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 (168) hide show
  1. package/dist/Context/KitchenSinkComponentMapperContext.js +11 -3
  2. package/dist/Context/ViewportContext.js +27 -14
  3. package/dist/Context/withMapping.js +26 -15
  4. package/dist/components/AbbreviationAnnotation/index.js +49 -27
  5. package/dist/components/AbbreviationAnnotation/stories.js +37 -22
  6. package/dist/components/Accordion/AccordionItem/index.js +55 -36
  7. package/dist/components/Accordion/AccordionItemVariant/index.js +47 -25
  8. package/dist/components/Accordion/index.js +17 -10
  9. package/dist/components/Accordion/stories.js +38 -24
  10. package/dist/components/ApiAutocomplete/index.js +79 -51
  11. package/dist/components/ApiAutocomplete/stories.js +18 -9
  12. package/dist/components/Button/index.js +48 -33
  13. package/dist/components/Button/stories.js +31 -49
  14. package/dist/components/Button/stories.scss +7 -5
  15. package/dist/components/Cookie/Checkbox/index.js +23 -16
  16. package/dist/components/Cookie/index.js +146 -115
  17. package/dist/components/Cookie/stories.js +90 -40
  18. package/dist/components/Dialog/index.d.ts +38 -0
  19. package/dist/components/Dialog/index.js +63 -56
  20. package/dist/components/Dialog/stories.js +35 -18
  21. package/dist/components/FontSizeSwitcher/index.js +58 -32
  22. package/dist/components/FontSizeSwitcher/stories.js +23 -9
  23. package/dist/components/Form/Checkbox/index.js +43 -37
  24. package/dist/components/Form/Checkbox/stories.js +20 -11
  25. package/dist/components/Form/Checkboxes/index.js +62 -57
  26. package/dist/components/Form/Checkboxes/index.test.js +113 -62
  27. package/dist/components/Form/Checkboxes/stories.js +23 -12
  28. package/dist/components/Form/Date/index.js +13 -5
  29. package/dist/components/Form/Date/stories.js +18 -9
  30. package/dist/components/Form/DatePicker/index.js +40 -33
  31. package/dist/components/Form/DatePicker/stories.js +18 -9
  32. package/dist/components/Form/DateSelect/index.js +99 -62
  33. package/dist/components/Form/DateSelect/stories.js +32 -11
  34. package/dist/components/Form/Email/index.js +13 -5
  35. package/dist/components/Form/Email/stories.js +18 -9
  36. package/dist/components/Form/FormikWrapper/index.js +52 -45
  37. package/dist/components/Form/GenericFormElement/index.js +39 -34
  38. package/dist/components/Form/Number/index.js +23 -18
  39. package/dist/components/Form/Number/stories.js +18 -9
  40. package/dist/components/Form/RadioButtons/index.js +53 -49
  41. package/dist/components/Form/RadioButtons/index.test.js +106 -57
  42. package/dist/components/Form/RadioButtons/stories.js +23 -12
  43. package/dist/components/Form/SearchField/index.js +37 -30
  44. package/dist/components/Form/Select/Input/index.js +56 -49
  45. package/dist/components/Form/Select/index.js +33 -24
  46. package/dist/components/Form/Select/stories.js +25 -15
  47. package/dist/components/Form/TextField/index.js +39 -33
  48. package/dist/components/Form/TextField/index.test.js +104 -56
  49. package/dist/components/Form/TextField/stories.js +22 -11
  50. package/dist/components/Form/Textarea/index.js +35 -27
  51. package/dist/components/Form/Textarea/stories.js +18 -9
  52. package/dist/components/Hamburger/index.js +30 -19
  53. package/dist/components/Hamburger/stories.js +42 -16
  54. package/dist/components/Header/index.js +67 -39
  55. package/dist/components/Header/stories.js +48 -28
  56. package/dist/components/Image/Background/index.js +36 -21
  57. package/dist/components/Image/LazyLoadWrapper/index.js +101 -64
  58. package/dist/components/Image/Picture/index.js +83 -65
  59. package/dist/components/Image/index.js +21 -15
  60. package/dist/components/Image/stories.js +87 -64
  61. package/dist/components/InlineMenu/index.js +60 -38
  62. package/dist/components/InlineMenu/stories.js +66 -55
  63. package/dist/components/Layout/Container/index.js +29 -21
  64. package/dist/components/Layout/Container/stories.js +94 -84
  65. package/dist/components/Layout/QuickLayout/Auto/index.js +19 -12
  66. package/dist/components/Layout/QuickLayout/Center/index.js +17 -10
  67. package/dist/components/Layout/QuickLayout/Clamp/index.js +20 -13
  68. package/dist/components/Layout/QuickLayout/Sidebar/index.js +20 -13
  69. package/dist/components/Layout/QuickLayout/SpaceBetween/index.js +20 -13
  70. package/dist/components/Layout/QuickLayout/Stack/index.js +21 -11
  71. package/dist/components/Layout/QuickLayout/Wrap/index.js +21 -14
  72. package/dist/components/Layout/QuickLayout/index.js +31 -21
  73. package/dist/components/Layout/QuickLayout/stories.js +102 -70
  74. package/dist/components/Lottie/LottieAnimation/index.js +55 -56
  75. package/dist/components/Lottie/LottieAnimationWithMousePosition.js +31 -18
  76. package/dist/components/Lottie/index.js +47 -35
  77. package/dist/components/Lottie/stories.js +56 -31
  78. package/dist/components/MagicLine/index.js +50 -27
  79. package/dist/components/MagicLine/stories.js +60 -46
  80. package/dist/components/NavigationScroll/index.js +71 -49
  81. package/dist/components/NavigationScroll/stories.js +19 -8
  82. package/dist/components/Pagination/index.js +49 -41
  83. package/dist/components/Pagination/stories.js +46 -17
  84. package/dist/components/SearchKit/Facets/ChipFacet/index.js +24 -16
  85. package/dist/components/SearchKit/Facets/ListFacet/index.js +23 -15
  86. package/dist/components/SearchKit/Facets/SelectFacet/index.js +39 -30
  87. package/dist/components/SearchKit/Query/index.js +41 -23
  88. package/dist/components/SearchKit/SearchFacets/index.js +36 -23
  89. package/dist/components/SearchKit/SearchField/index.js +49 -25
  90. package/dist/components/SearchKit/SearchLoadMore/index.js +22 -15
  91. package/dist/components/SearchKit/SearchPage/index.js +22 -14
  92. package/dist/components/SearchKit/SearchPagination/index.js +17 -10
  93. package/dist/components/SearchKit/SearchReset/index.js +25 -16
  94. package/dist/components/SearchKit/SearchResults/index.js +108 -59
  95. package/dist/components/SearchKit/SearchSelectedFilters/Filters/CustomValue/index.js +17 -10
  96. package/dist/components/SearchKit/SearchSelectedFilters/Filters/DateRange/index.js +18 -11
  97. package/dist/components/SearchKit/SearchSelectedFilters/Filters/NumericRange/index.js +18 -11
  98. package/dist/components/SearchKit/SearchSelectedFilters/Filters/Value/index.js +22 -12
  99. package/dist/components/SearchKit/SearchSelectedFilters/index.js +34 -28
  100. package/dist/components/SearchKit/SearchSorting/index.js +29 -19
  101. package/dist/components/SearchKit/index.js +72 -53
  102. package/dist/components/SearchKit/stories.js +144 -187
  103. package/dist/components/Share/index.js +48 -40
  104. package/dist/components/Share/stories.js +16 -5
  105. package/dist/components/Sliders/SliderRelated/index.js +32 -25
  106. package/dist/components/Sliders/SliderRelated/stories.js +75 -57
  107. package/dist/components/Webform/WebformActions/index.js +19 -13
  108. package/dist/components/Webform/WebformCheckbox/index.js +32 -24
  109. package/dist/components/Webform/WebformCheckboxes/index.js +37 -29
  110. package/dist/components/Webform/WebformContainer/index.js +17 -11
  111. package/dist/components/Webform/WebformDate/index.js +76 -48
  112. package/dist/components/Webform/WebformMapper/index.js +53 -38
  113. package/dist/components/Webform/WebformNumber/index.js +31 -22
  114. package/dist/components/Webform/WebformRadioButtons/index.js +37 -29
  115. package/dist/components/Webform/WebformSelect/index.js +37 -29
  116. package/dist/components/Webform/WebformTextField/index.js +34 -26
  117. package/dist/components/Webform/WebformTextarea/index.js +32 -24
  118. package/dist/components/Webform/WebformWizardPage/index.js +56 -43
  119. package/dist/components/Webform/index.js +42 -20
  120. package/dist/components/Webform/stories.actions.js +19 -8
  121. package/dist/components/Webform/stories.checkboxes.js +19 -8
  122. package/dist/components/Webform/stories.checked.js +20 -9
  123. package/dist/components/Webform/stories.container.js +19 -8
  124. package/dist/components/Webform/stories.date.js +19 -8
  125. package/dist/components/Webform/stories.filled.js +20 -9
  126. package/dist/components/Webform/stories.number.js +19 -8
  127. package/dist/components/Webform/stories.radiobuttons.js +19 -8
  128. package/dist/components/Webform/stories.select.js +19 -8
  129. package/dist/components/Webform/stories.textarea.js +19 -8
  130. package/dist/components/Webform/stories.textfield.js +19 -8
  131. package/dist/components/Webform/stories.wizard.js +19 -8
  132. package/dist/components/Webform/withStates.js +49 -28
  133. package/dist/components/WysiwygField/index.js +30 -20
  134. package/dist/components/WysiwygField/stories.js +39 -29
  135. package/dist/components/index.js +111 -15
  136. package/dist/config/constants.js +38 -18
  137. package/dist/config/i18next/index.js +19 -11
  138. package/dist/helpers/date.js +25 -5
  139. package/dist/helpers/gtm.js +27 -17
  140. package/dist/helpers/link.js +15 -6
  141. package/dist/helpers/useValueForCurrentViewPort.js +27 -10
  142. package/dist/hooks/useBoolean.d.ts +8 -0
  143. package/dist/hooks/useBoolean.js +38 -0
  144. package/dist/hooks/useClickOutside.d.ts +8 -0
  145. package/dist/hooks/useClickOutside.js +35 -0
  146. package/dist/hooks/useDialog.d.ts +10 -0
  147. package/dist/hooks/useDialog.js +39 -0
  148. package/dist/hooks/useDialogHelpers.d.ts +20 -0
  149. package/dist/hooks/{useDialogHelpers.ts → useDialogHelpers.js} +33 -43
  150. package/dist/hooks/useEscape.d.ts +6 -0
  151. package/dist/hooks/useEscape.js +24 -0
  152. package/dist/hooks/useOnScreen.js +27 -6
  153. package/dist/hooks/usePrevious.js +10 -4
  154. package/dist/hooks/useScrollPosition.js +25 -7
  155. package/dist/hooks/useTrapFocus.d.ts +10 -0
  156. package/dist/hooks/useTrapFocus.js +63 -0
  157. package/dist/hooks/useWindowDimensions.js +27 -11
  158. package/dist/index.js +398 -56
  159. package/dist/setupTests.js +9 -5
  160. package/dist/styles/assets/_base.scss +0 -3
  161. package/dist/styles/assets/_fonts.scss +17 -17
  162. package/dist/styles/assets/_icons.scss +2 -2
  163. package/package.json +6 -3
  164. package/dist/hooks/useBoolean.ts +0 -20
  165. package/dist/hooks/useClickOutside.ts +0 -38
  166. package/dist/hooks/useDialog.ts +0 -29
  167. package/dist/hooks/useEscape.ts +0 -26
  168. package/dist/hooks/useTrapFocus.ts +0 -80
@@ -1,38 +0,0 @@
1
- import { MutableRefObject, useEffect } from 'react';
2
-
3
- interface UseClickOutsideOptions {
4
- refs: MutableRefObject<HTMLElement>[] | MutableRefObject<HTMLElement>;
5
- unless?: boolean | ((e: globalThis.MouseEvent) => boolean);
6
- onClick: (e: globalThis.MouseEvent) => void;
7
- }
8
-
9
- export default function useClickOutside({
10
- refs,
11
- unless = false,
12
- onClick,
13
- }: UseClickOutsideOptions) {
14
- const refsAsArray = Array.isArray(refs) ? refs : [refs];
15
-
16
- useEffect(() => {
17
- function handleOutsideClick(e: globalThis.MouseEvent) {
18
- const allRefsHaveCurrent = refsAsArray.every((ref) => !!ref.current);
19
- const shouldNotExecute = typeof unless === 'function' ? unless(e) : unless;
20
-
21
- if (!allRefsHaveCurrent || shouldNotExecute) {
22
- return;
23
- }
24
-
25
- const isOutsideClick = refsAsArray.every((ref) => !ref.current.contains(e.target as Node));
26
-
27
- if (isOutsideClick) {
28
- onClick(e);
29
- }
30
- }
31
-
32
- document.addEventListener('mousedown', handleOutsideClick);
33
-
34
- return () => {
35
- document.removeEventListener('mousedown', handleOutsideClick);
36
- };
37
- }, [unless, onClick, refs]);
38
- }
@@ -1,29 +0,0 @@
1
- import React from 'react';
2
-
3
- import Dialog from '../components/Dialog';
4
- import useBoolean from './useBoolean';
5
-
6
- export default function useDialog() {
7
- const {
8
- value: dialogIsOpen,
9
- setTrue: openDialog,
10
- setFalse: closeDialog,
11
- } = useBoolean();
12
-
13
- const DialogComponent = ({ children, ...props }) => React.createElement(
14
- Dialog,
15
- {
16
- ...props,
17
- isOpen: dialogIsOpen,
18
- closeFunction: closeDialog,
19
- },
20
- children,
21
- );
22
-
23
- return {
24
- dialogIsOpen,
25
- openDialog,
26
- closeDialog,
27
- DialogComponent,
28
- } as const;
29
- }
@@ -1,26 +0,0 @@
1
- import { useEffect } from 'react';
2
-
3
- interface UseEscapeOption {
4
- unless?: boolean | ((e: KeyboardEvent) => boolean);
5
- onPress: (e: KeyboardEvent) => void;
6
- }
7
-
8
- export default function useEscape({ unless, onPress }: UseEscapeOption) {
9
- useEffect(() => {
10
- function handleOnPress(e: KeyboardEvent) {
11
- const shouldNotExecute = typeof unless === 'function' ? unless(e) : unless;
12
-
13
- if (shouldNotExecute || e.key !== 'Escape') {
14
- return;
15
- }
16
-
17
- onPress(e);
18
- }
19
-
20
- document.addEventListener('keyup', handleOnPress);
21
-
22
- return () => {
23
- document.removeEventListener('keyup', handleOnPress);
24
- };
25
- }, [unless]);
26
- }
@@ -1,80 +0,0 @@
1
- import { RefObject, useEffect } from 'react';
2
-
3
- export interface UseTrapFocusOptions<T extends HTMLElement> {
4
- ref: RefObject<T>;
5
- isActive?: boolean;
6
- }
7
-
8
- /**
9
- * Helper to trap focus within a certain component,
10
- * which is useful for canvas menu lists or modals
11
- */
12
- export default function useTrapFocus<T extends HTMLElement>(
13
- options: UseTrapFocusOptions<T>,
14
- ) {
15
- const {
16
- ref,
17
- isActive = false,
18
- } = options;
19
-
20
- useEffect(() => {
21
- function onKeyDown(e: KeyboardEvent) {
22
- if (ref.current && isActive) {
23
- const { first, last } = getFocusableElements(ref.current);
24
- const isTabPressed = e.key === 'Tab';
25
-
26
- if (!isTabPressed) {
27
- return;
28
- }
29
-
30
- if (e.shiftKey && document.activeElement === first) {
31
- if (last) last.focus();
32
- e.preventDefault();
33
- return;
34
- }
35
-
36
- if (!e.shiftKey && document.activeElement === last) {
37
- if (first) first.focus();
38
- e.preventDefault();
39
- }
40
- }
41
- }
42
-
43
- if (ref.current) {
44
- ref.current.addEventListener('keydown', onKeyDown);
45
- }
46
-
47
- return () => {
48
- if (ref.current) {
49
- ref.current.removeEventListener('keydown', onKeyDown);
50
- }
51
- };
52
- }, [ref, isActive]);
53
-
54
- function getFocusableElements(element: Element) {
55
- const focusableElementTags = [
56
- 'a[href]',
57
- 'area[href]',
58
- 'button',
59
- 'input',
60
- 'textarea',
61
- 'select',
62
- 'details',
63
- '[tabindex]:not([tabindex="-1"])',
64
- ];
65
-
66
- const focusableElements = [
67
- ...element.querySelectorAll(focusableElementTags.join(', ')),
68
- ].filter(
69
- (el) => !el.hasAttribute('disabled') && !el.hasAttribute('aria-hidden'),
70
- ) as HTMLElement[];
71
-
72
- return {
73
- focusableElements,
74
- first: focusableElements.length ? focusableElements[0] : null,
75
- last: focusableElements.length
76
- ? focusableElements[focusableElements.length - 1]
77
- : null,
78
- } as const;
79
- }
80
- }