@servicetitan/anvil2 1.27.2 → 1.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/dist/AnvilProvider-C7Li86-d.js +16 -0
- package/dist/AnvilProvider-C7Li86-d.js.map +1 -0
- package/dist/AnvilProvider.js +1 -1
- package/dist/{Combobox-DnTI2I3L.js → Combobox-JAm3x-tw.js} +1986 -116
- package/dist/Combobox-JAm3x-tw.js.map +1 -0
- package/dist/Combobox.css +343 -1
- package/dist/Combobox.js +1 -1
- package/dist/{DateField-DocC46Mw.js → DateField-5mNXaJ7q.js} +548 -11
- package/dist/DateField-5mNXaJ7q.js.map +1 -0
- package/dist/DateField.js +1 -1
- package/dist/{Dialog-DQ9QXB5D.js → Dialog-B4M0DXxG.js} +2 -2
- package/dist/{Dialog-DQ9QXB5D.js.map → Dialog-B4M0DXxG.js.map} +1 -1
- package/dist/{Dialog-Kh2tcVWz-DqcNnouf.js → Dialog-CUK5YvVY-Dv5edacC.js} +5 -5
- package/dist/Dialog-CUK5YvVY-Dv5edacC.js.map +1 -0
- package/dist/Dialog.js +1 -1
- package/dist/Drawer-BqqZB3Sn.js +66 -0
- package/dist/Drawer-BqqZB3Sn.js.map +1 -0
- package/dist/{Drawer-C6fpnRDX.js → Drawer-CrXiK2w0-BMzKuNFt.js} +15 -75
- package/dist/Drawer-CrXiK2w0-BMzKuNFt.js.map +1 -0
- package/dist/Drawer.js +1 -1
- package/dist/{AnvilProvider-DNJk1Ait.js → HammerProvider-DuxhW0gv-C2voN5ro.js} +26 -15
- package/dist/HammerProvider-DuxhW0gv-C2voN5ro.js.map +1 -0
- package/dist/{InputMask-Ceh574pv.js → InputMask-BmXj5mob.js} +2 -2
- package/dist/{InputMask-Ceh574pv.js.map → InputMask-BmXj5mob.js.map} +1 -1
- package/dist/{InputMask-DQXw5qvG-BH4P-Woc.js → InputMask-CQzrMoEy-CLNvXsm7.js} +3 -3
- package/dist/{InputMask-DQXw5qvG-BH4P-Woc.js.map → InputMask-CQzrMoEy-CLNvXsm7.js.map} +1 -1
- package/dist/InputMask.js +1 -1
- package/dist/{Label-DWF2pXeG-1BhzVgZG.js → Label-CbYy5kwu-BCTOKxOk.js} +3 -3
- package/dist/{Label-DWF2pXeG-1BhzVgZG.js.map → Label-CbYy5kwu-BCTOKxOk.js.map} +1 -1
- package/dist/Menu-IEBrkdoN.js +1090 -0
- package/dist/Menu-IEBrkdoN.js.map +1 -0
- package/dist/Menu.css +116 -1
- package/dist/Menu.js +1 -1
- package/dist/{Page-BGkLs3bR.js → Page-qlpHVAMH.js} +70 -54
- package/dist/Page-qlpHVAMH.js.map +1 -0
- package/dist/Page.css +103 -70
- package/dist/Page.js +1 -1
- package/dist/{Popover-DzEc_Muv.js → Popover-B7K3o_l4.js} +2 -2
- package/dist/{Popover-DzEc_Muv.js.map → Popover-B7K3o_l4.js.map} +1 -1
- package/dist/{Popover-QKZtjN4_-CETYlWwq.js → Popover-C1B3UJXp-B5obSIvA.js} +351 -12
- package/dist/Popover-C1B3UJXp-B5obSIvA.js.map +1 -0
- package/dist/{Popover-QKZtjN4_.css → Popover-C1B3UJXp.css} +53 -1
- package/dist/Popover.js +1 -1
- package/dist/{ProgressBar-cKtBso7j-3CDyBaAN.js → ProgressBar-BLg29adn-CMz5eu5f.js} +3 -3
- package/dist/{ProgressBar-cKtBso7j-3CDyBaAN.js.map → ProgressBar-BLg29adn-CMz5eu5f.js.map} +1 -1
- package/dist/{ProgressBar-IItIByYc.js → ProgressBar-_DyYSgfx.js} +2 -2
- package/dist/{ProgressBar-IItIByYc.js.map → ProgressBar-_DyYSgfx.js.map} +1 -1
- package/dist/ProgressBar.js +1 -1
- package/dist/{SearchField-CWb0kaV8.js → SearchField-C-4icPUa.js} +2 -2
- package/dist/{SearchField-CWb0kaV8.js.map → SearchField-C-4icPUa.js.map} +1 -1
- package/dist/SearchField.js +1 -1
- package/dist/{TextField-D53XNiCi-C6_A5VRq.js → TextField-Lwe9XAou-tH8gcQTq.js} +2 -2
- package/dist/{TextField-D53XNiCi-C6_A5VRq.js.map → TextField-Lwe9XAou-tH8gcQTq.js.map} +1 -1
- package/dist/{TextField-s92xHzb3.js → TextField-tF-ERwA8.js} +2 -2
- package/dist/{TextField-s92xHzb3.js.map → TextField-tF-ERwA8.js.map} +1 -1
- package/dist/TextField.js +1 -1
- package/dist/{Textarea-B61wNIFr.js → Textarea-BrzxOEx3.js} +2 -2
- package/dist/Textarea-BrzxOEx3.js.map +1 -0
- package/dist/Textarea.js +1 -1
- package/dist/Toast.js +1 -1
- package/dist/{Toolbar-Cge6Nznj.js → Toolbar-D9fMSiGU.js} +2 -2
- package/dist/{Toolbar-Cge6Nznj.js.map → Toolbar-D9fMSiGU.js.map} +1 -1
- package/dist/Toolbar.js +1 -1
- package/dist/{Tooltip-DgM8NSPm-CRIQbuTm.js → Tooltip-36nMbVT3-DMkvo60s.js} +222 -22
- package/dist/Tooltip-36nMbVT3-DMkvo60s.js.map +1 -0
- package/dist/{Tooltip-DgM8NSPm.css → Tooltip-36nMbVT3.css} +43 -1
- package/dist/{Tooltip-89FIvMG0.js → Tooltip-BEo0IRDf.js} +2 -2
- package/dist/{Tooltip-89FIvMG0.js.map → Tooltip-BEo0IRDf.js.map} +1 -1
- package/dist/Tooltip.js +1 -1
- package/dist/components/Page/Page.d.ts +4 -1
- package/dist/floating-ui.react-4AwURJA3.js +5989 -0
- package/dist/floating-ui.react-4AwURJA3.js.map +1 -0
- package/dist/{useKeyboardFocusables-CwVMAe5C-CIHqixNA.js → index.esm-CunAFnrh.js} +11 -59
- package/dist/index.esm-CunAFnrh.js.map +1 -0
- package/dist/index.js +16 -16
- package/dist/supportsPopover-8aJR37cf-8aJR37cf.js +6 -0
- package/dist/supportsPopover-8aJR37cf-8aJR37cf.js.map +1 -0
- package/dist/{toast-CHld8RKY.js → toast-DkO9HWpH.js} +2 -2
- package/dist/{toast-CHld8RKY.js.map → toast-DkO9HWpH.js.map} +1 -1
- package/dist/useKeyboardFocusables-CwVMAe5C-DtjYOAmt.js +61 -0
- package/dist/useKeyboardFocusables-CwVMAe5C-DtjYOAmt.js.map +1 -0
- package/package.json +2 -2
- package/dist/AnvilProvider-DNJk1Ait.js.map +0 -1
- package/dist/Combobox-DnTI2I3L.js.map +0 -1
- package/dist/DateField-DocC46Mw.js.map +0 -1
- package/dist/Dialog-Kh2tcVWz-DqcNnouf.js.map +0 -1
- package/dist/Drawer-C6fpnRDX.js.map +0 -1
- package/dist/Menu-D8SDm9s9.js +0 -706
- package/dist/Menu-D8SDm9s9.js.map +0 -1
- package/dist/Page-BGkLs3bR.js.map +0 -1
- package/dist/Popover-QKZtjN4_-CETYlWwq.js.map +0 -1
- package/dist/Textarea-B61wNIFr.js.map +0 -1
- package/dist/Tooltip-DgM8NSPm-CRIQbuTm.js.map +0 -1
- package/dist/floating-ui.react-P5949bpO.js +0 -28
- package/dist/floating-ui.react-P5949bpO.js.map +0 -1
- package/dist/floating-ui.react-dom-D912oS4K.js +0 -1841
- package/dist/floating-ui.react-dom-D912oS4K.js.map +0 -1
- package/dist/useKeyboardFocusables-CwVMAe5C-CIHqixNA.js.map +0 -1
- /package/dist/{Dialog-Kh2tcVWz.css → Dialog-CUK5YvVY.css} +0 -0
- /package/dist/{Drawer.css → Drawer-CrXiK2w0.css} +0 -0
- /package/dist/{Label-DWF2pXeG.css → Label-CbYy5kwu.css} +0 -0
- /package/dist/{ProgressBar-cKtBso7j.css → ProgressBar-BLg29adn.css} +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { useState, useRef, useEffect } from 'react';
|
|
2
|
+
import { t as tabbable } from './index.esm-CunAFnrh.js';
|
|
3
|
+
|
|
4
|
+
const useKeyboardFocusables = (element, options = {
|
|
5
|
+
observeChange: true,
|
|
6
|
+
attributes: true,
|
|
7
|
+
characterData: true,
|
|
8
|
+
childList: true,
|
|
9
|
+
subtree: true
|
|
10
|
+
}) => {
|
|
11
|
+
const [focusables, setFocusables] = useState(null);
|
|
12
|
+
const observerRef = useRef();
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
const target = element instanceof HTMLElement ? element : element?.current;
|
|
15
|
+
if (!target) return;
|
|
16
|
+
if (observerRef.current) return;
|
|
17
|
+
if (!options.observeChange && !focusables) {
|
|
18
|
+
setFocusables(tabbable(target));
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
let timeoutId = null;
|
|
22
|
+
const debounceDelay = 100;
|
|
23
|
+
const mutationCallback = () => {
|
|
24
|
+
const targetArr = tabbable(target);
|
|
25
|
+
if (targetArr.length === 0) return;
|
|
26
|
+
if (timeoutId) {
|
|
27
|
+
clearTimeout(timeoutId);
|
|
28
|
+
}
|
|
29
|
+
timeoutId = setTimeout(() => {
|
|
30
|
+
setFocusables(targetArr);
|
|
31
|
+
}, debounceDelay);
|
|
32
|
+
};
|
|
33
|
+
const observer = new MutationObserver(mutationCallback);
|
|
34
|
+
observerRef.current = observer;
|
|
35
|
+
observer.observe(target, {
|
|
36
|
+
childList: true,
|
|
37
|
+
// Observe changes to child elements
|
|
38
|
+
subtree: true,
|
|
39
|
+
// Observe changes to descendants of the target
|
|
40
|
+
attributes: true,
|
|
41
|
+
// Observe changes to attributes
|
|
42
|
+
characterData: true
|
|
43
|
+
// Observe changes to text content
|
|
44
|
+
});
|
|
45
|
+
}, [element, options]);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
return () => {
|
|
48
|
+
if (!observerRef.current) return;
|
|
49
|
+
observerRef.current.disconnect();
|
|
50
|
+
};
|
|
51
|
+
}, []);
|
|
52
|
+
const updateFocusables = () => {
|
|
53
|
+
const target = element instanceof HTMLElement ? element : element?.current;
|
|
54
|
+
if (!target) return;
|
|
55
|
+
setFocusables(tabbable(target));
|
|
56
|
+
};
|
|
57
|
+
return { focusables, updateFocusables };
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export { useKeyboardFocusables as u };
|
|
61
|
+
//# sourceMappingURL=useKeyboardFocusables-CwVMAe5C-DtjYOAmt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardFocusables-CwVMAe5C-DtjYOAmt.js","sources":["../../hammer-react/dist/useKeyboardFocusables-CwVMAe5C.js"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\nimport { tabbable } from 'tabbable';\n\nconst useKeyboardFocusables = (element, options = {\n observeChange: true,\n attributes: true,\n characterData: true,\n childList: true,\n subtree: true\n}) => {\n const [focusables, setFocusables] = useState(null);\n const observerRef = useRef();\n useEffect(() => {\n const target = element instanceof HTMLElement ? element : element?.current;\n if (!target) return;\n if (observerRef.current) return;\n if (!options.observeChange && !focusables) {\n setFocusables(tabbable(target));\n return;\n }\n let timeoutId = null;\n const debounceDelay = 100;\n const mutationCallback = () => {\n const targetArr = tabbable(target);\n if (targetArr.length === 0) return;\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n timeoutId = setTimeout(() => {\n setFocusables(targetArr);\n }, debounceDelay);\n };\n const observer = new MutationObserver(mutationCallback);\n observerRef.current = observer;\n observer.observe(target, {\n childList: true,\n // Observe changes to child elements\n subtree: true,\n // Observe changes to descendants of the target\n attributes: true,\n // Observe changes to attributes\n characterData: true\n // Observe changes to text content\n });\n }, [element, options]);\n useEffect(() => {\n return () => {\n if (!observerRef.current) return;\n observerRef.current.disconnect();\n };\n }, []);\n const updateFocusables = () => {\n const target = element instanceof HTMLElement ? element : element?.current;\n if (!target) return;\n setFocusables(tabbable(target));\n };\n return { focusables, updateFocusables };\n};\n\nexport { useKeyboardFocusables as u };\n//# sourceMappingURL=useKeyboardFocusables-CwVMAe5C.js.map\n"],"names":[],"mappings":";;;AAGK,MAAC,qBAAqB,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG;AAClD,EAAE,aAAa,EAAE,IAAI;AACrB,EAAE,UAAU,EAAE,IAAI;AAClB,EAAE,aAAa,EAAE,IAAI;AACrB,EAAE,SAAS,EAAE,IAAI;AACjB,EAAE,OAAO,EAAE;AACX,CAAC,KAAK;AACN,EAAE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC;AACpD,EAAE,MAAM,WAAW,GAAG,MAAM,EAAE;AAC9B,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,MAAM,MAAM,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,GAAG,OAAO,EAAE,OAAO;AAC9E,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,IAAI,IAAI,WAAW,CAAC,OAAO,EAAE;AAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE;AAC/C,MAAM,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrC,MAAM;AACN;AACA,IAAI,IAAI,SAAS,GAAG,IAAI;AACxB,IAAI,MAAM,aAAa,GAAG,GAAG;AAC7B,IAAI,MAAM,gBAAgB,GAAG,MAAM;AACnC,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;AACxC,MAAM,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAClC,MAAM,IAAI,SAAS,EAAE;AACrB,QAAQ,YAAY,CAAC,SAAS,CAAC;AAC/B;AACA,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM;AACnC,QAAQ,aAAa,CAAC,SAAS,CAAC;AAChC,OAAO,EAAE,aAAa,CAAC;AACvB,KAAK;AACL,IAAI,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,gBAAgB,CAAC;AAC3D,IAAI,WAAW,CAAC,OAAO,GAAG,QAAQ;AAClC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;AAC7B,MAAM,SAAS,EAAE,IAAI;AACrB;AACA,MAAM,OAAO,EAAE,IAAI;AACnB;AACA,MAAM,UAAU,EAAE,IAAI;AACtB;AACA,MAAM,aAAa,EAAE;AACrB;AACA,KAAK,CAAC;AACN,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACxB,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,OAAO,MAAM;AACjB,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;AAChC,MAAM,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE;AACtC,KAAK;AACL,GAAG,EAAE,EAAE,CAAC;AACR,EAAE,MAAM,gBAAgB,GAAG,MAAM;AACjC,IAAI,MAAM,MAAM,GAAG,OAAO,YAAY,WAAW,GAAG,OAAO,GAAG,OAAO,EAAE,OAAO;AAC9E,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACnC,GAAG;AACH,EAAE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE;AACzC;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/anvil2",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.28.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"@react-hook/resize-observer": "^2.0.1",
|
|
26
26
|
"classnames": "^2.5.1",
|
|
27
27
|
"@servicetitan/hammer-icon": "1.1.0",
|
|
28
|
-
"@servicetitan/hammer-react": "1.29.
|
|
28
|
+
"@servicetitan/hammer-react": "1.29.3",
|
|
29
29
|
"@servicetitan/hammer-token": "2.2.0"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AnvilProvider-DNJk1Ait.js","sources":["../../hammer-react/dist/HammerProvider-DJagMaR6.js","../src/providers/AnvilProvider/AnvilProvider.tsx"],"sourcesContent":["import { jsx } from 'react/jsx-runtime';\nimport { t as themeStyles, T as ThemeProvider } from './ThemeProvider-CioBp3gk.js';\nimport { createContext, useMemo } from 'react';\nimport cx from 'classnames';\nimport { u as useBreakpoint } from './useBreakpoint-DucsW-ug.js';\nimport { a as useTranslations, L as LocalizationContext } from './LocalizationContext-UsmB5mnR.js';\nimport { u as useLayoutPropsUtil } from './useLayoutPropsUtil-C6qizVc6.js';\n\nconst HammerProviderContext = createContext(\n {}\n);\nconst HammerProvider = (props) => {\n const { layoutStyles, componentProps } = useLayoutPropsUtil(props);\n const { themeData, localizationData, children, className, style, ...rest } = componentProps;\n const {\n locale = \"en\",\n dir = \"ltr\",\n translations = {}\n } = localizationData ?? {};\n const classNameCombined = cx(className, [themeStyles[\"theme-core\"]], {\n [themeStyles[\"mode-dark\"]]: themeData?.mode === \"dark\",\n [themeStyles[\"mode-light\"]]: themeData?.mode === \"light\"\n });\n const styleCombined = {\n ...style,\n ...layoutStyles\n };\n const breakpoint = useBreakpoint();\n const { translations: t } = useTranslations(translations);\n const localizationContextValue = useMemo(() => ({ locale, t }), [locale, t]);\n return /* @__PURE__ */ jsx(HammerProviderContext.Provider, { value: { breakpoint }, children: /* @__PURE__ */ jsx(\n ThemeProvider,\n {\n className: classNameCombined,\n style: styleCombined,\n theme: themeData?.theme,\n mode: themeData?.mode,\n dir,\n ...rest,\n children: /* @__PURE__ */ jsx(LocalizationContext.Provider, { value: localizationContextValue, children })\n }\n ) });\n};\n\nexport { HammerProvider as H, HammerProviderContext as a };\n//# sourceMappingURL=HammerProvider-DJagMaR6.js.map\n","import {\n HammerProvider,\n HammerProviderContext,\n type HammerProviderProps,\n type HammerProviderContextProps,\n} from \"@servicetitan/hammer-react\";\nimport TrackingProvider from \"../TrackingProvider\";\n\nexport interface AnvilProviderProps extends HammerProviderProps {\n trackingIdData?: {\n scope?: string;\n optOut?: boolean;\n };\n}\n\nexport { HammerProviderContextProps as AnvilProviderContextProps };\nexport const AnvilProviderContext = HammerProviderContext;\n\nexport const AnvilProvider = ({\n children,\n trackingIdData,\n ...props\n}: AnvilProviderProps) => {\n const { scope = \"ST\", optOut } = trackingIdData ?? {};\n\n return (\n <HammerProvider {...props}>\n <TrackingProvider scope={scope} optOut={optOut}>\n {children}\n </TrackingProvider>\n </HammerProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAQA,MAAM,qBAAqB,GAAG,aAAa;AAC3C,EAAE;AACF,CAAC;AACD,MAAM,cAAc,GAAG,CAAC,KAAK,KAAK;AAClC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC;AACpE,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,cAAc;AAC7F,EAAE,MAAM;AACR,IAAI,MAAM,GAAG,IAAI;AACjB,IAAI,GAAG,GAAG,KAAK;AACf,IAAI,YAAY,GAAG;AACnB,GAAG,GAAG,gBAAgB,IAAI,EAAE;AAC5B,EAAE,MAAM,iBAAiB,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE;AACvE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,SAAS,EAAE,IAAI,KAAK,MAAM;AAC1D,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,SAAS,EAAE,IAAI,KAAK;AACrD,GAAG,CAAC;AACJ,EAAE,MAAM,aAAa,GAAG;AACxB,IAAI,GAAG,KAAK;AACZ,IAAI,GAAG;AACP,GAAG;AACH,EAAE,MAAM,UAAU,GAAG,aAAa,EAAE;AACpC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,eAAe,CAAC,YAAY,CAAC;AAC3D,EAAE,MAAM,wBAAwB,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9E,EAAE,uBAAuB,GAAG,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,QAAQ,kBAAkB,GAAG;AACnH,IAAI,aAAa;AACjB,IAAI;AACJ,MAAM,SAAS,EAAE,iBAAiB;AAClC,MAAM,KAAK,EAAE,aAAa;AAC1B,MAAM,KAAK,EAAE,SAAS,EAAE,KAAK;AAC7B,MAAM,IAAI,EAAE,SAAS,EAAE,IAAI;AAC3B,MAAM,GAAG;AACT,MAAM,GAAG,IAAI;AACb,MAAM,QAAQ,kBAAkB,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,QAAQ,EAAE;AAC/G;AACA,GAAG,EAAE,CAAC;AACN,CAAC;;AC1BM,MAAM,oBAAuB,GAAA;AAE7B,MAAM,gBAAgB,CAAC;AAAA,EAC5B,QAAA;AAAA,EACA,cAAA;AAAA,EACA,GAAG;AACL,CAA0B,KAAA;AACxB,EAAA,MAAM,EAAE,KAAQ,GAAA,IAAA,EAAM,MAAO,EAAA,GAAI,kBAAkB,EAAC;AAEpD,EACE,uBAAA,GAAA,CAAC,kBAAgB,GAAG,KAAA,EAClB,8BAAC,gBAAiB,EAAA,EAAA,KAAA,EAAc,MAC7B,EAAA,QAAA,EACH,CACF,EAAA,CAAA;AAEJ;;;;"}
|