se-design 1.0.82 → 1.0.83-dev.2
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/assets/icons/chat.svg +4 -0
- package/dist/assets/icons/tag.svg +2 -2
- package/dist/assets/style.css +1 -1
- package/dist/components/AccessibleDiv/index.d.ts +23 -1
- package/dist/components/Dropdown/index.d.ts +2 -0
- package/dist/components/DropdownWithInputTags/index.d.ts +3 -0
- package/dist/components/Link/index.d.ts +6 -2
- package/dist/index.js +62 -54
- package/dist/index.js.map +1 -1
- package/dist/index100.js +1 -1
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +1 -1
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +1 -1
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +1 -1
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +1 -1
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +1 -1
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +1 -1
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +1 -1
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +1 -1
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +2 -2
- package/dist/index109.js.map +1 -1
- package/dist/index110.js +2 -2
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +1 -1
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +1 -1
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +2 -2
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +1 -1
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +2 -2
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +1 -1
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +1 -1
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +2 -2
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +2 -2
- package/dist/index119.js.map +1 -1
- package/dist/index12.js +2 -2
- package/dist/index120.js +1 -1
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +2 -2
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +2 -2
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +2 -2
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +1 -1
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +2 -2
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +2 -2
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +2 -2
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +1 -1
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +1 -1
- package/dist/index129.js.map +1 -1
- package/dist/index13.js +1 -1
- package/dist/index130.js +2 -2
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +2 -2
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +2 -2
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +1 -1
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +1 -1
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +2 -2
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +2 -2
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +1 -1
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +1 -1
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +1 -1
- package/dist/index139.js.map +1 -1
- package/dist/index140.js +1 -1
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +1 -1
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +2 -2
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +1 -1
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +1 -1
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +1 -1
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +2 -2
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +1 -1
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +1 -1
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +1 -1
- package/dist/index149.js.map +1 -1
- package/dist/index150.js +1 -1
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +2 -2
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +2 -2
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +1 -1
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +2 -2
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +1 -1
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +2 -2
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +1 -1
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +2 -2
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +2 -2
- package/dist/index159.js.map +1 -1
- package/dist/index16.js +25 -23
- package/dist/index16.js.map +1 -1
- package/dist/index160.js +1 -1
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +1 -1
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +1 -1
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +1 -1
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +1 -1
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +1 -1
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +1 -1
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +1 -1
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +1 -1
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +1 -1
- package/dist/index169.js.map +1 -1
- package/dist/index17.js +29 -29
- package/dist/index17.js.map +1 -1
- package/dist/index170.js +1 -1
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +1 -1
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +1 -1
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +1 -1
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +1 -1
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +1 -1
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +1 -1
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +1 -1
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +1 -1
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +1 -1
- package/dist/index179.js.map +1 -1
- package/dist/index18.js +85 -63
- package/dist/index18.js.map +1 -1
- package/dist/index180.js +1 -1
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +2 -2
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +1 -1
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +1 -1
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +1 -1
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +2 -2
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +1 -1
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +1 -1
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +1 -1
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +2 -2
- package/dist/index189.js.map +1 -1
- package/dist/index19.js +181 -166
- package/dist/index19.js.map +1 -1
- package/dist/index190.js +1 -1
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +1 -1
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +1 -1
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +1 -1
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +1 -1
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +1 -1
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +2 -2
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +1 -1
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +2 -2
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +2 -149
- package/dist/index199.js.map +1 -1
- package/dist/index200.js +2 -9
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +2 -6
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +2 -5
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +149 -42
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +8 -20
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +9 -0
- package/dist/index205.js.map +1 -0
- package/dist/index206.js +8 -0
- package/dist/index206.js.map +1 -0
- package/dist/index207.js +45 -0
- package/dist/index207.js.map +1 -0
- package/dist/index208.js +24 -0
- package/dist/index208.js.map +1 -0
- package/dist/{index211.js → index215.js} +1 -1
- package/dist/{index211.js.map → index215.js.map} +1 -1
- package/dist/{index212.js → index216.js} +13 -9
- package/dist/index216.js.map +1 -0
- package/dist/{index220.js → index224.js} +1 -1
- package/dist/{index220.js.map → index224.js.map} +1 -1
- package/dist/index23.js +3 -3
- package/dist/{index228.js → index232.js} +1 -1
- package/dist/{index228.js.map → index232.js.map} +1 -1
- package/dist/{index231.js → index235.js} +1 -1
- package/dist/{index231.js.map → index235.js.map} +1 -1
- package/dist/index244.js +168 -8
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +3 -9
- package/dist/index245.js.map +1 -1
- package/dist/index247.js +18 -169
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +10 -11
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +8 -4
- package/dist/index249.js.map +1 -1
- package/dist/index25.js +175 -161
- package/dist/index25.js.map +1 -1
- package/dist/index250.js +4 -5
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +168 -36
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +11 -2
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +5 -7
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +5 -326
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +36 -48
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +2 -2
- package/dist/index257.js +7 -75
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +308 -74
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +45 -47
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +2 -8
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +75 -4
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +89 -48
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +52 -2
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +8 -2
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +8 -0
- package/dist/index265.js.map +1 -0
- package/dist/index266.js +55 -0
- package/dist/index266.js.map +1 -0
- package/dist/index267.js +5 -0
- package/dist/index267.js.map +1 -0
- package/dist/index268.js +5 -0
- package/dist/index268.js.map +1 -0
- package/dist/index28.js +5 -5
- package/dist/index28.js.map +1 -1
- package/dist/index29.js +1 -1
- package/dist/index3.js +59 -49
- package/dist/index3.js.map +1 -1
- package/dist/index30.js +1 -1
- package/dist/index33.js +1 -1
- package/dist/index35.js +1 -1
- package/dist/index36.js +2 -2
- package/dist/index38.js +209 -194
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +3 -3
- package/dist/index4.js +1 -1
- package/dist/index40.js +1 -1
- package/dist/index43.js +16 -16
- package/dist/index43.js.map +1 -1
- package/dist/index45.js +60 -59
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +3 -3
- package/dist/index49.js +1 -1
- package/dist/index51.js +1 -1
- package/dist/index52.js +2 -2
- package/dist/index53.js +1 -1
- package/dist/index55.js +2 -2
- package/dist/index55.js.map +1 -1
- package/dist/index57.js +1 -1
- package/dist/index6.js +238 -236
- package/dist/index6.js.map +1 -1
- package/dist/index61.js +9 -8
- package/dist/index61.js.map +1 -1
- package/dist/index63.js +1 -1
- package/dist/index64.js +35 -34
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +1 -1
- package/dist/index67.js +1 -1
- package/dist/index68.js +80 -58
- package/dist/index68.js.map +1 -1
- package/dist/index7.js +1 -1
- package/dist/index70.js +1 -1
- package/dist/index75.js +108 -5
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +18 -54
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +10 -23
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +5 -9
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +62 -0
- package/dist/index79.js.map +1 -0
- package/dist/index80.js +24 -2
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +9 -2
- package/dist/index81.js.map +1 -1
- package/dist/index83.js +1 -1
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +2 -2
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +1 -1
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +2 -2
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +1 -1
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +1 -1
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +1 -1
- package/dist/index89.js.map +1 -1
- package/dist/index9.js +3 -3
- package/dist/index90.js +1 -1
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +1 -1
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +1 -1
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +1 -1
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +1 -1
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +1 -1
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +1 -1
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +1 -1
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +1 -1
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +1 -1
- package/dist/index99.js.map +1 -1
- package/package.json +1 -1
- package/dist/index212.js.map +0 -1
- package/dist/index240.js +0 -173
- package/dist/index240.js.map +0 -1
- package/dist/index241.js +0 -7
- package/dist/index241.js.map +0 -1
- package/dist/index243.js +0 -22
- package/dist/index243.js.map +0 -1
- package/dist/index246.js +0 -8
- package/dist/index246.js.map +0 -1
- package/dist/index82.js +0 -5
- package/dist/index82.js.map +0 -1
package/dist/index268.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index268.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/dist/index28.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import i, { useMemo as D, useRef as j, useEffect as m } from "react";
|
|
2
2
|
import { Icon as M } from "./index6.js";
|
|
3
|
-
import { getA11yNameAttributes as $ } from "./
|
|
3
|
+
import { getA11yNameAttributes as $ } from "./index81.js";
|
|
4
4
|
import { useFocusTrap as k } from "./index72.js";
|
|
5
|
-
import { useDismissOnEscape as z } from "./
|
|
6
|
-
import { useFocusSentinel as T } from "./
|
|
5
|
+
import { useDismissOnEscape as z } from "./index215.js";
|
|
6
|
+
import { useFocusSentinel as T } from "./index216.js";
|
|
7
7
|
/* empty css */
|
|
8
8
|
function u() {
|
|
9
9
|
return u = Object.assign ? Object.assign.bind() : function(s) {
|
|
@@ -96,13 +96,13 @@ const V = (s) => {
|
|
|
96
96
|
inert: e ? void 0 : ""
|
|
97
97
|
}), /* @__PURE__ */ i.createElement("div", {
|
|
98
98
|
className: "overlay-content"
|
|
99
|
-
}, C && /* @__PURE__ */ i.createElement(M, {
|
|
99
|
+
}, !t && /* @__PURE__ */ i.createElement("div", _), C && /* @__PURE__ */ i.createElement(M, {
|
|
100
100
|
name: O,
|
|
101
101
|
onClick: d,
|
|
102
102
|
className: "overlay-close",
|
|
103
103
|
ariaLabel: P,
|
|
104
104
|
automationId: "sidebar_overlay_close"
|
|
105
|
-
}),
|
|
105
|
+
}), o, !t && /* @__PURE__ */ i.createElement("div", A)));
|
|
106
106
|
};
|
|
107
107
|
export {
|
|
108
108
|
V as SidebarOverlay
|
package/dist/index28.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index28.js","sources":["../src/components/SidebarOverlay/index.tsx"],"sourcesContent":["import React, { FC, useEffect, useMemo, useRef } from 'react';\nimport { Icon } from 'components/Icon';\nimport { getA11yNameAttributes, useFocusTrap, useDismissOnEscape } from '../../utils/a11y';\nimport { useFocusSentinel } from '../../utils/a11y/useFocusSentinel';\n\nimport './style.scss';\n\ntype SidebarOverlayA11yRole = 'dialog' | 'complementary';\n\nexport interface SidebarOverlayProps {\n content: React.ReactNode;\n className?: string;\n alignment?: 'left' | 'right';\n style?: React.CSSProperties;\n noShadow?: boolean;\n automationId?: string;\n id?: string;\n position?: 'absolute' | 'fixed' | 'relative' | 'static' | '';\n isOpen?: boolean;\n displayCloseSidebar?: boolean;\n closeSidebarIcon?: string;\n /**\n * Accessible label for the close button. Defaults to 'Close sidebar'.\n */\n closeAriaLabel?: string;\n onClose?: () => void;\n onSidebarUnmount?: () => void;\n onPathChange?: (route: string) => void;\n currentPath?: string;\n animateSidebar?: boolean;\n /**\n * Accessibility role that determines the full behavior bundle.\n * - 'dialog': modal drawer (focus trap, scroll lock, aria-modal, Escape closes)\n * - 'complementary': persistent side panel (no trap, no forced focus, no scroll lock)\n * If not provided, derives from position: fixed|absolute → 'dialog', static|relative|'' → 'complementary'\n */\n a11yRole?: SidebarOverlayA11yRole;\n /**\n * Accessible name when no visible label exists.\n * Prefer ariaLabelledBy when a visible title exists inside the sidebar.\n */\n ariaLabel?: string;\n /**\n * ID(s) of visible element(s) that label this sidebar.\n * Preferred over ariaLabel when a visible title exists (keeps SR and visual text in sync).\n */\n ariaLabelledBy?: string;\n /**\n * ID(s) of element(s) that describe this sidebar (additional context).\n */\n ariaDescribedBy?: string;\n /**\n * Explicit element to restore focus to when the sidebar closes.\n * Overrides automatic trigger capture from document.activeElement.\n * Use when the opener element is known (e.g. a ref on the toggle button).\n * In complementary mode: seeds the trigger ref directly.\n * In dialog mode: passed through to useFocusTrap.\n */\n returnFocusRef?: React.RefObject<HTMLElement | null>;\n}\n\nexport const SidebarOverlay: FC<SidebarOverlayProps> = (props) => {\n const {\n content,\n className = '',\n alignment,\n noShadow,\n position = 'fixed',\n isOpen,\n displayCloseSidebar,\n onClose,\n onSidebarUnmount,\n onPathChange,\n style,\n automationId,\n id,\n currentPath = '',\n closeSidebarIcon = 'close',\n closeAriaLabel = 'Close sidebar',\n animateSidebar = true,\n a11yRole,\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n returnFocusRef,\n } = props;\n\n // Default to complementary — consumers opt into dialog (focus trap + scroll lock)\n // by passing a11yRole=\"dialog\" explicitly.\n const effectiveA11yRole: SidebarOverlayA11yRole = a11yRole ?? 'complementary';\n\n const isModal = effectiveA11yRole === 'dialog';\n\n // Get accessible name attributes\n const accessibleNameProps = useMemo(\n () => getA11yNameAttributes({ ariaLabel, ariaLabelledBy, ariaDescribedBy }),\n [ariaLabel, ariaLabelledBy, ariaDescribedBy]\n );\n\n const sidebarRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n return () => {\n onSidebarUnmount && onSidebarUnmount();\n };\n }, []);\n\n // Scroll lock — modal only.\n useEffect(() => {\n if (!isModal) return;\n document.body.style.overflow = isOpen ? 'hidden' : '';\n return () => {\n document.body.style.overflow = '';\n };\n }, [isOpen, isModal]);\n\n useEffect(() => {\n onPathChange && onPathChange(currentPath);\n }, [currentPath]);\n\n useDismissOnEscape({\n containerRef: sidebarRef,\n onDismiss: onClose,\n enabled: isOpen\n });\n\n // Focus trap: modal mode only, guarded by onClose as a WCAG safety net —\n // trapping focus without a dismiss path is a keyboard trap (WCAG 2.1.2).\n useFocusTrap({\n enabled: Boolean(isModal && isOpen && !!onClose),\n containerRef: sidebarRef,\n restoreFocus: true,\n initialFocus: 'first',\n returnFocusRef,\n });\n\n // Complementary (non-modal) focus management: move focus in on open,\n // restore to trigger on close, wrap Tab/Shift+Tab at panel boundaries.\n const { startSentinelProps, endSentinelProps } = useFocusSentinel({\n isOpen,\n isModal,\n containerRef: sidebarRef,\n returnFocusRef,\n });\n\n const getSidebarClassName = () => {\n let defaultClass = `se-design-sidebar-overlay-container z-[1000]`;\n\n defaultClass += className.length > 0 ? ` ${className}` : '';\n defaultClass += alignment === 'left' ? ' left-aligned' : ' right-aligned';\n defaultClass += noShadow ? ' no-shadow' : '';\n defaultClass += position.length > 0 ? ` ${position}` : '';\n defaultClass += isOpen ? ' open-sidebar' : ' closed-sidebar';\n if(!animateSidebar) {\n defaultClass += isOpen ? '' : ' hidden';\n }\n return defaultClass;\n };\n\n const getSidebarStyle = () => {\n return {\n ...style,\n ...(isOpen && style?.width ? { width: style?.width } : { width: '0px' })\n };\n };\n\n return (\n <div\n ref={sidebarRef}\n id={id}\n className={getSidebarClassName()}\n style={getSidebarStyle()}\n data-automation-id={automationId}\n tabIndex={-1}\n role={effectiveA11yRole}\n aria-modal={isModal ? 'true' : undefined}\n aria-hidden={!isOpen ? 'true' : undefined}\n {...accessibleNameProps}\n inert={!isOpen ? ('' as unknown as boolean) : undefined}\n >\n <div className=\"overlay-content\">\n {displayCloseSidebar && (\n <Icon\n name={closeSidebarIcon}\n onClick={onClose}\n className=\"overlay-close\"\n ariaLabel={closeAriaLabel}\n automationId=\"sidebar_overlay_close\"\n />\n )}\n {
|
|
1
|
+
{"version":3,"file":"index28.js","sources":["../src/components/SidebarOverlay/index.tsx"],"sourcesContent":["import React, { FC, useEffect, useMemo, useRef } from 'react';\nimport { Icon } from 'components/Icon';\nimport { getA11yNameAttributes, useFocusTrap, useDismissOnEscape } from '../../utils/a11y';\nimport { useFocusSentinel } from '../../utils/a11y/useFocusSentinel';\n\nimport './style.scss';\n\ntype SidebarOverlayA11yRole = 'dialog' | 'complementary';\n\nexport interface SidebarOverlayProps {\n content: React.ReactNode;\n className?: string;\n alignment?: 'left' | 'right';\n style?: React.CSSProperties;\n noShadow?: boolean;\n automationId?: string;\n id?: string;\n position?: 'absolute' | 'fixed' | 'relative' | 'static' | '';\n isOpen?: boolean;\n displayCloseSidebar?: boolean;\n closeSidebarIcon?: string;\n /**\n * Accessible label for the close button. Defaults to 'Close sidebar'.\n */\n closeAriaLabel?: string;\n onClose?: () => void;\n onSidebarUnmount?: () => void;\n onPathChange?: (route: string) => void;\n currentPath?: string;\n animateSidebar?: boolean;\n /**\n * Accessibility role that determines the full behavior bundle.\n * - 'dialog': modal drawer (focus trap, scroll lock, aria-modal, Escape closes)\n * - 'complementary': persistent side panel (no trap, no forced focus, no scroll lock)\n * If not provided, derives from position: fixed|absolute → 'dialog', static|relative|'' → 'complementary'\n */\n a11yRole?: SidebarOverlayA11yRole;\n /**\n * Accessible name when no visible label exists.\n * Prefer ariaLabelledBy when a visible title exists inside the sidebar.\n */\n ariaLabel?: string;\n /**\n * ID(s) of visible element(s) that label this sidebar.\n * Preferred over ariaLabel when a visible title exists (keeps SR and visual text in sync).\n */\n ariaLabelledBy?: string;\n /**\n * ID(s) of element(s) that describe this sidebar (additional context).\n */\n ariaDescribedBy?: string;\n /**\n * Explicit element to restore focus to when the sidebar closes.\n * Overrides automatic trigger capture from document.activeElement.\n * Use when the opener element is known (e.g. a ref on the toggle button).\n * In complementary mode: seeds the trigger ref directly.\n * In dialog mode: passed through to useFocusTrap.\n */\n returnFocusRef?: React.RefObject<HTMLElement | null>;\n}\n\nexport const SidebarOverlay: FC<SidebarOverlayProps> = (props) => {\n const {\n content,\n className = '',\n alignment,\n noShadow,\n position = 'fixed',\n isOpen,\n displayCloseSidebar,\n onClose,\n onSidebarUnmount,\n onPathChange,\n style,\n automationId,\n id,\n currentPath = '',\n closeSidebarIcon = 'close',\n closeAriaLabel = 'Close sidebar',\n animateSidebar = true,\n a11yRole,\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n returnFocusRef,\n } = props;\n\n // Default to complementary — consumers opt into dialog (focus trap + scroll lock)\n // by passing a11yRole=\"dialog\" explicitly.\n const effectiveA11yRole: SidebarOverlayA11yRole = a11yRole ?? 'complementary';\n\n const isModal = effectiveA11yRole === 'dialog';\n\n // Get accessible name attributes\n const accessibleNameProps = useMemo(\n () => getA11yNameAttributes({ ariaLabel, ariaLabelledBy, ariaDescribedBy }),\n [ariaLabel, ariaLabelledBy, ariaDescribedBy]\n );\n\n const sidebarRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n return () => {\n onSidebarUnmount && onSidebarUnmount();\n };\n }, []);\n\n // Scroll lock — modal only.\n useEffect(() => {\n if (!isModal) return;\n document.body.style.overflow = isOpen ? 'hidden' : '';\n return () => {\n document.body.style.overflow = '';\n };\n }, [isOpen, isModal]);\n\n useEffect(() => {\n onPathChange && onPathChange(currentPath);\n }, [currentPath]);\n\n useDismissOnEscape({\n containerRef: sidebarRef,\n onDismiss: onClose,\n enabled: isOpen\n });\n\n // Focus trap: modal mode only, guarded by onClose as a WCAG safety net —\n // trapping focus without a dismiss path is a keyboard trap (WCAG 2.1.2).\n useFocusTrap({\n enabled: Boolean(isModal && isOpen && !!onClose),\n containerRef: sidebarRef,\n restoreFocus: true,\n initialFocus: 'first',\n returnFocusRef,\n });\n\n // Complementary (non-modal) focus management: move focus in on open,\n // restore to trigger on close, wrap Tab/Shift+Tab at panel boundaries.\n const { startSentinelProps, endSentinelProps } = useFocusSentinel({\n isOpen,\n isModal,\n containerRef: sidebarRef,\n returnFocusRef,\n });\n\n const getSidebarClassName = () => {\n let defaultClass = `se-design-sidebar-overlay-container z-[1000]`;\n\n defaultClass += className.length > 0 ? ` ${className}` : '';\n defaultClass += alignment === 'left' ? ' left-aligned' : ' right-aligned';\n defaultClass += noShadow ? ' no-shadow' : '';\n defaultClass += position.length > 0 ? ` ${position}` : '';\n defaultClass += isOpen ? ' open-sidebar' : ' closed-sidebar';\n if(!animateSidebar) {\n defaultClass += isOpen ? '' : ' hidden';\n }\n return defaultClass;\n };\n\n const getSidebarStyle = () => {\n return {\n ...style,\n ...(isOpen && style?.width ? { width: style?.width } : { width: '0px' })\n };\n };\n\n return (\n <div\n ref={sidebarRef}\n id={id}\n className={getSidebarClassName()}\n style={getSidebarStyle()}\n data-automation-id={automationId}\n tabIndex={-1}\n role={effectiveA11yRole}\n aria-modal={isModal ? 'true' : undefined}\n aria-hidden={!isOpen ? 'true' : undefined}\n {...accessibleNameProps}\n inert={!isOpen ? ('' as unknown as boolean) : undefined}\n >\n <div className=\"overlay-content\">\n {!isModal && <div {...startSentinelProps} />}\n {displayCloseSidebar && (\n <Icon\n name={closeSidebarIcon}\n onClick={onClose}\n className=\"overlay-close\"\n ariaLabel={closeAriaLabel}\n automationId=\"sidebar_overlay_close\"\n />\n )}\n {content}\n {!isModal && <div {...endSentinelProps} />}\n </div>\n </div>\n );\n};\n"],"names":["SidebarOverlay","props","content","className","alignment","noShadow","position","isOpen","displayCloseSidebar","onClose","onSidebarUnmount","onPathChange","style","automationId","id","currentPath","closeSidebarIcon","closeAriaLabel","animateSidebar","a11yRole","ariaLabel","ariaLabelledBy","ariaDescribedBy","returnFocusRef","effectiveA11yRole","isModal","accessibleNameProps","useMemo","getA11yNameAttributes","sidebarRef","useRef","useEffect","document","body","overflow","useDismissOnEscape","containerRef","onDismiss","enabled","useFocusTrap","Boolean","restoreFocus","initialFocus","startSentinelProps","endSentinelProps","useFocusSentinel","getSidebarClassName","defaultClass","length","getSidebarStyle","width","React","createElement","_extends","ref","tabIndex","role","undefined","inert","Icon","name","onClick"],"mappings":"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"}
|
package/dist/index29.js
CHANGED
|
@@ -2,7 +2,7 @@ import r, { useState as $, useMemo as j, useRef as F, useEffect as B } from "rea
|
|
|
2
2
|
import { Icon as L } from "./index6.js";
|
|
3
3
|
import { Popover as z } from "./index19.js";
|
|
4
4
|
import { MenuList as H } from "./index18.js";
|
|
5
|
-
import { useStableId as U } from "./
|
|
5
|
+
import { useStableId as U } from "./index205.js";
|
|
6
6
|
import "./index72.js";
|
|
7
7
|
import { useTabsA11y as V, getPanelId as q } from "./index73.js";
|
|
8
8
|
/* empty css */
|
package/dist/index3.js
CHANGED
|
@@ -1,64 +1,74 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { getA11yNameAttributes as
|
|
3
|
-
import { useAccessiblePress as
|
|
1
|
+
import K, { forwardRef as N } from "react";
|
|
2
|
+
import { getA11yNameAttributes as R } from "./index81.js";
|
|
3
|
+
import { useAccessiblePress as _ } from "./index67.js";
|
|
4
4
|
import "./index72.js";
|
|
5
|
-
function
|
|
6
|
-
return
|
|
7
|
-
for (var
|
|
8
|
-
var
|
|
9
|
-
for (var
|
|
5
|
+
function a() {
|
|
6
|
+
return a = Object.assign ? Object.assign.bind() : function(t) {
|
|
7
|
+
for (var r = 1; r < arguments.length; r++) {
|
|
8
|
+
var e = arguments[r];
|
|
9
|
+
for (var n in e) ({}).hasOwnProperty.call(e, n) && (t[n] = e[n]);
|
|
10
10
|
}
|
|
11
|
-
return
|
|
12
|
-
},
|
|
11
|
+
return t;
|
|
12
|
+
}, a.apply(null, arguments);
|
|
13
13
|
}
|
|
14
|
-
const
|
|
15
|
-
onClick:
|
|
16
|
-
onKeyboardActivate:
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
14
|
+
const h = /* @__PURE__ */ N(({
|
|
15
|
+
onClick: t,
|
|
16
|
+
onKeyboardActivate: r,
|
|
17
|
+
onKeyDown: e,
|
|
18
|
+
role: n = "button",
|
|
19
|
+
disabled: d,
|
|
20
|
+
loading: m,
|
|
21
|
+
stopPropagation: u,
|
|
22
|
+
tabIndex: p,
|
|
23
|
+
isPressed: b,
|
|
24
|
+
ariaLabel: f,
|
|
25
|
+
ariaLabelledBy: v,
|
|
26
|
+
ariaDescribedBy: g,
|
|
24
27
|
automationId: i,
|
|
25
|
-
className:
|
|
26
|
-
children:
|
|
27
|
-
...
|
|
28
|
-
},
|
|
29
|
-
const
|
|
30
|
-
pressProps:
|
|
31
|
-
role:
|
|
28
|
+
className: c = "",
|
|
29
|
+
children: y,
|
|
30
|
+
...x
|
|
31
|
+
}, P) => {
|
|
32
|
+
const l = !!t, {
|
|
33
|
+
pressProps: o,
|
|
34
|
+
role: w,
|
|
32
35
|
tabIndex: A
|
|
33
|
-
} =
|
|
34
|
-
onClick:
|
|
35
|
-
onKeyboardActivate:
|
|
36
|
+
} = _({
|
|
37
|
+
onClick: l ? t : void 0,
|
|
38
|
+
onKeyboardActivate: r,
|
|
36
39
|
isNative: !1,
|
|
37
|
-
role:
|
|
38
|
-
disabled:
|
|
39
|
-
loading:
|
|
40
|
-
stopPropagation:
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
role: n,
|
|
41
|
+
disabled: d,
|
|
42
|
+
loading: m,
|
|
43
|
+
stopPropagation: u,
|
|
44
|
+
tabIndex: p,
|
|
45
|
+
pressed: b
|
|
46
|
+
}), D = e ? (s) => {
|
|
47
|
+
o.onKeyDown?.(s), s.key !== "Enter" && s.key !== " " && e(s);
|
|
48
|
+
} : o.onKeyDown, I = {
|
|
49
|
+
...o,
|
|
50
|
+
onKeyDown: D
|
|
51
|
+
}, O = l ? {
|
|
52
|
+
role: w,
|
|
43
53
|
tabIndex: A,
|
|
44
|
-
className: `focus-outline ${
|
|
45
|
-
...
|
|
46
|
-
ariaLabel:
|
|
47
|
-
ariaLabelledBy:
|
|
48
|
-
ariaDescribedBy:
|
|
54
|
+
className: `focus-outline ${c}`.trim(),
|
|
55
|
+
...R({
|
|
56
|
+
ariaLabel: f,
|
|
57
|
+
ariaLabelledBy: v,
|
|
58
|
+
ariaDescribedBy: g
|
|
49
59
|
}),
|
|
50
|
-
...
|
|
60
|
+
...I
|
|
51
61
|
} : {
|
|
52
|
-
className:
|
|
62
|
+
className: c
|
|
53
63
|
};
|
|
54
|
-
return /* @__PURE__ */
|
|
55
|
-
ref:
|
|
56
|
-
},
|
|
64
|
+
return /* @__PURE__ */ K.createElement("div", a({
|
|
65
|
+
ref: P
|
|
66
|
+
}, O, i ? {
|
|
57
67
|
"data-automation-id": i
|
|
58
|
-
} : {},
|
|
68
|
+
} : {}, x), y);
|
|
59
69
|
});
|
|
60
|
-
|
|
70
|
+
h.displayName = "AccessibleDiv";
|
|
61
71
|
export {
|
|
62
|
-
|
|
72
|
+
h as AccessibleDiv
|
|
63
73
|
};
|
|
64
74
|
//# sourceMappingURL=index3.js.map
|
package/dist/index3.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index3.js","sources":["../src/components/AccessibleDiv/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useAccessiblePress, getA11yNameAttributes } from '../../utils/a11y';\nimport type { UseAccessiblePressOptions } from '../../utils/a11y';\nimport type { AccessibleNameInput } from '../../utils/a11y';\n\ntype NativeDivProps = Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'onClick' | 'role' | 'tabIndex' | 'aria-label' | 'aria-labelledby' | 'aria-describedby'\n>;\n\nexport interface AccessibleDivProps extends NativeDivProps, AccessibleNameInput {\n onClick?: UseAccessiblePressOptions['onClick'];\n onKeyboardActivate?: UseAccessiblePressOptions['onKeyboardActivate'];\n /** ARIA role. Defaults to 'button'. */\n role?: string;\n disabled?: boolean;\n loading?: boolean;\n /** Calls e.stopPropagation() before onClick. Useful for nested clickable elements. */\n stopPropagation?: boolean;\n className?: string;\n id?: string;\n automationId?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Accessible clickable container for complex interactive content.\n * Use when children can't fit into se-design Button's label+icon API.\n * For simple icon+label, prefer se-design Button instead.\n */\nexport const AccessibleDiv = forwardRef<HTMLDivElement, AccessibleDivProps>(\n (\n {\n onClick,\n onKeyboardActivate,\n role = 'button',\n disabled,\n loading,\n stopPropagation,\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n automationId,\n className = '',\n children,\n ...rest\n },\n ref\n ) => {\n const isInteractive = Boolean(onClick);\n\n const { pressProps, role: resolvedRole, tabIndex } = useAccessiblePress({\n onClick: isInteractive ? onClick : undefined,\n onKeyboardActivate,\n isNative: false,\n role,\n disabled,\n loading,\n stopPropagation\n });\n\n const interactiveProps = isInteractive\n ? {\n role: resolvedRole,\n tabIndex,\n className: `focus-outline ${className}`.trim(),\n ...getA11yNameAttributes({ ariaLabel, ariaLabelledBy, ariaDescribedBy }),\n ...
|
|
1
|
+
{"version":3,"file":"index3.js","sources":["../src/components/AccessibleDiv/index.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport { useAccessiblePress, getA11yNameAttributes } from '../../utils/a11y';\nimport type { UseAccessiblePressOptions } from '../../utils/a11y';\nimport type { AccessibleNameInput } from '../../utils/a11y';\n\ntype NativeDivProps = Omit<\n React.HTMLAttributes<HTMLDivElement>,\n 'onClick' | 'role' | 'tabIndex' | 'aria-label' | 'aria-labelledby' | 'aria-describedby' | 'onKeyDown'\n>;\n\nexport interface AccessibleDivProps extends NativeDivProps, AccessibleNameInput {\n onClick?: UseAccessiblePressOptions['onClick'];\n /**\n * Activation override: called on Enter/Space/virtual click instead of onClick.\n * Use when keyboard activation needs different behavior than mouse click.\n * Note: some screen readers (JAWS/NVDA) fire a synthetic click on role=\"button\"\n * Enter — routed here as a virtual click so keyboard and AT behavior stay consistent.\n */\n onKeyboardActivate?: UseAccessiblePressOptions['onKeyboardActivate'];\n /**\n * Raw keydown handler for non-activation keys (e.g. arrow keys in a roving focus group).\n * Enter/Space are filtered out — activation is always routed through onClick/onKeyboardActivate.\n */\n onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;\n /** ARIA role. Defaults to 'button'. */\n role?: string;\n disabled?: boolean;\n loading?: boolean;\n /** Calls e.stopPropagation() before onClick. Useful for nested clickable elements. */\n stopPropagation?: boolean;\n /**\n * Override the computed tabIndex. Use when this element is part of a roving focus group\n * (e.g. pass -1 for non-focused items, 0 for the focused item).\n * When disabled, tabIndex is always forced to -1 regardless of this value.\n */\n tabIndex?: number;\n /**\n * When true or false, sets aria-pressed on the element (e.g. selected/active state).\n * Omit for non-toggle elements.\n */\n isPressed?: boolean;\n className?: string;\n id?: string;\n automationId?: string;\n children?: React.ReactNode;\n}\n\n/**\n * Accessible clickable container for complex interactive content.\n * Use when children can't fit into se-design Button's label+icon API.\n * For simple icon+label, prefer se-design Button instead.\n */\nexport const AccessibleDiv = forwardRef<HTMLDivElement, AccessibleDivProps>(\n (\n {\n onClick,\n onKeyboardActivate,\n onKeyDown,\n role = 'button',\n disabled,\n loading,\n stopPropagation,\n tabIndex: tabIndexProp,\n isPressed,\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n automationId,\n className = '',\n children,\n ...rest\n },\n ref\n ) => {\n const isInteractive = Boolean(onClick);\n\n const { pressProps, role: resolvedRole, tabIndex: computedTabIndex } = useAccessiblePress({\n onClick: isInteractive ? onClick : undefined,\n onKeyboardActivate,\n isNative: false,\n role,\n disabled,\n loading,\n stopPropagation,\n tabIndex: tabIndexProp,\n pressed: isPressed\n });\n\n // Merge internal Enter/Space handler with caller's onKeyDown (e.g. arrow keys for roving focus)\n // Skip caller's handler for Enter/Space — activation is routed through onClick/onKeyboardActivate\n const mergedOnKeyDown = onKeyDown\n ? (e: React.KeyboardEvent<HTMLDivElement>) => {\n (pressProps.onKeyDown as React.KeyboardEventHandler<HTMLDivElement> | undefined)?.(e);\n if (e.key !== 'Enter' && e.key !== ' ') {\n onKeyDown(e);\n }\n }\n : pressProps.onKeyDown;\n\n const mergedPressProps = { ...pressProps, onKeyDown: mergedOnKeyDown };\n\n const interactiveProps = isInteractive\n ? {\n role: resolvedRole,\n tabIndex: computedTabIndex,\n className: `focus-outline ${className}`.trim(),\n ...getA11yNameAttributes({ ariaLabel, ariaLabelledBy, ariaDescribedBy }),\n ...mergedPressProps\n }\n : { className };\n\n return (\n <div\n ref={ref}\n {...interactiveProps}\n {...(automationId ? { 'data-automation-id': automationId } : {})}\n {...rest}\n >\n {children}\n </div>\n );\n }\n);\n\nAccessibleDiv.displayName = 'AccessibleDiv';\n"],"names":["AccessibleDiv","onClick","onKeyboardActivate","onKeyDown","role","disabled","loading","stopPropagation","tabIndex","tabIndexProp","isPressed","ariaLabel","ariaLabelledBy","ariaDescribedBy","automationId","className","children","rest","ref","isInteractive","Boolean","pressProps","resolvedRole","computedTabIndex","useAccessiblePress","undefined","isNative","pressed","mergedOnKeyDown","e","key","mergedPressProps","interactiveProps","trim","getA11yNameAttributes","React","createElement","_extends","displayName"],"mappings":";;;;;;;;;;;;;AAoDO,MAAMA,sBACX,CACE;AAAA,EACEC,SAAAA;AAAAA,EACAC,oBAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,MAAAA,IAAO;AAAA,EACPC,UAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,iBAAAA;AAAAA,EACAC,UAAUC;AAAAA,EACVC,WAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC,iBAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,WAAAA,IAAY;AAAA,EACZC,UAAAA;AAAAA,EACA,GAAGC;AACL,GACAC,MACG;AACH,QAAMC,IAAgBC,EAAQnB,GAExB;AAAA,IAAEoB,YAAAA;AAAAA,IAAYjB,MAAMkB;AAAAA,IAAcd,UAAUe;AAAAA,EAAAA,IAAqBC,EAAmB;AAAA,IACxFvB,SAASkB,IAAgBlB,IAAUwB;AAAAA,IACnCvB,oBAAAA;AAAAA,IACAwB,UAAU;AAAA,IACVtB,MAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,iBAAAA;AAAAA,IACAC,UAAUC;AAAAA,IACVkB,SAASjB;AAAAA,EAAAA,CACV,GAIKkB,IAAkBzB,IACpB,CAAC0B,MAA2C;AACzCR,IAAAA,EAAWlB,YAAuE0B,CAAC,GAChFA,EAAEC,QAAQ,WAAWD,EAAEC,QAAQ,OACjC3B,EAAU0B,CAAC;AAAA,EAEf,IACAR,EAAWlB,WAET4B,IAAmB;AAAA,IAAE,GAAGV;AAAAA,IAAYlB,WAAWyB;AAAAA,EAAAA,GAE/CI,IAAmBb,IACrB;AAAA,IACEf,MAAMkB;AAAAA,IACNd,UAAUe;AAAAA,IACVR,WAAW,iBAAiBA,CAAS,GAAGkB,KAAAA;AAAAA,IACxC,GAAGC,EAAsB;AAAA,MAAEvB,WAAAA;AAAAA,MAAWC,gBAAAA;AAAAA,MAAgBC,iBAAAA;AAAAA,IAAAA,CAAiB;AAAA,IACvE,GAAGkB;AAAAA,EAAAA,IAEL;AAAA,IAAEhB,WAAAA;AAAAA,EAAAA;AAEN,SACEoB,gBAAAA,EAAAC,cAAA,OAAAC,EAAA;AAAA,IACEnB,KAAAA;AAAAA,EAAAA,GACIc,GACClB,IAAe;AAAA,IAAE,sBAAsBA;AAAAA,EAAAA,IAAiB,CAAA,GACzDG,CAAI,GAEPD,CACE;AAET,CACF;AAEAhB,EAAcsC,cAAc;"}
|
package/dist/index30.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import e, { forwardRef as K } from "react";
|
|
2
2
|
import { Icon as M } from "./index6.js";
|
|
3
3
|
import { Button as d } from "./index4.js";
|
|
4
|
-
import { useStableId as B } from "./
|
|
4
|
+
import { useStableId as B } from "./index205.js";
|
|
5
5
|
import { getRegionAttributes as Q } from "./index66.js";
|
|
6
6
|
import { useAccessiblePress as U } from "./index67.js";
|
|
7
7
|
import "./index72.js";
|
package/dist/index33.js
CHANGED
package/dist/index35.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import e, { useState as h, useEffect as E } from "react";
|
|
2
2
|
import { Icon as N } from "./index6.js";
|
|
3
|
-
import { useStableId as $ } from "./
|
|
3
|
+
import { useStableId as $ } from "./index205.js";
|
|
4
4
|
import { getRegionAttributes as I } from "./index66.js";
|
|
5
5
|
import { useAccessiblePress as _ } from "./index67.js";
|
|
6
6
|
import "./index72.js";
|
package/dist/index36.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import e, { useState as k, useEffect as w } from "react";
|
|
2
2
|
import { Icon as x } from "./index6.js";
|
|
3
|
-
import { useStableId as F } from "./
|
|
4
|
-
import { getA11yNameAttributes as P } from "./
|
|
3
|
+
import { useStableId as F } from "./index205.js";
|
|
4
|
+
import { getA11yNameAttributes as P } from "./index81.js";
|
|
5
5
|
import { getRegionAttributes as V } from "./index66.js";
|
|
6
6
|
import { useAccessiblePress as q } from "./index67.js";
|
|
7
7
|
import "./index72.js";
|