@lucasols/dnd-kit-accessibility 0.1.1 → 0.2.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/index.d.ts +23 -2
- package/dist/index.js +46 -7
- package/dist/index.js.map +1 -0
- package/package.json +18 -16
- package/dist/components/HiddenText/HiddenText.d.ts +0 -7
- package/dist/components/HiddenText/index.d.ts +0 -1
- package/dist/components/LiveRegion/LiveRegion.d.ts +0 -6
- package/dist/components/LiveRegion/index.d.ts +0 -1
- package/dist/components/index.d.ts +0 -2
- package/dist/dnd-kit-accessibility.cjs.development.js +0 -66
- package/dist/dnd-kit-accessibility.cjs.development.js.map +0 -1
- package/dist/dnd-kit-accessibility.cjs.production.min.js +0 -2
- package/dist/dnd-kit-accessibility.cjs.production.min.js.map +0 -1
- package/dist/dnd-kit-accessibility.esm.js +0 -57
- package/dist/dnd-kit-accessibility.esm.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -1
- package/dist/hooks/useAnnouncement.d.ts +0 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import React from "react";
|
|
2
|
+
//#region src/components/HiddenText/HiddenText.d.ts
|
|
3
|
+
interface Props$1 {
|
|
4
|
+
id: string;
|
|
5
|
+
value: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function HiddenText({ id, value }: Props$1): React.JSX.Element;
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/components/LiveRegion/LiveRegion.d.ts
|
|
10
|
+
interface Props {
|
|
11
|
+
id: string;
|
|
12
|
+
announcement: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function LiveRegion({ id, announcement }: Props): React.JSX.Element;
|
|
15
|
+
//#endregion
|
|
16
|
+
//#region src/hooks/useAnnouncement.d.ts
|
|
17
|
+
export declare function useAnnouncement(): {
|
|
18
|
+
readonly announce: (value: string | undefined) => void;
|
|
19
|
+
readonly announcement: string;
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import React, { useCallback, useState } from "react";
|
|
2
|
+
//#region src/components/HiddenText/HiddenText.tsx
|
|
3
|
+
const hiddenStyles = { display: "none" };
|
|
4
|
+
function HiddenText({ id, value }) {
|
|
5
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
6
|
+
id,
|
|
7
|
+
style: hiddenStyles
|
|
8
|
+
}, value);
|
|
9
|
+
}
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/components/LiveRegion/LiveRegion.tsx
|
|
12
|
+
const visuallyHidden = {
|
|
13
|
+
position: "fixed",
|
|
14
|
+
width: 1,
|
|
15
|
+
height: 1,
|
|
16
|
+
margin: -1,
|
|
17
|
+
border: 0,
|
|
18
|
+
padding: 0,
|
|
19
|
+
overflow: "hidden",
|
|
20
|
+
clip: "rect(0 0 0 0)",
|
|
21
|
+
clipPath: "inset(100%)",
|
|
22
|
+
whiteSpace: "nowrap"
|
|
23
|
+
};
|
|
24
|
+
function LiveRegion({ id, announcement }) {
|
|
25
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
26
|
+
id,
|
|
27
|
+
style: visuallyHidden,
|
|
28
|
+
role: "status",
|
|
29
|
+
"aria-live": "assertive",
|
|
30
|
+
"aria-atomic": true
|
|
31
|
+
}, announcement);
|
|
8
32
|
}
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/hooks/useAnnouncement.ts
|
|
35
|
+
function useAnnouncement() {
|
|
36
|
+
const [announcement, setAnnouncement] = useState("");
|
|
37
|
+
return {
|
|
38
|
+
announce: useCallback((value) => {
|
|
39
|
+
if (value != null) setAnnouncement(value);
|
|
40
|
+
}, []),
|
|
41
|
+
announcement
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { HiddenText, LiveRegion, useAnnouncement };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/components/HiddenText/HiddenText.tsx","../src/components/LiveRegion/LiveRegion.tsx","../src/hooks/useAnnouncement.ts"],"sourcesContent":["import React from 'react';\n\ninterface Props {\n id: string;\n value: string;\n}\n\nconst hiddenStyles: React.CSSProperties = {\n display: 'none',\n};\n\nexport function HiddenText({id, value}: Props): React.JSX.Element {\n return (\n <div id={id} style={hiddenStyles}>\n {value}\n </div>\n );\n}\n","import React from 'react';\n\nexport interface Props {\n id: string;\n announcement: string;\n}\n\n// Hide element visually but keep it readable by screen readers\nconst visuallyHidden: React.CSSProperties = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap',\n};\n\nexport function LiveRegion({id, announcement}: Props): React.JSX.Element {\n return (\n <div\n id={id}\n style={visuallyHidden}\n role=\"status\"\n aria-live=\"assertive\"\n aria-atomic\n >\n {announcement}\n </div>\n );\n}\n","import {useCallback, useState} from 'react';\n\nexport function useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback((value: string | undefined) => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n\n return {announce, announcement} as const;\n}\n"],"mappings":";;AAOA,MAAM,eAAoC,EACxC,SAAS,OACX;AAEA,SAAgB,WAAW,EAAC,IAAI,SAAkC;CAChE,OACE,sBAAA,cAAC,OAAD;EAAS;EAAI,OAAO;CAEf,GADF,KACE;AAET;;;ACTA,MAAM,iBAAsC;CAC1C,UAAU;CACV,OAAO;CACP,QAAQ;CACR,QAAQ;CACR,QAAQ;CACR,SAAS;CACT,UAAU;CACV,MAAM;CACN,UAAU;CACV,YAAY;AACd;AAEA,SAAgB,WAAW,EAAC,IAAI,gBAAyC;CACvE,OACE,sBAAA,cAAC,OAAD;EACM;EACJ,OAAO;EACP,MAAK;EACL,aAAU;EACV,eAAA;CAGG,GADF,YACE;AAET;;;AC/BA,SAAgB,kBAAkB;CAChC,MAAM,CAAC,cAAc,mBAAmB,SAAS,EAAE;CAOnD,OAAO;EAAC,UANS,aAAa,UAA8B;GAC1D,IAAI,SAAS,MACX,gBAAgB,KAAK;EAEzB,GAAG,CAAC,CAEW;EAAG;CAAY;AAChC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lucasols/dnd-kit-accessibility",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "A generic toolkit to help with accessibility",
|
|
5
5
|
"author": "Claudéric Demers",
|
|
6
6
|
"license": "MIT",
|
|
@@ -9,29 +9,31 @@
|
|
|
9
9
|
"url": "git+https://github.com/clauderic/dnd-kit.git",
|
|
10
10
|
"directory": "packages/accessibility"
|
|
11
11
|
},
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
"
|
|
12
|
+
"type": "module",
|
|
13
|
+
"main": "./dist/index.js",
|
|
14
|
+
"module": "./dist/index.js",
|
|
15
|
+
"typings": "./dist/index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
".": {
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"import": "./dist/index.js"
|
|
20
|
+
},
|
|
21
|
+
"./package.json": "./package.json"
|
|
18
22
|
},
|
|
19
|
-
"main": "dist/index.js",
|
|
20
|
-
"module": "dist/accessibility.esm.js",
|
|
21
|
-
"typings": "dist/index.d.ts",
|
|
22
23
|
"files": [
|
|
23
24
|
"README.md",
|
|
24
25
|
"CHANGELOG.md",
|
|
25
26
|
"dist"
|
|
26
27
|
],
|
|
27
28
|
"peerDependencies": {
|
|
28
|
-
"react": "
|
|
29
|
-
},
|
|
30
|
-
"dependencies": {
|
|
31
|
-
"tslib": "^2.0.0"
|
|
29
|
+
"react": "^19.0.0"
|
|
32
30
|
},
|
|
33
31
|
"publishConfig": {
|
|
34
32
|
"access": "public"
|
|
35
33
|
},
|
|
36
|
-
"
|
|
37
|
-
|
|
34
|
+
"scripts": {
|
|
35
|
+
"start": "tsdown --config ../../tsdown.config.mts --watch",
|
|
36
|
+
"build": "tsdown --config ../../tsdown.config.mts",
|
|
37
|
+
"test": "vitest run --config ../../vitest.config.mts"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { HiddenText } from './HiddenText';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { LiveRegion } from './LiveRegion';
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
|
6
|
-
|
|
7
|
-
var React = require('react');
|
|
8
|
-
var React__default = _interopDefault(React);
|
|
9
|
-
|
|
10
|
-
const hiddenStyles = {
|
|
11
|
-
display: 'none'
|
|
12
|
-
};
|
|
13
|
-
function HiddenText(_ref) {
|
|
14
|
-
let {
|
|
15
|
-
id,
|
|
16
|
-
value
|
|
17
|
-
} = _ref;
|
|
18
|
-
return React__default.createElement("div", {
|
|
19
|
-
id: id,
|
|
20
|
-
style: hiddenStyles
|
|
21
|
-
}, value);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const visuallyHidden = {
|
|
25
|
-
position: 'fixed',
|
|
26
|
-
width: 1,
|
|
27
|
-
height: 1,
|
|
28
|
-
margin: -1,
|
|
29
|
-
border: 0,
|
|
30
|
-
padding: 0,
|
|
31
|
-
overflow: 'hidden',
|
|
32
|
-
clip: 'rect(0 0 0 0)',
|
|
33
|
-
clipPath: 'inset(100%)',
|
|
34
|
-
whiteSpace: 'nowrap'
|
|
35
|
-
};
|
|
36
|
-
function LiveRegion(_ref) {
|
|
37
|
-
let {
|
|
38
|
-
id,
|
|
39
|
-
announcement
|
|
40
|
-
} = _ref;
|
|
41
|
-
return React__default.createElement("div", {
|
|
42
|
-
id: id,
|
|
43
|
-
style: visuallyHidden,
|
|
44
|
-
role: "status",
|
|
45
|
-
"aria-live": "assertive",
|
|
46
|
-
"aria-atomic": true
|
|
47
|
-
}, announcement);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function useAnnouncement() {
|
|
51
|
-
const [announcement, setAnnouncement] = React.useState('');
|
|
52
|
-
const announce = React.useCallback(value => {
|
|
53
|
-
if (value != null) {
|
|
54
|
-
setAnnouncement(value);
|
|
55
|
-
}
|
|
56
|
-
}, []);
|
|
57
|
-
return {
|
|
58
|
-
announce,
|
|
59
|
-
announcement
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
exports.HiddenText = HiddenText;
|
|
64
|
-
exports.LiveRegion = LiveRegion;
|
|
65
|
-
exports.useAnnouncement = useAnnouncement;
|
|
66
|
-
//# sourceMappingURL=dnd-kit-accessibility.cjs.development.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dnd-kit-accessibility.cjs.development.js","sources":["../src/components/HiddenText/HiddenText.tsx","../src/components/LiveRegion/LiveRegion.tsx","../src/hooks/useAnnouncement.ts"],"sourcesContent":["import React from 'react';\n\ninterface Props {\n id: string;\n value: string;\n}\n\nconst hiddenStyles: React.CSSProperties = {\n display: 'none',\n};\n\nexport function HiddenText({id, value}: Props) {\n return (\n <div id={id} style={hiddenStyles}>\n {value}\n </div>\n );\n}\n","import React from 'react';\n\nexport interface Props {\n id: string;\n announcement: string;\n}\n\n// Hide element visually but keep it readable by screen readers\nconst visuallyHidden: React.CSSProperties = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap',\n};\n\nexport function LiveRegion({id, announcement}: Props) {\n return (\n <div\n id={id}\n style={visuallyHidden}\n role=\"status\"\n aria-live=\"assertive\"\n aria-atomic\n >\n {announcement}\n </div>\n );\n}\n","import {useCallback, useState} from 'react';\n\nexport function useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback((value: string | undefined) => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n\n return {announce, announcement} as const;\n}\n"],"names":["hiddenStyles","display","HiddenText","id","value","React","style","visuallyHidden","position","width","height","margin","border","padding","overflow","clip","clipPath","whiteSpace","LiveRegion","announcement","role","useAnnouncement","setAnnouncement","useState","announce","useCallback"],"mappings":";;;;;;;;;AAOA,MAAMA,YAAY,GAAwB;EACxCC,OAAO,EAAE;AAD+B,CAA1C;SAIgBC;MAAW;IAACC,EAAD;IAAKC;;EAC9B,OACEC,4BAAA,MAAA;IAAKF,EAAE,EAAEA;IAAIG,KAAK,EAAEN;GAApB,EACGI,KADH,CADF;AAKD;;ACTD,MAAMG,cAAc,GAAwB;EAC1CC,QAAQ,EAAE,OADgC;EAE1CC,KAAK,EAAE,CAFmC;EAG1CC,MAAM,EAAE,CAHkC;EAI1CC,MAAM,EAAE,CAAC,CAJiC;EAK1CC,MAAM,EAAE,CALkC;EAM1CC,OAAO,EAAE,CANiC;EAO1CC,QAAQ,EAAE,QAPgC;EAQ1CC,IAAI,EAAE,eARoC;EAS1CC,QAAQ,EAAE,aATgC;EAU1CC,UAAU,EAAE;AAV8B,CAA5C;AAaA,SAAgBC;MAAW;IAACf,EAAD;IAAKgB;;EAC9B,OACEd,4BAAA,MAAA;IACEF,EAAE,EAAEA;IACJG,KAAK,EAAEC;IACPa,IAAI,EAAC;iBACK;;GAJZ,EAOGD,YAPH,CADF;AAWD;;SC/BeE;EACd,MAAM,CAACF,YAAD,EAAeG,eAAf,IAAkCC,cAAQ,CAAC,EAAD,CAAhD;EACA,MAAMC,QAAQ,GAAGC,iBAAW,CAAErB,KAAD;IAC3B,IAAIA,KAAK,IAAI,IAAb,EAAmB;MACjBkB,eAAe,CAAClB,KAAD,CAAf;;GAFwB,EAIzB,EAJyB,CAA5B;EAMA,OAAO;IAACoB,QAAD;IAAWL;GAAlB;AACD;;;;;;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e;const i={display:"none"},r={position:"fixed",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"};exports.HiddenText=function(e){let{id:t,value:r}=e;return n.createElement("div",{id:t,style:i},r)},exports.LiveRegion=function(e){let{id:t,announcement:i}=e;return n.createElement("div",{id:t,style:r,role:"status","aria-live":"assertive","aria-atomic":!0},i)},exports.useAnnouncement=function(){const[e,n]=t.useState("");return{announce:t.useCallback(e=>{null!=e&&n(e)},[]),announcement:e}};
|
|
2
|
-
//# sourceMappingURL=dnd-kit-accessibility.cjs.production.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dnd-kit-accessibility.cjs.production.min.js","sources":["../src/components/HiddenText/HiddenText.tsx","../src/components/LiveRegion/LiveRegion.tsx","../src/hooks/useAnnouncement.ts"],"sourcesContent":["import React from 'react';\n\ninterface Props {\n id: string;\n value: string;\n}\n\nconst hiddenStyles: React.CSSProperties = {\n display: 'none',\n};\n\nexport function HiddenText({id, value}: Props) {\n return (\n <div id={id} style={hiddenStyles}>\n {value}\n </div>\n );\n}\n","import React from 'react';\n\nexport interface Props {\n id: string;\n announcement: string;\n}\n\n// Hide element visually but keep it readable by screen readers\nconst visuallyHidden: React.CSSProperties = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap',\n};\n\nexport function LiveRegion({id, announcement}: Props) {\n return (\n <div\n id={id}\n style={visuallyHidden}\n role=\"status\"\n aria-live=\"assertive\"\n aria-atomic\n >\n {announcement}\n </div>\n );\n}\n","import {useCallback, useState} from 'react';\n\nexport function useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback((value: string | undefined) => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n\n return {announce, announcement} as const;\n}\n"],"names":["hiddenStyles","display","visuallyHidden","position","width","height","margin","border","padding","overflow","clip","clipPath","whiteSpace","id","value","React","style","announcement","role","setAnnouncement","useState","announce","useCallback"],"mappings":"oJAOA,MAAMA,EAAoC,CACxCC,QAAS,QCALC,EAAsC,CAC1CC,SAAU,QACVC,MAAO,EACPC,OAAQ,EACRC,QAAS,EACTC,OAAQ,EACRC,QAAS,EACTC,SAAU,SACVC,KAAM,gBACNC,SAAU,cACVC,WAAY,6CDPaC,GAACA,EAADC,MAAKA,KAC9B,OACEC,uBAAKF,GAAIA,EAAIG,MAAOhB,GACjBc,uCCOoBD,GAACA,EAADI,aAAKA,KAC9B,OACEF,uBACEF,GAAIA,EACJG,MAAOd,EACPgB,KAAK,qBACK,8BAGTD,uCC3BL,MAAOA,EAAcE,GAAmBC,WAAS,IAOjD,MAAO,CAACC,SANSC,cAAaR,IACf,MAATA,GACFK,EAAgBL,IAEjB,IAEeG,aAAAA"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import React, { useState, useCallback } from 'react';
|
|
2
|
-
|
|
3
|
-
const hiddenStyles = {
|
|
4
|
-
display: 'none'
|
|
5
|
-
};
|
|
6
|
-
function HiddenText(_ref) {
|
|
7
|
-
let {
|
|
8
|
-
id,
|
|
9
|
-
value
|
|
10
|
-
} = _ref;
|
|
11
|
-
return React.createElement("div", {
|
|
12
|
-
id: id,
|
|
13
|
-
style: hiddenStyles
|
|
14
|
-
}, value);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const visuallyHidden = {
|
|
18
|
-
position: 'fixed',
|
|
19
|
-
width: 1,
|
|
20
|
-
height: 1,
|
|
21
|
-
margin: -1,
|
|
22
|
-
border: 0,
|
|
23
|
-
padding: 0,
|
|
24
|
-
overflow: 'hidden',
|
|
25
|
-
clip: 'rect(0 0 0 0)',
|
|
26
|
-
clipPath: 'inset(100%)',
|
|
27
|
-
whiteSpace: 'nowrap'
|
|
28
|
-
};
|
|
29
|
-
function LiveRegion(_ref) {
|
|
30
|
-
let {
|
|
31
|
-
id,
|
|
32
|
-
announcement
|
|
33
|
-
} = _ref;
|
|
34
|
-
return React.createElement("div", {
|
|
35
|
-
id: id,
|
|
36
|
-
style: visuallyHidden,
|
|
37
|
-
role: "status",
|
|
38
|
-
"aria-live": "assertive",
|
|
39
|
-
"aria-atomic": true
|
|
40
|
-
}, announcement);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function useAnnouncement() {
|
|
44
|
-
const [announcement, setAnnouncement] = useState('');
|
|
45
|
-
const announce = useCallback(value => {
|
|
46
|
-
if (value != null) {
|
|
47
|
-
setAnnouncement(value);
|
|
48
|
-
}
|
|
49
|
-
}, []);
|
|
50
|
-
return {
|
|
51
|
-
announce,
|
|
52
|
-
announcement
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export { HiddenText, LiveRegion, useAnnouncement };
|
|
57
|
-
//# sourceMappingURL=dnd-kit-accessibility.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dnd-kit-accessibility.esm.js","sources":["../src/components/HiddenText/HiddenText.tsx","../src/components/LiveRegion/LiveRegion.tsx","../src/hooks/useAnnouncement.ts"],"sourcesContent":["import React from 'react';\n\ninterface Props {\n id: string;\n value: string;\n}\n\nconst hiddenStyles: React.CSSProperties = {\n display: 'none',\n};\n\nexport function HiddenText({id, value}: Props) {\n return (\n <div id={id} style={hiddenStyles}>\n {value}\n </div>\n );\n}\n","import React from 'react';\n\nexport interface Props {\n id: string;\n announcement: string;\n}\n\n// Hide element visually but keep it readable by screen readers\nconst visuallyHidden: React.CSSProperties = {\n position: 'fixed',\n width: 1,\n height: 1,\n margin: -1,\n border: 0,\n padding: 0,\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(100%)',\n whiteSpace: 'nowrap',\n};\n\nexport function LiveRegion({id, announcement}: Props) {\n return (\n <div\n id={id}\n style={visuallyHidden}\n role=\"status\"\n aria-live=\"assertive\"\n aria-atomic\n >\n {announcement}\n </div>\n );\n}\n","import {useCallback, useState} from 'react';\n\nexport function useAnnouncement() {\n const [announcement, setAnnouncement] = useState('');\n const announce = useCallback((value: string | undefined) => {\n if (value != null) {\n setAnnouncement(value);\n }\n }, []);\n\n return {announce, announcement} as const;\n}\n"],"names":["hiddenStyles","display","HiddenText","id","value","React","style","visuallyHidden","position","width","height","margin","border","padding","overflow","clip","clipPath","whiteSpace","LiveRegion","announcement","role","useAnnouncement","setAnnouncement","useState","announce","useCallback"],"mappings":";;AAOA,MAAMA,YAAY,GAAwB;EACxCC,OAAO,EAAE;AAD+B,CAA1C;SAIgBC;MAAW;IAACC,EAAD;IAAKC;;EAC9B,OACEC,mBAAA,MAAA;IAAKF,EAAE,EAAEA;IAAIG,KAAK,EAAEN;GAApB,EACGI,KADH,CADF;AAKD;;ACTD,MAAMG,cAAc,GAAwB;EAC1CC,QAAQ,EAAE,OADgC;EAE1CC,KAAK,EAAE,CAFmC;EAG1CC,MAAM,EAAE,CAHkC;EAI1CC,MAAM,EAAE,CAAC,CAJiC;EAK1CC,MAAM,EAAE,CALkC;EAM1CC,OAAO,EAAE,CANiC;EAO1CC,QAAQ,EAAE,QAPgC;EAQ1CC,IAAI,EAAE,eARoC;EAS1CC,QAAQ,EAAE,aATgC;EAU1CC,UAAU,EAAE;AAV8B,CAA5C;AAaA,SAAgBC;MAAW;IAACf,EAAD;IAAKgB;;EAC9B,OACEd,mBAAA,MAAA;IACEF,EAAE,EAAEA;IACJG,KAAK,EAAEC;IACPa,IAAI,EAAC;iBACK;;GAJZ,EAOGD,YAPH,CADF;AAWD;;SC/BeE;EACd,MAAM,CAACF,YAAD,EAAeG,eAAf,IAAkCC,QAAQ,CAAC,EAAD,CAAhD;EACA,MAAMC,QAAQ,GAAGC,WAAW,CAAErB,KAAD;IAC3B,IAAIA,KAAK,IAAI,IAAb,EAAmB;MACjBkB,eAAe,CAAClB,KAAD,CAAf;;GAFwB,EAIzB,EAJyB,CAA5B;EAMA,OAAO;IAACoB,QAAD;IAAWL;GAAlB;AACD;;;;"}
|
package/dist/hooks/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { useAnnouncement } from './useAnnouncement';
|