@servicetitan/design-system 12.8.1 → 12.10.0-patch.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Button/Button.css +1 -1
- package/dist/components/Button/index.css +1 -1
- package/dist/components/Collapsible/Collapsible.js +3 -3
- package/dist/components/Collapsible/Collapsible.js.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts +13 -0
- package/dist/components/DatePicker/DatePicker.js +34 -12
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/DatePicker/InputDateMask.d.ts +1 -1
- package/dist/components/DatePicker/InputDateMask.js +13 -4
- package/dist/components/DatePicker/InputDateMask.js.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +85 -38
- package/dist/components/DateRangePicker/DateRangePicker.js +46 -30
- package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/components/DateRangePicker/DateRangePicker.test.js +2 -2
- package/dist/components/DateRangePicker/DateRangePicker.test.js.map +1 -1
- package/dist/components/DateRangePicker/components/DateRangeInput.d.ts +3 -3
- package/dist/components/DateRangePicker/components/DateRangeInput.js +9 -7
- package/dist/components/DateRangePicker/components/DateRangeInput.js.map +1 -1
- package/dist/components/Dialog/Dialog.d.ts +3 -3
- package/dist/components/Drawer/Drawer.d.ts +3 -3
- package/dist/components/Drawer/Drawer.js +11 -23
- package/dist/components/Drawer/Drawer.js.map +1 -1
- package/dist/components/Icon/Icon.css +1 -1
- package/dist/components/Icon/index.css +1 -1
- package/dist/components/Input/Input.js +3 -6
- package/dist/components/Input/Input.js.map +1 -1
- package/dist/components/KeyPressListener/KeyPressListener.d.ts +1 -0
- package/dist/components/KeyPressListener/KeyPressListener.js +8 -6
- package/dist/components/KeyPressListener/KeyPressListener.js.map +1 -1
- package/dist/components/Modal/Modal.d.ts +3 -3
- package/dist/components/Modal/Modal.js.map +1 -1
- package/dist/components/Modal/components.d.ts +3 -3
- package/dist/components/Modal/components.js +6 -18
- package/dist/components/Modal/components.js.map +1 -1
- package/dist/components/Popover/Popover.d.ts +3 -3
- package/dist/components/ProgressTracker/ProgressTracker.css +13 -1
- package/dist/components/ProgressTracker/ProgressTracker.css.map +1 -1
- package/dist/components/ProgressTracker/ProgressTracker.d.ts +6 -0
- package/dist/components/ProgressTracker/ProgressTracker.js +10 -2
- package/dist/components/ProgressTracker/ProgressTracker.js.map +1 -1
- package/dist/components/ProgressTracker/ProgressTrackerDivider.d.ts +1 -0
- package/dist/components/ProgressTracker/ProgressTrackerDivider.js +3 -1
- package/dist/components/ProgressTracker/ProgressTrackerDivider.js.map +1 -1
- package/dist/components/ProgressTracker/ProgressTrackerStep.css +73 -18
- package/dist/components/ProgressTracker/ProgressTrackerStep.css.map +1 -1
- package/dist/components/ProgressTracker/ProgressTrackerStep.d.ts +3 -0
- package/dist/components/ProgressTracker/ProgressTrackerStep.js +29 -7
- package/dist/components/ProgressTracker/ProgressTrackerStep.js.map +1 -1
- package/dist/components/ProgressTracker/index.css +86 -19
- package/dist/components/ProgressTracker/index.css.map +1 -1
- package/dist/components/Scroll/Scroll.css +6 -0
- package/dist/components/Scroll/Scroll.css.map +1 -1
- package/dist/components/Scroll/Scroll.js +7 -1
- package/dist/components/Scroll/Scroll.js.map +1 -1
- package/dist/components/Scroll/index.css +6 -0
- package/dist/components/Scroll/index.css.map +1 -1
- package/dist/components/SideNav/SideNav.css +10 -8
- package/dist/components/SideNav/SideNav.css.map +1 -1
- package/dist/components/SideNav/SideNav.js +13 -5
- package/dist/components/SideNav/SideNav.js.map +1 -1
- package/dist/components/SideNav/SideNavGroup.css +6 -2
- package/dist/components/SideNav/SideNavGroup.css.map +1 -1
- package/dist/components/SideNav/SideNavGroup.js +1 -1
- package/dist/components/SideNav/SideNavGroup.js.map +1 -1
- package/dist/components/SideNav/SideNavItem.css +92 -17
- package/dist/components/SideNav/SideNavItem.css.map +1 -1
- package/dist/components/SideNav/SideNavItem.d.ts +17 -4
- package/dist/components/SideNav/SideNavItem.js +105 -14
- package/dist/components/SideNav/SideNavItem.js.map +1 -1
- package/dist/components/SideNav/index.css +98 -19
- package/dist/components/SideNav/index.css.map +1 -1
- package/dist/components/Tab/Tab.js +1 -1
- package/dist/components/Tab/Tab.js.map +1 -1
- package/dist/components/Takeover/Takeover.d.ts +3 -3
- package/dist/components/Takeover/Takeover.js +9 -21
- package/dist/components/Takeover/Takeover.js.map +1 -1
- package/dist/components/TimePicker/TimePicker.js +10 -7
- package/dist/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/components/TimePicker/components/TimePickerOptionList.d.ts +1 -0
- package/dist/components/TimePicker/components/TimePickerOptionList.js +8 -2
- package/dist/components/TimePicker/components/TimePickerOptionList.js.map +1 -1
- package/dist/components/TimePicker/utils/getClosestOption.js +1 -1
- package/dist/components/TimePicker/utils/getClosestOption.js.map +1 -1
- package/dist/components/TimePicker/utils/utils.js +0 -1
- package/dist/components/TimePicker/utils/utils.js.map +1 -1
- package/dist/components/index.css +191 -39
- package/dist/components/index.css.map +1 -1
- package/dist/global/index.css +1 -1
- package/dist/global/version.css +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useFocusTrap/index.d.ts +1 -0
- package/dist/hooks/useFocusTrap/index.js +2 -0
- package/dist/hooks/useFocusTrap/index.js.map +1 -0
- package/dist/hooks/useFocusTrap/internal/index.d.ts +5 -0
- package/dist/hooks/useFocusTrap/internal/index.js +6 -0
- package/dist/hooks/useFocusTrap/internal/index.js.map +1 -0
- package/dist/hooks/useFocusTrap/internal/useAutoFocus.d.ts +6 -0
- package/dist/hooks/useFocusTrap/internal/useAutoFocus.js +23 -0
- package/dist/hooks/useFocusTrap/internal/useAutoFocus.js.map +1 -0
- package/dist/hooks/useFocusTrap/internal/useAutoFocusContainer.d.ts +11 -0
- package/dist/hooks/useFocusTrap/internal/useAutoFocusContainer.js +28 -0
- package/dist/hooks/useFocusTrap/internal/useAutoFocusContainer.js.map +1 -0
- package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.d.ts +9 -0
- package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.js +28 -0
- package/dist/hooks/useFocusTrap/internal/useDisableClickOutside.js.map +1 -0
- package/dist/hooks/useFocusTrap/internal/useFocusLock.d.ts +6 -0
- package/dist/hooks/useFocusTrap/internal/useFocusLock.js +39 -0
- package/dist/hooks/useFocusTrap/internal/useFocusLock.js.map +1 -0
- package/dist/hooks/useFocusTrap/internal/useRestoreFocus.d.ts +3 -0
- package/dist/hooks/useFocusTrap/internal/useRestoreFocus.js +12 -0
- package/dist/hooks/useFocusTrap/internal/useRestoreFocus.js.map +1 -0
- package/dist/hooks/useFocusTrap/internal/utils.d.ts +23 -0
- package/dist/hooks/useFocusTrap/internal/utils.js +161 -0
- package/dist/hooks/useFocusTrap/internal/utils.js.map +1 -0
- package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +37 -0
- package/dist/hooks/useFocusTrap/useFocusTrap.js +34 -0
- package/dist/hooks/useFocusTrap/useFocusTrap.js.map +1 -0
- package/dist/internal/CollapsibleList/CollapsibleContext.d.ts +9 -0
- package/dist/internal/CollapsibleList/CollapsibleContext.js +3 -0
- package/dist/internal/CollapsibleList/CollapsibleContext.js.map +1 -0
- package/dist/internal/CollapsibleList/CollapsibleList.css +9 -0
- package/dist/internal/CollapsibleList/CollapsibleList.css.map +1 -0
- package/dist/internal/CollapsibleList/CollapsibleList.d.ts +11 -0
- package/dist/internal/CollapsibleList/CollapsibleList.js +27 -0
- package/dist/internal/CollapsibleList/CollapsibleList.js.map +1 -0
- package/dist/internal/CollapsibleList/CollapsibleListItem.d.ts +11 -0
- package/dist/internal/CollapsibleList/CollapsibleListItem.js +60 -0
- package/dist/internal/CollapsibleList/CollapsibleListItem.js.map +1 -0
- package/dist/internal/CollapsibleList/index.css +9 -0
- package/dist/internal/CollapsibleList/index.css.map +1 -0
- package/dist/internal/CollapsibleList/index.d.ts +3 -0
- package/dist/internal/CollapsibleList/index.js +4 -0
- package/dist/internal/CollapsibleList/index.js.map +1 -0
- package/dist/internal/Popper/Popper.d.ts +3 -3
- package/dist/internal/Popper/Popper.js +9 -17
- package/dist/internal/Popper/Popper.js.map +1 -1
- package/dist/internal/index.css +8 -1
- package/dist/internal/index.css.map +1 -1
- package/dist/internal/index.d.ts +1 -0
- package/dist/internal/index.js +1 -0
- package/dist/internal/index.js.map +1 -1
- package/dist/system-light.css +8 -1
- package/dist/system-light.css.map +1 -1
- package/dist/system-light.min.css +1 -1
- package/dist/system.css +199 -40
- package/dist/system.css.map +1 -1
- package/dist/system.min.css +2 -2
- package/dist/utilities/index.d.ts +0 -1
- package/dist/utilities/index.js +0 -1
- package/dist/utilities/index.js.map +1 -1
- package/dist/utilities/keyCodes.d.ts +1 -1
- package/dist/utilities/keyCodes.js +1 -1
- package/dist/utilities/keyCodes.js.map +1 -1
- package/package.json +8 -8
- package/dist/utilities/FocusTrap/FocusTrap.d.ts +0 -8
- package/dist/utilities/FocusTrap/FocusTrap.js +0 -52
- package/dist/utilities/FocusTrap/FocusTrap.js.map +0 -1
- package/dist/utilities/FocusTrap/index.d.ts +0 -1
- package/dist/utilities/FocusTrap/index.js +0 -2
- package/dist/utilities/FocusTrap/index.js.map +0 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
export const focusableSelector = `button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])`;
|
|
2
|
+
export const priorityFocusableSelector = 'input, textarea';
|
|
3
|
+
const active = () => document === null || document === void 0 ? void 0 : document.activeElement;
|
|
4
|
+
export const getScope = (shards) => {
|
|
5
|
+
if (!shards)
|
|
6
|
+
return [];
|
|
7
|
+
return toArray(shards)
|
|
8
|
+
.map((el) => { var _a; return (_a = el.current) !== null && _a !== void 0 ? _a : el; })
|
|
9
|
+
.filter((el) => el instanceof HTMLElement);
|
|
10
|
+
};
|
|
11
|
+
const queryOnElement = (el, selector) => {
|
|
12
|
+
let result = [];
|
|
13
|
+
if (el.matches(selector))
|
|
14
|
+
result.push(el); // Return self if matches
|
|
15
|
+
const nodeList = el.querySelectorAll(selector);
|
|
16
|
+
if (nodeList.length > 0)
|
|
17
|
+
result = result.concat(Array.from(nodeList));
|
|
18
|
+
return result.length > 0 ? result : null;
|
|
19
|
+
};
|
|
20
|
+
export const queryOnScope = (scope, selector) => {
|
|
21
|
+
let targetElements = [];
|
|
22
|
+
scope instanceof Array
|
|
23
|
+
? (targetElements = scope)
|
|
24
|
+
: (targetElements = [scope]);
|
|
25
|
+
if (targetElements.length === 0)
|
|
26
|
+
return null;
|
|
27
|
+
targetElements = targetElements
|
|
28
|
+
.map((el) => queryOnElement(el, selector))
|
|
29
|
+
.flat()
|
|
30
|
+
.filter((el) => el);
|
|
31
|
+
if (targetElements.length === 0)
|
|
32
|
+
return null;
|
|
33
|
+
return targetElements;
|
|
34
|
+
};
|
|
35
|
+
export const getFocusables = (scope, selector = focusableSelector // Crucial thing
|
|
36
|
+
) => {
|
|
37
|
+
const focusables = queryOnScope(scope, selector);
|
|
38
|
+
if (!focusables || focusables.length === 0)
|
|
39
|
+
return { focusables: [], first: null, last: null };
|
|
40
|
+
const first = focusables[0];
|
|
41
|
+
const last = focusables[focusables.length - 1];
|
|
42
|
+
return { focusables, first, last };
|
|
43
|
+
};
|
|
44
|
+
export const isInside = (scope, target) => {
|
|
45
|
+
const scopeElement = scope.find((item) => item === null || item === void 0 ? void 0 : item.contains(target));
|
|
46
|
+
if (!scopeElement)
|
|
47
|
+
return false;
|
|
48
|
+
// Check if target element is inside another FocusTrap scope
|
|
49
|
+
if (isInsideNestedTrap(scopeElement, target))
|
|
50
|
+
return false;
|
|
51
|
+
return true;
|
|
52
|
+
};
|
|
53
|
+
const isInsideNestedTrap = (scopeElement, target) => {
|
|
54
|
+
let current = target;
|
|
55
|
+
let found = false;
|
|
56
|
+
// Check if some parent of active element has nested useFocusTrap marker
|
|
57
|
+
while (scopeElement.contains(current) && scopeElement !== current) {
|
|
58
|
+
if (current.hasAttribute('data-focus-locked')) {
|
|
59
|
+
found = true; // Nested scope found
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
current = current.parentElement;
|
|
63
|
+
}
|
|
64
|
+
return found;
|
|
65
|
+
};
|
|
66
|
+
export const tabIndexInside = (scope) => {
|
|
67
|
+
return getScope(scope).some((el) => getFocusables(el).focusables.some((e) => getTabIndex(e) > 0));
|
|
68
|
+
};
|
|
69
|
+
export const shardsUtils = (initialScope) => {
|
|
70
|
+
let currentShardIdx = 0;
|
|
71
|
+
const scope = toArray(initialScope);
|
|
72
|
+
scope.forEach((el, i) => {
|
|
73
|
+
if (el === null || el === void 0 ? void 0 : el.contains(active()))
|
|
74
|
+
currentShardIdx = i;
|
|
75
|
+
});
|
|
76
|
+
const nextShardIdx = nextIdx(scope, currentShardIdx);
|
|
77
|
+
const prevShardIdx = prevIdx(scope, currentShardIdx);
|
|
78
|
+
const current = getFocusables(scope[currentShardIdx]);
|
|
79
|
+
const next = getFocusables(scope[nextShardIdx]);
|
|
80
|
+
const prev = getFocusables(scope[prevShardIdx]);
|
|
81
|
+
return {
|
|
82
|
+
firstCurrentShard: current === null || current === void 0 ? void 0 : current.first,
|
|
83
|
+
lastCurrentShard: current === null || current === void 0 ? void 0 : current.last,
|
|
84
|
+
firstNextShard: next.first,
|
|
85
|
+
lastPrevShard: prev.last,
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export const focusNext = (scope, event) => {
|
|
89
|
+
const { first, last } = getFocusables(scope);
|
|
90
|
+
const shards = shardsUtils(scope);
|
|
91
|
+
if (active() === last) {
|
|
92
|
+
event === null || event === void 0 ? void 0 : event.preventDefault(); // Prevent focus on focusable outside of useFocusLock
|
|
93
|
+
first.focus();
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (active() === shards.lastCurrentShard) {
|
|
97
|
+
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
98
|
+
shards.firstNextShard.focus();
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
export const focusPrev = (scope, event) => {
|
|
102
|
+
const { first, last } = getFocusables(scope);
|
|
103
|
+
const shards = shardsUtils(scope);
|
|
104
|
+
if (active() === first) {
|
|
105
|
+
event === null || event === void 0 ? void 0 : event.preventDefault(); // Prevent focusing on focusable outside of useFocusLock scope
|
|
106
|
+
last.focus();
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (active() === shards.firstCurrentShard) {
|
|
110
|
+
event === null || event === void 0 ? void 0 : event.preventDefault();
|
|
111
|
+
shards.lastPrevShard.focus();
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
const toArray = (obj) => (obj instanceof Array ? obj : [obj]);
|
|
115
|
+
const prevIdx = (array, current) => {
|
|
116
|
+
if (current < 0)
|
|
117
|
+
return current;
|
|
118
|
+
return current === 0 ? array.length - 1 : current - 1;
|
|
119
|
+
};
|
|
120
|
+
const nextIdx = (array, current) => {
|
|
121
|
+
if (current < 0)
|
|
122
|
+
return current;
|
|
123
|
+
return current === array.length - 1 ? 0 : current + 1;
|
|
124
|
+
};
|
|
125
|
+
const getTabIndex = (el) => {
|
|
126
|
+
const idx = parseInt(el.getAttribute('tabIndex'), 10);
|
|
127
|
+
if (!idx)
|
|
128
|
+
return 0;
|
|
129
|
+
return idx;
|
|
130
|
+
};
|
|
131
|
+
// Focus on prev focusable if focusable was removed
|
|
132
|
+
const focusPrevOnUnmount = (el, scope) => {
|
|
133
|
+
const { focusables: f1 } = getFocusables(scope);
|
|
134
|
+
const idx = f1.indexOf(el);
|
|
135
|
+
const length1 = f1.length;
|
|
136
|
+
setTimeout(() => {
|
|
137
|
+
const { focusables: f2 } = getFocusables(scope);
|
|
138
|
+
if (document === null || document === void 0 ? void 0 : document.body.contains(el))
|
|
139
|
+
return;
|
|
140
|
+
if (f2.length === 0)
|
|
141
|
+
return;
|
|
142
|
+
if (length1 !== f2.length + 1)
|
|
143
|
+
return;
|
|
144
|
+
idx === 0 ? f2[f2.length - 1].focus() : f2[idx - 1].focus();
|
|
145
|
+
}, 10);
|
|
146
|
+
};
|
|
147
|
+
export const handleFocusablesUnmount = (scope) => {
|
|
148
|
+
const once = { once: true };
|
|
149
|
+
getFocusables(scope).focusables.forEach((el) => {
|
|
150
|
+
const handleBlur = () => focusPrevOnUnmount(el, scope);
|
|
151
|
+
el.removeEventListener('blur', handleBlur);
|
|
152
|
+
el.addEventListener('blur', handleBlur, once);
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
export const setFocusLockMarkers = (scope) => {
|
|
156
|
+
scope.forEach((el) => el.setAttribute('data-focus-locked', ''));
|
|
157
|
+
};
|
|
158
|
+
export const cleanFocusLockMarkers = (scope) => {
|
|
159
|
+
scope.forEach((el) => el.removeAttribute('data-focus-locked'));
|
|
160
|
+
};
|
|
161
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/hooks/useFocusTrap/internal/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare type FocusTrapShards = (HTMLElement | React.RefObject<HTMLElement> | React.MutableRefObject<HTMLElement>)[];
|
|
3
|
+
export interface UseFocusTrapProps {
|
|
4
|
+
/**
|
|
5
|
+
* Sets focus on first focusable element.
|
|
6
|
+
* Default is false.
|
|
7
|
+
*/
|
|
8
|
+
autoFocus?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Sets focus on container referenced within useFocusTrap.
|
|
11
|
+
* Default is false.
|
|
12
|
+
*
|
|
13
|
+
* Required to properly handle focus inside Modal, Drawer, etc.
|
|
14
|
+
* Executed before useAutoFocus hook, thus might be overriden by it.
|
|
15
|
+
*/
|
|
16
|
+
autoFocusContainer?: boolean;
|
|
17
|
+
/** Disables everything: focus lock, auto focus, restore focus, etc. */
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Prevents focus to move to another focusable element outside of useFocusTrap when clicked/tapped.
|
|
21
|
+
* Default is false.
|
|
22
|
+
*/
|
|
23
|
+
disableClickOutside?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Prevent user from from tabbing focus out of scope'ed elements
|
|
26
|
+
* Default is true.
|
|
27
|
+
*/
|
|
28
|
+
focusLock?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Disables restoring focus position on unmount.
|
|
31
|
+
* Default is true.
|
|
32
|
+
*/
|
|
33
|
+
restoreFocus?: boolean;
|
|
34
|
+
/** Array of refs or nodes, which useFocusTrap should consider as a part of it */
|
|
35
|
+
shards?: FocusTrapShards;
|
|
36
|
+
}
|
|
37
|
+
export declare const useFocusTrap: (props?: UseFocusTrapProps) => React.RefObject<any>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { useRef } from 'react';
|
|
13
|
+
import { useAutoFocus, useAutoFocusContainer, useRestoreFocus, useDisableClickOutside, useFocusLock, } from './internal';
|
|
14
|
+
export const useFocusTrap = (props = {}) => {
|
|
15
|
+
const { autoFocus = false, autoFocusContainer = false, disabled = false, disableClickOutside = false, focusLock = true, restoreFocus = true, shards = [] } = props, rest = __rest(props, ["autoFocus", "autoFocusContainer", "disabled", "disableClickOutside", "focusLock", "restoreFocus", "shards"]);
|
|
16
|
+
const focusTrapRef = useRef(null);
|
|
17
|
+
const scope = [focusTrapRef, ...shards];
|
|
18
|
+
useRestoreFocus({ enabled: !disabled && restoreFocus });
|
|
19
|
+
useAutoFocusContainer({
|
|
20
|
+
containerRef: focusTrapRef,
|
|
21
|
+
enabled: !disabled && autoFocusContainer,
|
|
22
|
+
});
|
|
23
|
+
useAutoFocus({
|
|
24
|
+
scope,
|
|
25
|
+
enabled: !disabled && autoFocus,
|
|
26
|
+
});
|
|
27
|
+
useDisableClickOutside(Object.assign({ scope, enabled: !disabled && disableClickOutside }, rest));
|
|
28
|
+
useFocusLock({
|
|
29
|
+
scope,
|
|
30
|
+
enabled: !disabled && focusLock,
|
|
31
|
+
});
|
|
32
|
+
return focusTrapRef;
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=useFocusTrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusTrap.js","sourceRoot":"","sources":["../../../src/hooks/useFocusTrap/useFocusTrap.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE/B,OAAO,EACN,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,YAAY,GACZ,MAAM,YAAY,CAAC;AAiDpB,MAAM,CAAC,MAAM,YAAY,GAAG,CAC3B,QAA2B,EAAE,EACN,EAAE;IACzB,MAAM,EACL,SAAS,GAAG,KAAK,EACjB,kBAAkB,GAAG,KAAK,EAC1B,QAAQ,GAAG,KAAK,EAChB,mBAAmB,GAAG,KAAK,EAC3B,SAAS,GAAG,IAAI,EAChB,YAAY,GAAG,IAAI,EACnB,MAAM,GAAG,EAAE,KAER,KAAK,EADL,IAAI,UACJ,KAAK,EATH,6GASL,CAAQ,CAAC;IACV,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAiC,CAAC;IAClE,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,CAAC;IAExC,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC,QAAQ,IAAI,YAAY,EAAE,CAAC,CAAC;IACxD,qBAAqB,CAAC;QACrB,YAAY,EAAE,YAAY;QAC1B,OAAO,EAAE,CAAC,QAAQ,IAAI,kBAAkB;KACxC,CAAC,CAAC;IACH,YAAY,CAAC;QACZ,KAAK;QACL,OAAO,EAAE,CAAC,QAAQ,IAAI,SAAS;KAC/B,CAAC,CAAC;IACH,sBAAsB,iBACrB,KAAK,EACL,OAAO,EAAE,CAAC,QAAQ,IAAI,mBAAmB,IACtC,IAAI,EACN,CAAC;IACH,YAAY,CAAC;QACZ,KAAK;QACL,OAAO,EAAE,CAAC,QAAQ,IAAI,SAAS;KAC/B,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface CollapsibleContextType {
|
|
3
|
+
animate?: boolean;
|
|
4
|
+
expanded?: boolean;
|
|
5
|
+
extractCollapsibleList?: boolean;
|
|
6
|
+
collapsibleRef?: React.RefObject<any>;
|
|
7
|
+
}
|
|
8
|
+
export declare const CollapsibleContext: React.Context<CollapsibleContextType>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleContext.js","sourceRoot":"","sources":["../../../src/internal/CollapsibleList/CollapsibleContext.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAS7C,MAAM,CAAC,MAAM,kBAAkB,GAC9B,aAAa,CAAyB,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* Hide element visually, keeping it focusable (with keyboard) and available for screen-readers */
|
|
2
|
+
.CollapsibleList {
|
|
3
|
+
/* Set color on root of component. It can be overridden after the @include */
|
|
4
|
+
color: var(--colorsTextDefault, #141414);
|
|
5
|
+
/* Make sure font-family goes across entire component */
|
|
6
|
+
font-family: "Nunito Sans", sans-serif;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/*# sourceMappingURL=CollapsibleList.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/internal/CollapsibleList/CollapsibleList.scss","../../../src/utilities/_component-reset.scss"],"names":[],"mappings":"AAAA;ACEA;ACDC;EACA;AAEA;EACA","file":"CollapsibleList.css"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { CollapsibleListItem } from './CollapsibleListItem';
|
|
3
|
+
export interface CollapsibleListProps {
|
|
4
|
+
className?: string;
|
|
5
|
+
el?: any;
|
|
6
|
+
}
|
|
7
|
+
export interface CollapsibleList extends FC<CollapsibleListProps> {
|
|
8
|
+
/** Subcomponents */
|
|
9
|
+
Item: typeof CollapsibleListItem;
|
|
10
|
+
}
|
|
11
|
+
export declare const CollapsibleList: CollapsibleList;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import classnames from 'classnames';
|
|
14
|
+
import { CollapsibleContext } from './CollapsibleContext';
|
|
15
|
+
import { CollapsibleListItem } from './CollapsibleListItem';
|
|
16
|
+
import { Collapsible } from '../../components/Collapsible/Collapsible';
|
|
17
|
+
export const CollapsibleList = (_a) => {
|
|
18
|
+
var { children, className, el: Element = 'ul' } = _a, rest = __rest(_a, ["children", "className", "el"]);
|
|
19
|
+
const ListClasses = classnames('CollapsibleList cursor-default', className);
|
|
20
|
+
const context = React.useContext(CollapsibleContext);
|
|
21
|
+
const withWrapper = (React.createElement(Element, Object.assign({ className: ListClasses, "data-anvil-component": "CollapsibleList" }, rest), children));
|
|
22
|
+
if (context)
|
|
23
|
+
return (React.createElement(Collapsible, { open: context.expanded, animate: context.animate, ref: context.collapsibleRef }, withWrapper));
|
|
24
|
+
return withWrapper;
|
|
25
|
+
};
|
|
26
|
+
CollapsibleList.Item = CollapsibleListItem;
|
|
27
|
+
//# sourceMappingURL=CollapsibleList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleList.js","sourceRoot":"","sources":["../../../src/internal/CollapsibleList/CollapsibleList.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAYvE,MAAM,CAAC,MAAM,eAAe,GAAoB,CAAC,EAKhD,EAAE,EAAE;QAL4C,EAChD,QAAQ,EACR,SAAS,EACT,EAAE,EAAE,OAAO,GAAG,IAAI,OAElB,EADG,IAAI,cAJyC,+BAKhD,CADO;IAEP,MAAM,WAAW,GAAG,UAAU,CAAC,gCAAgC,EAAE,SAAS,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,CACnB,oBAAC,OAAO,kBACP,SAAS,EAAE,WAAW,0BACD,iBAAiB,IAClC,IAAI,GAEP,QAAQ,CACA,CACV,CAAC;IAEF,IAAI,OAAO;QACV,OAAO,CACN,oBAAC,WAAW,IACX,IAAI,EAAE,OAAO,CAAC,QAAQ,EACtB,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,GAAG,EAAE,OAAO,CAAC,cAAc,IAE1B,WAAW,CACC,CACd,CAAC;IAEH,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AAEF,eAAe,CAAC,IAAI,GAAG,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
export interface CollapsibleListItemProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
el?: any;
|
|
5
|
+
collapsible?: {
|
|
6
|
+
expanded: boolean;
|
|
7
|
+
animate?: boolean;
|
|
8
|
+
extractCollapsibleList?: boolean;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export declare const CollapsibleListItem: FC<CollapsibleListItemProps>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import classnames from 'classnames';
|
|
14
|
+
import { CollapsibleContext } from './CollapsibleContext';
|
|
15
|
+
import { keys } from '../../utilities';
|
|
16
|
+
export const CollapsibleListItem = (_a) => {
|
|
17
|
+
var { children, className, collapsible, el: Element = 'li' } = _a, rest = __rest(_a, ["children", "className", "collapsible", "el"]);
|
|
18
|
+
const collapsibleItemRef = React.useRef(null);
|
|
19
|
+
const collapsibleListRef = React.useRef(null);
|
|
20
|
+
const [expanded, setExpanded] = React.useState((collapsible === null || collapsible === void 0 ? void 0 : collapsible.expanded) || false);
|
|
21
|
+
const ListItemClasses = classnames('CollapsibleListItem', className, {
|
|
22
|
+
'cursor-pointer': collapsible,
|
|
23
|
+
});
|
|
24
|
+
const handleClick = (e) => {
|
|
25
|
+
var _a;
|
|
26
|
+
if ((_a = collapsibleListRef === null || collapsibleListRef === void 0 ? void 0 : collapsibleListRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target))
|
|
27
|
+
return; // Prevent exapand/collapse on internal list items
|
|
28
|
+
const { onClick } = rest;
|
|
29
|
+
if (collapsible)
|
|
30
|
+
setExpanded(!expanded);
|
|
31
|
+
if (onClick)
|
|
32
|
+
onClick(e);
|
|
33
|
+
};
|
|
34
|
+
const handleKeyDown = (e) => {
|
|
35
|
+
switch (e.key) {
|
|
36
|
+
case keys.space:
|
|
37
|
+
case keys.enter:
|
|
38
|
+
e.preventDefault();
|
|
39
|
+
handleClick(e);
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
// Appends CollapsibleList as a last element if CollapsibleItem
|
|
44
|
+
const extract = (collapsible === null || collapsible === void 0 ? void 0 : collapsible.extractCollapsibleList) || false;
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
if (extract && (collapsibleListRef === null || collapsibleListRef === void 0 ? void 0 : collapsibleListRef.current))
|
|
47
|
+
collapsibleItemRef.current.append(collapsibleListRef.current);
|
|
48
|
+
}, [extract]);
|
|
49
|
+
const collapsibleContextValue = collapsible
|
|
50
|
+
? {
|
|
51
|
+
animate: collapsible.animate || true,
|
|
52
|
+
collapsibleRef: collapsibleListRef,
|
|
53
|
+
expanded,
|
|
54
|
+
extractCollapsibleList: collapsible.extractCollapsibleList || false,
|
|
55
|
+
}
|
|
56
|
+
: undefined;
|
|
57
|
+
return (React.createElement(CollapsibleContext.Provider, { value: collapsibleContextValue },
|
|
58
|
+
React.createElement(Element, Object.assign({ className: ListItemClasses, "data-anvil-component": "CollapsibleList", onClick: handleClick, onKeyDown: handleKeyDown, ref: collapsibleItemRef }, rest), children)));
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=CollapsibleListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleListItem.js","sourceRoot":"","sources":["../../../src/internal/CollapsibleList/CollapsibleListItem.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAa,MAAM,OAAO,CAAC;AAClC,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAYvC,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,EAMjE,EAAE,EAAE;QAN6D,EACjE,QAAQ,EACR,SAAS,EACT,WAAW,EACX,EAAE,EAAE,OAAO,GAAG,IAAI,OAElB,EADG,IAAI,cAL0D,8CAMjE,CADO;IAEP,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC7C,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,QAAQ,KAAI,KAAK,CAC9B,CAAC;IACF,MAAM,eAAe,GAAG,UAAU,CAAC,qBAAqB,EAAE,SAAS,EAAE;QACpE,gBAAgB,EAAE,WAAW;KAC7B,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,CAAoC,EAAE,EAAE;;QAC5D,IAAI,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,0CAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAAE,OAAO,CAAC,kDAAkD;QAE/G,MAAM,EAAE,OAAO,EAAE,GAAG,IAAW,CAAC;QAEhC,IAAI,WAAW;YAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,OAAO;YAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAmC,EAAE,EAAE;QAC7D,QAAQ,CAAC,CAAC,GAAG,EAAE;YACd,KAAK,IAAI,CAAC,KAAK,CAAC;YAChB,KAAK,IAAI,CAAC,KAAK;gBACd,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,WAAW,CAAC,CAAsC,CAAC,CAAC;gBACpD,MAAM;SACP;IACF,CAAC,CAAC;IAEF,+DAA+D;IAC/D,MAAM,OAAO,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,sBAAsB,KAAI,KAAK,CAAC;IAC7D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,OAAO,KAAI,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,CAAA;YACzC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,MAAM,uBAAuB,GAAG,WAAW;QAC1C,CAAC,CAAC;YACA,OAAO,EAAE,WAAW,CAAC,OAAO,IAAI,IAAI;YACpC,cAAc,EAAE,kBAAkB;YAClC,QAAQ;YACR,sBAAsB,EACrB,WAAW,CAAC,sBAAsB,IAAI,KAAK;SAC3C;QACH,CAAC,CAAC,SAAS,CAAC;IAEb,OAAO,CACN,oBAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,uBAAuB;QAC1D,oBAAC,OAAO,kBACP,SAAS,EAAE,eAAe,0BACL,iBAAiB,EACtC,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,aAAa,EACxB,GAAG,EAAE,kBAAkB,IACnB,IAAI,GAEP,QAAQ,CACA,CACmB,CAC9B,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* Hide element visually, keeping it focusable (with keyboard) and available for screen-readers */
|
|
2
|
+
.CollapsibleList {
|
|
3
|
+
/* Set color on root of component. It can be overridden after the @include */
|
|
4
|
+
color: var(--colorsTextDefault, #141414);
|
|
5
|
+
/* Make sure font-family goes across entire component */
|
|
6
|
+
font-family: "Nunito Sans", sans-serif;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/*# sourceMappingURL=index.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/internal/CollapsibleList/CollapsibleList.scss","../../../src/utilities/_component-reset.scss"],"names":[],"mappings":"AAAA;ACEA;ACDC;EACA;AAEA;EACA","file":"index.css"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/CollapsibleList/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { FC } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { UseFocusTrapProps } from '../../hooks/useFocusTrap';
|
|
3
3
|
import { MotionProps } from 'framer-motion';
|
|
4
4
|
export interface PopperPropsStrict {
|
|
5
5
|
/**
|
|
@@ -45,8 +45,8 @@ export interface PopperPropsStrict {
|
|
|
45
45
|
animation?: MotionProps;
|
|
46
46
|
/** offset ammount between popper and reference */
|
|
47
47
|
offset?: offset;
|
|
48
|
-
/** Options passed into
|
|
49
|
-
focusTrapOptions?:
|
|
48
|
+
/** Options passed into useFocusTrap */
|
|
49
|
+
focusTrapOptions?: UseFocusTrapProps;
|
|
50
50
|
}
|
|
51
51
|
export interface offset {
|
|
52
52
|
/** Displaces the popper along the reference element */
|
|
@@ -11,7 +11,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
11
11
|
};
|
|
12
12
|
import React, { useContext } from 'react';
|
|
13
13
|
import { usePopper } from 'react-popper';
|
|
14
|
-
import {
|
|
14
|
+
import { useFocusTrap } from '../../hooks/useFocusTrap';
|
|
15
15
|
import { OverlayContext, calculateZindex, } from '../../utilities/OverlayContext';
|
|
16
16
|
import { Portal } from '../Portal';
|
|
17
17
|
import classnames from 'classnames/dedupe';
|
|
@@ -19,7 +19,7 @@ import { useMergedRef } from '../../hooks/useMergedRef';
|
|
|
19
19
|
import { AnimatePresence, motion } from 'framer-motion';
|
|
20
20
|
export const Popper = React.forwardRef((_a, ref) => {
|
|
21
21
|
var _b;
|
|
22
|
-
var { autoFlipHorizontally = false, autoFlipVertically = false, 'el': PopperElement = 'div', width = 'auto', direction = 't', portal = false, children, className, onClickOutside, open, style = {}, trigger, bodyClassName, popperClassName, caret = { show: false }, animation, offset = { skidding: 0, distance: 0 }, focusTrapOptions, 'data-anvil-component': dataAnvilComponent } = _a, props = __rest(_a, ["autoFlipHorizontally", "autoFlipVertically", 'el', "width", "direction", "portal", "children", "className", "onClickOutside", "open", "style", "trigger", "bodyClassName", "popperClassName", "caret", "animation", "offset", "focusTrapOptions", 'data-anvil-component']);
|
|
22
|
+
var { autoFlipHorizontally = false, autoFlipVertically = false, 'el': PopperElement = 'div', width = 'auto', direction = 't', portal = false, children, className, onClickOutside, open, style = {}, trigger, bodyClassName, popperClassName, caret = { show: false }, animation, offset = { skidding: 0, distance: 0 }, focusTrapOptions, 'data-anvil-component': dataAnvilComponent = 'Popper' } = _a, props = __rest(_a, ["autoFlipHorizontally", "autoFlipVertically", 'el', "width", "direction", "portal", "children", "className", "onClickOutside", "open", "style", "trigger", "bodyClassName", "popperClassName", "caret", "animation", "offset", "focusTrapOptions", 'data-anvil-component']);
|
|
23
23
|
const [referenceElement, setReferenceElement] = React.useState(null);
|
|
24
24
|
const [popperElement, setPopperElement] = React.useState(null);
|
|
25
25
|
const localRef = React.useRef(null);
|
|
@@ -27,7 +27,8 @@ export const Popper = React.forwardRef((_a, ref) => {
|
|
|
27
27
|
const [arrowElement, setArrowElement] = React.useState(null);
|
|
28
28
|
const [scrollPosition, setScrollPosition] = React.useState(0);
|
|
29
29
|
const context = useContext(OverlayContext);
|
|
30
|
-
|
|
30
|
+
// Focus trapping
|
|
31
|
+
const focusTrapRef = useFocusTrap(Object.assign({ autoFocusContainer: true, disabled: !open }, focusTrapOptions));
|
|
31
32
|
const widthObserver = React.useMemo(() => ({
|
|
32
33
|
name: 'widthObserver',
|
|
33
34
|
enabled: width !== '100',
|
|
@@ -229,24 +230,15 @@ export const Popper = React.forwardRef((_a, ref) => {
|
|
|
229
230
|
type: 'easeInOut',
|
|
230
231
|
duration: 0.3,
|
|
231
232
|
} }, animation);
|
|
232
|
-
React.useEffect(() => {
|
|
233
|
-
// Removes wrapper to be focusable element after initial tab
|
|
234
|
-
function eventHandler(event) {
|
|
235
|
-
event.key === 'Tab' && setFocusWrapper(-1);
|
|
236
|
-
}
|
|
237
|
-
document.addEventListener('keydown', eventHandler);
|
|
238
|
-
return () => document.removeEventListener('keydown', eventHandler);
|
|
239
|
-
}, []);
|
|
240
233
|
return (React.createElement(PopperElement, Object.assign({ ref: popperRef, className: classnames(className), style: Object.assign({}, style) }, props),
|
|
241
234
|
React.createElement("div", { style: {
|
|
242
235
|
display: PopperElement === 'span' && 'inline-block',
|
|
243
236
|
}, ref: setReferenceElement }, trigger),
|
|
244
237
|
React.createElement(Portal, { conditional: portal },
|
|
245
|
-
React.createElement(OverlayContext.Provider, { value: context.concat('Popper') }, open && (React.createElement(
|
|
246
|
-
React.createElement(
|
|
247
|
-
React.createElement(
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
caret.show && (React.createElement("div", Object.assign({ ref: setArrowElement, className: classnames('Popper__caret', caret.className), style: styles.arrow }, attributes.popper))))))))))));
|
|
238
|
+
React.createElement(OverlayContext.Provider, { value: context.concat('Popper') }, open && (React.createElement("div", Object.assign({ ref: setPopperElement, className: classnames('Popper', popperClassName), style: Object.assign(Object.assign({}, styles.popper), { zIndex: calculateZindex(context) + 1 }), "data-anvil-component": dataAnvilComponent }, attributes.popper),
|
|
239
|
+
React.createElement(AnimatePresence, null,
|
|
240
|
+
React.createElement(motion.div, Object.assign({}, animations, { className: classnames('Popper__body', bodyClassName), ref: focusTrapRef }),
|
|
241
|
+
children,
|
|
242
|
+
caret.show && (React.createElement("div", Object.assign({ ref: setArrowElement, className: classnames('Popper__caret', caret.className), style: styles.arrow }, attributes.popper)))))))))));
|
|
251
243
|
});
|
|
252
244
|
//# sourceMappingURL=Popper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popper.js","sourceRoot":"","sources":["../../../src/internal/Popper/Popper.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAM,UAAU,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Popper.js","sourceRoot":"","sources":["../../../src/internal/Popper/Popper.tsx"],"names":[],"mappings":"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"}
|
package/dist/internal/index.css
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/* Hide element visually, keeping it focusable (with keyboard) and available for screen-readers */
|
|
2
|
+
.CollapsibleList {
|
|
3
|
+
/* Set color on root of component. It can be overridden after the @include */
|
|
4
|
+
color: var(--colorsTextDefault, #141414);
|
|
5
|
+
/* Make sure font-family goes across entire component */
|
|
6
|
+
font-family: "Nunito Sans", sans-serif;
|
|
7
|
+
}
|
|
8
|
+
|
|
1
9
|
.Overlay {
|
|
2
10
|
position: fixed;
|
|
3
11
|
top: 0;
|
|
@@ -15,7 +23,6 @@
|
|
|
15
23
|
pointer-events: auto;
|
|
16
24
|
}
|
|
17
25
|
|
|
18
|
-
/* Hide element visually, keeping it focusable (with keyboard) and available for screen-readers */
|
|
19
26
|
.Tooltip,
|
|
20
27
|
.Tooltip__body {
|
|
21
28
|
/* Set color on root of component. It can be overridden after the @include */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../src/
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../../src/utilities/_visually-hidden.scss","../../src/internal/CollapsibleList/CollapsibleList.scss","../../src/utilities/_component-reset.scss","../../src/internal/Overlay/Overlay.scss","../../node_modules/@servicetitan/tokens/core/tokens.scss","../../src/components/Tooltip/Tooltip.scss","../../src/internal/Popper/Popper.scss"],"names":[],"mappings":"AAAA;ACEA;ACDC;EACA;AAEA;EACA;;;ACHD;EACC;EACA;EACA;EACA;EACA;EACA,SC6IiB;ED5IjB;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AEgCF;AAAA;AH/CC;EACA;AAEA;EACA;;;AGgDD;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;;AAGC;EApED;EACA;EACA;;AAwEA;EA3DA;EACA,WD6Ga;EC5Gb,YArBY;EAsBZ,eDTiB;ECUjB,OAtBM;EAuBN;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SD8GiB;AC5GjB;AAAA;EAvBA;EACA;EACA;EACA;EACA;EACA;;AAoBA;EA2CA;IA1CC;;;;AAgDF;AACA;AACA;EAAgC;;;AAEhC;EACC;IAAK;;EACL;IAAO;;;AAIP;EACC,YA/FW;;;ACHZ;EAAU;;AAGV;EAAkB;;;AAGnB;EACC,QF0Hc;;AExHd;EAAY;;;AAGb;EACC;;AAEA;EAAY;;;AAGb;EACC,OF8Gc;;AE5Gd;EAAY;;;AAGb;EACC;;AAEA;EAAY;;;AAGb;EDjBC;EACA;EACA;EACA;EACA;EACA;ECeA;;AAEA;EACC;EACA;EACA,OFmFU;EElFV,QFkFU;EEjFV;EACA","file":"index.css"}
|
package/dist/internal/index.d.ts
CHANGED
package/dist/internal/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
|