@lssm/lib.accessibility 0.0.0-canary-20251217083314 → 0.0.0-canary-20251220002821

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.
Files changed (52) hide show
  1. package/LICENSE +21 -0
  2. package/dist/AccessibilityPanel.d.ts +2 -1
  3. package/dist/AccessibilityPanel.d.ts.map +1 -0
  4. package/dist/AccessibilityPanel.js +5 -4
  5. package/dist/AccessibilityPanel.js.map +1 -0
  6. package/dist/AccessibilityProvider.d.ts +4 -3
  7. package/dist/AccessibilityProvider.d.ts.map +1 -0
  8. package/dist/AccessibilityProvider.js +2 -1
  9. package/dist/AccessibilityProvider.js.map +1 -0
  10. package/dist/design-system/dist/_virtual/rolldown_runtime.js +2 -1
  11. package/dist/design-system/dist/_virtual/rolldown_runtime.js.map +1 -0
  12. package/dist/design-system/dist/components/atoms/Button.js +5 -4
  13. package/dist/design-system/dist/components/atoms/Button.js.map +1 -0
  14. package/dist/design-system/dist/ui-kit-web/dist/ui/button.js +2 -1
  15. package/dist/design-system/dist/ui-kit-web/dist/ui/button.js.map +1 -0
  16. package/dist/design-system/dist/ui-kit-web/dist/ui-kit-core/dist/utils.js +2 -1
  17. package/dist/design-system/dist/ui-kit-web/dist/ui-kit-core/dist/utils.js.map +1 -0
  18. package/dist/next-route-announcer.d.ts +4 -3
  19. package/dist/next-route-announcer.d.ts.map +1 -0
  20. package/dist/next-route-announcer.js +2 -1
  21. package/dist/next-route-announcer.js.map +1 -0
  22. package/dist/preferences.d.ts +4 -3
  23. package/dist/preferences.d.ts.map +1 -0
  24. package/dist/preferences.js +2 -1
  25. package/dist/preferences.js.map +1 -0
  26. package/dist/styles-Hj-tTiy1.css +2 -0
  27. package/dist/styles-Hj-tTiy1.css.map +1 -0
  28. package/dist/ui-kit-web/dist/ui/dialog.js +2 -1
  29. package/dist/ui-kit-web/dist/ui/dialog.js.map +1 -0
  30. package/dist/ui-kit-web/dist/ui/focus-on-route-change.js +2 -1
  31. package/dist/ui-kit-web/dist/ui/focus-on-route-change.js.map +1 -0
  32. package/dist/ui-kit-web/dist/ui/label.js +2 -1
  33. package/dist/ui-kit-web/dist/ui/label.js.map +1 -0
  34. package/dist/ui-kit-web/dist/ui/live-region.js +2 -1
  35. package/dist/ui-kit-web/dist/ui/live-region.js.map +1 -0
  36. package/dist/ui-kit-web/dist/ui/route-announcer.js +2 -1
  37. package/dist/ui-kit-web/dist/ui/route-announcer.js.map +1 -0
  38. package/dist/ui-kit-web/dist/ui/select.js +2 -1
  39. package/dist/ui-kit-web/dist/ui/select.js.map +1 -0
  40. package/dist/ui-kit-web/dist/ui/skip-link.js +2 -1
  41. package/dist/ui-kit-web/dist/ui/skip-link.js.map +1 -0
  42. package/dist/ui-kit-web/dist/ui/switch.js +2 -2
  43. package/dist/ui-kit-web/dist/ui/switch.js.map +1 -0
  44. package/dist/ui-kit-web/dist/ui/use-reduced-motion.js +2 -1
  45. package/dist/ui-kit-web/dist/ui/use-reduced-motion.js.map +1 -0
  46. package/dist/ui-kit-web/dist/ui/utils.js +2 -1
  47. package/dist/ui-kit-web/dist/ui/utils.js.map +1 -0
  48. package/dist/ui-kit-web/dist/ui/visually-hidden.js +2 -1
  49. package/dist/ui-kit-web/dist/ui/visually-hidden.js.map +1 -0
  50. package/dist/ui-kit-web/dist/ui-kit-core/dist/utils.js +2 -1
  51. package/dist/ui-kit-web/dist/ui-kit-core/dist/utils.js.map +1 -0
  52. package/package.json +16 -9
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Chaman Ventures, SASU
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -7,4 +7,5 @@ declare function AccessibilityPanel({
7
7
  className?: string;
8
8
  }): react_jsx_runtime0.JSX.Element;
9
9
  //#endregion
10
- export { AccessibilityPanel };
10
+ export { AccessibilityPanel };
11
+ //# sourceMappingURL=AccessibilityPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessibilityPanel.d.ts","names":[],"sources":["../src/AccessibilityPanel.tsx"],"sourcesContent":[],"mappings":";;;iBA6BgB,kBAAA;;;;IAAwD,kBAAA,CAAA,GAAA,CAAA"}
@@ -1,7 +1,7 @@
1
1
  'use client';
2
2
 
3
3
  import { Dialog, DialogClose, DialogContent, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from "./ui-kit-web/dist/ui/dialog.js";
4
- import { Button$1 } from "./design-system/dist/components/atoms/Button.js";
4
+ import { Button } from "./design-system/dist/components/atoms/Button.js";
5
5
  import { Switch } from "./ui-kit-web/dist/ui/switch.js";
6
6
  import { Label } from "./ui-kit-web/dist/ui/label.js";
7
7
  import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "./ui-kit-web/dist/ui/select.js";
@@ -15,7 +15,7 @@ function AccessibilityPanel({ className }) {
15
15
  const { preferences, setPreferences } = useA11YPreferences();
16
16
  return /* @__PURE__ */ jsxs(Dialog, { children: [/* @__PURE__ */ jsx(DialogTrigger, {
17
17
  asChild: true,
18
- children: /* @__PURE__ */ jsx(Button$1, {
18
+ children: /* @__PURE__ */ jsx(Button, {
19
19
  variant: "outline",
20
20
  "aria-haspopup": "dialog",
21
21
  children: "Accessibility"
@@ -160,7 +160,7 @@ function AccessibilityPanel({ className }) {
160
160
  className: "mt-8 flex justify-end gap-2",
161
161
  children: /* @__PURE__ */ jsx(DialogClose, {
162
162
  asChild: true,
163
- children: /* @__PURE__ */ jsx(Button$1, {
163
+ children: /* @__PURE__ */ jsx(Button, {
164
164
  variant: "secondary",
165
165
  children: "Close"
166
166
  })
@@ -171,4 +171,5 @@ function AccessibilityPanel({ className }) {
171
171
  }
172
172
 
173
173
  //#endregion
174
- export { AccessibilityPanel };
174
+ export { AccessibilityPanel };
175
+ //# sourceMappingURL=AccessibilityPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessibilityPanel.js","names":[],"sources":["../src/AccessibilityPanel.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n} from '@lssm/lib.ui-kit-web/ui/dialog';\nimport { Button } from '@lssm/lib.design-system';\nimport { Switch } from '@lssm/lib.ui-kit-web/ui/switch';\nimport { Label } from '@lssm/lib.ui-kit-web/ui/label';\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '@lssm/lib.ui-kit-web/ui/select';\nimport {\n type ReduceMotion,\n type TextSize,\n useA11YPreferences,\n} from './preferences';\nimport { cn } from '@lssm/lib.ui-kit-web/ui/utils';\n\nexport function AccessibilityPanel({ className }: { className?: string }) {\n const { preferences, setPreferences } = useA11YPreferences();\n\n return (\n <Dialog>\n <DialogTrigger asChild>\n <Button variant=\"outline\" aria-haspopup=\"dialog\">\n Accessibility\n </Button>\n </DialogTrigger>\n <DialogPortal>\n <DialogOverlay className=\"fixed inset-0 z-50 bg-black/40\" />\n <DialogContent\n className={cn(\n // 'fixed right-0 top-0 z-50 h-full w-full max-w-md bg-background p-6 shadow-lg outline-hidden focus-visible:ring-2 focus-visible:ring-ring',\n 'bg-background focus-visible:ring-ring max-w-md p-6 shadow-lg outline-hidden focus-visible:ring-2',\n className\n )}\n aria-describedby=\"a11y-panel-desc\"\n >\n <DialogTitle className=\"text-lg font-semibold\">\n Accessibility settings\n </DialogTitle>\n <p id=\"a11y-panel-desc\" className=\"text-muted-foreground text-sm\">\n Adjust text size, spacing, focus and motion to suit your needs.\n </p>\n\n <div className=\"mt-6 space-y-6\">\n <div className=\"space-y-2\">\n <Label>Text size</Label>\n <Select\n value={preferences.textSize}\n onValueChange={(v) =>\n setPreferences({ textSize: v as TextSize })\n }\n >\n <SelectTrigger aria-label=\"Text size\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"s\">Small</SelectItem>\n <SelectItem value=\"m\">Medium</SelectItem>\n <SelectItem value=\"l\">Large</SelectItem>\n <SelectItem value=\"xl\">Extra Large</SelectItem>\n </SelectContent>\n </Select>\n </div>\n\n <div className=\"flex items-center justify-between\">\n <Label htmlFor=\"text-spacing\">\n Increase text spacing (WCAG 1.4.12)\n </Label>\n <Switch\n id=\"text-spacing\"\n checked={preferences.textSpacing === 'increased'}\n onCheckedChange={(c) =>\n setPreferences({ textSpacing: c ? 'increased' : 'normal' })\n }\n />\n </div>\n\n <div className=\"flex items-center justify-between\">\n <Label htmlFor=\"line-height\">Increase line height</Label>\n <Switch\n id=\"line-height\"\n checked={preferences.lineHeight === 'increased'}\n onCheckedChange={(c) =>\n setPreferences({ lineHeight: c ? 'increased' : 'normal' })\n }\n />\n </div>\n\n <div className=\"flex items-center justify-between\">\n <Label htmlFor=\"underline-links\">Always underline links</Label>\n <Switch\n id=\"underline-links\"\n checked={preferences.underlineLinks}\n onCheckedChange={(c) => setPreferences({ underlineLinks: c })}\n />\n </div>\n\n <div className=\"flex items-center justify-between\">\n <Label htmlFor=\"focus-ring\">Thick focus ring</Label>\n <Switch\n id=\"focus-ring\"\n checked={preferences.focusRing === 'thick'}\n onCheckedChange={(c) =>\n setPreferences({ focusRing: c ? 'thick' : 'normal' })\n }\n />\n </div>\n\n <div className=\"space-y-2\">\n <Label>Motion</Label>\n <Select\n value={preferences.reduceMotion}\n onValueChange={(v) =>\n setPreferences({ reduceMotion: v as ReduceMotion })\n }\n >\n <SelectTrigger aria-label=\"Motion preferences\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"system\">Follow system</SelectItem>\n <SelectItem value=\"reduce\">Reduce motion</SelectItem>\n <SelectItem value=\"no-preference\">Allow motion</SelectItem>\n </SelectContent>\n </Select>\n </div>\n\n <div className=\"flex items-center justify-between\">\n <Label htmlFor=\"contrast\">High contrast</Label>\n <Switch\n id=\"contrast\"\n checked={preferences.highContrast}\n onCheckedChange={(c) => setPreferences({ highContrast: c })}\n />\n </div>\n\n <div className=\"flex items-center justify-between\">\n <Label htmlFor=\"dyslexia-font\">Dyslexia-friendly font</Label>\n <Switch\n id=\"dyslexia-font\"\n checked={preferences.dyslexiaFont}\n onCheckedChange={(c) => setPreferences({ dyslexiaFont: c })}\n />\n </div>\n </div>\n\n <div className=\"mt-8 flex justify-end gap-2\">\n <DialogClose asChild>\n <Button variant=\"secondary\">Close</Button>\n </DialogClose>\n </div>\n </DialogContent>\n </DialogPortal>\n </Dialog>\n );\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as React$1 from "react";
2
- import * as react_jsx_runtime2 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime1 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/AccessibilityProvider.d.ts
5
5
  declare function AccessibilityProvider({
@@ -8,6 +8,7 @@ declare function AccessibilityProvider({
8
8
  }: {
9
9
  children: React$1.ReactNode;
10
10
  skipTargetId?: string;
11
- }): react_jsx_runtime2.JSX.Element;
11
+ }): react_jsx_runtime1.JSX.Element;
12
12
  //#endregion
13
- export { AccessibilityProvider };
13
+ export { AccessibilityProvider };
14
+ //# sourceMappingURL=AccessibilityProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessibilityProvider.d.ts","names":[],"sources":["../src/AccessibilityProvider.tsx"],"sourcesContent":[],"mappings":";;;;iBAQgB,qBAAA;;;AAAhB;YAIY,OAAA,CAAM;;AAJlB,CAAA,CAAA,EAMC,kBAAA,CAAA,GAAA,CAAA,OANoC"}
@@ -17,4 +17,5 @@ function AccessibilityProvider({ children, skipTargetId = "main" }) {
17
17
  }
18
18
 
19
19
  //#endregion
20
- export { AccessibilityProvider };
20
+ export { AccessibilityProvider };
21
+ //# sourceMappingURL=AccessibilityProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccessibilityProvider.js","names":[],"sources":["../src/AccessibilityProvider.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { A11YPreferencesProvider } from './preferences';\nimport { SRLiveRegionProvider } from '@lssm/lib.ui-kit-web/ui/live-region';\nimport { NextRouteAnnouncer } from './next-route-announcer';\nimport { SkipLink } from '@lssm/lib.ui-kit-web/ui/skip-link';\n\nexport function AccessibilityProvider({\n children,\n skipTargetId = 'main',\n}: {\n children: React.ReactNode;\n skipTargetId?: string;\n}) {\n return (\n <A11YPreferencesProvider>\n <SRLiveRegionProvider>\n <SkipLink targetId={skipTargetId} />\n <NextRouteAnnouncer />\n {children}\n </SRLiveRegionProvider>\n </A11YPreferencesProvider>\n );\n}\n"],"mappings":";;;;;;;;;;AAQA,SAAgB,sBAAsB,EACpC,UACA,eAAe,UAId;AACD,QACE,oBAAC,qCACC,qBAAC;EACC,oBAAC,YAAS,UAAU,eAAgB;EACpC,oBAAC,uBAAqB;EACrB;KACoB,GACC"}
@@ -2,4 +2,5 @@
2
2
  var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
3
3
 
4
4
  //#endregion
5
- export { __esmMin };
5
+ export { __esmMin };
6
+ //# sourceMappingURL=rolldown_runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolldown_runtime.js","names":[],"sources":["../../../../../design-system/dist/_virtual/rolldown_runtime.js"],"sourcesContent":["//#region rolldown:runtime\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);\nvar __export = (all, symbols) => {\n\tlet target = {};\n\tfor (var name in all) {\n\t\t__defProp(target, name, {\n\t\t\tget: all[name],\n\t\t\tenumerable: true\n\t\t});\n\t}\n\tif (symbols) {\n\t\t__defProp(target, Symbol.toStringTag, { value: \"Module\" });\n\t}\n\treturn target;\n};\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\t\tkey = keys[i];\n\t\t\tif (!__hasOwnProp.call(to, key) && key !== except) {\n\t\t\t\t__defProp(to, key, {\n\t\t\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn to;\n};\nvar __toCommonJS = (mod) => __hasOwnProp.call(mod, \"module.exports\") ? mod[\"module.exports\"] : __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n//#endregion\nexport { __esmMin, __export, __toCommonJS };"],"mappings":";AAKA,IAAI,YAAY,IAAI,eAAe,OAAO,MAAM,GAAG,KAAK,EAAE,GAAG"}
@@ -1,17 +1,17 @@
1
- import { Button } from "../../ui-kit-web/dist/ui/button.js";
1
+ import { Button as Button$1 } from "../../ui-kit-web/dist/ui/button.js";
2
2
  import "react";
3
3
  import { Loader2 } from "lucide-react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
6
  //#region ../design-system/dist/components/atoms/Button.js
7
- function Button$1({ children, loading, spinnerPlacement = "start", onPress, onPressIn, onPressOut, onLongPress, onTouchStart, onTouchEnd, onTouchCancel, onMouseDown, onMouseUp, onClick, className, disabled, ...rest }) {
7
+ function Button({ children, loading, spinnerPlacement = "start", onPress, onPressIn, onPressOut, onLongPress, onTouchStart, onTouchEnd, onTouchCancel, onMouseDown, onMouseUp, onClick, className, disabled, ...rest }) {
8
8
  const isDisabled = Boolean(disabled || loading);
9
9
  const content = !rest.asChild ? /* @__PURE__ */ jsxs(Fragment, { children: [
10
10
  loading && spinnerPlacement === "start" ? /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : null,
11
11
  children,
12
12
  loading && spinnerPlacement === "end" ? /* @__PURE__ */ jsx(Loader2, { className: "h-4 w-4 animate-spin" }) : null
13
13
  ] }) : children;
14
- return /* @__PURE__ */ jsx(Button, {
14
+ return /* @__PURE__ */ jsx(Button$1, {
15
15
  ...rest,
16
16
  className,
17
17
  disabled: isDisabled,
@@ -30,4 +30,5 @@ function Button$1({ children, loading, spinnerPlacement = "start", onPress, onPr
30
30
  }
31
31
 
32
32
  //#endregion
33
- export { Button$1 };
33
+ export { Button };
34
+ //# sourceMappingURL=Button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.js","names":[],"sources":["../../../../../../design-system/dist/components/atoms/Button.js"],"sourcesContent":["import { Button as Button$1 } from \"../../ui-kit-web/dist/ui/button.js\";\nimport \"react\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nimport { Loader2 } from \"lucide-react\";\n\n//#region src/components/atoms/Button.tsx\nfunction Button({ children, loading, spinnerPlacement = \"start\", onPress, onPressIn, onPressOut, onLongPress, onTouchStart, onTouchEnd, onTouchCancel, onMouseDown, onMouseUp, onClick, className, disabled, ...rest }) {\n\tconst isDisabled = Boolean(disabled || loading);\n\tconst content = !rest.asChild ? /* @__PURE__ */ jsxs(Fragment, { children: [\n\t\tloading && spinnerPlacement === \"start\" ? /* @__PURE__ */ jsx(Loader2, { className: \"h-4 w-4 animate-spin\" }) : null,\n\t\tchildren,\n\t\tloading && spinnerPlacement === \"end\" ? /* @__PURE__ */ jsx(Loader2, { className: \"h-4 w-4 animate-spin\" }) : null\n\t] }) : children;\n\treturn /* @__PURE__ */ jsx(Button$1, {\n\t\t...rest,\n\t\tclassName,\n\t\tdisabled: isDisabled,\n\t\t\"aria-busy\": loading ? true : void 0,\n\t\t\"aria-disabled\": isDisabled ? true : void 0,\n\t\tonPress: onPress || onClick,\n\t\tonClick: onPress || onClick,\n\t\tonMouseDown: onMouseDown || onPressIn,\n\t\tonMouseUp: onMouseUp || onPressOut,\n\t\tonTouchStart,\n\t\tonTouchEnd: onTouchEnd || onPressOut,\n\t\tonTouchCancel: onTouchCancel || onPressOut,\n\t\ttype: rest?.type ?? \"button\",\n\t\tchildren: content\n\t});\n}\n\n//#endregion\nexport { Button };\n//# sourceMappingURL=Button.js.map"],"mappings":";;;;;;AAMA,SAAS,OAAO,EAAE,UAAU,SAAS,mBAAmB,SAAS,SAAS,WAAW,YAAY,aAAa,cAAc,YAAY,eAAe,aAAa,WAAW,SAAS,WAAW,UAAU,GAAG,QAAQ;CACvN,MAAM,aAAa,QAAQ,YAAY,QAAQ;CAC/C,MAAM,UAAU,CAAC,KAAK,UAA0B,qBAAK,UAAU,EAAE,UAAU;EAC1E,WAAW,qBAAqB,UAA0B,oBAAI,SAAS,EAAE,WAAW,wBAAwB,CAAC,GAAG;EAChH;EACA,WAAW,qBAAqB,QAAwB,oBAAI,SAAS,EAAE,WAAW,wBAAwB,CAAC,GAAG;EAC9G,EAAE,CAAC,GAAG;AACP,QAAuB,oBAAI,UAAU;EACpC,GAAG;EACH;EACA,UAAU;EACV,aAAa,UAAU,OAAO,KAAK;EACnC,iBAAiB,aAAa,OAAO,KAAK;EAC1C,SAAS,WAAW;EACpB,SAAS,WAAW;EACpB,aAAa,eAAe;EAC5B,WAAW,aAAa;EACxB;EACA,YAAY,cAAc;EAC1B,eAAe,iBAAiB;EAChC,MAAM,MAAM,QAAQ;EACpB,UAAU;EACV,CAAC"}
@@ -52,4 +52,5 @@ const Button = React$1.forwardRef(({ className, variant, size, asChild = false,
52
52
  Button.displayName = "Button";
53
53
 
54
54
  //#endregion
55
- export { Button };
55
+ export { Button };
56
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","names":[],"sources":["../../../../../../../design-system/dist/ui-kit-web/dist/ui/button.js"],"sourcesContent":["import { cn, init_utils } from \"../ui-kit-core/dist/utils.js\";\nimport * as React$1 from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nimport { cva } from \"class-variance-authority\";\nimport { Slot } from \"@radix-ui/react-slot\";\n\n//#region ../ui-kit-web/dist/ui/button.js\ninit_utils();\nconst buttonVariants = cva(\"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-hidden focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\", {\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n\t\t\tdestructive: \"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60\",\n\t\t\toutline: \"border bg-background shadow-2xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50\",\n\t\t\tsecondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n\t\t\tghost: \"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50\",\n\t\t\tlink: \"text-primary underline-offset-4 hover:underline\"\n\t\t},\n\t\tsize: {\n\t\t\tdefault: \"h-9 px-4 py-2 has-[>svg]:px-3\",\n\t\t\tsm: \"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5\",\n\t\t\tlg: \"h-10 rounded-md px-6 has-[>svg]:px-4\",\n\t\t\ticon: \"size-9\"\n\t\t}\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"default\",\n\t\tsize: \"default\"\n\t}\n});\nconst Button = React$1.forwardRef(({ className, variant, size, asChild = false, ...props }, ref) => {\n\tif (asChild) return /* @__PURE__ */ jsx(Slot, {\n\t\t\"data-slot\": \"button\",\n\t\tclassName: cn(buttonVariants({\n\t\t\tvariant,\n\t\t\tsize,\n\t\t\tclassName\n\t\t})),\n\t\t...props\n\t});\n\treturn /* @__PURE__ */ jsx(\"button\", {\n\t\tref,\n\t\t\"data-slot\": \"button\",\n\t\tclassName: cn(buttonVariants({\n\t\t\tvariant,\n\t\t\tsize,\n\t\t\tclassName\n\t\t})),\n\t\t...props\n\t});\n});\nButton.displayName = \"Button\";\n\n//#endregion\nexport { Button, buttonVariants };\n//# sourceMappingURL=button.js.map"],"mappings":";;;;;;;AAOA,YAAY;AACZ,MAAM,iBAAiB,IAAI,icAAic;CAC3d,UAAU;EACT,SAAS;GACR,SAAS;GACT,aAAa;GACb,SAAS;GACT,WAAW;GACX,OAAO;GACP,MAAM;GACN;EACD,MAAM;GACL,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,MAAM;GACN;EACD;CACD,iBAAiB;EAChB,SAAS;EACT,MAAM;EACN;CACD,CAAC;AACF,MAAM,SAAS,QAAQ,YAAY,EAAE,WAAW,SAAS,MAAM,UAAU,OAAO,GAAG,SAAS,QAAQ;AACnG,KAAI,QAAS,QAAuB,oBAAI,MAAM;EAC7C,aAAa;EACb,WAAW,GAAG,eAAe;GAC5B;GACA;GACA;GACA,CAAC,CAAC;EACH,GAAG;EACH,CAAC;AACF,QAAuB,oBAAI,UAAU;EACpC;EACA,aAAa;EACb,WAAW,GAAG,eAAe;GAC5B;GACA;GACA;GACA,CAAC,CAAC;EACH,GAAG;EACH,CAAC;EACD;AACF,OAAO,cAAc"}
@@ -10,4 +10,5 @@ var init_utils = __esmMin((() => {}));
10
10
  init_utils();
11
11
 
12
12
  //#endregion
13
- export { cn, init_utils };
13
+ export { cn, init_utils };
14
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../../../../../../../design-system/dist/ui-kit-web/dist/ui-kit-core/dist/utils.js"],"sourcesContent":["import { __esmMin } from \"../../../../_virtual/rolldown_runtime.js\";\nimport { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n//#region ../ui-kit-web/dist/ui-kit-core/dist/utils.js\nfunction cn(...inputs) {\n\treturn twMerge(clsx(inputs));\n}\nvar init_utils = __esmMin((() => {}));\n\n//#endregion\ninit_utils();\nexport { cn, init_utils };\n//# sourceMappingURL=utils.js.map"],"mappings":";;;;;AAKA,SAAS,GAAG,GAAG,QAAQ;AACtB,QAAO,QAAQ,KAAK,OAAO,CAAC;;AAE7B,IAAI,aAAa,gBAAgB,IAAI;AAGrC,YAAY"}
@@ -1,6 +1,7 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime2 from "react/jsx-runtime";
2
2
 
3
3
  //#region src/next-route-announcer.d.ts
4
- declare function NextRouteAnnouncer(): react_jsx_runtime0.JSX.Element;
4
+ declare function NextRouteAnnouncer(): react_jsx_runtime2.JSX.Element;
5
5
  //#endregion
6
- export { NextRouteAnnouncer };
6
+ export { NextRouteAnnouncer };
7
+ //# sourceMappingURL=next-route-announcer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-route-announcer.d.ts","names":[],"sources":["../src/next-route-announcer.tsx"],"sourcesContent":[],"mappings":";;;iBAIgB,kBAAA,CAAA,GAAkB,kBAAA,CAAA,GAAA,CAAA"}
@@ -20,4 +20,5 @@ function NextRouteAnnouncer() {
20
20
  }
21
21
 
22
22
  //#endregion
23
- export { NextRouteAnnouncer };
23
+ export { NextRouteAnnouncer };
24
+ //# sourceMappingURL=next-route-announcer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"next-route-announcer.js","names":["React"],"sources":["../src/next-route-announcer.tsx"],"sourcesContent":["'use client';\nimport * as React from 'react';\nimport { usePathname } from 'next/navigation';\n\nexport function NextRouteAnnouncer() {\n const pathname = usePathname();\n const [message, setMessage] = React.useState('');\n\n React.useEffect(() => {\n // announce current document title whenever pathname changes\n if (typeof document !== 'undefined') {\n setMessage(document.title || pathname || '');\n }\n }, [pathname]);\n\n return (\n <div aria-live=\"polite\" aria-atomic=\"true\" className=\"sr-only\">\n {message}\n </div>\n );\n}\n"],"mappings":";;;;;;;AAIA,SAAgB,qBAAqB;CACnC,MAAM,WAAW,aAAa;CAC9B,MAAM,CAAC,SAAS,cAAcA,QAAM,SAAS,GAAG;AAEhD,SAAM,gBAAgB;AAEpB,MAAI,OAAO,aAAa,YACtB,YAAW,SAAS,SAAS,YAAY,GAAG;IAE7C,CAAC,SAAS,CAAC;AAEd,QACE,oBAAC;EAAI,aAAU;EAAS,eAAY;EAAO,WAAU;YAClD;GACG"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import * as react_jsx_runtime1 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/preferences.d.ts
5
5
  type TextSize = 's' | 'm' | 'l' | 'xl';
@@ -29,7 +29,8 @@ declare function A11YPreferencesProvider({
29
29
  children
30
30
  }: {
31
31
  children: React.ReactNode;
32
- }): react_jsx_runtime1.JSX.Element;
32
+ }): react_jsx_runtime0.JSX.Element;
33
33
  declare function a11yRootClassName(): string;
34
34
  //#endregion
35
- export { A11YPreferencesProvider, AccessibilityPreferences, DyslexiaFont, FocusRing, HighContrast, LineHeight, ReduceMotion, TextSize, TextSpacing, UnderlineLinks, a11yRootClassName, useA11YPreferences };
35
+ export { A11YPreferencesProvider, AccessibilityPreferences, DyslexiaFont, FocusRing, HighContrast, LineHeight, ReduceMotion, TextSize, TextSpacing, UnderlineLinks, a11yRootClassName, useA11YPreferences };
36
+ //# sourceMappingURL=preferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferences.d.ts","names":[],"sources":["../src/preferences.tsx"],"sourcesContent":[],"mappings":";;;;KAIY,QAAA;KACA,WAAA;KACA,UAAA;AAFA,KAGA,cAAA,GAHQ,OAAA;AACR,KAGA,SAAA,GAHW,QAAA,GAAA,OAAA;AACX,KAGA,YAAA,GAHU,QAAA,GAAA,QAAA,GAAA,eAAA;AACV,KAGA,YAAA,GAHc,OAAA;AACd,KAGA,YAAA,GAHS,OAAA;AACT,UAIK,wBAAA,CAJO;EACZ,QAAA,EAIA,QAJY;EACZ,WAAA,EAIG,WAJS;EAEP,UAAA,EAGH,UAHG;EACL,cAAA,EAGM,cAHN;EACG,SAAA,EAGF,SAHE;EACD,YAAA,EAGE,YAHF;EACI,YAAA,EAGF,YAHE;EACL,YAAA,EAGG,YAHH;;UA0HH,uBAAA,CAxHM;EACA,WAAA,EAwHD,wBAxHC;EAAY,cAAA,EAAA,CAAA,OAAA,EA2HpB,OA3HoB,CA2HZ,wBA3HY,CAAA,GAAA,CAAA,CAAA,CAAA,EA4Hf,wBA5He,EAAA,GA4Hc,wBA5Hd,CAAA,EAAA,GAAA,IAAA;AAC3B;AAuHc,iBAYC,kBAAA,CAAA,CAZD,EAYmB,uBAZnB;AAGC,iBAkBA,uBAAA,CAlBA;EAAA;CAAA,EAAA;EAAR,QAAA,EAqBI,KAAA,CAAM,SArBV;CACK,CAAA,EAqBZ,kBAAA,CAAA,GAAA,CAAA,OArBY;AAA6B,iBAoF1B,iBAAA,CAAA,CApF0B,EAAA,MAAA"}
@@ -116,4 +116,5 @@ function a11yRootClassName() {
116
116
  }
117
117
 
118
118
  //#endregion
119
- export { A11YPreferencesProvider, a11yRootClassName, useA11YPreferences };
119
+ export { A11YPreferencesProvider, a11yRootClassName, useA11YPreferences };
120
+ //# sourceMappingURL=preferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preferences.js","names":["DEFAULT_PREFERENCES: AccessibilityPreferences","changed: Partial<AccessibilityPreferences>"],"sources":["../src/preferences.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\n\nexport type TextSize = 's' | 'm' | 'l' | 'xl';\nexport type TextSpacing = 'normal' | 'increased';\nexport type LineHeight = 'normal' | 'increased';\nexport type UnderlineLinks = boolean;\nexport type FocusRing = 'normal' | 'thick';\nexport type ReduceMotion = 'system' | 'reduce' | 'no-preference';\nexport type HighContrast = boolean;\nexport type DyslexiaFont = boolean;\n\nexport interface AccessibilityPreferences {\n textSize: TextSize;\n textSpacing: TextSpacing;\n lineHeight: LineHeight;\n underlineLinks: UnderlineLinks;\n focusRing: FocusRing;\n reduceMotion: ReduceMotion;\n highContrast: HighContrast;\n dyslexiaFont: DyslexiaFont;\n}\n\nconst DEFAULT_PREFERENCES: AccessibilityPreferences = {\n textSize: 'm',\n textSpacing: 'normal',\n lineHeight: 'normal',\n underlineLinks: false,\n focusRing: 'normal',\n reduceMotion: 'system',\n highContrast: false,\n dyslexiaFont: false,\n};\n\nconst STORAGE_KEY = 'a11y:preferences:v1';\n\nfunction getStoredPreferences(): AccessibilityPreferences | null {\n try {\n const raw =\n typeof window !== 'undefined'\n ? window.localStorage.getItem(STORAGE_KEY)\n : null;\n if (!raw) return null;\n const parsed = JSON.parse(raw);\n return { ...DEFAULT_PREFERENCES, ...parsed } as AccessibilityPreferences;\n } catch {\n return null;\n }\n}\n\nfunction savePreferences(prefs: AccessibilityPreferences) {\n try {\n if (typeof window !== 'undefined') {\n window.localStorage.setItem(STORAGE_KEY, JSON.stringify(prefs));\n }\n } catch {\n // ignore\n }\n}\n\nfunction applyCssVariables(prefs: AccessibilityPreferences) {\n if (typeof document === 'undefined') return;\n const root = document.documentElement;\n const body = document.body;\n // Type scale (base multiplier)\n const sizeMap: Record<TextSize, string> = {\n s: '0.95',\n m: '1',\n l: '1.1',\n xl: '1.25',\n };\n root.style.setProperty('--a11y-text-scale', sizeMap[prefs.textSize]);\n // Target size: increase on larger text choices\n const targetMin =\n prefs.textSize === 'l' || prefs.textSize === 'xl' ? '44px' : '0px';\n root.style.setProperty('--a11y-target-min', targetMin);\n\n // Spacing per WCAG 1.4.12\n root.style.setProperty(\n '--a11y-letter-spacing',\n prefs.textSpacing === 'increased' ? '0.12em' : 'normal'\n );\n root.style.setProperty(\n '--a11y-word-spacing',\n prefs.textSpacing === 'increased' ? '0.16em' : 'normal'\n );\n root.style.setProperty(\n '--a11y-line-height',\n prefs.lineHeight === 'increased' ? '1.6' : '1.5'\n );\n\n // Links\n root.style.setProperty(\n '--a11y-underline-links',\n // Use 'revert' so we don't override the site's default when disabled\n prefs.underlineLinks ? 'underline' : 'revert'\n );\n\n // Focus ring\n root.style.setProperty(\n '--a11y-focus-ring-width',\n prefs.focusRing === 'thick' ? '4px' : '2px'\n );\n\n // Reduce motion\n root.style.setProperty('--a11y-reduce-motion', prefs.reduceMotion);\n\n // Contrast\n root.style.setProperty(\n '--a11y-contrast-mode',\n prefs.highContrast ? 'high' : 'normal'\n );\n if (prefs.highContrast) {\n root.setAttribute('data-contrast', 'high');\n } else {\n root.removeAttribute('data-contrast');\n }\n\n // Dyslexia-friendly font (consumer should map to an available font family)\n root.style.setProperty(\n '--a11y-font-family-alt-enabled',\n prefs.dyslexiaFont ? '1' : '0'\n );\n\n // Inline fallbacks in case global CSS variables are not wired/included by the app bundler.\n // These properties are inheritable, so setting them on <body> yields broad coverage.\n if (body) {\n if (prefs.textSpacing === 'increased') {\n body.style.letterSpacing = '0.12em';\n body.style.wordSpacing = '0.16em';\n } else {\n body.style.letterSpacing = '';\n body.style.wordSpacing = '';\n }\n\n body.style.lineHeight = prefs.lineHeight === 'increased' ? '1.6' : '';\n }\n}\n\ninterface PreferencesContextValue {\n preferences: AccessibilityPreferences;\n setPreferences: (\n updater:\n | Partial<AccessibilityPreferences>\n | ((p: AccessibilityPreferences) => AccessibilityPreferences)\n ) => void;\n}\n\nconst PreferencesContext = React.createContext<PreferencesContextValue | null>(\n null\n);\n\nexport function useA11YPreferences() {\n const ctx = React.useContext(PreferencesContext);\n if (!ctx)\n throw new Error(\n 'useA11YPreferences must be used within A11YPreferencesProvider'\n );\n return ctx;\n}\n\nexport function A11YPreferencesProvider({\n children,\n}: {\n children: React.ReactNode;\n}) {\n const [preferences, setPreferencesState] =\n React.useState<AccessibilityPreferences>(DEFAULT_PREFERENCES);\n const [hydrated, setHydrated] = React.useState(false);\n\n React.useEffect(() => {\n const stored = getStoredPreferences();\n const next = stored ?? DEFAULT_PREFERENCES;\n setPreferencesState(next);\n setHydrated(true);\n applyCssVariables(next);\n }, []);\n\n const setPreferences = React.useCallback<\n PreferencesContextValue['setPreferences']\n >((updater) => {\n setPreferencesState((prev) => {\n const next =\n typeof updater === 'function' ? updater(prev) : { ...prev, ...updater };\n savePreferences(next);\n applyCssVariables(next);\n try {\n if (typeof window !== 'undefined') {\n const changed: Partial<AccessibilityPreferences> = {};\n for (const key of Object.keys(\n next\n ) as (keyof AccessibilityPreferences)[]) {\n if (next[key] !== prev[key]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n changed[key] = next[key] as any;\n }\n }\n window.dispatchEvent(\n new CustomEvent('a11y:pref_changed', {\n detail: {\n previous: prev,\n current: next,\n changed,\n },\n })\n );\n }\n } catch {\n /* noop */\n }\n return next;\n });\n }, []);\n\n const value = React.useMemo(\n () => ({ preferences, setPreferences }),\n [preferences, setPreferences]\n );\n\n return (\n <PreferencesContext value={value}>\n {children}\n {!hydrated ? null : null}\n </PreferencesContext>\n );\n}\n\n// Helper to compute className additions that respect tokens (optional)\nexport function a11yRootClassName() {\n return 'a11y-root';\n}\n"],"mappings":"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"}
@@ -70,3 +70,5 @@ body {
70
70
  line-height: var(--a11y-line-height, 1.5);
71
71
  }
72
72
 
73
+
74
+ /*# sourceMappingURL=styles-Hj-tTiy1.css.map*/
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles-Hj-tTiy1.css","names":[],"sources":["../src/styles.css"],"sourcesContent":[":root {\n --a11y-text-scale: 1;\n --a11y-letter-spacing: normal;\n --a11y-word-spacing: normal;\n --a11y-line-height: 1.5;\n --a11y-underline-links: auto;\n --a11y-focus-ring-width: 2px;\n --a11y-reduce-motion: system;\n --a11y-contrast-mode: normal;\n --a11y-font-family-alt-enabled: 0;\n}\n\nhtml,\nbody {\n font-size: calc(16px * var(--a11y-text-scale));\n}\n\nbody,\np,\nli {\n letter-spacing: var(--a11y-letter-spacing);\n word-spacing: var(--a11y-word-spacing);\n line-height: var(--a11y-line-height);\n}\n\na {\n text-decoration: var(--a11y-underline-links);\n}\n\n:where(button, [role='button'], a, input, select, textarea) {\n outline-offset: 2px;\n min-height: var(--a11y-target-min, 0);\n min-width: var(--a11y-target-min, 0);\n}\n\n:where(:focus-visible) {\n outline: var(--a11y-focus-ring-width) solid currentColor;\n}\n\n/* High contrast mode surface example tokens (apps should map their colors) */\n:root[data-contrast='high'],\n:root[style*='--a11y-contrast-mode: high'] {\n /* Apps can read this signal to swap theme */\n}\n\n/* Dyslexia-friendly font: consumers should apply a font-family when enabled */\n:root[style*='--a11y-font-family-alt-enabled: 1'] body {\n font-family: var(--font-dyslexia, system-ui, sans-serif);\n}\n\n/* Respect reduced motion preference and explicit override */\n@media (prefers-reduced-motion: reduce) {\n :root[style*='--a11y-reduce-motion: system'] * {\n animation: none !important;\n transition: none !important;\n scroll-behavior: auto !important;\n }\n}\n:root[style*='--a11y-reduce-motion: reduce'] * {\n animation: none !important;\n transition: none !important;\n scroll-behavior: auto !important;\n}\n\n/* Explicit fallbacks for environments not honoring custom properties thoroughly */\nbody {\n /* If variables are missing, ensure readable defaults */\n letter-spacing: var(--a11y-letter-spacing, normal);\n word-spacing: var(--a11y-word-spacing, normal);\n line-height: var(--a11y-line-height, 1.5);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -65,4 +65,5 @@ function DialogTitle({ className, ...props }) {
65
65
  }
66
66
 
67
67
  //#endregion
68
- export { Dialog, DialogClose, DialogContent, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
68
+ export { Dialog, DialogClose, DialogContent, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };
69
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/dialog.js"],"sourcesContent":["'use client';\n\nimport { cn } from \"../ui-kit-core/dist/utils.js\";\nimport \"react\";\nimport { XIcon } from \"lucide-react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\n\n//#region ui/dialog.tsx\nfunction Dialog({ ...props }) {\n\treturn /* @__PURE__ */ jsx(DialogPrimitive.Root, {\n\t\t\"data-slot\": \"dialog\",\n\t\t...props\n\t});\n}\nfunction DialogTrigger({ ...props }) {\n\treturn /* @__PURE__ */ jsx(DialogPrimitive.Trigger, {\n\t\t\"data-slot\": \"dialog-trigger\",\n\t\t...props\n\t});\n}\nfunction DialogPortal({ ...props }) {\n\treturn /* @__PURE__ */ jsx(DialogPrimitive.Portal, {\n\t\t\"data-slot\": \"dialog-portal\",\n\t\t...props\n\t});\n}\nfunction DialogClose({ ...props }) {\n\treturn /* @__PURE__ */ jsx(DialogPrimitive.Close, {\n\t\t\"data-slot\": \"dialog-close\",\n\t\t...props\n\t});\n}\nfunction DialogOverlay({ className, ...props }) {\n\treturn /* @__PURE__ */ jsx(DialogPrimitive.Overlay, {\n\t\t\"data-slot\": \"dialog-overlay\",\n\t\tclassName: cn(\"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\", className),\n\t\t...props\n\t});\n}\nfunction DialogContent({ className, children, showCloseButton = true, ...props }) {\n\treturn /* @__PURE__ */ jsxs(DialogPortal, {\n\t\t\"data-slot\": \"dialog-portal\",\n\t\tchildren: [/* @__PURE__ */ jsx(DialogOverlay, {}), /* @__PURE__ */ jsxs(DialogPrimitive.Content, {\n\t\t\t\"data-slot\": \"dialog-content\",\n\t\t\tclassName: cn(\"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\", className),\n\t\t\t...props,\n\t\t\tchildren: [children, showCloseButton && /* @__PURE__ */ jsxs(DialogPrimitive.Close, {\n\t\t\t\t\"data-slot\": \"dialog-close\",\n\t\t\t\tclassName: \"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n\t\t\t\tchildren: [/* @__PURE__ */ jsx(XIcon, {}), /* @__PURE__ */ jsx(\"span\", {\n\t\t\t\t\tclassName: \"sr-only\",\n\t\t\t\t\tchildren: \"Close\"\n\t\t\t\t})]\n\t\t\t})]\n\t\t})]\n\t});\n}\nfunction DialogHeader({ className, ...props }) {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\t\"data-slot\": \"dialog-header\",\n\t\tclassName: cn(\"flex flex-col gap-2 text-center sm:text-left\", className),\n\t\t...props\n\t});\n}\nfunction DialogFooter({ className, ...props }) {\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\t\"data-slot\": \"dialog-footer\",\n\t\tclassName: cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className),\n\t\t...props\n\t});\n}\nfunction DialogTitle({ className, ...props }) {\n\treturn /* @__PURE__ */ jsx(DialogPrimitive.Title, {\n\t\t\"data-slot\": \"dialog-title\",\n\t\tclassName: cn(\"text-lg leading-none font-semibold\", className),\n\t\t...props\n\t});\n}\nfunction DialogDescription({ className, ...props }) {\n\treturn /* @__PURE__ */ jsx(DialogPrimitive.Description, {\n\t\t\"data-slot\": \"dialog-description\",\n\t\tclassName: cn(\"text-muted-foreground text-sm\", className),\n\t\t...props\n\t});\n}\n\n//#endregion\nexport { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger };\n//# sourceMappingURL=dialog.js.map"],"mappings":";;;;;;;;;AASA,SAAS,OAAO,EAAE,GAAG,SAAS;AAC7B,QAAuB,oBAAI,gBAAgB,MAAM;EAChD,aAAa;EACb,GAAG;EACH,CAAC;;AAEH,SAAS,cAAc,EAAE,GAAG,SAAS;AACpC,QAAuB,oBAAI,gBAAgB,SAAS;EACnD,aAAa;EACb,GAAG;EACH,CAAC;;AAEH,SAAS,aAAa,EAAE,GAAG,SAAS;AACnC,QAAuB,oBAAI,gBAAgB,QAAQ;EAClD,aAAa;EACb,GAAG;EACH,CAAC;;AAEH,SAAS,YAAY,EAAE,GAAG,SAAS;AAClC,QAAuB,oBAAI,gBAAgB,OAAO;EACjD,aAAa;EACb,GAAG;EACH,CAAC;;AAEH,SAAS,cAAc,EAAE,WAAW,GAAG,SAAS;AAC/C,QAAuB,oBAAI,gBAAgB,SAAS;EACnD,aAAa;EACb,WAAW,GAAG,0JAA0J,UAAU;EAClL,GAAG;EACH,CAAC;;AAEH,SAAS,cAAc,EAAE,WAAW,UAAU,kBAAkB,MAAM,GAAG,SAAS;AACjF,QAAuB,qBAAK,cAAc;EACzC,aAAa;EACb,UAAU,CAAiB,oBAAI,eAAe,EAAE,CAAC,EAAkB,qBAAK,gBAAgB,SAAS;GAChG,aAAa;GACb,WAAW,GAAG,+WAA+W,UAAU;GACvY,GAAG;GACH,UAAU,CAAC,UAAU,mBAAmC,qBAAK,gBAAgB,OAAO;IACnF,aAAa;IACb,WAAW;IACX,UAAU,CAAiB,oBAAI,OAAO,EAAE,CAAC,EAAkB,oBAAI,QAAQ;KACtE,WAAW;KACX,UAAU;KACV,CAAC,CAAC;IACH,CAAC,CAAC;GACH,CAAC,CAAC;EACH,CAAC;;AAgBH,SAAS,YAAY,EAAE,WAAW,GAAG,SAAS;AAC7C,QAAuB,oBAAI,gBAAgB,OAAO;EACjD,aAAa;EACb,WAAW,GAAG,sCAAsC,UAAU;EAC9D,GAAG;EACH,CAAC"}
@@ -13,4 +13,5 @@ function FocusOnRouteChange({ focusSelector = "h1, [data-page-title], #main" })
13
13
  }
14
14
 
15
15
  //#endregion
16
- export { FocusOnRouteChange };
16
+ export { FocusOnRouteChange };
17
+ //# sourceMappingURL=focus-on-route-change.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus-on-route-change.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/focus-on-route-change.js"],"sourcesContent":["import * as React$1 from \"react\";\n\n//#region ui/focus-on-route-change.tsx\nfunction FocusOnRouteChange({ focusSelector = \"h1, [data-page-title], #main\" }) {\n\tReact$1.useEffect(() => {\n\t\tconst el = document.querySelector(focusSelector);\n\t\tif (el) {\n\t\t\tel.tabIndex = -1;\n\t\t\tel.focus();\n\t\t}\n\t});\n\treturn null;\n}\n\n//#endregion\nexport { FocusOnRouteChange };\n//# sourceMappingURL=focus-on-route-change.js.map"],"mappings":";;;AAGA,SAAS,mBAAmB,EAAE,gBAAgB,kCAAkC;AAC/E,SAAQ,gBAAgB;EACvB,MAAM,KAAK,SAAS,cAAc,cAAc;AAChD,MAAI,IAAI;AACP,MAAG,WAAW;AACd,MAAG,OAAO;;GAEV;AACF,QAAO"}
@@ -15,4 +15,5 @@ function Label({ className, ...props }) {
15
15
  }
16
16
 
17
17
  //#endregion
18
- export { Label };
18
+ export { Label };
19
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/label.js"],"sourcesContent":["'use client';\n\nimport { cn } from \"../ui-kit-core/dist/utils.js\";\nimport \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\n\n//#region ui/label.tsx\nfunction Label({ className, ...props }) {\n\treturn /* @__PURE__ */ jsx(LabelPrimitive.Root, {\n\t\t\"data-slot\": \"label\",\n\t\tclassName: cn(\"flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\", className),\n\t\t...props\n\t});\n}\n\n//#endregion\nexport { Label };\n//# sourceMappingURL=label.js.map"],"mappings":";;;;;;;;AAQA,SAAS,MAAM,EAAE,WAAW,GAAG,SAAS;AACvC,QAAuB,oBAAI,eAAe,MAAM;EAC/C,aAAa;EACb,WAAW,GAAG,uNAAuN,UAAU;EAC/O,GAAG;EACH,CAAC"}
@@ -43,4 +43,5 @@ function SRLiveRegionProvider({ children }) {
43
43
  }
44
44
 
45
45
  //#endregion
46
- export { SRLiveRegionProvider, useSRLiveRegion };
46
+ export { SRLiveRegionProvider, useSRLiveRegion };
47
+ //# sourceMappingURL=live-region.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-region.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/live-region.js"],"sourcesContent":["'use client';\n\nimport * as React$1 from \"react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\n\n//#region ui/live-region.tsx\nconst SRLiveRegionContext = React$1.createContext(null);\nfunction useSRLiveRegion() {\n\tconst ctx = React$1.useContext(SRLiveRegionContext);\n\tif (!ctx) throw new Error(\"useSRLiveRegion must be used within SRLiveRegionProvider\");\n\treturn ctx;\n}\nfunction SRLiveRegionProvider({ children }) {\n\tconst [messages, setMessages] = React$1.useState([]);\n\tconst idRef = React$1.useRef(0);\n\tconst announce = React$1.useCallback((text, politeness = \"polite\") => {\n\t\tconst id = ++idRef.current;\n\t\tsetMessages((prev) => [...prev, {\n\t\t\tid,\n\t\t\ttext,\n\t\t\tpoliteness\n\t\t}]);\n\t\tsetTimeout(() => setMessages((prev) => prev.filter((m) => m.id !== id)), 1e3);\n\t}, []);\n\treturn /* @__PURE__ */ jsxs(SRLiveRegionContext.Provider, {\n\t\tvalue: { announce },\n\t\tchildren: [\n\t\t\tchildren,\n\t\t\t/* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\"aria-live\": \"polite\",\n\t\t\t\t\"aria-atomic\": \"true\",\n\t\t\t\tclassName: \"sr-only\",\n\t\t\t\tchildren: messages.filter((m) => m.politeness === \"polite\").map((m) => /* @__PURE__ */ jsx(\"div\", { children: m.text }, m.id))\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsx(\"div\", {\n\t\t\t\t\"aria-live\": \"assertive\",\n\t\t\t\t\"aria-atomic\": \"true\",\n\t\t\t\tclassName: \"sr-only\",\n\t\t\t\tchildren: messages.filter((m) => m.politeness === \"assertive\").map((m) => /* @__PURE__ */ jsx(\"div\", { children: m.text }, m.id))\n\t\t\t})\n\t\t]\n\t});\n}\n\n//#endregion\nexport { SRLiveRegionProvider, useSRLiveRegion };\n//# sourceMappingURL=live-region.js.map"],"mappings":";;;;;;AAMA,MAAM,sBAAsB,QAAQ,cAAc,KAAK;AACvD,SAAS,kBAAkB;CAC1B,MAAM,MAAM,QAAQ,WAAW,oBAAoB;AACnD,KAAI,CAAC,IAAK,OAAM,IAAI,MAAM,2DAA2D;AACrF,QAAO;;AAER,SAAS,qBAAqB,EAAE,YAAY;CAC3C,MAAM,CAAC,UAAU,eAAe,QAAQ,SAAS,EAAE,CAAC;CACpD,MAAM,QAAQ,QAAQ,OAAO,EAAE;CAC/B,MAAM,WAAW,QAAQ,aAAa,MAAM,aAAa,aAAa;EACrE,MAAM,KAAK,EAAE,MAAM;AACnB,eAAa,SAAS,CAAC,GAAG,MAAM;GAC/B;GACA;GACA;GACA,CAAC,CAAC;AACH,mBAAiB,aAAa,SAAS,KAAK,QAAQ,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,IAAI;IAC3E,EAAE,CAAC;AACN,QAAuB,qBAAK,oBAAoB,UAAU;EACzD,OAAO,EAAE,UAAU;EACnB,UAAU;GACT;GACgB,oBAAI,OAAO;IAC1B,aAAa;IACb,eAAe;IACf,WAAW;IACX,UAAU,SAAS,QAAQ,MAAM,EAAE,eAAe,SAAS,CAAC,KAAK,MAAsB,oBAAI,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC;IAC9H,CAAC;GACc,oBAAI,OAAO;IAC1B,aAAa;IACb,eAAe;IACf,WAAW;IACX,UAAU,SAAS,QAAQ,MAAM,EAAE,eAAe,YAAY,CAAC,KAAK,MAAsB,oBAAI,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC;IACjI,CAAC;GACF;EACD,CAAC"}
@@ -18,4 +18,5 @@ function RouteAnnouncer({ title }) {
18
18
  }
19
19
 
20
20
  //#endregion
21
- export { RouteAnnouncer };
21
+ export { RouteAnnouncer };
22
+ //# sourceMappingURL=route-announcer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-announcer.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/route-announcer.js"],"sourcesContent":["'use client';\n\nimport * as React$1 from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n\n//#region ui/route-announcer.tsx\nfunction RouteAnnouncer({ title }) {\n\tconst [message, setMessage] = React$1.useState(\"\");\n\tReact$1.useEffect(() => {\n\t\tif (title) setMessage(title);\n\t}, [title]);\n\treturn /* @__PURE__ */ jsx(\"div\", {\n\t\t\"aria-live\": \"polite\",\n\t\t\"aria-atomic\": \"true\",\n\t\tclassName: \"sr-only\",\n\t\tchildren: message\n\t});\n}\n\n//#endregion\nexport { RouteAnnouncer };\n//# sourceMappingURL=route-announcer.js.map"],"mappings":";;;;;;AAMA,SAAS,eAAe,EAAE,SAAS;CAClC,MAAM,CAAC,SAAS,cAAc,QAAQ,SAAS,GAAG;AAClD,SAAQ,gBAAgB;AACvB,MAAI,MAAO,YAAW,MAAM;IAC1B,CAAC,MAAM,CAAC;AACX,QAAuB,oBAAI,OAAO;EACjC,aAAa;EACb,eAAe;EACf,WAAW;EACX,UAAU;EACV,CAAC"}
@@ -76,4 +76,5 @@ function SelectScrollDownButton({ className, ...props }) {
76
76
  }
77
77
 
78
78
  //#endregion
79
- export { Select, SelectContent, SelectItem, SelectTrigger, SelectValue };
79
+ export { Select, SelectContent, SelectItem, SelectTrigger, SelectValue };
80
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/select.js"],"sourcesContent":["'use client';\n\nimport { cn } from \"../ui-kit-core/dist/utils.js\";\nimport \"react\";\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\n\n//#region ui/select.tsx\nfunction Select({ ...props }) {\n\treturn /* @__PURE__ */ jsx(SelectPrimitive.Root, {\n\t\t\"data-slot\": \"select\",\n\t\t...props\n\t});\n}\nfunction SelectGroup({ ...props }) {\n\treturn /* @__PURE__ */ jsx(SelectPrimitive.Group, {\n\t\t\"data-slot\": \"select-group\",\n\t\t...props\n\t});\n}\nfunction SelectValue({ ...props }) {\n\treturn /* @__PURE__ */ jsx(SelectPrimitive.Value, {\n\t\t\"data-slot\": \"select-value\",\n\t\t...props\n\t});\n}\nfunction SelectTrigger({ className, size = \"default\", children, ...props }) {\n\treturn /* @__PURE__ */ jsxs(SelectPrimitive.Trigger, {\n\t\t\"data-slot\": \"select-trigger\",\n\t\t\"data-size\": size,\n\t\tclassName: cn(\"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive border-input focus-visible:border-ring focus-visible:ring-ring/50 data-placeholder:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-2xs outline-hidden transition-[color,box-shadow] focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\", className),\n\t\t...props,\n\t\tchildren: [children, /* @__PURE__ */ jsx(SelectPrimitive.Icon, {\n\t\t\tasChild: true,\n\t\t\tchildren: /* @__PURE__ */ jsx(ChevronDownIcon, { className: \"size-4 opacity-50\" })\n\t\t})]\n\t});\n}\nfunction SelectContent({ className, children, position = \"popper\", ...props }) {\n\treturn /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsxs(SelectPrimitive.Content, {\n\t\t\"data-slot\": \"select-content\",\n\t\tclassName: cn(\"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-32 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md\", position === \"popper\" && \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\", className),\n\t\tposition,\n\t\t...props,\n\t\tchildren: [\n\t\t\t/* @__PURE__ */ jsx(SelectScrollUpButton, {}),\n\t\t\t/* @__PURE__ */ jsx(SelectPrimitive.Viewport, {\n\t\t\t\tclassName: cn(\"p-1\", position === \"popper\" && \"h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width) scroll-my-1\"),\n\t\t\t\tchildren\n\t\t\t}),\n\t\t\t/* @__PURE__ */ jsx(SelectScrollDownButton, {})\n\t\t]\n\t}) });\n}\nfunction SelectLabel({ className, ...props }) {\n\treturn /* @__PURE__ */ jsx(SelectPrimitive.Label, {\n\t\t\"data-slot\": \"select-label\",\n\t\tclassName: cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className),\n\t\t...props\n\t});\n}\nfunction SelectItem({ className, children, ...props }) {\n\treturn /* @__PURE__ */ jsxs(SelectPrimitive.Item, {\n\t\t\"data-slot\": \"select-item\",\n\t\tclassName: cn(\"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\", className),\n\t\t...props,\n\t\tchildren: [/* @__PURE__ */ jsx(\"span\", {\n\t\t\tclassName: \"absolute right-2 flex size-3.5 items-center justify-center\",\n\t\t\tchildren: /* @__PURE__ */ jsx(SelectPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: \"size-4\" }) })\n\t\t}), /* @__PURE__ */ jsx(SelectPrimitive.ItemText, { children })]\n\t});\n}\nfunction SelectSeparator({ className, ...props }) {\n\treturn /* @__PURE__ */ jsx(SelectPrimitive.Separator, {\n\t\t\"data-slot\": \"select-separator\",\n\t\tclassName: cn(\"bg-border pointer-events-none -mx-1 my-1 h-px\", className),\n\t\t...props\n\t});\n}\nfunction SelectScrollUpButton({ className, ...props }) {\n\treturn /* @__PURE__ */ jsx(SelectPrimitive.ScrollUpButton, {\n\t\t\"data-slot\": \"select-scroll-up-button\",\n\t\tclassName: cn(\"flex cursor-default items-center justify-center py-1\", className),\n\t\t...props,\n\t\tchildren: /* @__PURE__ */ jsx(ChevronUpIcon, { className: \"size-4\" })\n\t});\n}\nfunction SelectScrollDownButton({ className, ...props }) {\n\treturn /* @__PURE__ */ jsx(SelectPrimitive.ScrollDownButton, {\n\t\t\"data-slot\": \"select-scroll-down-button\",\n\t\tclassName: cn(\"flex cursor-default items-center justify-center py-1\", className),\n\t\t...props,\n\t\tchildren: /* @__PURE__ */ jsx(ChevronDownIcon, { className: \"size-4\" })\n\t});\n}\n\n//#endregion\nexport { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue };\n//# sourceMappingURL=select.js.map"],"mappings":";;;;;;;;;AASA,SAAS,OAAO,EAAE,GAAG,SAAS;AAC7B,QAAuB,oBAAI,gBAAgB,MAAM;EAChD,aAAa;EACb,GAAG;EACH,CAAC;;AAQH,SAAS,YAAY,EAAE,GAAG,SAAS;AAClC,QAAuB,oBAAI,gBAAgB,OAAO;EACjD,aAAa;EACb,GAAG;EACH,CAAC;;AAEH,SAAS,cAAc,EAAE,WAAW,OAAO,WAAW,UAAU,GAAG,SAAS;AAC3E,QAAuB,qBAAK,gBAAgB,SAAS;EACpD,aAAa;EACb,aAAa;EACb,WAAW,GAAG,izBAAizB,UAAU;EACz0B,GAAG;EACH,UAAU,CAAC,UAA0B,oBAAI,gBAAgB,MAAM;GAC9D,SAAS;GACT,UAA0B,oBAAI,iBAAiB,EAAE,WAAW,qBAAqB,CAAC;GAClF,CAAC,CAAC;EACH,CAAC;;AAEH,SAAS,cAAc,EAAE,WAAW,UAAU,WAAW,UAAU,GAAG,SAAS;AAC9E,QAAuB,oBAAI,gBAAgB,QAAQ,EAAE,UAA0B,qBAAK,gBAAgB,SAAS;EAC5G,aAAa;EACb,WAAW,GAAG,6iBAA6iB,aAAa,YAAY,mIAAmI,UAAU;EACjuB;EACA,GAAG;EACH,UAAU;GACO,oBAAI,sBAAsB,EAAE,CAAC;GAC7B,oBAAI,gBAAgB,UAAU;IAC7C,WAAW,GAAG,OAAO,aAAa,YAAY,4FAA4F;IAC1I;IACA,CAAC;GACc,oBAAI,wBAAwB,EAAE,CAAC;GAC/C;EACD,CAAC,EAAE,CAAC;;AASN,SAAS,WAAW,EAAE,WAAW,UAAU,GAAG,SAAS;AACtD,QAAuB,qBAAK,gBAAgB,MAAM;EACjD,aAAa;EACb,WAAW,GAAG,yaAAya,UAAU;EACjc,GAAG;EACH,UAAU,CAAiB,oBAAI,QAAQ;GACtC,WAAW;GACX,UAA0B,oBAAI,gBAAgB,eAAe,EAAE,UAA0B,oBAAI,WAAW,EAAE,WAAW,UAAU,CAAC,EAAE,CAAC;GACnI,CAAC,EAAkB,oBAAI,gBAAgB,UAAU,EAAE,UAAU,CAAC,CAAC;EAChE,CAAC;;AASH,SAAS,qBAAqB,EAAE,WAAW,GAAG,SAAS;AACtD,QAAuB,oBAAI,gBAAgB,gBAAgB;EAC1D,aAAa;EACb,WAAW,GAAG,wDAAwD,UAAU;EAChF,GAAG;EACH,UAA0B,oBAAI,eAAe,EAAE,WAAW,UAAU,CAAC;EACrE,CAAC;;AAEH,SAAS,uBAAuB,EAAE,WAAW,GAAG,SAAS;AACxD,QAAuB,oBAAI,gBAAgB,kBAAkB;EAC5D,aAAa;EACb,WAAW,GAAG,wDAAwD,UAAU;EAChF,GAAG;EACH,UAA0B,oBAAI,iBAAiB,EAAE,WAAW,UAAU,CAAC;EACvE,CAAC"}
@@ -13,4 +13,5 @@ function SkipLink({ targetId = "main", children, className, ...props }) {
13
13
  }
14
14
 
15
15
  //#endregion
16
- export { SkipLink };
16
+ export { SkipLink };
17
+ //# sourceMappingURL=skip-link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-link.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/skip-link.js"],"sourcesContent":["import \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n\n//#region ui/skip-link.tsx\nconst defaultClasses = \"sr-only focus:not-sr-only focus-visible:outline-solid focus-visible:ring-4 focus-visible:ring-offset-2 fixed top-2 left-2 z-100 rounded-xs bg-background px-3 py-2 text-sm shadow-2xs\";\nfunction SkipLink({ targetId = \"main\", children, className, ...props }) {\n\treturn /* @__PURE__ */ jsx(\"a\", {\n\t\tclassName: [defaultClasses, className].filter(Boolean).join(\" \"),\n\t\thref: `#${targetId}`,\n\t\t...props,\n\t\tchildren: children ?? \"Skip to main content\"\n\t});\n}\n\n//#endregion\nexport { SkipLink };\n//# sourceMappingURL=skip-link.js.map"],"mappings":";;;;AAIA,MAAM,iBAAiB;AACvB,SAAS,SAAS,EAAE,WAAW,QAAQ,UAAU,WAAW,GAAG,SAAS;AACvE,QAAuB,oBAAI,KAAK;EAC/B,WAAW,CAAC,gBAAgB,UAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EAChE,MAAM,IAAI;EACV,GAAG;EACH,UAAU,YAAY;EACtB,CAAC"}
@@ -3,7 +3,6 @@
3
3
  import { cn } from "../ui-kit-core/dist/utils.js";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
6
- import { cva } from "class-variance-authority";
7
6
  import * as SwitchPrimitive from "@radix-ui/react-switch";
8
7
 
9
8
  //#region ../ui-kit-web/dist/ui/switch.js
@@ -20,4 +19,5 @@ function Switch({ className, thumbClassName, ...props }) {
20
19
  }
21
20
 
22
21
  //#endregion
23
- export { Switch };
22
+ export { Switch };
23
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/switch.js"],"sourcesContent":["'use client';\n\nimport { cn } from \"../ui-kit-core/dist/utils.js\";\nimport \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\n\n//#region ui/switch.tsx\nfunction Switch({ className, thumbClassName, ...props }) {\n\treturn /* @__PURE__ */ jsx(SwitchPrimitive.Root, {\n\t\t\"data-slot\": \"switch\",\n\t\tclassName: cn(\"peer focus-visible:border-ring focus-visible:ring-ring/50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-2xs outline-hidden transition-all focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50\", className),\n\t\t...props,\n\t\tchildren: /* @__PURE__ */ jsx(SwitchPrimitive.Thumb, {\n\t\t\t\"data-slot\": \"switch-thumb\",\n\t\t\tclassName: cn(\"bg-background dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0\", thumbClassName)\n\t\t})\n\t});\n}\n\n//#endregion\nexport { Switch };\n//# sourceMappingURL=switch.js.map"],"mappings":";;;;;;;;AAQA,SAAS,OAAO,EAAE,WAAW,gBAAgB,GAAG,SAAS;AACxD,QAAuB,oBAAI,gBAAgB,MAAM;EAChD,aAAa;EACb,WAAW,GAAG,gXAAgX,UAAU;EACxY,GAAG;EACH,UAA0B,oBAAI,gBAAgB,OAAO;GACpD,aAAa;GACb,WAAW,GAAG,4QAA4Q,eAAe;GACzS,CAAC;EACF,CAAC"}
@@ -14,4 +14,5 @@ function useReducedMotion() {
14
14
  }
15
15
 
16
16
  //#endregion
17
- export { useReducedMotion };
17
+ export { useReducedMotion };
18
+ //# sourceMappingURL=use-reduced-motion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-reduced-motion.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/use-reduced-motion.js"],"sourcesContent":["import * as React$1 from \"react\";\n\n//#region ui/use-reduced-motion.ts\nfunction useReducedMotion() {\n\tconst [reduced, setReduced] = React$1.useState(false);\n\tReact$1.useEffect(() => {\n\t\tconst mql = window.matchMedia(\"(prefers-reduced-motion: reduce)\");\n\t\tconst onChange = () => setReduced(mql.matches);\n\t\tonChange();\n\t\tmql.addEventListener(\"change\", onChange);\n\t\treturn () => mql.removeEventListener(\"change\", onChange);\n\t}, []);\n\treturn reduced;\n}\n\n//#endregion\nexport { useReducedMotion };\n//# sourceMappingURL=use-reduced-motion.js.map"],"mappings":";;;AAGA,SAAS,mBAAmB;CAC3B,MAAM,CAAC,SAAS,cAAc,QAAQ,SAAS,MAAM;AACrD,SAAQ,gBAAgB;EACvB,MAAM,MAAM,OAAO,WAAW,mCAAmC;EACjE,MAAM,iBAAiB,WAAW,IAAI,QAAQ;AAC9C,YAAU;AACV,MAAI,iBAAiB,UAAU,SAAS;AACxC,eAAa,IAAI,oBAAoB,UAAU,SAAS;IACtD,EAAE,CAAC;AACN,QAAO"}
@@ -7,4 +7,5 @@ function cn(...inputs) {
7
7
  }
8
8
 
9
9
  //#endregion
10
- export { cn };
10
+ export { cn };
11
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/utils.js"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n//#region ui/utils.ts\nfunction cn(...inputs) {\n\treturn twMerge(clsx(inputs));\n}\n\n//#endregion\nexport { cn };\n//# sourceMappingURL=utils.js.map"],"mappings":";;;;AAIA,SAAS,GAAG,GAAG,QAAQ;AACtB,QAAO,QAAQ,KAAK,OAAO,CAAC"}
@@ -27,4 +27,5 @@ const VisuallyHidden = React$1.forwardRef(({ as = "span", style, children, ...pr
27
27
  VisuallyHidden.displayName = "VisuallyHidden";
28
28
 
29
29
  //#endregion
30
- export { VisuallyHidden };
30
+ export { VisuallyHidden };
31
+ //# sourceMappingURL=visually-hidden.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visually-hidden.js","names":[],"sources":["../../../../../ui-kit-web/dist/ui/visually-hidden.js"],"sourcesContent":["import * as React$1 from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\n\n//#region ui/visually-hidden.tsx\nconst srOnlyStyle = {\n\tborder: 0,\n\tclip: \"rect(0 0 0 0)\",\n\theight: \"1px\",\n\tmargin: \"-1px\",\n\toverflow: \"hidden\",\n\tpadding: 0,\n\tposition: \"absolute\",\n\twidth: \"1px\",\n\twhiteSpace: \"nowrap\"\n};\nconst VisuallyHidden = React$1.forwardRef(({ as = \"span\", style, children, ...props }, ref) => {\n\treturn /* @__PURE__ */ jsx(as, {\n\t\tref,\n\t\tstyle: {\n\t\t\t...srOnlyStyle,\n\t\t\t...style\n\t\t},\n\t\t...props,\n\t\tchildren\n\t});\n});\nVisuallyHidden.displayName = \"VisuallyHidden\";\n\n//#endregion\nexport { VisuallyHidden };\n//# sourceMappingURL=visually-hidden.js.map"],"mappings":";;;;AAIA,MAAM,cAAc;CACnB,QAAQ;CACR,MAAM;CACN,QAAQ;CACR,QAAQ;CACR,UAAU;CACV,SAAS;CACT,UAAU;CACV,OAAO;CACP,YAAY;CACZ;AACD,MAAM,iBAAiB,QAAQ,YAAY,EAAE,KAAK,QAAQ,OAAO,UAAU,GAAG,SAAS,QAAQ;AAC9F,QAAuB,oBAAI,IAAI;EAC9B;EACA,OAAO;GACN,GAAG;GACH,GAAG;GACH;EACD,GAAG;EACH;EACA,CAAC;EACD;AACF,eAAe,cAAc"}
@@ -7,4 +7,5 @@ function cn(...inputs) {
7
7
  }
8
8
 
9
9
  //#endregion
10
- export { cn };
10
+ export { cn };
11
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":[],"sources":["../../../../../../ui-kit-web/dist/ui-kit-core/dist/utils.js"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\n//#region ../ui-kit-core/dist/utils.js\nfunction cn(...inputs) {\n\treturn twMerge(clsx(inputs));\n}\n\n//#endregion\nexport { cn };\n//# sourceMappingURL=utils.js.map"],"mappings":";;;;AAIA,SAAS,GAAG,GAAG,QAAQ;AACtB,QAAO,QAAQ,KAAK,OAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lssm/lib.accessibility",
3
- "version": "0.0.0-canary-20251217083314",
3
+ "version": "0.0.0-canary-20251220002821",
4
4
  "scripts": {
5
5
  "publish:pkg": "bun publish --tolerate-republish --ignore-scripts --verbose",
6
6
  "publish:pkg:canary": "bun publish:pkg --tag canary",
@@ -14,19 +14,19 @@
14
14
  "lint:check": "eslint src"
15
15
  },
16
16
  "dependencies": {
17
- "@lssm/lib.design-system": "0.0.0-canary-20251217083314",
18
- "@lssm/lib.ui-kit": "0.0.0-canary-20251217083314",
19
- "@lssm/lib.ui-kit-web": "0.0.0-canary-20251217083314"
17
+ "@lssm/lib.design-system": "0.0.0-canary-20251220002821",
18
+ "@lssm/lib.ui-kit": "0.0.0-canary-20251220002821",
19
+ "@lssm/lib.ui-kit-web": "0.0.0-canary-20251220002821"
20
20
  },
21
21
  "devDependencies": {
22
- "@lssm/tool.tsdown": "0.0.0-canary-20251217083314",
23
- "@lssm/tool.typescript": "0.0.0-canary-20251217083314",
24
- "tsdown": "^0.17.4",
22
+ "@lssm/tool.tsdown": "0.0.0-canary-20251220002821",
23
+ "@lssm/tool.typescript": "0.0.0-canary-20251220002821",
24
+ "tsdown": "^0.18.1",
25
25
  "typescript": "^5.9.3"
26
26
  },
27
27
  "peerDependencies": {
28
28
  "react": "19.2.3",
29
- "next": "16.0.10"
29
+ "next": "16.1.0"
30
30
  },
31
31
  "type": "module",
32
32
  "main": "./dist/index.js",
@@ -57,6 +57,13 @@
57
57
  "./next-route-announcer": "./dist/next-route-announcer.js",
58
58
  "./preferences": "./dist/preferences.js",
59
59
  "./*": "./*"
60
- }
60
+ },
61
+ "registry": "https://registry.npmjs.org/"
62
+ },
63
+ "license": "MIT",
64
+ "repository": {
65
+ "type": "git",
66
+ "url": "https://github.com/lssm-tech/contractspec.git",
67
+ "directory": "packages/libs/accessibility"
61
68
  }
62
69
  }