@salutejs/plasma-new-hope 0.116.1-canary.1345.10274146329.0 → 0.116.1-canary.1346.10269858402.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. package/cjs/components/Modal/Modal.js +1 -3
  2. package/cjs/components/Modal/Modal.js.map +1 -1
  3. package/cjs/index.js +0 -2
  4. package/cjs/index.js.map +1 -1
  5. package/emotion/cjs/components/Modal/Modal.js +3 -4
  6. package/emotion/cjs/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -115
  7. package/emotion/cjs/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -115
  8. package/emotion/cjs/hooks/index.js +0 -7
  9. package/emotion/es/components/Modal/Modal.js +2 -3
  10. package/emotion/es/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -115
  11. package/emotion/es/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -115
  12. package/emotion/es/hooks/index.js +0 -1
  13. package/es/components/Modal/Modal.js +2 -4
  14. package/es/components/Modal/Modal.js.map +1 -1
  15. package/es/index.js +0 -1
  16. package/es/index.js.map +1 -1
  17. package/package.json +4 -4
  18. package/styled-components/cjs/components/Modal/Modal.js +3 -4
  19. package/styled-components/cjs/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -115
  20. package/styled-components/cjs/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -115
  21. package/styled-components/cjs/hooks/index.js +0 -7
  22. package/styled-components/es/components/Modal/Modal.js +2 -3
  23. package/styled-components/es/examples/plasma_b2c/components/Modal/Modal.stories.tsx +1 -115
  24. package/styled-components/es/examples/plasma_web/components/Modal/Modal.stories.tsx +1 -115
  25. package/styled-components/es/hooks/index.js +0 -1
  26. package/types/components/Modal/Modal.d.ts.map +1 -1
  27. package/types/hooks/index.d.ts +0 -1
  28. package/types/hooks/index.d.ts.map +1 -1
  29. package/cjs/hooks/useFocusTrap.js +0 -97
  30. package/cjs/hooks/useFocusTrap.js.map +0 -1
  31. package/cjs/utils/focusManager.js +0 -56
  32. package/cjs/utils/focusManager.js.map +0 -1
  33. package/cjs/utils/scopeTab.js +0 -37
  34. package/cjs/utils/scopeTab.js.map +0 -1
  35. package/cjs/utils/tabbable.js +0 -51
  36. package/cjs/utils/tabbable.js.map +0 -1
  37. package/emotion/cjs/hooks/useFocusTrap.js +0 -95
  38. package/emotion/cjs/utils/focusManager.js +0 -60
  39. package/emotion/cjs/utils/scopeTab.js +0 -35
  40. package/emotion/cjs/utils/tabbable.js +0 -46
  41. package/emotion/cjs/utils/useFocusTrap.js +0 -95
  42. package/emotion/es/hooks/useFocusTrap.js +0 -90
  43. package/emotion/es/utils/focusManager.js +0 -55
  44. package/emotion/es/utils/scopeTab.js +0 -30
  45. package/emotion/es/utils/tabbable.js +0 -40
  46. package/emotion/es/utils/useFocusTrap.js +0 -90
  47. package/es/hooks/useFocusTrap.js +0 -93
  48. package/es/hooks/useFocusTrap.js.map +0 -1
  49. package/es/utils/focusManager.js +0 -52
  50. package/es/utils/focusManager.js.map +0 -1
  51. package/es/utils/scopeTab.js +0 -33
  52. package/es/utils/scopeTab.js.map +0 -1
  53. package/es/utils/tabbable.js +0 -43
  54. package/es/utils/tabbable.js.map +0 -1
  55. package/styled-components/cjs/hooks/useFocusTrap.js +0 -95
  56. package/styled-components/cjs/utils/focusManager.js +0 -60
  57. package/styled-components/cjs/utils/scopeTab.js +0 -35
  58. package/styled-components/cjs/utils/tabbable.js +0 -46
  59. package/styled-components/cjs/utils/useFocusTrap.js +0 -95
  60. package/styled-components/es/hooks/useFocusTrap.js +0 -90
  61. package/styled-components/es/utils/focusManager.js +0 -55
  62. package/styled-components/es/utils/scopeTab.js +0 -30
  63. package/styled-components/es/utils/tabbable.js +0 -40
  64. package/styled-components/es/utils/useFocusTrap.js +0 -90
  65. package/types/hooks/useFocusTrap.d.ts +0 -6
  66. package/types/hooks/useFocusTrap.d.ts.map +0 -1
  67. package/types/utils/focusManager.d.ts +0 -15
  68. package/types/utils/focusManager.d.ts.map +0 -1
  69. package/types/utils/scopeTab.d.ts +0 -7
  70. package/types/utils/scopeTab.d.ts.map +0 -1
  71. package/types/utils/tabbable.d.ts +0 -6
  72. package/types/utils/tabbable.d.ts.map +0 -1
  73. package/types/utils/useFocusTrap.d.ts +0 -6
  74. package/types/utils/useFocusTrap.d.ts.map +0 -1
@@ -1,90 +0,0 @@
1
- import { useCallback, useEffect, useRef } from 'react';
2
- import { FocusManager } from '../utils/focusManager';
3
- import { focusSelector, isFocusable, isTabble } from '../utils/tabbable';
4
- import { scopeTab } from '../utils/scopeTab';
5
-
6
- // Находим элемент для фокуса
7
- var getFocusElement = function getFocusElement(node, firstFocusSelector) {
8
- var focusElement = null;
9
- if (firstFocusSelector) {
10
- if (typeof firstFocusSelector === 'string') {
11
- focusElement = node.querySelector(firstFocusSelector);
12
- } else if (firstFocusSelector.current) {
13
- focusElement = firstFocusSelector.current;
14
- }
15
- }
16
- if (!focusElement) {
17
- var children = Array.from(node.querySelectorAll(focusSelector));
18
- focusElement = children.find(function (el) {
19
- return isTabble(el);
20
- }) || null;
21
- }
22
-
23
- // Если ничего не нашлось, то может ли сама нода быть под фокусом
24
- if (!focusElement && isFocusable(node)) {
25
- focusElement = node;
26
- }
27
- return focusElement;
28
- };
29
- var processNode = function processNode(node, firstFocusSelector, ref) {
30
- if (ref !== null && ref !== void 0 && ref.current) {
31
- ref.current.removeEventListener('animationend', function () {
32
- processNode(node, firstFocusSelector, ref);
33
- });
34
- }
35
- var focusElement = getFocusElement(node, firstFocusSelector);
36
- if (focusElement) {
37
- focusElement.focus();
38
- }
39
- };
40
- var focusManager = /*#__PURE__*/new FocusManager();
41
-
42
- /**
43
- * Захватывает фокус внутри DOM node.
44
- * */
45
- export var useFocusTrap = function useFocusTrap() {
46
- var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
47
- var firstFocusSelector = arguments.length > 1 ? arguments[1] : undefined;
48
- var focusAfterNode = arguments.length > 2 ? arguments[2] : undefined;
49
- var activeAfterAnimation = arguments.length > 3 ? arguments[3] : undefined;
50
- var ref = useRef();
51
- var setRef = useCallback(function (node) {
52
- if (ref.current) {
53
- focusManager.teardownScopedFocus();
54
- focusManager.returnFocus();
55
- }
56
- if (active && node) {
57
- focusManager.setupScopedFocus(node);
58
- focusManager.markForFocusAfter(focusAfterNode);
59
-
60
- // Delay processing the HTML node by a frame. This ensures focus is assigned correctly.
61
- setTimeout(function () {
62
- if (ref !== null && ref !== void 0 && ref.current && node.ownerDocument && activeAfterAnimation) {
63
- ref.current.addEventListener('animationend', function () {
64
- processNode(node, firstFocusSelector, ref);
65
- });
66
- } else if (node.ownerDocument) {
67
- processNode(node, firstFocusSelector);
68
- }
69
- });
70
- ref.current = node;
71
- return;
72
- }
73
- ref.current = null;
74
- }, [active, firstFocusSelector]);
75
- useEffect(function () {
76
- if (!active) {
77
- return;
78
- }
79
- var handleKeyDown = function handleKeyDown(event) {
80
- if (event.key === 'Tab' && ref.current) {
81
- scopeTab(ref.current, event);
82
- }
83
- };
84
- document.addEventListener('keydown', handleKeyDown);
85
- return function () {
86
- document.removeEventListener('keydown', handleKeyDown);
87
- };
88
- }, [active]);
89
- return setRef;
90
- };
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- /**
3
- * Захватывает фокус внутри DOM node.
4
- * */
5
- export declare const useFocusTrap: (active?: boolean, firstFocusSelector?: string | import("react").RefObject<HTMLElement> | undefined, focusAfterNode?: import("react").RefObject<HTMLElement> | undefined, activeAfterAnimation?: boolean | undefined) => (instance: HTMLElement | null) => void;
6
- //# sourceMappingURL=useFocusTrap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/hooks/useFocusTrap.ts"],"names":[],"mappings":";AAoDA;;KAEK;AACL,eAAO,MAAM,YAAY,sOAKV,WAAW,GAAG,IAAI,KAAK,IAoDrC,CAAC"}
@@ -1,15 +0,0 @@
1
- /// <reference types="react" />
2
- /**
3
- * Менеджер фокуса при открытии и закрытии нод при использовании focus-trap.
4
- * Также необходим, чтобы фокус всегда должен находиться внутри необходимой ноды.
5
- * */
6
- export declare class FocusManager {
7
- private focusAfterElements;
8
- private focusNodes;
9
- private handleFocus;
10
- markForFocusAfter: (focusAfterNode?: import("react").RefObject<HTMLElement> | undefined) => void;
11
- returnFocus: () => void;
12
- setupScopedFocus: (element: HTMLElement) => void;
13
- teardownScopedFocus: () => void;
14
- }
15
- //# sourceMappingURL=focusManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"focusManager.d.ts","sourceRoot":"","sources":["../../src/utils/focusManager.ts"],"names":[],"mappings":";AAEA;;;KAGK;AACL,qBAAa,YAAY;IAErB,OAAO,CAAC,kBAAkB,CAA0B;IAGpD,OAAO,CAAC,UAAU,CAA0B;IAE5C,OAAO,CAAC,WAAW,CAWjB;IAGK,iBAAiB,gFAItB;IAGK,WAAW,aAKhB;IAGK,gBAAgB,YAAa,WAAW,UAG7C;IAGK,mBAAmB,aAGxB;CACL"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Управлление фокусом лишь внутри ноды через tab
3
- * @param node
4
- * @param event
5
- */
6
- export declare const scopeTab: (node: HTMLElement, event: KeyboardEvent) => void;
7
- //# sourceMappingURL=scopeTab.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scopeTab.d.ts","sourceRoot":"","sources":["../../src/utils/scopeTab.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,QAAQ,SAAU,WAAW,SAAS,aAAa,SAsB/D,CAAC"}
@@ -1,6 +0,0 @@
1
- export declare const focusSelector: string;
2
- export declare const isVisible: (element: HTMLElement, parentContainer?: HTMLElement | undefined) => boolean;
3
- export declare const isFocusable: (element: HTMLElement, parentContainer?: HTMLElement | undefined) => boolean;
4
- export declare const isTabble: (element: HTMLElement, parentContainer?: HTMLElement | undefined) => boolean;
5
- export declare const findTabbableDescendants: (element: HTMLElement) => Array<HTMLElement>;
6
- //# sourceMappingURL=tabbable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tabbable.d.ts","sourceRoot":"","sources":["../../src/utils/tabbable.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,QAWf,CAAC;AAWZ,eAAO,MAAM,SAAS,YAAa,WAAW,gDAAkC,OAgB/E,CAAC;AAQF,eAAO,MAAM,WAAW,YAAa,WAAW,gDAAkC,OAQjF,CAAC;AAEF,eAAO,MAAM,QAAQ,YAAa,WAAW,gDAAkC,OAI9E,CAAC;AAGF,eAAO,MAAM,uBAAuB,YAAa,WAAW,KAAG,MAAM,WAAW,CAE/E,CAAC"}
@@ -1,6 +0,0 @@
1
- /// <reference types="react" />
2
- /**
3
- * Захватывает фокус внутри DOM node.
4
- * */
5
- export declare const useFocusTrap: (active?: boolean, firstFocusSelector?: string | import("react").RefObject<HTMLElement> | undefined, focusAfterNode?: import("react").RefObject<HTMLElement> | undefined, activeAfterAnimation?: boolean | undefined) => (instance: HTMLElement | null) => void;
6
- //# sourceMappingURL=useFocusTrap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFocusTrap.d.ts","sourceRoot":"","sources":["../../src/utils/useFocusTrap.ts"],"names":[],"mappings":";AAoDA;;KAEK;AACL,eAAO,MAAM,YAAY,sOAKV,WAAW,GAAG,IAAI,KAAK,IAoDrC,CAAC"}