@uncinc/uncinc-react-kitchen-sink 2.4.0 → 2.4.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.
- package/dist/Context/KitchenSinkComponentMapperContext.js +11 -3
- package/dist/Context/ViewportContext.js +27 -14
- package/dist/Context/withMapping.js +26 -15
- package/dist/components/AbbreviationAnnotation/index.js +49 -27
- package/dist/components/AbbreviationAnnotation/stories.js +32 -21
- package/dist/components/Accordion/AccordionItem/index.js +55 -36
- package/dist/components/Accordion/AccordionItemVariant/index.js +47 -25
- package/dist/components/Accordion/index.js +17 -10
- package/dist/components/Accordion/stories.js +38 -24
- package/dist/components/ApiAutocomplete/index.js +79 -51
- package/dist/components/ApiAutocomplete/stories.js +18 -9
- package/dist/components/Button/index.js +43 -33
- package/dist/components/Button/stories.js +52 -30
- package/dist/components/Cookie/Checkbox/index.js +23 -16
- package/dist/components/Cookie/index.js +146 -115
- package/dist/components/Cookie/stories.js +57 -39
- package/dist/components/Dialog/index.d.ts +38 -0
- package/dist/components/Dialog/index.js +63 -56
- package/dist/components/Dialog/stories.js +31 -17
- package/dist/components/FontSizeSwitcher/index.js +58 -32
- package/dist/components/FontSizeSwitcher/stories.js +23 -9
- package/dist/components/Form/Checkbox/index.js +43 -37
- package/dist/components/Form/Checkbox/stories.js +20 -11
- package/dist/components/Form/Checkboxes/index.js +62 -57
- package/dist/components/Form/Checkboxes/index.test.js +113 -62
- package/dist/components/Form/Checkboxes/stories.js +23 -12
- package/dist/components/Form/Date/index.js +13 -5
- package/dist/components/Form/Date/stories.js +18 -9
- package/dist/components/Form/DatePicker/index.js +39 -33
- package/dist/components/Form/DatePicker/stories.js +18 -9
- package/dist/components/Form/DateSelect/index.js +99 -62
- package/dist/components/Form/DateSelect/stories.js +32 -11
- package/dist/components/Form/Email/index.js +13 -5
- package/dist/components/Form/Email/stories.js +18 -9
- package/dist/components/Form/FormikWrapper/index.js +52 -45
- package/dist/components/Form/GenericFormElement/index.js +39 -34
- package/dist/components/Form/Number/index.js +23 -18
- package/dist/components/Form/Number/stories.js +18 -9
- package/dist/components/Form/RadioButtons/index.js +53 -49
- package/dist/components/Form/RadioButtons/index.test.js +106 -57
- package/dist/components/Form/RadioButtons/stories.js +23 -12
- package/dist/components/Form/SearchField/index.js +37 -30
- package/dist/components/Form/Select/Input/index.js +55 -49
- package/dist/components/Form/Select/index.js +32 -24
- package/dist/components/Form/Select/stories.js +25 -15
- package/dist/components/Form/TextField/index.js +38 -33
- package/dist/components/Form/TextField/index.test.js +104 -56
- package/dist/components/Form/TextField/stories.js +22 -11
- package/dist/components/Form/Textarea/index.js +34 -27
- package/dist/components/Form/Textarea/stories.js +18 -9
- package/dist/components/Hamburger/index.js +30 -19
- package/dist/components/Hamburger/stories.js +42 -16
- package/dist/components/Header/index.js +67 -39
- package/dist/components/Header/stories.js +48 -28
- package/dist/components/Image/Background/index.js +36 -21
- package/dist/components/Image/LazyLoadWrapper/index.js +101 -64
- package/dist/components/Image/Picture/index.js +83 -65
- package/dist/components/Image/index.js +21 -15
- package/dist/components/Image/stories.js +87 -64
- package/dist/components/InlineMenu/index.js +60 -38
- package/dist/components/InlineMenu/stories.js +66 -55
- package/dist/components/Layout/Container/index.js +29 -21
- package/dist/components/Layout/Container/stories.js +104 -83
- package/dist/components/Layout/QuickLayout/Auto/index.js +19 -12
- package/dist/components/Layout/QuickLayout/Center/index.js +17 -10
- package/dist/components/Layout/QuickLayout/Clamp/index.js +20 -13
- package/dist/components/Layout/QuickLayout/Sidebar/index.js +20 -13
- package/dist/components/Layout/QuickLayout/SpaceBetween/index.js +20 -13
- package/dist/components/Layout/QuickLayout/Stack/index.js +21 -11
- package/dist/components/Layout/QuickLayout/Wrap/index.js +21 -14
- package/dist/components/Layout/QuickLayout/index.js +31 -21
- package/dist/components/Layout/QuickLayout/stories.js +102 -70
- package/dist/components/Lottie/LottieAnimation/index.js +55 -56
- package/dist/components/Lottie/LottieAnimationWithMousePosition.js +31 -18
- package/dist/components/Lottie/index.js +47 -35
- package/dist/components/Lottie/stories.js +54 -31
- package/dist/components/MagicLine/index.js +50 -27
- package/dist/components/MagicLine/stories.js +60 -46
- package/dist/components/NavigationScroll/index.js +71 -49
- package/dist/components/NavigationScroll/stories.js +19 -8
- package/dist/components/Pagination/index.js +48 -41
- package/dist/components/Pagination/stories.js +51 -28
- package/dist/components/SearchKit/Facets/ChipFacet/index.js +24 -16
- package/dist/components/SearchKit/Facets/ListFacet/index.js +23 -15
- package/dist/components/SearchKit/Facets/SelectFacet/index.js +39 -30
- package/dist/components/SearchKit/Query/index.js +41 -23
- package/dist/components/SearchKit/SearchFacets/index.js +36 -23
- package/dist/components/SearchKit/SearchField/index.js +49 -25
- package/dist/components/SearchKit/SearchLoadMore/index.js +22 -15
- package/dist/components/SearchKit/SearchPage/index.js +22 -14
- package/dist/components/SearchKit/SearchPagination/index.js +17 -10
- package/dist/components/SearchKit/SearchReset/index.js +25 -16
- package/dist/components/SearchKit/SearchResults/index.js +108 -59
- package/dist/components/SearchKit/SearchSelectedFilters/Filters/CustomValue/index.js +17 -10
- package/dist/components/SearchKit/SearchSelectedFilters/Filters/DateRange/index.js +18 -11
- package/dist/components/SearchKit/SearchSelectedFilters/Filters/NumericRange/index.js +18 -11
- package/dist/components/SearchKit/SearchSelectedFilters/Filters/Value/index.js +22 -12
- package/dist/components/SearchKit/SearchSelectedFilters/index.js +34 -28
- package/dist/components/SearchKit/SearchSorting/index.js +29 -19
- package/dist/components/SearchKit/index.js +72 -53
- package/dist/components/SearchKit/stories.js +141 -186
- package/dist/components/Share/index.js +48 -40
- package/dist/components/Share/stories.js +16 -5
- package/dist/components/Sliders/SliderRelated/index.js +32 -25
- package/dist/components/Sliders/SliderRelated/stories.js +75 -57
- package/dist/components/Webform/WebformActions/index.js +19 -13
- package/dist/components/Webform/WebformCheckbox/index.js +32 -24
- package/dist/components/Webform/WebformCheckboxes/index.js +37 -29
- package/dist/components/Webform/WebformContainer/index.js +17 -11
- package/dist/components/Webform/WebformDate/index.js +76 -48
- package/dist/components/Webform/WebformMapper/index.js +53 -38
- package/dist/components/Webform/WebformNumber/index.js +31 -22
- package/dist/components/Webform/WebformRadioButtons/index.js +37 -29
- package/dist/components/Webform/WebformSelect/index.js +37 -29
- package/dist/components/Webform/WebformTextField/index.js +34 -26
- package/dist/components/Webform/WebformTextarea/index.js +32 -24
- package/dist/components/Webform/WebformWizardPage/index.js +56 -43
- package/dist/components/Webform/index.js +42 -20
- package/dist/components/Webform/stories.actions.js +19 -8
- package/dist/components/Webform/stories.checkboxes.js +19 -8
- package/dist/components/Webform/stories.checked.js +20 -9
- package/dist/components/Webform/stories.container.js +19 -8
- package/dist/components/Webform/stories.date.js +19 -8
- package/dist/components/Webform/stories.filled.js +20 -9
- package/dist/components/Webform/stories.number.js +19 -8
- package/dist/components/Webform/stories.radiobuttons.js +19 -8
- package/dist/components/Webform/stories.select.js +19 -8
- package/dist/components/Webform/stories.textarea.js +19 -8
- package/dist/components/Webform/stories.textfield.js +19 -8
- package/dist/components/Webform/stories.wizard.js +19 -8
- package/dist/components/Webform/withStates.js +49 -28
- package/dist/components/WysiwygField/index.js +30 -20
- package/dist/components/WysiwygField/stories.js +39 -29
- package/dist/components/index.js +111 -15
- package/dist/config/constants.js +38 -18
- package/dist/config/i18next/index.js +19 -11
- package/dist/helpers/date.js +13 -5
- package/dist/helpers/gtm.js +27 -17
- package/dist/helpers/link.js +15 -6
- package/dist/helpers/useValueForCurrentViewPort.js +27 -10
- package/dist/hooks/useBoolean.d.ts +8 -0
- package/dist/hooks/useBoolean.js +38 -0
- package/dist/hooks/useClickOutside.d.ts +8 -0
- package/dist/hooks/useClickOutside.js +35 -0
- package/dist/hooks/useDialog.d.ts +10 -0
- package/dist/hooks/useDialog.js +39 -0
- package/dist/hooks/useDialogHelpers.d.ts +20 -0
- package/dist/hooks/{useDialogHelpers.ts → useDialogHelpers.js} +33 -43
- package/dist/hooks/useEscape.d.ts +6 -0
- package/dist/hooks/useEscape.js +24 -0
- package/dist/hooks/useOnScreen.js +27 -6
- package/dist/hooks/usePrevious.js +10 -4
- package/dist/hooks/useScrollPosition.js +25 -7
- package/dist/hooks/useTrapFocus.d.ts +10 -0
- package/dist/hooks/useTrapFocus.js +63 -0
- package/dist/hooks/useWindowDimensions.js +27 -11
- package/dist/index.js +398 -56
- package/dist/setupTests.js +9 -5
- package/package.json +6 -3
- package/dist/hooks/useBoolean.ts +0 -20
- package/dist/hooks/useClickOutside.ts +0 -38
- package/dist/hooks/useDialog.ts +0 -29
- package/dist/hooks/useEscape.ts +0 -26
- package/dist/hooks/useTrapFocus.ts +0 -80
|
@@ -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
|
-
}
|