@fluentui/react-tabster 9.12.4 → 9.12.6
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/CHANGELOG.json +55 -1
- package/CHANGELOG.md +24 -2
- package/lib/focus/createCustomFocusIndicatorStyle.js +1 -1
- package/lib/focus/createCustomFocusIndicatorStyle.js.map +1 -1
- package/lib/focus/createFocusOutlineStyle.js +5 -4
- package/lib/focus/createFocusOutlineStyle.js.map +1 -1
- package/lib/focus/focusVisiblePolyfill.js +2 -1
- package/lib/focus/focusVisiblePolyfill.js.map +1 -1
- package/lib/focus/focusWithinPolyfill.js.map +1 -1
- package/lib/hooks/useArrowNavigationGroup.js +2 -2
- package/lib/hooks/useArrowNavigationGroup.js.map +1 -1
- package/lib/hooks/useFocusFinders.js +9 -6
- package/lib/hooks/useFocusFinders.js.map +1 -1
- package/lib/hooks/useFocusObserved.js +1 -1
- package/lib/hooks/useFocusObserved.js.map +1 -1
- package/lib/hooks/useFocusVisible.js +2 -1
- package/lib/hooks/useFocusVisible.js.map +1 -1
- package/lib/hooks/useFocusWithin.js +3 -2
- package/lib/hooks/useFocusWithin.js.map +1 -1
- package/lib/hooks/useFocusableGroup.js +3 -2
- package/lib/hooks/useFocusableGroup.js.map +1 -1
- package/lib/hooks/useKeyboardNavAttribute.js +1 -1
- package/lib/hooks/useKeyboardNavAttribute.js.map +1 -1
- package/lib/hooks/useMergeTabsterAttributes.js.map +1 -1
- package/lib/hooks/useModalAttributes.js +1 -1
- package/lib/hooks/useModalAttributes.js.map +1 -1
- package/lib/hooks/useObservedElement.js.map +1 -1
- package/lib/hooks/useRestoreFocus.js.map +1 -1
- package/lib/hooks/useTabster.js +3 -2
- package/lib/hooks/useTabster.js.map +1 -1
- package/lib/hooks/useTabsterAttributes.js.map +1 -1
- package/lib-commonjs/focus/constants.js +15 -5
- package/lib-commonjs/focus/constants.js.map +1 -1
- package/lib-commonjs/focus/createCustomFocusIndicatorStyle.js +4 -2
- package/lib-commonjs/focus/createCustomFocusIndicatorStyle.js.map +1 -1
- package/lib-commonjs/focus/createFocusOutlineStyle.js +11 -8
- package/lib-commonjs/focus/createFocusOutlineStyle.js.map +1 -1
- package/lib-commonjs/focus/focusVisiblePolyfill.js +8 -5
- package/lib-commonjs/focus/focusVisiblePolyfill.js.map +1 -1
- package/lib-commonjs/focus/focusWithinPolyfill.js +3 -1
- package/lib-commonjs/focus/focusWithinPolyfill.js.map +1 -1
- package/lib-commonjs/focus/index.js +5 -5
- package/lib-commonjs/focus/index.js.map +1 -1
- package/lib-commonjs/hooks/index.js +13 -13
- package/lib-commonjs/hooks/index.js.map +1 -1
- package/lib-commonjs/hooks/useArrowNavigationGroup.js +4 -2
- package/lib-commonjs/hooks/useArrowNavigationGroup.js.map +1 -1
- package/lib-commonjs/hooks/useFocusFinders.js +15 -10
- package/lib-commonjs/hooks/useFocusFinders.js.map +1 -1
- package/lib-commonjs/hooks/useFocusObserved.js +6 -4
- package/lib-commonjs/hooks/useFocusObserved.js.map +1 -1
- package/lib-commonjs/hooks/useFocusVisible.js +9 -6
- package/lib-commonjs/hooks/useFocusVisible.js.map +1 -1
- package/lib-commonjs/hooks/useFocusWithin.js +9 -6
- package/lib-commonjs/hooks/useFocusWithin.js.map +1 -1
- package/lib-commonjs/hooks/useFocusableGroup.js +6 -3
- package/lib-commonjs/hooks/useFocusableGroup.js.map +1 -1
- package/lib-commonjs/hooks/useKeyboardNavAttribute.js +5 -3
- package/lib-commonjs/hooks/useKeyboardNavAttribute.js.map +1 -1
- package/lib-commonjs/hooks/useMergeTabsterAttributes.js +5 -3
- package/lib-commonjs/hooks/useMergeTabsterAttributes.js.map +1 -1
- package/lib-commonjs/hooks/useModalAttributes.js +6 -4
- package/lib-commonjs/hooks/useModalAttributes.js.map +1 -1
- package/lib-commonjs/hooks/useObservedElement.js +3 -1
- package/lib-commonjs/hooks/useObservedElement.js.map +1 -1
- package/lib-commonjs/hooks/useRestoreFocus.js +6 -2
- package/lib-commonjs/hooks/useRestoreFocus.js.map +1 -1
- package/lib-commonjs/hooks/useTabster.js +11 -8
- package/lib-commonjs/hooks/useTabster.js.map +1 -1
- package/lib-commonjs/hooks/useTabsterAttributes.js +3 -1
- package/lib-commonjs/hooks/useTabsterAttributes.js.map +1 -1
- package/lib-commonjs/index.js +48 -16
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +9 -9
@@ -4,22 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
});
|
5
5
|
Object.defineProperty(exports, "useFocusableGroup", {
|
6
6
|
enumerable: true,
|
7
|
-
get: ()
|
7
|
+
get: function() {
|
8
|
+
return useFocusableGroup;
|
9
|
+
}
|
8
10
|
});
|
9
11
|
const _tabster = require("tabster");
|
10
12
|
const _useTabsterAttributes = require("./useTabsterAttributes");
|
11
13
|
const _useTabster = require("./useTabster");
|
12
14
|
const useFocusableGroup = (options)=>{
|
15
|
+
var _options, _options1;
|
13
16
|
const tabster = (0, _useTabster.useTabster)();
|
14
17
|
if (tabster) {
|
15
18
|
(0, _tabster.getGroupper)(tabster);
|
16
19
|
}
|
17
20
|
return (0, _useTabsterAttributes.useTabsterAttributes)({
|
18
21
|
groupper: {
|
19
|
-
tabbability: getTabbability(options === null ||
|
22
|
+
tabbability: getTabbability((_options = options) === null || _options === void 0 ? void 0 : _options.tabBehavior)
|
20
23
|
},
|
21
24
|
focusable: {
|
22
|
-
ignoreKeydown: options === null ||
|
25
|
+
ignoreKeydown: (_options1 = options) === null || _options1 === void 0 ? void 0 : _options1.ignoreDefaultKeydown
|
23
26
|
}
|
24
27
|
});
|
25
28
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["useFocusableGroup.js"],"sourcesContent":["import { Types, getGroupper } from 'tabster';\nimport { useTabsterAttributes } from './useTabsterAttributes';\nimport { useTabster } from './useTabster';\n/**\n * A hook that returns the necessary tabster attributes to support groupping.\n * @param options - Options to configure keyboard navigation\n */ export const useFocusableGroup = (options)=>{\n const tabster = useTabster();\n if (tabster) {\n getGroupper(tabster);\n }\n return useTabsterAttributes({\n groupper: {\n tabbability: getTabbability(options === null ||
|
1
|
+
{"version":3,"sources":["useFocusableGroup.js"],"sourcesContent":["import { Types, getGroupper } from 'tabster';\nimport { useTabsterAttributes } from './useTabsterAttributes';\nimport { useTabster } from './useTabster';\n/**\n * A hook that returns the necessary tabster attributes to support groupping.\n * @param options - Options to configure keyboard navigation\n */ export const useFocusableGroup = (options)=>{\n var _options, _options1;\n const tabster = useTabster();\n if (tabster) {\n getGroupper(tabster);\n }\n return useTabsterAttributes({\n groupper: {\n tabbability: getTabbability((_options = options) === null || _options === void 0 ? void 0 : _options.tabBehavior)\n },\n focusable: {\n ignoreKeydown: (_options1 = options) === null || _options1 === void 0 ? void 0 : _options1.ignoreDefaultKeydown\n }\n });\n};\nconst getTabbability = (tabBehavior)=>{\n switch(tabBehavior){\n case 'unlimited':\n return Types.GroupperTabbabilities.Unlimited;\n case 'limited':\n return Types.GroupperTabbabilities.Limited;\n case 'limited-trap-focus':\n return Types.GroupperTabbabilities.LimitedTrapFocus;\n default:\n return undefined;\n }\n};\n"],"names":["useFocusableGroup","options","_options","_options1","tabster","useTabster","getGroupper","useTabsterAttributes","groupper","tabbability","getTabbability","tabBehavior","focusable","ignoreKeydown","ignoreDefaultKeydown","Types","GroupperTabbabilities","Unlimited","Limited","LimitedTrapFocus","undefined"],"mappings":";;;;+BAMiBA;;;eAAAA;;;yBANkB;sCACE;4BACV;AAIhB,MAAMA,oBAAoB,CAACC;IAClC,IAAIC,UAAUC;IACd,MAAMC,UAAUC,IAAAA,sBAAU;IAC1B,IAAID,SAAS;QACTE,IAAAA,oBAAW,EAACF;IAChB;IACA,OAAOG,IAAAA,0CAAoB,EAAC;QACxBC,UAAU;YACNC,aAAaC,eAAe,AAACR,CAAAA,WAAWD,OAAM,MAAO,QAAQC,aAAa,KAAK,IAAI,KAAK,IAAIA,SAASS,WAAW;QACpH;QACAC,WAAW;YACPC,eAAe,AAACV,CAAAA,YAAYF,OAAM,MAAO,QAAQE,cAAc,KAAK,IAAI,KAAK,IAAIA,UAAUW,oBAAoB;QACnH;IACJ;AACJ;AACA,MAAMJ,iBAAiB,CAACC;IACpB,OAAOA;QACH,KAAK;YACD,OAAOI,cAAK,CAACC,qBAAqB,CAACC,SAAS;QAChD,KAAK;YACD,OAAOF,cAAK,CAACC,qBAAqB,CAACE,OAAO;QAC9C,KAAK;YACD,OAAOH,cAAK,CAACC,qBAAqB,CAACG,gBAAgB;QACvD;YACI,OAAOC;IACf;AACJ"}
|
@@ -4,14 +4,16 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
});
|
5
5
|
Object.defineProperty(exports, "useKeyboardNavAttribute", {
|
6
6
|
enumerable: true,
|
7
|
-
get: ()
|
7
|
+
get: function() {
|
8
|
+
return useKeyboardNavAttribute;
|
9
|
+
}
|
8
10
|
});
|
9
11
|
const _keyborg = require("keyborg");
|
10
12
|
const _react = require("react");
|
11
13
|
const _constants = require("../focus/constants");
|
12
|
-
const
|
14
|
+
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
|
13
15
|
function useKeyboardNavAttribute() {
|
14
|
-
const { targetDocument
|
16
|
+
const { targetDocument } = (0, _reactsharedcontexts.useFluent_unstable)();
|
15
17
|
const keyborg = (0, _react.useMemo)(()=>targetDocument && (0, _keyborg.createKeyborg)(targetDocument.defaultView), [
|
16
18
|
targetDocument
|
17
19
|
]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["useKeyboardNavAttribute.js"],"sourcesContent":["import { createKeyborg } from 'keyborg';\nimport { useEffect, useMemo, useRef } from 'react';\nimport { KEYBOARD_NAV_ATTRIBUTE } from '../focus/constants';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n/**\n * Instantiates [keyborg](https://github.com/microsoft/keyborg) and adds `data-keyboard-nav`\n * attribute to a referenced element to ensure keyboard navigation awareness\n * synced to keyborg logic without having to cause a re-render on react tree.\n */ export function useKeyboardNavAttribute() {\n const { targetDocument
|
1
|
+
{"version":3,"sources":["useKeyboardNavAttribute.js"],"sourcesContent":["import { createKeyborg } from 'keyborg';\nimport { useEffect, useMemo, useRef } from 'react';\nimport { KEYBOARD_NAV_ATTRIBUTE } from '../focus/constants';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n/**\n * Instantiates [keyborg](https://github.com/microsoft/keyborg) and adds `data-keyboard-nav`\n * attribute to a referenced element to ensure keyboard navigation awareness\n * synced to keyborg logic without having to cause a re-render on react tree.\n */ export function useKeyboardNavAttribute() {\n const { targetDocument } = useFluent();\n const keyborg = useMemo(()=>targetDocument && createKeyborg(targetDocument.defaultView), [\n targetDocument\n ]);\n const ref = useRef(null);\n useEffect(()=>{\n if (keyborg) {\n setBooleanAttribute(ref, KEYBOARD_NAV_ATTRIBUTE, keyborg.isNavigatingWithKeyboard());\n const cb = (next)=>{\n setBooleanAttribute(ref, KEYBOARD_NAV_ATTRIBUTE, next);\n };\n keyborg.subscribe(cb);\n return ()=>keyborg.unsubscribe(cb);\n }\n }, [\n keyborg\n ]);\n return ref;\n}\nfunction setBooleanAttribute(elementRef, attribute, value) {\n if (!elementRef.current) {\n return;\n }\n if (value) {\n elementRef.current.setAttribute(attribute, '');\n } else {\n elementRef.current.removeAttribute(attribute);\n }\n}\n"],"names":["useKeyboardNavAttribute","targetDocument","useFluent","keyborg","useMemo","createKeyborg","defaultView","ref","useRef","useEffect","setBooleanAttribute","KEYBOARD_NAV_ATTRIBUTE","isNavigatingWithKeyboard","cb","next","subscribe","unsubscribe","elementRef","attribute","value","current","setAttribute","removeAttribute"],"mappings":";;;;+BAQoBA;;;eAAAA;;;yBARU;uBACa;2BACJ;qCACS;AAKrC,SAASA;IAChB,MAAM,EAAEC,cAAc,EAAE,GAAGC,IAAAA,uCAAS;IACpC,MAAMC,UAAUC,IAAAA,cAAO,EAAC,IAAIH,kBAAkBI,IAAAA,sBAAa,EAACJ,eAAeK,WAAW,GAAG;QACrFL;KACH;IACD,MAAMM,MAAMC,IAAAA,aAAM,EAAC;IACnBC,IAAAA,gBAAS,EAAC;QACN,IAAIN,SAAS;YACTO,oBAAoBH,KAAKI,iCAAsB,EAAER,QAAQS,wBAAwB;YACjF,MAAMC,KAAK,CAACC;gBACRJ,oBAAoBH,KAAKI,iCAAsB,EAAEG;YACrD;YACAX,QAAQY,SAAS,CAACF;YAClB,OAAO,IAAIV,QAAQa,WAAW,CAACH;QACnC;IACJ,GAAG;QACCV;KACH;IACD,OAAOI;AACX;AACA,SAASG,oBAAoBO,UAAU,EAAEC,SAAS,EAAEC,KAAK;IACrD,IAAI,CAACF,WAAWG,OAAO,EAAE;QACrB;IACJ;IACA,IAAID,OAAO;QACPF,WAAWG,OAAO,CAACC,YAAY,CAACH,WAAW;IAC/C,OAAO;QACHD,WAAWG,OAAO,CAACE,eAAe,CAACJ;IACvC;AACJ"}
|
@@ -4,10 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
});
|
5
5
|
Object.defineProperty(exports, "useMergedTabsterAttributes_unstable", {
|
6
6
|
enumerable: true,
|
7
|
-
get: ()
|
7
|
+
get: function() {
|
8
|
+
return useMergedTabsterAttributes_unstable;
|
9
|
+
}
|
8
10
|
});
|
9
|
-
const
|
10
|
-
const _react = /*#__PURE__*/
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
12
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
11
13
|
const _tabster = require("tabster");
|
12
14
|
const useMergedTabsterAttributes_unstable = (...attributes)=>{
|
13
15
|
const stringAttributes = attributes.map((attribute)=>attribute[_tabster.Types.TabsterAttributeName]).filter(Boolean);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["useMergeTabsterAttributes.js"],"sourcesContent":["import * as React from 'react';\nimport { Types } from 'tabster';\n/**\n * Merges a collection of tabster attributes.\n *\n * ⚠️The attributes passed as arguments to this hook cannot change at runtime.\n * @internal\n * @param attributes - collection of tabster attributes from other react-tabster hooks\n * @returns single merged tabster attribute\n */ export const useMergedTabsterAttributes_unstable = (...attributes)=>{\n const stringAttributes = attributes.map((attribute)=>attribute[Types.TabsterAttributeName]).filter(Boolean);\n const mergedStrigAttribute = React.useMemo(()=>{\n let attribute = stringAttributes[0];\n attributes.shift();\n for (const attr of stringAttributes){\n attribute = mergeAttributes(attribute, attr);\n }\n return attribute;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, stringAttributes);\n return {\n [Types.TabsterAttributeName]: mergedStrigAttribute\n };\n};\nfunction mergeAttributes(a, b) {\n if (!b) {\n return a;\n }\n let aParsed = {};\n let bParsed = {};\n if (a) {\n try {\n aParsed = JSON.parse(a);\n // eslint-disable-next-line no-empty\n } catch {}\n }\n if (b) {\n try {\n bParsed = JSON.parse(b);\n // eslint-disable-next-line no-empty\n } catch {}\n }\n return JSON.stringify({\n ...aParsed,\n ...bParsed\n });\n}\n"],"names":["useMergedTabsterAttributes_unstable","attributes","stringAttributes","map","attribute","Types","TabsterAttributeName","filter","Boolean","mergedStrigAttribute","React","useMemo","shift","attr","mergeAttributes","a","b","aParsed","bParsed","JSON","parse","stringify"],"mappings":";;;;+BASiBA
|
1
|
+
{"version":3,"sources":["useMergeTabsterAttributes.js"],"sourcesContent":["import * as React from 'react';\nimport { Types } from 'tabster';\n/**\n * Merges a collection of tabster attributes.\n *\n * ⚠️The attributes passed as arguments to this hook cannot change at runtime.\n * @internal\n * @param attributes - collection of tabster attributes from other react-tabster hooks\n * @returns single merged tabster attribute\n */ export const useMergedTabsterAttributes_unstable = (...attributes)=>{\n const stringAttributes = attributes.map((attribute)=>attribute[Types.TabsterAttributeName]).filter(Boolean);\n const mergedStrigAttribute = React.useMemo(()=>{\n let attribute = stringAttributes[0];\n attributes.shift();\n for (const attr of stringAttributes){\n attribute = mergeAttributes(attribute, attr);\n }\n return attribute;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, stringAttributes);\n return {\n [Types.TabsterAttributeName]: mergedStrigAttribute\n };\n};\nfunction mergeAttributes(a, b) {\n if (!b) {\n return a;\n }\n let aParsed = {};\n let bParsed = {};\n if (a) {\n try {\n aParsed = JSON.parse(a);\n // eslint-disable-next-line no-empty\n } catch {}\n }\n if (b) {\n try {\n bParsed = JSON.parse(b);\n // eslint-disable-next-line no-empty\n } catch {}\n }\n return JSON.stringify({\n ...aParsed,\n ...bParsed\n });\n}\n"],"names":["useMergedTabsterAttributes_unstable","attributes","stringAttributes","map","attribute","Types","TabsterAttributeName","filter","Boolean","mergedStrigAttribute","React","useMemo","shift","attr","mergeAttributes","a","b","aParsed","bParsed","JSON","parse","stringify"],"mappings":";;;;+BASiBA;;;eAAAA;;;;iEATM;yBACD;AAQX,MAAMA,sCAAsC,CAAC,GAAGC;IACvD,MAAMC,mBAAmBD,WAAWE,GAAG,CAAC,CAACC,YAAYA,SAAS,CAACC,cAAK,CAACC,oBAAoB,CAAC,EAAEC,MAAM,CAACC;IACnG,MAAMC,uBAAuBC,OAAMC,OAAO,CAAC;QACvC,IAAIP,YAAYF,gBAAgB,CAAC,EAAE;QACnCD,WAAWW,KAAK;QAChB,KAAK,MAAMC,QAAQX,iBAAiB;YAChCE,YAAYU,gBAAgBV,WAAWS;QAC3C;QACA,OAAOT;IACX,uDAAuD;IACvD,GAAGF;IACH,OAAO;QACH,CAACG,cAAK,CAACC,oBAAoB,CAAC,EAAEG;IAClC;AACJ;AACA,SAASK,gBAAgBC,CAAC,EAAEC,CAAC;IACzB,IAAI,CAACA,GAAG;QACJ,OAAOD;IACX;IACA,IAAIE,UAAU,CAAC;IACf,IAAIC,UAAU,CAAC;IACf,IAAIH,GAAG;QACH,IAAI;YACAE,UAAUE,KAAKC,KAAK,CAACL;QACzB,oCAAoC;QACpC,EAAE,OAAO,CAAC;IACd;IACA,IAAIC,GAAG;QACH,IAAI;YACAE,UAAUC,KAAKC,KAAK,CAACJ;QACzB,oCAAoC;QACpC,EAAE,OAAO,CAAC;IACd;IACA,OAAOG,KAAKE,SAAS,CAAC;QAClB,GAAGJ,OAAO;QACV,GAAGC,OAAO;IACd;AACJ"}
|
@@ -4,21 +4,23 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
});
|
5
5
|
Object.defineProperty(exports, "useModalAttributes", {
|
6
6
|
enumerable: true,
|
7
|
-
get: ()
|
7
|
+
get: function() {
|
8
|
+
return useModalAttributes;
|
9
|
+
}
|
8
10
|
});
|
9
|
-
const
|
11
|
+
const _reactutilities = require("@fluentui/react-utilities");
|
10
12
|
const _useTabsterAttributes = require("./useTabsterAttributes");
|
11
13
|
const _tabster = require("tabster");
|
12
14
|
const _useTabster = require("./useTabster");
|
13
15
|
const useModalAttributes = (options = {})=>{
|
14
|
-
const { trapFocus
|
16
|
+
const { trapFocus, alwaysFocusable, legacyTrapFocus } = options;
|
15
17
|
const tabster = (0, _useTabster.useTabster)();
|
16
18
|
// Initializes the modalizer and restorer APIs
|
17
19
|
if (tabster) {
|
18
20
|
(0, _tabster.getModalizer)(tabster);
|
19
21
|
(0, _tabster.getRestorer)(tabster);
|
20
22
|
}
|
21
|
-
const id = (0,
|
23
|
+
const id = (0, _reactutilities.useId)('modal-', options.id);
|
22
24
|
const modalAttributes = (0, _useTabsterAttributes.useTabsterAttributes)({
|
23
25
|
restorer: {
|
24
26
|
type: _tabster.Types.RestorerTypes.Source
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["useModalAttributes.js"],"sourcesContent":["import { useId } from '@fluentui/react-utilities';\nimport { useTabsterAttributes } from './useTabsterAttributes';\nimport { getModalizer, getRestorer, Types as TabsterTypes } from 'tabster';\nimport { useTabster } from './useTabster';\n/**\n * Applies modal dialog behaviour through DOM attributes\n * Modal element will focus trap and hide other content on the page\n * The trigger element will be focused if focus is lost after the modal element is removed\n *\n * @returns DOM attributes to apply to the modal element and its trigger\n */ export const useModalAttributes = (options = {})=>{\n const { trapFocus
|
1
|
+
{"version":3,"sources":["useModalAttributes.js"],"sourcesContent":["import { useId } from '@fluentui/react-utilities';\nimport { useTabsterAttributes } from './useTabsterAttributes';\nimport { getModalizer, getRestorer, Types as TabsterTypes } from 'tabster';\nimport { useTabster } from './useTabster';\n/**\n * Applies modal dialog behaviour through DOM attributes\n * Modal element will focus trap and hide other content on the page\n * The trigger element will be focused if focus is lost after the modal element is removed\n *\n * @returns DOM attributes to apply to the modal element and its trigger\n */ export const useModalAttributes = (options = {})=>{\n const { trapFocus, alwaysFocusable, legacyTrapFocus } = options;\n const tabster = useTabster();\n // Initializes the modalizer and restorer APIs\n if (tabster) {\n getModalizer(tabster);\n getRestorer(tabster);\n }\n const id = useId('modal-', options.id);\n const modalAttributes = useTabsterAttributes({\n restorer: {\n type: TabsterTypes.RestorerTypes.Source\n },\n modalizer: {\n id,\n isOthersAccessible: !trapFocus,\n isAlwaysAccessible: alwaysFocusable,\n isTrapped: legacyTrapFocus && trapFocus\n }\n });\n const triggerAttributes = useTabsterAttributes({\n restorer: {\n type: TabsterTypes.RestorerTypes.Target\n }\n });\n return {\n modalAttributes,\n triggerAttributes\n };\n};\n"],"names":["useModalAttributes","options","trapFocus","alwaysFocusable","legacyTrapFocus","tabster","useTabster","getModalizer","getRestorer","id","useId","modalAttributes","useTabsterAttributes","restorer","type","TabsterTypes","RestorerTypes","Source","modalizer","isOthersAccessible","isAlwaysAccessible","isTrapped","triggerAttributes","Target"],"mappings":";;;;+BAUiBA;;;eAAAA;;;gCAVK;sCACe;yBAC4B;4BACtC;AAOhB,MAAMA,qBAAqB,CAACC,UAAU,CAAC,CAAC;IAC/C,MAAM,EAAEC,SAAS,EAAEC,eAAe,EAAEC,eAAe,EAAE,GAAGH;IACxD,MAAMI,UAAUC,IAAAA,sBAAU;IAC1B,8CAA8C;IAC9C,IAAID,SAAS;QACTE,IAAAA,qBAAY,EAACF;QACbG,IAAAA,oBAAW,EAACH;IAChB;IACA,MAAMI,KAAKC,IAAAA,qBAAK,EAAC,UAAUT,QAAQQ,EAAE;IACrC,MAAME,kBAAkBC,IAAAA,0CAAoB,EAAC;QACzCC,UAAU;YACNC,MAAMC,cAAY,CAACC,aAAa,CAACC,MAAM;QAC3C;QACAC,WAAW;YACPT;YACAU,oBAAoB,CAACjB;YACrBkB,oBAAoBjB;YACpBkB,WAAWjB,mBAAmBF;QAClC;IACJ;IACA,MAAMoB,oBAAoBV,IAAAA,0CAAoB,EAAC;QAC3CC,UAAU;YACNC,MAAMC,cAAY,CAACC,aAAa,CAACO,MAAM;QAC3C;IACJ;IACA,OAAO;QACHZ;QACAW;IACJ;AACJ"}
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
});
|
5
5
|
Object.defineProperty(exports, "useObservedElement", {
|
6
6
|
enumerable: true,
|
7
|
-
get: ()
|
7
|
+
get: function() {
|
8
|
+
return useObservedElement;
|
9
|
+
}
|
8
10
|
});
|
9
11
|
const _useTabster = require("./useTabster");
|
10
12
|
const _tabster = require("tabster");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["useObservedElement.js"],"sourcesContent":["import { useTabster } from './useTabster';\nimport { getObservedElement } from 'tabster';\nimport { useTabsterAttributes } from './useTabsterAttributes';\nexport function useObservedElement(name) {\n const tabster = useTabster();\n if (tabster) {\n getObservedElement(tabster);\n }\n return useTabsterAttributes({\n observed: {\n names: Array.isArray(name) ? name : [\n name\n ]\n }\n });\n}\n"],"names":["useObservedElement","name","tabster","useTabster","getObservedElement","useTabsterAttributes","observed","names","Array","isArray"],"mappings":";;;;+BAGgBA
|
1
|
+
{"version":3,"sources":["useObservedElement.js"],"sourcesContent":["import { useTabster } from './useTabster';\nimport { getObservedElement } from 'tabster';\nimport { useTabsterAttributes } from './useTabsterAttributes';\nexport function useObservedElement(name) {\n const tabster = useTabster();\n if (tabster) {\n getObservedElement(tabster);\n }\n return useTabsterAttributes({\n observed: {\n names: Array.isArray(name) ? name : [\n name\n ]\n }\n });\n}\n"],"names":["useObservedElement","name","tabster","useTabster","getObservedElement","useTabsterAttributes","observed","names","Array","isArray"],"mappings":";;;;+BAGgBA;;;eAAAA;;;4BAHW;yBACQ;sCACE;AAC9B,SAASA,mBAAmBC,IAAI;IACnC,MAAMC,UAAUC,IAAAA,sBAAU;IAC1B,IAAID,SAAS;QACTE,IAAAA,2BAAkB,EAACF;IACvB;IACA,OAAOG,IAAAA,0CAAoB,EAAC;QACxBC,UAAU;YACNC,OAAOC,MAAMC,OAAO,CAACR,QAAQA,OAAO;gBAChCA;aACH;QACL;IACJ;AACJ"}
|
@@ -9,8 +9,12 @@ function _export(target, all) {
|
|
9
9
|
});
|
10
10
|
}
|
11
11
|
_export(exports, {
|
12
|
-
useRestoreFocusTarget: ()
|
13
|
-
|
12
|
+
useRestoreFocusTarget: function() {
|
13
|
+
return useRestoreFocusTarget;
|
14
|
+
},
|
15
|
+
useRestoreFocusSource: function() {
|
16
|
+
return useRestoreFocusSource;
|
17
|
+
}
|
14
18
|
});
|
15
19
|
const _tabster = require("tabster");
|
16
20
|
const _useTabster = require("./useTabster");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["useRestoreFocus.js"],"sourcesContent":["import { getRestorer, getTabsterAttribute, Types as TabsterTypes } from 'tabster';\nimport { useTabster } from './useTabster';\n/**\n * Focus will be restored to the most recent target element when it is lost from a source\n * @returns Attribute to apply to the target element where focus is restored\n */ export function useRestoreFocusTarget() {\n const tabster = useTabster();\n // Initializes the restorer API\n if (tabster) {\n getRestorer(tabster);\n }\n return getTabsterAttribute({\n restorer: {\n type: TabsterTypes.RestorerTypes.Target\n }\n });\n}\n/**\n * Focus will be restored to the most recent target element when it is lost from a source\n * @returns Attribute to apply to the element that might lose focus\n */ export function useRestoreFocusSource() {\n const tabster = useTabster();\n // Initializes the restorer API\n if (tabster) {\n getRestorer(tabster);\n }\n return getTabsterAttribute({\n restorer: {\n type: TabsterTypes.RestorerTypes.Source\n }\n });\n}\n"],"names":["useRestoreFocusTarget","useRestoreFocusSource","tabster","useTabster","getRestorer","getTabsterAttribute","restorer","type","TabsterTypes","RestorerTypes","Target","Source"],"mappings":";;;;;;;;;;;IAKoBA,qBAAqB
|
1
|
+
{"version":3,"sources":["useRestoreFocus.js"],"sourcesContent":["import { getRestorer, getTabsterAttribute, Types as TabsterTypes } from 'tabster';\nimport { useTabster } from './useTabster';\n/**\n * Focus will be restored to the most recent target element when it is lost from a source\n * @returns Attribute to apply to the target element where focus is restored\n */ export function useRestoreFocusTarget() {\n const tabster = useTabster();\n // Initializes the restorer API\n if (tabster) {\n getRestorer(tabster);\n }\n return getTabsterAttribute({\n restorer: {\n type: TabsterTypes.RestorerTypes.Target\n }\n });\n}\n/**\n * Focus will be restored to the most recent target element when it is lost from a source\n * @returns Attribute to apply to the element that might lose focus\n */ export function useRestoreFocusSource() {\n const tabster = useTabster();\n // Initializes the restorer API\n if (tabster) {\n getRestorer(tabster);\n }\n return getTabsterAttribute({\n restorer: {\n type: TabsterTypes.RestorerTypes.Source\n }\n });\n}\n"],"names":["useRestoreFocusTarget","useRestoreFocusSource","tabster","useTabster","getRestorer","getTabsterAttribute","restorer","type","TabsterTypes","RestorerTypes","Target","Source"],"mappings":";;;;;;;;;;;IAKoBA,qBAAqB;eAArBA;;IAeAC,qBAAqB;eAArBA;;;yBApBoD;4BAC7C;AAIhB,SAASD;IAChB,MAAME,UAAUC,IAAAA,sBAAU;IAC1B,+BAA+B;IAC/B,IAAID,SAAS;QACTE,IAAAA,oBAAW,EAACF;IAChB;IACA,OAAOG,IAAAA,4BAAmB,EAAC;QACvBC,UAAU;YACNC,MAAMC,cAAY,CAACC,aAAa,CAACC,MAAM;QAC3C;IACJ;AACJ;AAIW,SAAST;IAChB,MAAMC,UAAUC,IAAAA,sBAAU;IAC1B,+BAA+B;IAC/B,IAAID,SAAS;QACTE,IAAAA,oBAAW,EAACF;IAChB;IACA,OAAOG,IAAAA,4BAAmB,EAAC;QACvBC,UAAU;YACNC,MAAMC,cAAY,CAACC,aAAa,CAACE,MAAM;QAC3C;IACJ;AACJ"}
|
@@ -4,16 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
});
|
5
5
|
Object.defineProperty(exports, "useTabster", {
|
6
6
|
enumerable: true,
|
7
|
-
get: ()
|
7
|
+
get: function() {
|
8
|
+
return useTabster;
|
9
|
+
}
|
8
10
|
});
|
9
|
-
const
|
10
|
-
const _react = /*#__PURE__*/
|
11
|
-
const
|
11
|
+
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
|
12
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
|
13
|
+
const _reactsharedcontexts = require("@fluentui/react-shared-contexts");
|
12
14
|
const _tabster = require("tabster");
|
13
|
-
const
|
15
|
+
const _reactutilities = require("@fluentui/react-utilities");
|
14
16
|
const useTabster = ()=>{
|
15
|
-
|
16
|
-
const
|
17
|
+
var _targetDocument;
|
18
|
+
const { targetDocument } = (0, _reactsharedcontexts.useFluent_unstable)();
|
19
|
+
const defaultView = ((_targetDocument = targetDocument) === null || _targetDocument === void 0 ? void 0 : _targetDocument.defaultView) || undefined;
|
17
20
|
const tabster = _react.useMemo(()=>{
|
18
21
|
if (!defaultView) {
|
19
22
|
return null;
|
@@ -25,7 +28,7 @@ const useTabster = ()=>{
|
|
25
28
|
}, [
|
26
29
|
defaultView
|
27
30
|
]);
|
28
|
-
(0,
|
31
|
+
(0, _reactutilities.useIsomorphicLayoutEffect)(()=>{
|
29
32
|
return ()=>{
|
30
33
|
if (tabster) {
|
31
34
|
(0, _tabster.disposeTabster)(tabster);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["useTabster.js"],"sourcesContent":["import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { createTabster, disposeTabster } from 'tabster';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\n/**\n * Tries to get a tabster instance on the current window or creates a new one\n * Since Tabster is single instance only, feel free to call this hook to ensure Tabster exists if necessary\n *\n * @internal\n * @returns Tabster core instance\n */ export const useTabster = ()=>{\n const { targetDocument
|
1
|
+
{"version":3,"sources":["useTabster.js"],"sourcesContent":["import * as React from 'react';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\nimport { createTabster, disposeTabster } from 'tabster';\nimport { useIsomorphicLayoutEffect } from '@fluentui/react-utilities';\n/**\n * Tries to get a tabster instance on the current window or creates a new one\n * Since Tabster is single instance only, feel free to call this hook to ensure Tabster exists if necessary\n *\n * @internal\n * @returns Tabster core instance\n */ export const useTabster = ()=>{\n var _targetDocument;\n const { targetDocument } = useFluent();\n const defaultView = ((_targetDocument = targetDocument) === null || _targetDocument === void 0 ? void 0 : _targetDocument.defaultView) || undefined;\n const tabster = React.useMemo(()=>{\n if (!defaultView) {\n return null;\n }\n return createTabster(defaultView, {\n autoRoot: {},\n controlTab: false\n });\n }, [\n defaultView\n ]);\n useIsomorphicLayoutEffect(()=>{\n return ()=>{\n if (tabster) {\n disposeTabster(tabster);\n }\n };\n }, [\n tabster\n ]);\n return tabster;\n};\n"],"names":["useTabster","_targetDocument","targetDocument","useFluent","defaultView","undefined","tabster","React","useMemo","createTabster","autoRoot","controlTab","useIsomorphicLayoutEffect","disposeTabster"],"mappings":";;;;+BAUiBA;;;eAAAA;;;;iEAVM;qCACyB;yBACF;gCACJ;AAO/B,MAAMA,aAAa;IAC1B,IAAIC;IACJ,MAAM,EAAEC,cAAc,EAAE,GAAGC,IAAAA,uCAAS;IACpC,MAAMC,cAAc,AAAC,CAAA,AAACH,CAAAA,kBAAkBC,cAAa,MAAO,QAAQD,oBAAoB,KAAK,IAAI,KAAK,IAAIA,gBAAgBG,WAAW,AAAD,KAAMC;IAC1I,MAAMC,UAAUC,OAAMC,OAAO,CAAC;QAC1B,IAAI,CAACJ,aAAa;YACd,OAAO;QACX;QACA,OAAOK,IAAAA,sBAAa,EAACL,aAAa;YAC9BM,UAAU,CAAC;YACXC,YAAY;QAChB;IACJ,GAAG;QACCP;KACH;IACDQ,IAAAA,yCAAyB,EAAC;QACtB,OAAO;YACH,IAAIN,SAAS;gBACTO,IAAAA,uBAAc,EAACP;YACnB;QACJ;IACJ,GAAG;QACCA;KACH;IACD,OAAOA;AACX"}
|
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
});
|
5
5
|
Object.defineProperty(exports, "useTabsterAttributes", {
|
6
6
|
enumerable: true,
|
7
|
-
get: ()
|
7
|
+
get: function() {
|
8
|
+
return useTabsterAttributes;
|
9
|
+
}
|
8
10
|
});
|
9
11
|
const _tabster = require("tabster");
|
10
12
|
const _useTabster = require("./useTabster");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["useTabsterAttributes.js"],"sourcesContent":["import { getTabsterAttribute } from 'tabster';\nimport { useTabster } from './useTabster';\n/**\n * @internal\n * Hook that returns tabster attributes while ensuring tabster exists\n */ export const useTabsterAttributes = (props)=>{\n // A tabster instance is not necessary to generate tabster attributes\n // but calling the hook will ensure that a tabster instance exists internally and avoids consumers doing the same\n useTabster();\n return getTabsterAttribute(props);\n};\n"],"names":["useTabsterAttributes","props","useTabster","getTabsterAttribute"],"mappings":";;;;+BAKiBA
|
1
|
+
{"version":3,"sources":["useTabsterAttributes.js"],"sourcesContent":["import { getTabsterAttribute } from 'tabster';\nimport { useTabster } from './useTabster';\n/**\n * @internal\n * Hook that returns tabster attributes while ensuring tabster exists\n */ export const useTabsterAttributes = (props)=>{\n // A tabster instance is not necessary to generate tabster attributes\n // but calling the hook will ensure that a tabster instance exists internally and avoids consumers doing the same\n useTabster();\n return getTabsterAttribute(props);\n};\n"],"names":["useTabsterAttributes","props","useTabster","getTabsterAttribute"],"mappings":";;;;+BAKiBA;;;eAAAA;;;yBALmB;4BACT;AAIhB,MAAMA,uBAAuB,CAACC;IACrC,qEAAqE;IACrE,iHAAiH;IACjHC,IAAAA,sBAAU;IACV,OAAOC,IAAAA,4BAAmB,EAACF;AAC/B"}
|
package/lib-commonjs/index.js
CHANGED
@@ -9,22 +9,54 @@ function _export(target, all) {
|
|
9
9
|
});
|
10
10
|
}
|
11
11
|
_export(exports, {
|
12
|
-
useArrowNavigationGroup: ()
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
12
|
+
useArrowNavigationGroup: function() {
|
13
|
+
return _index.useArrowNavigationGroup;
|
14
|
+
},
|
15
|
+
useFocusableGroup: function() {
|
16
|
+
return _index.useFocusableGroup;
|
17
|
+
},
|
18
|
+
useFocusFinders: function() {
|
19
|
+
return _index.useFocusFinders;
|
20
|
+
},
|
21
|
+
useFocusVisible: function() {
|
22
|
+
return _index.useFocusVisible;
|
23
|
+
},
|
24
|
+
useFocusWithin: function() {
|
25
|
+
return _index.useFocusWithin;
|
26
|
+
},
|
27
|
+
useKeyboardNavAttribute: function() {
|
28
|
+
return _index.useKeyboardNavAttribute;
|
29
|
+
},
|
30
|
+
useModalAttributes: function() {
|
31
|
+
return _index.useModalAttributes;
|
32
|
+
},
|
33
|
+
useTabsterAttributes: function() {
|
34
|
+
return _index.useTabsterAttributes;
|
35
|
+
},
|
36
|
+
useObservedElement: function() {
|
37
|
+
return _index.useObservedElement;
|
38
|
+
},
|
39
|
+
useFocusObserved: function() {
|
40
|
+
return _index.useFocusObserved;
|
41
|
+
},
|
42
|
+
useMergedTabsterAttributes_unstable: function() {
|
43
|
+
return _index.useMergedTabsterAttributes_unstable;
|
44
|
+
},
|
45
|
+
useRestoreFocusSource: function() {
|
46
|
+
return _index.useRestoreFocusSource;
|
47
|
+
},
|
48
|
+
useRestoreFocusTarget: function() {
|
49
|
+
return _index.useRestoreFocusTarget;
|
50
|
+
},
|
51
|
+
createCustomFocusIndicatorStyle: function() {
|
52
|
+
return _index1.createCustomFocusIndicatorStyle;
|
53
|
+
},
|
54
|
+
createFocusOutlineStyle: function() {
|
55
|
+
return _index1.createFocusOutlineStyle;
|
56
|
+
},
|
57
|
+
applyFocusVisiblePolyfill: function() {
|
58
|
+
return _index1.applyFocusVisiblePolyfill;
|
59
|
+
}
|
28
60
|
});
|
29
61
|
const _index = require("./hooks/index");
|
30
62
|
const _index1 = require("./focus/index");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["index.js"],"sourcesContent":["export { useArrowNavigationGroup, useFocusableGroup, useFocusFinders, useFocusVisible, useFocusWithin, useKeyboardNavAttribute, useModalAttributes, useTabsterAttributes, useObservedElement, useFocusObserved, useMergedTabsterAttributes_unstable, useRestoreFocusSource, useRestoreFocusTarget } from './hooks/index';\nexport { createCustomFocusIndicatorStyle, createFocusOutlineStyle } from './focus/index';\nexport { applyFocusVisiblePolyfill } from './focus/index';\n"],"names":["useArrowNavigationGroup","useFocusableGroup","useFocusFinders","useFocusVisible","useFocusWithin","useKeyboardNavAttribute","useModalAttributes","useTabsterAttributes","useObservedElement","useFocusObserved","useMergedTabsterAttributes_unstable","useRestoreFocusSource","useRestoreFocusTarget","createCustomFocusIndicatorStyle","createFocusOutlineStyle","applyFocusVisiblePolyfill"],"mappings":";;;;;;;;;;;IAASA,uBAAuB,
|
1
|
+
{"version":3,"sources":["index.js"],"sourcesContent":["export { useArrowNavigationGroup, useFocusableGroup, useFocusFinders, useFocusVisible, useFocusWithin, useKeyboardNavAttribute, useModalAttributes, useTabsterAttributes, useObservedElement, useFocusObserved, useMergedTabsterAttributes_unstable, useRestoreFocusSource, useRestoreFocusTarget } from './hooks/index';\nexport { createCustomFocusIndicatorStyle, createFocusOutlineStyle } from './focus/index';\nexport { applyFocusVisiblePolyfill } from './focus/index';\n"],"names":["useArrowNavigationGroup","useFocusableGroup","useFocusFinders","useFocusVisible","useFocusWithin","useKeyboardNavAttribute","useModalAttributes","useTabsterAttributes","useObservedElement","useFocusObserved","useMergedTabsterAttributes_unstable","useRestoreFocusSource","useRestoreFocusTarget","createCustomFocusIndicatorStyle","createFocusOutlineStyle","applyFocusVisiblePolyfill"],"mappings":";;;;;;;;;;;IAASA,uBAAuB;eAAvBA,8BAAuB;;IAAEC,iBAAiB;eAAjBA,wBAAiB;;IAAEC,eAAe;eAAfA,sBAAe;;IAAEC,eAAe;eAAfA,sBAAe;;IAAEC,cAAc;eAAdA,qBAAc;;IAAEC,uBAAuB;eAAvBA,8BAAuB;;IAAEC,kBAAkB;eAAlBA,yBAAkB;;IAAEC,oBAAoB;eAApBA,2BAAoB;;IAAEC,kBAAkB;eAAlBA,yBAAkB;;IAAEC,gBAAgB;eAAhBA,uBAAgB;;IAAEC,mCAAmC;eAAnCA,0CAAmC;;IAAEC,qBAAqB;eAArBA,4BAAqB;;IAAEC,qBAAqB;eAArBA,4BAAqB;;IACxRC,+BAA+B;eAA/BA,uCAA+B;;IAAEC,uBAAuB;eAAvBA,+BAAuB;;IACxDC,yBAAyB;eAAzBA,iCAAyB;;;uBAFuQ;wBAChO"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@fluentui/react-tabster",
|
3
|
-
"version": "9.12.
|
3
|
+
"version": "9.12.6",
|
4
4
|
"description": "Utilities for focus management and facade for tabster",
|
5
5
|
"main": "lib-commonjs/index.js",
|
6
6
|
"module": "lib/index.js",
|
@@ -31,19 +31,19 @@
|
|
31
31
|
"@fluentui/scripts-tasks": "*"
|
32
32
|
},
|
33
33
|
"dependencies": {
|
34
|
-
"@fluentui/react-shared-contexts": "^9.7.
|
35
|
-
"@fluentui/react-theme": "^9.1.
|
36
|
-
"@fluentui/react-utilities": "^9.
|
34
|
+
"@fluentui/react-shared-contexts": "^9.7.3",
|
35
|
+
"@fluentui/react-theme": "^9.1.12",
|
36
|
+
"@fluentui/react-utilities": "^9.13.1",
|
37
37
|
"@griffel/react": "^1.5.14",
|
38
|
-
"@swc/helpers": "^0.
|
38
|
+
"@swc/helpers": "^0.5.1",
|
39
39
|
"keyborg": "^2.0.0",
|
40
40
|
"tabster": "^4.7.0"
|
41
41
|
},
|
42
42
|
"peerDependencies": {
|
43
|
-
"@types/react": ">=16.
|
44
|
-
"@types/react-dom": ">=16.
|
45
|
-
"react": ">=16.
|
46
|
-
"react-dom": ">=16.
|
43
|
+
"@types/react": ">=16.14.0 <19.0.0",
|
44
|
+
"@types/react-dom": ">=16.14.0 <19.0.0",
|
45
|
+
"react": ">=16.14.0 <19.0.0",
|
46
|
+
"react-dom": ">=16.14.0 <19.0.0"
|
47
47
|
},
|
48
48
|
"beachball": {
|
49
49
|
"disallowedChangeTypes": [
|