@serendie/ui 1.0.1 → 2.0.0-dev.202507172231
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/Accordion/Accordion.d.ts +1 -1
- package/dist/components/Banner/Banner.d.ts +1 -1
- package/dist/components/BottomNavigation/BottomNavigationItem.d.ts +1 -1
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Chart/SerendieChartProps.d.ts +40 -0
- package/dist/components/Chart/SerendieChartProps.js +127 -0
- package/dist/components/Chart/SerendieChartTheme.d.ts +2 -0
- package/dist/components/Chart/SerendieChartTheme.js +150 -0
- package/dist/components/Chart/chartData.d.ts +29 -0
- package/dist/components/Chart/index.d.ts +3 -0
- package/dist/components/Chart/index.js +15 -0
- package/dist/components/CheckBox/CheckBox.js +36 -35
- package/dist/components/ChoiceBox/ChoiceBox.d.ts +1 -3
- package/dist/components/ChoiceBox/ChoiceBox.js +54 -67
- package/dist/components/DataTable/DataTableComponent.d.ts +23 -0
- package/dist/components/DataTable/DataTableComponent.js +52 -0
- package/dist/components/DataTable/createColumnHelper.d.ts +2 -0
- package/dist/components/DataTable/createColumnHelper.js +5 -0
- package/dist/components/DataTable/index.d.ts +19 -0
- package/dist/components/DataTable/index.js +28 -0
- package/dist/components/DataTable/table/BodyCell.d.ts +55 -0
- package/dist/components/DataTable/table/BodyCell.js +127 -0
- package/dist/components/DataTable/table/BodyCheckbox.d.ts +4 -0
- package/dist/components/DataTable/table/BodyCheckbox.js +22 -0
- package/dist/components/DataTable/table/HeaderCell.d.ts +8 -0
- package/dist/components/DataTable/table/HeaderCell.js +79 -0
- package/dist/components/DataTable/table/HeaderCheckbox.d.ts +2 -0
- package/dist/components/DataTable/table/HeaderCheckbox.js +26 -0
- package/dist/components/DataTable/table/HeaderRow.d.ts +11 -0
- package/dist/components/DataTable/table/HeaderRow.js +40 -0
- package/dist/components/DataTable/table/Root.d.ts +5 -0
- package/dist/components/DataTable/table/Root.js +34 -0
- package/dist/components/DataTable/table/Row.d.ts +5 -0
- package/dist/components/DataTable/table/Row.js +90 -0
- package/dist/components/DataTable/table/Tbody.d.ts +1 -0
- package/dist/components/DataTable/table/Tbody.js +7 -0
- package/dist/components/DataTable/table/Thead.d.ts +1 -0
- package/dist/components/DataTable/table/Thead.js +7 -0
- package/dist/components/DataTable/table/Tr.d.ts +1 -0
- package/dist/components/DataTable/table/Tr.js +27 -0
- package/dist/components/DataTable/table/index.d.ts +10 -0
- package/dist/components/DataTable/table/index.js +22 -0
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +1 -1
- package/dist/components/IconButton/IconButton.d.ts +3 -3
- package/dist/components/Pagination/Pagination.d.ts +1 -1
- package/dist/components/RadioButton/RadioButton.d.ts +1 -1
- package/dist/components/Search/Search.d.ts +4 -2
- package/dist/components/Search/Search.js +34 -33
- package/dist/components/Select/Select.d.ts +2 -1
- package/dist/components/Select/Select.js +47 -41
- package/dist/components/Tabs/TabItem.d.ts +1 -1
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +109 -92
- package/dist/node_modules/@ark-ui/react/dist/components/accordion/accordion-item-content.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/accordion/accordion-item-indicator.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/accordion/accordion-item-trigger.js +10 -12
- package/dist/node_modules/@ark-ui/react/dist/components/accordion/accordion-item.js +16 -16
- package/dist/node_modules/@ark-ui/react/dist/components/accordion/use-accordion.js +13 -20
- package/dist/node_modules/@ark-ui/react/dist/components/avatar/avatar-root.js +1 -5
- package/dist/node_modules/@ark-ui/react/dist/components/avatar/use-avatar.js +14 -18
- package/dist/node_modules/@ark-ui/react/dist/components/checkbox/checkbox-hidden-input.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/checkbox/use-checkbox.js +22 -28
- package/dist/node_modules/@ark-ui/react/dist/components/collapsible/collapsible-content.js +7 -9
- package/dist/node_modules/@ark-ui/react/dist/components/collapsible/use-collapsible.js +14 -21
- package/dist/node_modules/@ark-ui/react/dist/components/collection/list-collection.js +5 -0
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/combobox-content.js +9 -8
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/combobox-item-group.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/combobox-positioner.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/combobox-root.js +17 -18
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/combobox-trigger.js +10 -9
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/use-combobox-item-context.js +5 -7
- package/dist/node_modules/@ark-ui/react/dist/components/combobox/use-combobox.js +21 -45
- package/dist/node_modules/@ark-ui/react/dist/components/dialog/dialog-backdrop.js +10 -9
- package/dist/node_modules/@ark-ui/react/dist/components/dialog/dialog-close-trigger.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/dialog/dialog-content.js +6 -5
- package/dist/node_modules/@ark-ui/react/dist/components/dialog/dialog-description.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/dialog/use-dialog.js +13 -22
- package/dist/node_modules/@ark-ui/react/dist/components/factory.js +26 -24
- package/dist/node_modules/@ark-ui/react/dist/components/menu/menu-content.js +9 -8
- package/dist/node_modules/@ark-ui/react/dist/components/menu/menu-item-group.js +1 -3
- package/dist/node_modules/@ark-ui/react/dist/components/menu/menu-item.js +15 -13
- package/dist/node_modules/@ark-ui/react/dist/components/menu/menu-root.js +13 -14
- package/dist/node_modules/@ark-ui/react/dist/components/menu/use-menu-option-item-props-context.js +10 -0
- package/dist/node_modules/@ark-ui/react/dist/components/menu/use-menu.js +14 -21
- package/dist/node_modules/@ark-ui/react/dist/components/pagination/pagination-ellipsis.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/pagination/pagination-next-trigger.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/pagination/pagination-prev-trigger.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/pagination/pagination-root.js +5 -4
- package/dist/node_modules/@ark-ui/react/dist/components/pagination/use-pagination.js +13 -19
- package/dist/node_modules/@ark-ui/react/dist/components/portal/portal.js +25 -16
- package/dist/node_modules/@ark-ui/react/dist/components/presence/split-presence-props.js +3 -2
- package/dist/node_modules/@ark-ui/react/dist/components/presence/use-presence.js +18 -18
- package/dist/node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-control.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item-text.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/radio-group/radio-group-item.js +1 -5
- package/dist/node_modules/@ark-ui/react/dist/components/radio-group/use-radio-group.js +14 -22
- package/dist/node_modules/@ark-ui/react/dist/components/select/select-content.js +9 -8
- package/dist/node_modules/@ark-ui/react/dist/components/select/select-root.js +11 -12
- package/dist/node_modules/@ark-ui/react/dist/components/select/use-select.js +20 -47
- package/dist/node_modules/@ark-ui/react/dist/components/switch/switch-hidden-input.js +4 -6
- package/dist/node_modules/@ark-ui/react/dist/components/switch/use-switch.js +20 -26
- package/dist/node_modules/@ark-ui/react/dist/components/tabs/tabs-root.js +9 -8
- package/dist/node_modules/@ark-ui/react/dist/components/tabs/use-tabs.js +14 -21
- package/dist/node_modules/@ark-ui/react/dist/components/toast/create-toaster.js +3 -7
- package/dist/node_modules/@ark-ui/react/dist/components/toast/toaster.js +28 -15
- package/dist/node_modules/@ark-ui/react/dist/utils/compose-refs.js +13 -7
- package/dist/node_modules/@floating-ui/core/dist/floating-ui.core.js +92 -90
- package/dist/node_modules/@floating-ui/dom/dist/floating-ui.dom.js +230 -216
- package/dist/node_modules/@tanstack/react-table/build/lib/index.js +100 -0
- package/dist/node_modules/@tanstack/table-core/build/lib/index.js +1741 -0
- package/dist/node_modules/@zag-js/accordion/dist/index.js +210 -227
- package/dist/node_modules/@zag-js/aria-hidden/dist/index.js +49 -12
- package/dist/node_modules/@zag-js/avatar/dist/index.js +119 -134
- package/dist/node_modules/@zag-js/checkbox/dist/index.js +196 -197
- package/dist/node_modules/@zag-js/collapsible/dist/index.js +250 -198
- package/dist/node_modules/@zag-js/collection/dist/index.js +172 -179
- package/dist/node_modules/@zag-js/combobox/dist/index.js +1176 -1082
- package/dist/node_modules/@zag-js/core/dist/index.js +77 -496
- package/dist/node_modules/@zag-js/dialog/dist/index.js +243 -270
- package/dist/node_modules/@zag-js/dismissable/dist/index.js +62 -60
- package/dist/node_modules/@zag-js/dom-query/dist/index.js +462 -255
- package/dist/node_modules/@zag-js/focus-trap/dist/index.js +307 -0
- package/dist/node_modules/@zag-js/focus-visible/dist/index.js +48 -47
- package/dist/node_modules/@zag-js/interact-outside/dist/index.js +112 -80
- package/dist/node_modules/@zag-js/menu/dist/index.js +998 -884
- package/dist/node_modules/@zag-js/pagination/dist/index.js +207 -213
- package/dist/node_modules/@zag-js/popper/dist/index.js +130 -129
- package/dist/node_modules/@zag-js/presence/dist/index.js +139 -122
- package/dist/node_modules/@zag-js/radio-group/dist/index.js +297 -302
- package/dist/node_modules/@zag-js/react/dist/index.js +255 -103
- package/dist/node_modules/@zag-js/remove-scroll/dist/index.js +18 -31
- package/dist/node_modules/@zag-js/select/dist/index.js +889 -885
- package/dist/node_modules/@zag-js/switch/dist/index.js +199 -191
- package/dist/node_modules/@zag-js/tabs/dist/index.js +383 -386
- package/dist/node_modules/@zag-js/toast/dist/index.js +646 -633
- package/dist/node_modules/@zag-js/types/dist/index.js +6 -6
- package/dist/node_modules/@zag-js/utils/dist/index.js +112 -99
- package/dist/styled-system/tokens/index.js +4758 -0
- package/dist/styles.css +1 -1
- package/dist/tokens/getToken.js +4 -4
- package/dist/utils/colors.d.ts +1 -0
- package/dist/utils/colors.js +12 -0
- package/package.json +10 -4
- package/dist/node_modules/@ark-ui/react/dist/utils/use-is-server.js +0 -10
- package/dist/node_modules/@zag-js/dom-event/dist/index.js +0 -130
- package/dist/node_modules/@zag-js/element-rect/dist/index.js +0 -32
- package/dist/node_modules/@zag-js/form-utils/dist/index.js +0 -51
- package/dist/node_modules/@zag-js/store/dist/index.js +0 -170
- package/dist/node_modules/aria-hidden/dist/es2015/index.js +0 -52
- package/dist/node_modules/focus-trap/dist/focus-trap.esm.js +0 -431
- package/dist/node_modules/klona/full/index.js +0 -21
- package/dist/node_modules/proxy-compare/dist/index.js +0 -109
- package/dist/node_modules/tabbable/dist/index.esm.js +0 -202
|
@@ -1,431 +0,0 @@
|
|
|
1
|
-
import { isFocusable as G, tabbable as ne, focusable as ae, isTabbable as T, getTabIndex as K } from "../../tabbable/dist/index.esm.js";
|
|
2
|
-
/*!
|
|
3
|
-
* focus-trap 7.6.0
|
|
4
|
-
* @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
|
|
5
|
-
*/
|
|
6
|
-
function re(u, n, o) {
|
|
7
|
-
return (n = oe(n)) in u ? Object.defineProperty(u, n, {
|
|
8
|
-
value: o,
|
|
9
|
-
enumerable: !0,
|
|
10
|
-
configurable: !0,
|
|
11
|
-
writable: !0
|
|
12
|
-
}) : u[n] = o, u;
|
|
13
|
-
}
|
|
14
|
-
function Q(u, n) {
|
|
15
|
-
var o = Object.keys(u);
|
|
16
|
-
if (Object.getOwnPropertySymbols) {
|
|
17
|
-
var i = Object.getOwnPropertySymbols(u);
|
|
18
|
-
n && (i = i.filter(function(m) {
|
|
19
|
-
return Object.getOwnPropertyDescriptor(u, m).enumerable;
|
|
20
|
-
})), o.push.apply(o, i);
|
|
21
|
-
}
|
|
22
|
-
return o;
|
|
23
|
-
}
|
|
24
|
-
function W(u) {
|
|
25
|
-
for (var n = 1; n < arguments.length; n++) {
|
|
26
|
-
var o = arguments[n] != null ? arguments[n] : {};
|
|
27
|
-
n % 2 ? Q(Object(o), !0).forEach(function(i) {
|
|
28
|
-
re(u, i, o[i]);
|
|
29
|
-
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(u, Object.getOwnPropertyDescriptors(o)) : Q(Object(o)).forEach(function(i) {
|
|
30
|
-
Object.defineProperty(u, i, Object.getOwnPropertyDescriptor(o, i));
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
return u;
|
|
34
|
-
}
|
|
35
|
-
function ie(u, n) {
|
|
36
|
-
if (typeof u != "object" || !u) return u;
|
|
37
|
-
var o = u[Symbol.toPrimitive];
|
|
38
|
-
if (o !== void 0) {
|
|
39
|
-
var i = o.call(u, n);
|
|
40
|
-
if (typeof i != "object") return i;
|
|
41
|
-
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
42
|
-
}
|
|
43
|
-
return (n === "string" ? String : Number)(u);
|
|
44
|
-
}
|
|
45
|
-
function oe(u) {
|
|
46
|
-
var n = ie(u, "string");
|
|
47
|
-
return typeof n == "symbol" ? n : n + "";
|
|
48
|
-
}
|
|
49
|
-
var X = {
|
|
50
|
-
activateTrap: function(n, o) {
|
|
51
|
-
if (n.length > 0) {
|
|
52
|
-
var i = n[n.length - 1];
|
|
53
|
-
i !== o && i.pause();
|
|
54
|
-
}
|
|
55
|
-
var m = n.indexOf(o);
|
|
56
|
-
m === -1 || n.splice(m, 1), n.push(o);
|
|
57
|
-
},
|
|
58
|
-
deactivateTrap: function(n, o) {
|
|
59
|
-
var i = n.indexOf(o);
|
|
60
|
-
i !== -1 && n.splice(i, 1), n.length > 0 && n[n.length - 1].unpause();
|
|
61
|
-
}
|
|
62
|
-
}, ue = function(n) {
|
|
63
|
-
return n.tagName && n.tagName.toLowerCase() === "input" && typeof n.select == "function";
|
|
64
|
-
}, se = function(n) {
|
|
65
|
-
return (n == null ? void 0 : n.key) === "Escape" || (n == null ? void 0 : n.key) === "Esc" || (n == null ? void 0 : n.keyCode) === 27;
|
|
66
|
-
}, B = function(n) {
|
|
67
|
-
return (n == null ? void 0 : n.key) === "Tab" || (n == null ? void 0 : n.keyCode) === 9;
|
|
68
|
-
}, ce = function(n) {
|
|
69
|
-
return B(n) && !n.shiftKey;
|
|
70
|
-
}, le = function(n) {
|
|
71
|
-
return B(n) && n.shiftKey;
|
|
72
|
-
}, Z = function(n) {
|
|
73
|
-
return setTimeout(n, 0);
|
|
74
|
-
}, _ = function(n, o) {
|
|
75
|
-
var i = -1;
|
|
76
|
-
return n.every(function(m, s) {
|
|
77
|
-
return o(m) ? (i = s, !1) : !0;
|
|
78
|
-
}), i;
|
|
79
|
-
}, L = function(n) {
|
|
80
|
-
for (var o = arguments.length, i = new Array(o > 1 ? o - 1 : 0), m = 1; m < o; m++)
|
|
81
|
-
i[m - 1] = arguments[m];
|
|
82
|
-
return typeof n == "function" ? n.apply(void 0, i) : n;
|
|
83
|
-
}, A = function(n) {
|
|
84
|
-
return n.target.shadowRoot && typeof n.composedPath == "function" ? n.composedPath()[0] : n.target;
|
|
85
|
-
}, fe = [], ve = function(n, o) {
|
|
86
|
-
var i = (o == null ? void 0 : o.document) || document, m = (o == null ? void 0 : o.trapStack) || fe, s = W({
|
|
87
|
-
returnFocusOnDeactivate: !0,
|
|
88
|
-
escapeDeactivates: !0,
|
|
89
|
-
delayInitialFocus: !0,
|
|
90
|
-
isKeyForward: ce,
|
|
91
|
-
isKeyBackward: le
|
|
92
|
-
}, o), a = {
|
|
93
|
-
// containers given to createFocusTrap()
|
|
94
|
-
// @type {Array<HTMLElement>}
|
|
95
|
-
containers: [],
|
|
96
|
-
// list of objects identifying tabbable nodes in `containers` in the trap
|
|
97
|
-
// NOTE: it's possible that a group has no tabbable nodes if nodes get removed while the trap
|
|
98
|
-
// is active, but the trap should never get to a state where there isn't at least one group
|
|
99
|
-
// with at least one tabbable node in it (that would lead to an error condition that would
|
|
100
|
-
// result in an error being thrown)
|
|
101
|
-
// @type {Array<{
|
|
102
|
-
// container: HTMLElement,
|
|
103
|
-
// tabbableNodes: Array<HTMLElement>, // empty if none
|
|
104
|
-
// focusableNodes: Array<HTMLElement>, // empty if none
|
|
105
|
-
// posTabIndexesFound: boolean,
|
|
106
|
-
// firstTabbableNode: HTMLElement|undefined,
|
|
107
|
-
// lastTabbableNode: HTMLElement|undefined,
|
|
108
|
-
// firstDomTabbableNode: HTMLElement|undefined,
|
|
109
|
-
// lastDomTabbableNode: HTMLElement|undefined,
|
|
110
|
-
// nextTabbableNode: (node: HTMLElement, forward: boolean) => HTMLElement|undefined
|
|
111
|
-
// }>}
|
|
112
|
-
containerGroups: [],
|
|
113
|
-
// same order/length as `containers` list
|
|
114
|
-
// references to objects in `containerGroups`, but only those that actually have
|
|
115
|
-
// tabbable nodes in them
|
|
116
|
-
// NOTE: same order as `containers` and `containerGroups`, but __not necessarily__
|
|
117
|
-
// the same length
|
|
118
|
-
tabbableGroups: [],
|
|
119
|
-
nodeFocusedBeforeActivation: null,
|
|
120
|
-
mostRecentlyFocusedNode: null,
|
|
121
|
-
active: !1,
|
|
122
|
-
paused: !1,
|
|
123
|
-
// timer ID for when delayInitialFocus is true and initial focus in this trap
|
|
124
|
-
// has been delayed during activation
|
|
125
|
-
delayInitialFocusTimer: void 0,
|
|
126
|
-
// the most recent KeyboardEvent for the configured nav key (typically [SHIFT+]TAB), if any
|
|
127
|
-
recentNavEvent: void 0
|
|
128
|
-
}, y, h = function(e, t, r) {
|
|
129
|
-
return e && e[t] !== void 0 ? e[t] : s[r || t];
|
|
130
|
-
}, F = function(e, t) {
|
|
131
|
-
var r = typeof (t == null ? void 0 : t.composedPath) == "function" ? t.composedPath() : void 0;
|
|
132
|
-
return a.containerGroups.findIndex(function(c) {
|
|
133
|
-
var l = c.container, d = c.tabbableNodes;
|
|
134
|
-
return l.contains(e) || // fall back to explicit tabbable search which will take into consideration any
|
|
135
|
-
// web components if the `tabbableOptions.getShadowRoot` option was used for
|
|
136
|
-
// the trap, enabling shadow DOM support in tabbable (`Node.contains()` doesn't
|
|
137
|
-
// look inside web components even if open)
|
|
138
|
-
(r == null ? void 0 : r.includes(l)) || d.find(function(v) {
|
|
139
|
-
return v === e;
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
}, E = function(e) {
|
|
143
|
-
var t = s[e];
|
|
144
|
-
if (typeof t == "function") {
|
|
145
|
-
for (var r = arguments.length, c = new Array(r > 1 ? r - 1 : 0), l = 1; l < r; l++)
|
|
146
|
-
c[l - 1] = arguments[l];
|
|
147
|
-
t = t.apply(void 0, c);
|
|
148
|
-
}
|
|
149
|
-
if (t === !0 && (t = void 0), !t) {
|
|
150
|
-
if (t === void 0 || t === !1)
|
|
151
|
-
return t;
|
|
152
|
-
throw new Error("`".concat(e, "` was specified but was not a node, or did not return a node"));
|
|
153
|
-
}
|
|
154
|
-
var d = t;
|
|
155
|
-
if (typeof t == "string" && (d = i.querySelector(t), !d))
|
|
156
|
-
throw new Error("`".concat(e, "` as selector refers to no known node"));
|
|
157
|
-
return d;
|
|
158
|
-
}, k = function() {
|
|
159
|
-
var e = E("initialFocus");
|
|
160
|
-
if (e === !1)
|
|
161
|
-
return !1;
|
|
162
|
-
if (e === void 0 || !G(e, s.tabbableOptions))
|
|
163
|
-
if (F(i.activeElement) >= 0)
|
|
164
|
-
e = i.activeElement;
|
|
165
|
-
else {
|
|
166
|
-
var t = a.tabbableGroups[0], r = t && t.firstTabbableNode;
|
|
167
|
-
e = r || E("fallbackFocus");
|
|
168
|
-
}
|
|
169
|
-
if (!e)
|
|
170
|
-
throw new Error("Your focus-trap needs to have at least one focusable element");
|
|
171
|
-
return e;
|
|
172
|
-
}, P = function() {
|
|
173
|
-
if (a.containerGroups = a.containers.map(function(e) {
|
|
174
|
-
var t = ne(e, s.tabbableOptions), r = ae(e, s.tabbableOptions), c = t.length > 0 ? t[0] : void 0, l = t.length > 0 ? t[t.length - 1] : void 0, d = r.find(function(b) {
|
|
175
|
-
return T(b);
|
|
176
|
-
}), v = r.slice().reverse().find(function(b) {
|
|
177
|
-
return T(b);
|
|
178
|
-
}), p = !!t.find(function(b) {
|
|
179
|
-
return K(b) > 0;
|
|
180
|
-
});
|
|
181
|
-
return {
|
|
182
|
-
container: e,
|
|
183
|
-
tabbableNodes: t,
|
|
184
|
-
focusableNodes: r,
|
|
185
|
-
/** True if at least one node with positive `tabindex` was found in this container. */
|
|
186
|
-
posTabIndexesFound: p,
|
|
187
|
-
/** First tabbable node in container, __tabindex__ order; `undefined` if none. */
|
|
188
|
-
firstTabbableNode: c,
|
|
189
|
-
/** Last tabbable node in container, __tabindex__ order; `undefined` if none. */
|
|
190
|
-
lastTabbableNode: l,
|
|
191
|
-
// NOTE: DOM order is NOT NECESSARILY "document position" order, but figuring that out
|
|
192
|
-
// would require more than just https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition
|
|
193
|
-
// because that API doesn't work with Shadow DOM as well as it should (@see
|
|
194
|
-
// https://github.com/whatwg/dom/issues/320) and since this first/last is only needed, so far,
|
|
195
|
-
// to address an edge case related to positive tabindex support, this seems like a much easier,
|
|
196
|
-
// "close enough most of the time" alternative for positive tabindexes which should generally
|
|
197
|
-
// be avoided anyway...
|
|
198
|
-
/** First tabbable node in container, __DOM__ order; `undefined` if none. */
|
|
199
|
-
firstDomTabbableNode: d,
|
|
200
|
-
/** Last tabbable node in container, __DOM__ order; `undefined` if none. */
|
|
201
|
-
lastDomTabbableNode: v,
|
|
202
|
-
/**
|
|
203
|
-
* Finds the __tabbable__ node that follows the given node in the specified direction,
|
|
204
|
-
* in this container, if any.
|
|
205
|
-
* @param {HTMLElement} node
|
|
206
|
-
* @param {boolean} [forward] True if going in forward tab order; false if going
|
|
207
|
-
* in reverse.
|
|
208
|
-
* @returns {HTMLElement|undefined} The next tabbable node, if any.
|
|
209
|
-
*/
|
|
210
|
-
nextTabbableNode: function(N) {
|
|
211
|
-
var O = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !0, w = t.indexOf(N);
|
|
212
|
-
return w < 0 ? O ? r.slice(r.indexOf(N) + 1).find(function(R) {
|
|
213
|
-
return T(R);
|
|
214
|
-
}) : r.slice(0, r.indexOf(N)).reverse().find(function(R) {
|
|
215
|
-
return T(R);
|
|
216
|
-
}) : t[w + (O ? 1 : -1)];
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
}), a.tabbableGroups = a.containerGroups.filter(function(e) {
|
|
220
|
-
return e.tabbableNodes.length > 0;
|
|
221
|
-
}), a.tabbableGroups.length <= 0 && !E("fallbackFocus"))
|
|
222
|
-
throw new Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");
|
|
223
|
-
if (a.containerGroups.find(function(e) {
|
|
224
|
-
return e.posTabIndexesFound;
|
|
225
|
-
}) && a.containerGroups.length > 1)
|
|
226
|
-
throw new Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.");
|
|
227
|
-
}, S = function(e) {
|
|
228
|
-
var t = e.activeElement;
|
|
229
|
-
if (t)
|
|
230
|
-
return t.shadowRoot && t.shadowRoot.activeElement !== null ? S(t.shadowRoot) : t;
|
|
231
|
-
}, g = function(e) {
|
|
232
|
-
if (e !== !1 && e !== S(document)) {
|
|
233
|
-
if (!e || !e.focus) {
|
|
234
|
-
g(k());
|
|
235
|
-
return;
|
|
236
|
-
}
|
|
237
|
-
e.focus({
|
|
238
|
-
preventScroll: !!s.preventScroll
|
|
239
|
-
}), a.mostRecentlyFocusedNode = e, ue(e) && e.select();
|
|
240
|
-
}
|
|
241
|
-
}, U = function(e) {
|
|
242
|
-
var t = E("setReturnFocus", e);
|
|
243
|
-
return t || (t === !1 ? !1 : e);
|
|
244
|
-
}, q = function(e) {
|
|
245
|
-
var t = e.target, r = e.event, c = e.isBackward, l = c === void 0 ? !1 : c;
|
|
246
|
-
t = t || A(r), P();
|
|
247
|
-
var d = null;
|
|
248
|
-
if (a.tabbableGroups.length > 0) {
|
|
249
|
-
var v = F(t, r), p = v >= 0 ? a.containerGroups[v] : void 0;
|
|
250
|
-
if (v < 0)
|
|
251
|
-
l ? d = a.tabbableGroups[a.tabbableGroups.length - 1].lastTabbableNode : d = a.tabbableGroups[0].firstTabbableNode;
|
|
252
|
-
else if (l) {
|
|
253
|
-
var b = _(a.tabbableGroups, function(I) {
|
|
254
|
-
var x = I.firstTabbableNode;
|
|
255
|
-
return t === x;
|
|
256
|
-
});
|
|
257
|
-
if (b < 0 && (p.container === t || G(t, s.tabbableOptions) && !T(t, s.tabbableOptions) && !p.nextTabbableNode(t, !1)) && (b = v), b >= 0) {
|
|
258
|
-
var N = b === 0 ? a.tabbableGroups.length - 1 : b - 1, O = a.tabbableGroups[N];
|
|
259
|
-
d = K(t) >= 0 ? O.lastTabbableNode : O.lastDomTabbableNode;
|
|
260
|
-
} else B(r) || (d = p.nextTabbableNode(t, !1));
|
|
261
|
-
} else {
|
|
262
|
-
var w = _(a.tabbableGroups, function(I) {
|
|
263
|
-
var x = I.lastTabbableNode;
|
|
264
|
-
return t === x;
|
|
265
|
-
});
|
|
266
|
-
if (w < 0 && (p.container === t || G(t, s.tabbableOptions) && !T(t, s.tabbableOptions) && !p.nextTabbableNode(t)) && (w = v), w >= 0) {
|
|
267
|
-
var R = w === a.tabbableGroups.length - 1 ? 0 : w + 1, J = a.tabbableGroups[R];
|
|
268
|
-
d = K(t) >= 0 ? J.firstTabbableNode : J.firstDomTabbableNode;
|
|
269
|
-
} else B(r) || (d = p.nextTabbableNode(t));
|
|
270
|
-
}
|
|
271
|
-
} else
|
|
272
|
-
d = E("fallbackFocus");
|
|
273
|
-
return d;
|
|
274
|
-
}, j = function(e) {
|
|
275
|
-
var t = A(e);
|
|
276
|
-
if (!(F(t, e) >= 0)) {
|
|
277
|
-
if (L(s.clickOutsideDeactivates, e)) {
|
|
278
|
-
y.deactivate({
|
|
279
|
-
// NOTE: by setting `returnFocus: false`, deactivate() will do nothing,
|
|
280
|
-
// which will result in the outside click setting focus to the node
|
|
281
|
-
// that was clicked (and if not focusable, to "nothing"); by setting
|
|
282
|
-
// `returnFocus: true`, we'll attempt to re-focus the node originally-focused
|
|
283
|
-
// on activation (or the configured `setReturnFocus` node), whether the
|
|
284
|
-
// outside click was on a focusable node or not
|
|
285
|
-
returnFocus: s.returnFocusOnDeactivate
|
|
286
|
-
});
|
|
287
|
-
return;
|
|
288
|
-
}
|
|
289
|
-
L(s.allowOutsideClick, e) || e.preventDefault();
|
|
290
|
-
}
|
|
291
|
-
}, H = function(e) {
|
|
292
|
-
var t = A(e), r = F(t, e) >= 0;
|
|
293
|
-
if (r || t instanceof Document)
|
|
294
|
-
r && (a.mostRecentlyFocusedNode = t);
|
|
295
|
-
else {
|
|
296
|
-
e.stopImmediatePropagation();
|
|
297
|
-
var c, l = !0;
|
|
298
|
-
if (a.mostRecentlyFocusedNode)
|
|
299
|
-
if (K(a.mostRecentlyFocusedNode) > 0) {
|
|
300
|
-
var d = F(a.mostRecentlyFocusedNode), v = a.containerGroups[d].tabbableNodes;
|
|
301
|
-
if (v.length > 0) {
|
|
302
|
-
var p = v.findIndex(function(b) {
|
|
303
|
-
return b === a.mostRecentlyFocusedNode;
|
|
304
|
-
});
|
|
305
|
-
p >= 0 && (s.isKeyForward(a.recentNavEvent) ? p + 1 < v.length && (c = v[p + 1], l = !1) : p - 1 >= 0 && (c = v[p - 1], l = !1));
|
|
306
|
-
}
|
|
307
|
-
} else
|
|
308
|
-
a.containerGroups.some(function(b) {
|
|
309
|
-
return b.tabbableNodes.some(function(N) {
|
|
310
|
-
return K(N) > 0;
|
|
311
|
-
});
|
|
312
|
-
}) || (l = !1);
|
|
313
|
-
else
|
|
314
|
-
l = !1;
|
|
315
|
-
l && (c = q({
|
|
316
|
-
// move FROM the MRU node, not event-related node (which will be the node that is
|
|
317
|
-
// outside the trap causing the focus escape we're trying to fix)
|
|
318
|
-
target: a.mostRecentlyFocusedNode,
|
|
319
|
-
isBackward: s.isKeyBackward(a.recentNavEvent)
|
|
320
|
-
})), g(c || a.mostRecentlyFocusedNode || k());
|
|
321
|
-
}
|
|
322
|
-
a.recentNavEvent = void 0;
|
|
323
|
-
}, ee = function(e) {
|
|
324
|
-
var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : !1;
|
|
325
|
-
a.recentNavEvent = e;
|
|
326
|
-
var r = q({
|
|
327
|
-
event: e,
|
|
328
|
-
isBackward: t
|
|
329
|
-
});
|
|
330
|
-
r && (B(e) && e.preventDefault(), g(r));
|
|
331
|
-
}, M = function(e) {
|
|
332
|
-
(s.isKeyForward(e) || s.isKeyBackward(e)) && ee(e, s.isKeyBackward(e));
|
|
333
|
-
}, Y = function(e) {
|
|
334
|
-
se(e) && L(s.escapeDeactivates, e) !== !1 && (e.preventDefault(), y.deactivate());
|
|
335
|
-
}, V = function(e) {
|
|
336
|
-
var t = A(e);
|
|
337
|
-
F(t, e) >= 0 || L(s.clickOutsideDeactivates, e) || L(s.allowOutsideClick, e) || (e.preventDefault(), e.stopImmediatePropagation());
|
|
338
|
-
}, $ = function() {
|
|
339
|
-
if (a.active)
|
|
340
|
-
return X.activateTrap(m, y), a.delayInitialFocusTimer = s.delayInitialFocus ? Z(function() {
|
|
341
|
-
g(k());
|
|
342
|
-
}) : g(k()), i.addEventListener("focusin", H, !0), i.addEventListener("mousedown", j, {
|
|
343
|
-
capture: !0,
|
|
344
|
-
passive: !1
|
|
345
|
-
}), i.addEventListener("touchstart", j, {
|
|
346
|
-
capture: !0,
|
|
347
|
-
passive: !1
|
|
348
|
-
}), i.addEventListener("click", V, {
|
|
349
|
-
capture: !0,
|
|
350
|
-
passive: !1
|
|
351
|
-
}), i.addEventListener("keydown", M, {
|
|
352
|
-
capture: !0,
|
|
353
|
-
passive: !1
|
|
354
|
-
}), i.addEventListener("keydown", Y), y;
|
|
355
|
-
}, z = function() {
|
|
356
|
-
if (a.active)
|
|
357
|
-
return i.removeEventListener("focusin", H, !0), i.removeEventListener("mousedown", j, !0), i.removeEventListener("touchstart", j, !0), i.removeEventListener("click", V, !0), i.removeEventListener("keydown", M, !0), i.removeEventListener("keydown", Y), y;
|
|
358
|
-
}, te = function(e) {
|
|
359
|
-
var t = e.some(function(r) {
|
|
360
|
-
var c = Array.from(r.removedNodes);
|
|
361
|
-
return c.some(function(l) {
|
|
362
|
-
return l === a.mostRecentlyFocusedNode;
|
|
363
|
-
});
|
|
364
|
-
});
|
|
365
|
-
t && g(k());
|
|
366
|
-
}, C = typeof window < "u" && "MutationObserver" in window ? new MutationObserver(te) : void 0, D = function() {
|
|
367
|
-
C && (C.disconnect(), a.active && !a.paused && a.containers.map(function(e) {
|
|
368
|
-
C.observe(e, {
|
|
369
|
-
subtree: !0,
|
|
370
|
-
childList: !0
|
|
371
|
-
});
|
|
372
|
-
}));
|
|
373
|
-
};
|
|
374
|
-
return y = {
|
|
375
|
-
get active() {
|
|
376
|
-
return a.active;
|
|
377
|
-
},
|
|
378
|
-
get paused() {
|
|
379
|
-
return a.paused;
|
|
380
|
-
},
|
|
381
|
-
activate: function(e) {
|
|
382
|
-
if (a.active)
|
|
383
|
-
return this;
|
|
384
|
-
var t = h(e, "onActivate"), r = h(e, "onPostActivate"), c = h(e, "checkCanFocusTrap");
|
|
385
|
-
c || P(), a.active = !0, a.paused = !1, a.nodeFocusedBeforeActivation = i.activeElement, t == null || t();
|
|
386
|
-
var l = function() {
|
|
387
|
-
c && P(), $(), D(), r == null || r();
|
|
388
|
-
};
|
|
389
|
-
return c ? (c(a.containers.concat()).then(l, l), this) : (l(), this);
|
|
390
|
-
},
|
|
391
|
-
deactivate: function(e) {
|
|
392
|
-
if (!a.active)
|
|
393
|
-
return this;
|
|
394
|
-
var t = W({
|
|
395
|
-
onDeactivate: s.onDeactivate,
|
|
396
|
-
onPostDeactivate: s.onPostDeactivate,
|
|
397
|
-
checkCanReturnFocus: s.checkCanReturnFocus
|
|
398
|
-
}, e);
|
|
399
|
-
clearTimeout(a.delayInitialFocusTimer), a.delayInitialFocusTimer = void 0, z(), a.active = !1, a.paused = !1, D(), X.deactivateTrap(m, y);
|
|
400
|
-
var r = h(t, "onDeactivate"), c = h(t, "onPostDeactivate"), l = h(t, "checkCanReturnFocus"), d = h(t, "returnFocus", "returnFocusOnDeactivate");
|
|
401
|
-
r == null || r();
|
|
402
|
-
var v = function() {
|
|
403
|
-
Z(function() {
|
|
404
|
-
d && g(U(a.nodeFocusedBeforeActivation)), c == null || c();
|
|
405
|
-
});
|
|
406
|
-
};
|
|
407
|
-
return d && l ? (l(U(a.nodeFocusedBeforeActivation)).then(v, v), this) : (v(), this);
|
|
408
|
-
},
|
|
409
|
-
pause: function(e) {
|
|
410
|
-
if (a.paused || !a.active)
|
|
411
|
-
return this;
|
|
412
|
-
var t = h(e, "onPause"), r = h(e, "onPostPause");
|
|
413
|
-
return a.paused = !0, t == null || t(), z(), D(), r == null || r(), this;
|
|
414
|
-
},
|
|
415
|
-
unpause: function(e) {
|
|
416
|
-
if (!a.paused || !a.active)
|
|
417
|
-
return this;
|
|
418
|
-
var t = h(e, "onUnpause"), r = h(e, "onPostUnpause");
|
|
419
|
-
return a.paused = !1, t == null || t(), P(), $(), D(), r == null || r(), this;
|
|
420
|
-
},
|
|
421
|
-
updateContainerElements: function(e) {
|
|
422
|
-
var t = [].concat(e).filter(Boolean);
|
|
423
|
-
return a.containers = t.map(function(r) {
|
|
424
|
-
return typeof r == "string" ? i.querySelector(r) : r;
|
|
425
|
-
}), a.active && P(), D(), this;
|
|
426
|
-
}
|
|
427
|
-
}, y.updateContainerElements(n), y;
|
|
428
|
-
};
|
|
429
|
-
export {
|
|
430
|
-
ve as createFocusTrap
|
|
431
|
-
};
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
function s(e, o, r) {
|
|
2
|
-
typeof r.value == "object" && (r.value = f(r.value)), !r.enumerable || r.get || r.set || !r.configurable || !r.writable || o === "__proto__" ? Object.defineProperty(e, o, r) : e[o] = r.value;
|
|
3
|
-
}
|
|
4
|
-
function f(e) {
|
|
5
|
-
if (typeof e != "object") return e;
|
|
6
|
-
var o = 0, r, n, t, c = Object.prototype.toString.call(e);
|
|
7
|
-
if (c === "[object Object]" ? t = Object.create(e.__proto__ || null) : c === "[object Array]" ? t = Array(e.length) : c === "[object Set]" ? (t = /* @__PURE__ */ new Set(), e.forEach(function(i) {
|
|
8
|
-
t.add(f(i));
|
|
9
|
-
})) : c === "[object Map]" ? (t = /* @__PURE__ */ new Map(), e.forEach(function(i, b) {
|
|
10
|
-
t.set(f(b), f(i));
|
|
11
|
-
})) : c === "[object Date]" ? t = /* @__PURE__ */ new Date(+e) : c === "[object RegExp]" ? t = new RegExp(e.source, e.flags) : c === "[object DataView]" ? t = new e.constructor(f(e.buffer)) : c === "[object ArrayBuffer]" ? t = e.slice(0) : c.slice(-6) === "Array]" && (t = new e.constructor(e)), t) {
|
|
12
|
-
for (n = Object.getOwnPropertySymbols(e); o < n.length; o++)
|
|
13
|
-
s(t, n[o], Object.getOwnPropertyDescriptor(e, n[o]));
|
|
14
|
-
for (o = 0, n = Object.getOwnPropertyNames(e); o < n.length; o++)
|
|
15
|
-
Object.hasOwnProperty.call(t, r = n[o]) && t[r] === e[r] || s(t, r, Object.getOwnPropertyDescriptor(e, r));
|
|
16
|
-
}
|
|
17
|
-
return t || e;
|
|
18
|
-
}
|
|
19
|
-
export {
|
|
20
|
-
f as klona
|
|
21
|
-
};
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
const k = Symbol(), O = Symbol(), u = "a", d = "f", _ = "p", A = "c", Y = "t", a = "n", T = "g", w = "h", R = "w", K = "o", p = "k";
|
|
2
|
-
let m = (t, r) => new Proxy(t, r);
|
|
3
|
-
const E = Object.getPrototypeOf, g = /* @__PURE__ */ new WeakMap(), S = (t) => t && (g.has(t) ? g.get(t) : E(t) === Object.prototype || E(t) === Array.prototype), y = (t) => typeof t == "object" && t !== null, H = (t) => Object.values(Object.getOwnPropertyDescriptors(t)).some((r) => !r.configurable && !r.writable), N = (t) => {
|
|
4
|
-
if (Array.isArray(t))
|
|
5
|
-
return Array.from(t);
|
|
6
|
-
const r = Object.getOwnPropertyDescriptors(t);
|
|
7
|
-
return Object.values(r).forEach((s) => {
|
|
8
|
-
s.configurable = !0;
|
|
9
|
-
}), Object.create(E(t), r);
|
|
10
|
-
}, G = (t, r) => {
|
|
11
|
-
const s = {
|
|
12
|
-
[d]: r
|
|
13
|
-
};
|
|
14
|
-
let o = !1;
|
|
15
|
-
const l = (e, c) => {
|
|
16
|
-
if (!o) {
|
|
17
|
-
let i = s[u].get(t);
|
|
18
|
-
if (i || (i = {}, s[u].set(t, i)), e === R)
|
|
19
|
-
i[R] = !0;
|
|
20
|
-
else {
|
|
21
|
-
let P = i[e];
|
|
22
|
-
P || (P = /* @__PURE__ */ new Set(), i[e] = P), P.add(c);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}, f = () => {
|
|
26
|
-
o = !0, s[u].delete(t);
|
|
27
|
-
}, n = {
|
|
28
|
-
get(e, c) {
|
|
29
|
-
return c === O ? t : (l(p, c), L(Reflect.get(e, c), s[u], s[A], s[Y]));
|
|
30
|
-
},
|
|
31
|
-
has(e, c) {
|
|
32
|
-
return c === k ? (f(), !0) : (l(w, c), Reflect.has(e, c));
|
|
33
|
-
},
|
|
34
|
-
getOwnPropertyDescriptor(e, c) {
|
|
35
|
-
return l(K, c), Reflect.getOwnPropertyDescriptor(e, c);
|
|
36
|
-
},
|
|
37
|
-
ownKeys(e) {
|
|
38
|
-
return l(R), Reflect.ownKeys(e);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
return r && (n.set = n.deleteProperty = () => !1), [n, s];
|
|
42
|
-
}, D = (t) => (
|
|
43
|
-
// unwrap proxy
|
|
44
|
-
t[O] || // otherwise
|
|
45
|
-
t
|
|
46
|
-
), L = (t, r, s, o) => {
|
|
47
|
-
if (!S(t))
|
|
48
|
-
return t;
|
|
49
|
-
let l = o && o.get(t);
|
|
50
|
-
if (!l) {
|
|
51
|
-
const c = D(t);
|
|
52
|
-
H(c) ? l = [c, N(c)] : l = [c], o == null || o.set(t, l);
|
|
53
|
-
}
|
|
54
|
-
const [f, n] = l;
|
|
55
|
-
let e = s && s.get(f);
|
|
56
|
-
return (!e || e[1][d] !== !!n) && (e = G(f, !!n), e[1][_] = m(n || f, e[0]), s && s.set(f, e)), e[1][u] = r, e[1][A] = s, e[1][Y] = o, e[1][_];
|
|
57
|
-
}, M = (t, r) => {
|
|
58
|
-
const s = Reflect.ownKeys(t), o = Reflect.ownKeys(r);
|
|
59
|
-
return s.length !== o.length || s.some((l, f) => l !== o[f]);
|
|
60
|
-
}, I = (t, r, s, o, l = Object.is) => {
|
|
61
|
-
if (l(t, r))
|
|
62
|
-
return !1;
|
|
63
|
-
if (!y(t) || !y(r))
|
|
64
|
-
return !0;
|
|
65
|
-
const f = s.get(D(t));
|
|
66
|
-
if (!f)
|
|
67
|
-
return !0;
|
|
68
|
-
if (o) {
|
|
69
|
-
const e = o.get(t);
|
|
70
|
-
if (e && e[a] === r)
|
|
71
|
-
return e[T];
|
|
72
|
-
o.set(t, {
|
|
73
|
-
[a]: r,
|
|
74
|
-
[T]: !1
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
let n = null;
|
|
78
|
-
try {
|
|
79
|
-
for (const e of f[w] || [])
|
|
80
|
-
if (n = Reflect.has(t, e) !== Reflect.has(r, e), n)
|
|
81
|
-
return n;
|
|
82
|
-
if (f[R] === !0) {
|
|
83
|
-
if (n = M(t, r), n)
|
|
84
|
-
return n;
|
|
85
|
-
} else
|
|
86
|
-
for (const e of f[K] || []) {
|
|
87
|
-
const c = !!Reflect.getOwnPropertyDescriptor(t, e), i = !!Reflect.getOwnPropertyDescriptor(r, e);
|
|
88
|
-
if (n = c !== i, n)
|
|
89
|
-
return n;
|
|
90
|
-
}
|
|
91
|
-
for (const e of f[p] || [])
|
|
92
|
-
if (n = I(t[e], r[e], s, o, l), n)
|
|
93
|
-
return n;
|
|
94
|
-
return n === null && (n = !0), n;
|
|
95
|
-
} finally {
|
|
96
|
-
o && o.set(t, {
|
|
97
|
-
[a]: r,
|
|
98
|
-
[T]: n
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
}, h = (t) => S(t) && t[O] || null, B = (t, r = !0) => {
|
|
102
|
-
g.set(t, r);
|
|
103
|
-
};
|
|
104
|
-
export {
|
|
105
|
-
L as createProxy,
|
|
106
|
-
h as getUntracked,
|
|
107
|
-
I as isChanged,
|
|
108
|
-
B as markToTrack
|
|
109
|
-
};
|