@clickhouse/click-ui 0.2.0-test.0 → 0.2.1-rc.8
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/README.md +67 -0
- package/dist/cjs/click-ui.css +3861 -0
- package/dist/cjs/components/Assets/Flags/Mexico.cjs +469 -0
- package/dist/cjs/components/Assets/Flags/Mexico.cjs.map +1 -0
- package/dist/cjs/components/Assets/Flags/system/FlagsDark.cjs +2 -0
- package/dist/cjs/components/Assets/Flags/system/FlagsDark.cjs.map +1 -1
- package/dist/cjs/components/Assets/Flags/system/FlagsLight.cjs +2 -0
- package/dist/cjs/components/Assets/Flags/system/FlagsLight.cjs.map +1 -1
- package/dist/cjs/components/Assets/Icons/Collapse-All.cjs +13 -0
- package/dist/cjs/components/Assets/Icons/Collapse-All.cjs.map +1 -0
- package/dist/cjs/components/Assets/Icons/Expand-All.cjs +13 -0
- package/dist/cjs/components/Assets/Icons/Expand-All.cjs.map +1 -0
- package/dist/cjs/components/Assets/Icons/system/IconsLight.cjs +4 -0
- package/dist/cjs/components/Assets/Icons/system/IconsLight.cjs.map +1 -1
- package/dist/cjs/components/Button/Button.css +261 -0
- package/dist/cjs/components/Button/Button.module.css.cjs +38 -0
- package/dist/cjs/components/Button/Button.module.css.cjs.map +1 -0
- package/dist/cjs/components/Button/index.cjs +42 -126
- package/dist/cjs/components/Button/index.cjs.map +1 -1
- package/dist/cjs/components/ButtonGroup/index.cjs +1 -1
- package/dist/cjs/components/ButtonGroup/index.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/Common.cjs +100 -73
- package/dist/cjs/components/DatePicker/Common.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DateRangePicker.cjs +24 -24
- package/dist/cjs/components/DatePicker/DateRangePicker.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/DateTimeRangePicker.cjs +96 -50
- package/dist/cjs/components/DatePicker/DateTimeRangePicker.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/index.cjs +33 -18
- package/dist/cjs/components/DatePicker/index.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/utils.cjs +42 -14
- package/dist/cjs/components/DatePicker/utils.cjs.map +1 -1
- package/dist/cjs/components/Dialog/index.cjs +10 -1
- package/dist/cjs/components/Dialog/index.cjs.map +1 -1
- package/dist/cjs/components/GenericMenu/index.cjs +1 -1
- package/dist/cjs/components/GenericMenu/index.cjs.map +1 -1
- package/dist/cjs/components/InputWrapper/index.cjs +1 -1
- package/dist/cjs/components/InputWrapper/index.cjs.map +1 -1
- package/dist/cjs/components/NumberField/index.cjs +15 -2
- package/dist/cjs/components/NumberField/index.cjs.map +1 -1
- package/dist/cjs/lib/cva.cjs +15 -0
- package/dist/cjs/lib/cva.cjs.map +1 -0
- package/dist/cjs/providers/ThemeProvider.cjs +4 -0
- package/dist/cjs/providers/ThemeProvider.cjs.map +1 -1
- package/dist/cjs/theme/styles/tokens-dark.css +1806 -0
- package/dist/cjs/theme/styles/tokens-light.css +1795 -0
- package/dist/cjs/theme/theme.config.json.cjs +12 -0
- package/dist/cjs/theme/theme.config.json.cjs.map +1 -0
- package/dist/cjs/theme/tokens/variables.dark.cjs +2 -4
- package/dist/cjs/theme/tokens/variables.dark.cjs.map +1 -1
- package/dist/cjs/theme/tokens/variables.light.cjs +1 -6
- package/dist/cjs/theme/tokens/variables.light.cjs.map +1 -1
- package/dist/cjs/utils/localStorage.cjs +3 -1
- package/dist/cjs/utils/localStorage.cjs.map +1 -1
- package/dist/esm/click-ui.css +3861 -0
- package/dist/esm/components/Assets/Flags/Mexico.js +465 -0
- package/dist/esm/components/Assets/Flags/Mexico.js.map +1 -0
- package/dist/esm/components/Assets/Flags/system/FlagsDark.js +2 -0
- package/dist/esm/components/Assets/Flags/system/FlagsDark.js.map +1 -1
- package/dist/esm/components/Assets/Flags/system/FlagsLight.js +2 -0
- package/dist/esm/components/Assets/Flags/system/FlagsLight.js.map +1 -1
- package/dist/esm/components/Assets/Icons/Collapse-All.js +9 -0
- package/dist/esm/components/Assets/Icons/Collapse-All.js.map +1 -0
- package/dist/esm/components/Assets/Icons/Expand-All.js +9 -0
- package/dist/esm/components/Assets/Icons/Expand-All.js.map +1 -0
- package/dist/esm/components/Assets/Icons/system/IconsLight.js +4 -0
- package/dist/esm/components/Assets/Icons/system/IconsLight.js.map +1 -1
- package/dist/esm/components/Button/Button.css +261 -0
- package/dist/esm/components/Button/Button.module.css.js +25 -0
- package/dist/esm/components/Button/Button.module.css.js.map +1 -0
- package/dist/esm/components/Button/index.js +42 -126
- package/dist/esm/components/Button/index.js.map +1 -1
- package/dist/esm/components/ButtonGroup/index.js +1 -1
- package/dist/esm/components/ButtonGroup/index.js.map +1 -1
- package/dist/esm/components/DatePicker/Common.js +101 -74
- package/dist/esm/components/DatePicker/Common.js.map +1 -1
- package/dist/esm/components/DatePicker/DateRangePicker.js +25 -25
- package/dist/esm/components/DatePicker/DateRangePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/DateTimeRangePicker.js +97 -51
- package/dist/esm/components/DatePicker/DateTimeRangePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/index.js +34 -19
- package/dist/esm/components/DatePicker/index.js.map +1 -1
- package/dist/esm/components/DatePicker/utils.js +36 -10
- package/dist/esm/components/DatePicker/utils.js.map +1 -1
- package/dist/esm/components/Dialog/index.js +10 -1
- package/dist/esm/components/Dialog/index.js.map +1 -1
- package/dist/esm/components/GenericMenu/index.js +1 -1
- package/dist/esm/components/GenericMenu/index.js.map +1 -1
- package/dist/esm/components/InputWrapper/index.js +1 -1
- package/dist/esm/components/InputWrapper/index.js.map +1 -1
- package/dist/esm/components/NumberField/index.js +17 -4
- package/dist/esm/components/NumberField/index.js.map +1 -1
- package/dist/esm/lib/cva.js +7 -0
- package/dist/esm/lib/cva.js.map +1 -0
- package/dist/esm/providers/ThemeProvider.js +4 -0
- package/dist/esm/providers/ThemeProvider.js.map +1 -1
- package/dist/esm/theme/styles/tokens-dark.css +1806 -0
- package/dist/esm/theme/styles/tokens-light.css +1795 -0
- package/dist/esm/theme/theme.config.json.js +7 -0
- package/dist/esm/theme/theme.config.json.js.map +1 -0
- package/dist/esm/theme/tokens/variables.dark.js +2 -4
- package/dist/esm/theme/tokens/variables.dark.js.map +1 -1
- package/dist/esm/theme/tokens/variables.light.js +1 -6
- package/dist/esm/theme/tokens/variables.light.js.map +1 -1
- package/dist/esm/utils/localStorage.js +3 -1
- package/dist/esm/utils/localStorage.js.map +1 -1
- package/dist/types/components/Assets/Flags/Mexico.d.ts +3 -0
- package/dist/types/components/Assets/Flags/system/types.d.ts +1 -1
- package/dist/types/components/Assets/Icons/Collapse-All.d.ts +3 -0
- package/dist/types/components/Assets/Icons/Expand-All.d.ts +3 -0
- package/dist/types/components/Assets/Icons/system/types.d.ts +1 -1
- package/dist/types/components/Button/Button.d.ts +25 -2
- package/dist/types/components/DatePicker/Common.d.ts +9 -4
- package/dist/types/components/DatePicker/DatePicker.d.ts +11 -2
- package/dist/types/components/DatePicker/DateRangePicker.d.ts +3 -2
- package/dist/types/components/DatePicker/DateTimeRangePicker.d.ts +7 -3
- package/dist/types/components/DatePicker/index.d.ts +3 -2
- package/dist/types/components/DatePicker/utils.d.ts +10 -8
- package/dist/types/components/Dialog/Dialog.d.ts +1 -1
- package/dist/types/components/Dialog/Dialog.types.d.ts +1 -0
- package/dist/types/components/NumberField/NumberField.d.ts +5 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/lib/cva.d.ts +3 -0
- package/dist/types/theme/theme.config.json.d.ts +6 -0
- package/dist/types/theme/theme.core.d.ts +0 -7
- package/dist/types/theme/tokens/variables.dark.d.ts +0 -2
- package/dist/types/theme/tokens/variables.light.d.ts +0 -5
- package/dist/types/utils/dom.d.ts +1 -1
- package/dist/types/utils/localStorage.d.ts +1 -1
- package/package.json +26 -10
- package/dist/types/components/DatePicker/DatePicker.types.d.ts +0 -8
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { forwardRef, useId } from 'react';
|
|
3
|
-
import {
|
|
2
|
+
import { forwardRef, useRef, useId } from 'react';
|
|
3
|
+
import { mergeRefs } from '../../utils/mergeRefs.js';
|
|
4
|
+
import { InputWrapper, InputStartContent, NumberInputElement, InputEndContent } from '../InputWrapper/index.js';
|
|
4
5
|
import { Icon as SvgImage } from '../Icon/index.js';
|
|
5
6
|
|
|
6
7
|
const NumberField = forwardRef(({
|
|
@@ -13,15 +14,27 @@ const NumberField = forwardRef(({
|
|
|
13
14
|
orientation,
|
|
14
15
|
dir,
|
|
15
16
|
hideControls,
|
|
17
|
+
startContent,
|
|
18
|
+
endContent,
|
|
16
19
|
...props
|
|
17
20
|
}, ref) => {
|
|
21
|
+
const inputRef = useRef(null);
|
|
18
22
|
const defaultId = useId();
|
|
19
23
|
const onChange = (e) => {
|
|
20
24
|
onChangeProp(e.target.value, e);
|
|
21
25
|
};
|
|
26
|
+
const handleStartContentClick = () => {
|
|
27
|
+
inputRef.current?.focus();
|
|
28
|
+
};
|
|
29
|
+
const hasStartContent = Boolean(startContent);
|
|
30
|
+
const hasEndContent = Boolean(loading || endContent);
|
|
22
31
|
return /* @__PURE__ */ jsxs(InputWrapper, { disabled, id: id ?? defaultId, label, error, orientation, dir, children: [
|
|
23
|
-
/* @__PURE__ */ jsx(
|
|
24
|
-
|
|
32
|
+
startContent && /* @__PURE__ */ jsx(InputStartContent, { onClick: handleStartContentClick, children: startContent }),
|
|
33
|
+
/* @__PURE__ */ jsx(NumberInputElement, { ref: mergeRefs([inputRef, ref]), type: "number", id: id ?? defaultId, disabled, onChange, $hideControls: hideControls, $hasStartContent: hasStartContent, $hasEndContent: hasEndContent, ...props }),
|
|
34
|
+
hasEndContent && /* @__PURE__ */ jsxs(InputEndContent, { children: [
|
|
35
|
+
endContent ? endContent : null,
|
|
36
|
+
loading && /* @__PURE__ */ jsx(SvgImage, { name: "loading-animated", size: "sm" })
|
|
37
|
+
] })
|
|
25
38
|
] });
|
|
26
39
|
});
|
|
27
40
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/NumberField/NumberField.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/NumberField/NumberField.tsx"],"sourcesContent":["import {\n ChangeEvent,\n InputHTMLAttributes,\n ReactNode,\n forwardRef,\n useId,\n useRef,\n} from 'react';\nimport { Icon } from '@/components/Icon';\nimport {\n InputEndContent,\n InputStartContent,\n InputWrapper,\n NumberInputElement,\n WrapperProps,\n} from '@/components/InputWrapper';\nimport { mergeRefs } from '@/utils/mergeRefs';\nexport interface NumberFieldProps\n extends\n Omit<WrapperProps, 'id' | 'children'>,\n Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'onChange' | 'dir'> {\n /** The input type - always number for NumberField */\n type?: 'number';\n /** Whether to show a loading spinner */\n loading?: boolean;\n /** Callback when the input value changes */\n onChange: (inputValue: string, e?: ChangeEvent<HTMLInputElement>) => void;\n /** The orientation of the label relative to the input */\n orientation?: 'vertical' | 'horizontal';\n /** The direction/position of the label - start places label before, end places label after */\n dir?: 'start' | 'end';\n /** Whether to hide the increment/decrement controls */\n hideControls?: boolean;\n /** Additional content to the left of the control */\n startContent?: ReactNode;\n /** Additional content to the right of the control */\n endContent?: ReactNode;\n}\n\nexport const NumberField = forwardRef<HTMLInputElement, NumberFieldProps>(\n (\n {\n disabled,\n label,\n error,\n id,\n loading,\n onChange: onChangeProp,\n orientation,\n dir,\n hideControls,\n startContent,\n endContent,\n ...props\n },\n ref\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const defaultId = useId();\n const onChange = (e: ChangeEvent<HTMLInputElement>) => {\n onChangeProp(e.target.value, e);\n };\n\n const handleStartContentClick: React.MouseEventHandler<HTMLDivElement> = () => {\n inputRef.current?.focus();\n };\n\n const hasStartContent = Boolean(startContent);\n const hasEndContent = Boolean(loading || endContent);\n\n return (\n <InputWrapper\n disabled={disabled}\n id={id ?? defaultId}\n label={label}\n error={error}\n orientation={orientation}\n dir={dir}\n >\n {startContent && (\n <InputStartContent onClick={handleStartContentClick}>\n {startContent}\n </InputStartContent>\n )}\n <NumberInputElement\n ref={mergeRefs([inputRef, ref])}\n type=\"number\"\n id={id ?? defaultId}\n disabled={disabled}\n onChange={onChange}\n $hideControls={hideControls}\n $hasStartContent={hasStartContent}\n $hasEndContent={hasEndContent}\n {...props}\n />\n {hasEndContent && (\n <InputEndContent>\n {endContent ? endContent : null}\n {loading && (\n <Icon\n name=\"loading-animated\"\n size=\"sm\"\n />\n )}\n </InputEndContent>\n )}\n </InputWrapper>\n );\n }\n);\n"],"names":["NumberField","forwardRef","disabled","label","error","id","loading","onChange","onChangeProp","orientation","dir","hideControls","startContent","endContent","props","ref","inputRef","useRef","defaultId","useId","e","target","value","handleStartContentClick","current","focus","hasStartContent","Boolean","hasEndContent","mergeRefs","Icon"],"mappings":";;;;;;AAuCO,MAAMA,WAAAA,GAAcC,WACzB,CACE;AAAA,EACEC,QAAAA;AAAAA,EACAC,KAAAA;AAAAA,EACAC,KAAAA;AAAAA,EACAC,EAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,QAAAA,EAAUC,YAAAA;AAAAA,EACVC,WAAAA;AAAAA,EACAC,GAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACA,GAAGC;AACL,CAAA,EACAC,GAAAA,KACG;AACH,EAAA,MAAMC,QAAAA,GAAWC,OAAyB,IAAI,CAAA;AAC9C,EAAA,MAAMC,YAAYC,KAAAA,EAAM;AACxB,EAAA,MAAMZ,QAAAA,GAAWA,CAACa,CAAAA,KAAqC;AACrDZ,IAAAA,YAAAA,CAAaY,CAAAA,CAAEC,MAAAA,CAAOC,KAAAA,EAAOF,CAAC,CAAA;AAAA,EAChC,CAAA;AAEA,EAAA,MAAMG,0BAAmEA,MAAM;AAC7EP,IAAAA,QAAAA,CAASQ,SAASC,KAAAA,EAAM;AAAA,EAC1B,CAAA;AAEA,EAAA,MAAMC,eAAAA,GAAkBC,QAAQf,YAAY,CAAA;AAC5C,EAAA,MAAMgB,aAAAA,GAAgBD,OAAAA,CAAQrB,OAAAA,IAAWO,UAAU,CAAA;AAEnD,EAAA,uBACE,IAAA,CAAC,gBACC,QAAA,EACA,EAAA,EAAIR,MAAMa,SAAAA,EACV,KAAA,EACA,KAAA,EACA,WAAA,EACA,GAAA,EAECN,QAAAA,EAAAA;AAAAA,IAAAA,YAAAA,oBACC,GAAA,CAAC,iBAAA,EAAA,EAAkB,OAAA,EAASW,uBAAAA,EACzBX,QAAAA,EAAAA,YAAAA,EACH,CAAA;AAAA,oBAEF,GAAA,CAAC,sBACC,GAAA,EAAKiB,SAAAA,CAAU,CAACb,QAAAA,EAAUD,GAAG,CAAC,CAAA,EAC9B,IAAA,EAAK,QAAA,EACL,IAAIV,EAAAA,IAAMa,SAAAA,EACV,QAAA,EACA,QAAA,EACA,aAAA,EAAeP,YAAAA,EACf,kBAAkBe,eAAAA,EAClB,cAAA,EAAgBE,aAAAA,EAChB,GAAId,KAAAA,EAAM,CAAA;AAAA,IAEXc,aAAAA,yBACE,eAAA,EAAA,EACEf,QAAAA,EAAAA;AAAAA,MAAAA,UAAAA,GAAaA,UAAAA,GAAa,IAAA;AAAA,MAC1BP,2BACC,GAAA,CAACwB,QAAA,EAAA,EACC,IAAA,EAAK,kBAAA,EACL,MAAK,IAAA,EAAI;AAAA,KAAA,EAGf;AAAA,GAAA,EAEJ,CAAA;AAEJ,CACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cva.js","sources":["../../../src/lib/cva.ts"],"sourcesContent":["export { cva, type VariantProps } from 'class-variance-authority';\nimport { clsx, type ClassValue } from 'clsx';\n\nexport const cn = (...inputs: ClassValue[]) => clsx(inputs);\n"],"names":["cn","inputs","clsx"],"mappings":";;;AAGO,MAAMA,EAAAA,GAAKA,CAAAA,GAAIC,MAAAA,KAAyBC,IAAAA,CAAKD,MAAM;;;;"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
+
import "../theme/styles/tokens-light.css";
|
|
2
|
+
import "../theme/styles/tokens-dark.css";
|
|
1
3
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
4
|
import { ThemeProvider as ThemeProvider$1, createGlobalStyle } from 'styled-components';
|
|
3
5
|
import { THEMES, themes } from '../theme/theme.core.js';
|
|
4
6
|
import { isValidThemeName } from '../theme/theme.utils.js';
|
|
5
7
|
|
|
8
|
+
|
|
9
|
+
|
|
6
10
|
const GlobalStyle = createGlobalStyle(["body{color:", ";background-color:", "}"], (props) => props.theme.click.global.color.text.default, (props) => props.theme.click.global.color.background.default);
|
|
7
11
|
const ThemeProvider = ({
|
|
8
12
|
theme: name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThemeProvider.js","sources":["../../../src/providers/ThemeProvider.tsx"],"sourcesContent":["import {\n ThemeProvider as StyledThemeProvider,\n createGlobalStyle,\n} from 'styled-components';\nimport { THEMES } from '@/theme/theme.core';\nimport type { ThemeName } from '@/theme/theme.types';\nimport { themes } from '@/theme/theme.core';\nimport { isValidThemeName } from '@/theme/theme.utils';\n\nconst GlobalStyle = createGlobalStyle`\n body{\n color: ${props => props.theme.click.global.color.text.default};\n background-color: ${props => props.theme.click.global.color.background.default}\n }\n`;\n\nexport const ThemeProvider = ({\n theme: name,\n children,\n}: {\n theme: ThemeName;\n children: React.ReactNode;\n}) => {\n const hasValidTheme = isValidThemeName(name);\n const resolvedTheme = !hasValidTheme ? THEMES.Light : name;\n return (\n <StyledThemeProvider theme={themes[resolvedTheme]}>\n <GlobalStyle />\n {children}\n </StyledThemeProvider>\n );\n};\n"],"names":["GlobalStyle","createGlobalStyle","props","theme","click","global","color","text","default","background","ThemeProvider","name","children","hasValidTheme","isValidThemeName","resolvedTheme","THEMES","Light","StyledThemeProvider","themes"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ThemeProvider.js","sources":["../../../src/providers/ThemeProvider.tsx"],"sourcesContent":["import {\n ThemeProvider as StyledThemeProvider,\n createGlobalStyle,\n} from 'styled-components';\nimport { THEMES } from '@/theme/theme.core';\nimport type { ThemeName } from '@/theme/theme.types';\nimport { themes } from '@/theme/theme.core';\nimport { isValidThemeName } from '@/theme/theme.utils';\n\nimport '@/theme/styles/tokens-light.css';\nimport '@/theme/styles/tokens-dark.css';\n\nconst GlobalStyle = createGlobalStyle`\n body{\n color: ${props => props.theme.click.global.color.text.default};\n background-color: ${props => props.theme.click.global.color.background.default}\n }\n`;\n\nexport const ThemeProvider = ({\n theme: name,\n children,\n}: {\n theme: ThemeName;\n children: React.ReactNode;\n}) => {\n const hasValidTheme = isValidThemeName(name);\n const resolvedTheme = !hasValidTheme ? THEMES.Light : name;\n return (\n <StyledThemeProvider theme={themes[resolvedTheme]}>\n <GlobalStyle />\n {children}\n </StyledThemeProvider>\n );\n};\n"],"names":["GlobalStyle","createGlobalStyle","props","theme","click","global","color","text","default","background","ThemeProvider","name","children","hasValidTheme","isValidThemeName","resolvedTheme","THEMES","Light","StyledThemeProvider","themes"],"mappings":";;;;;;;AAYA,MAAMA,WAAAA,GAAcC,kBAAiB,CAAA,aAAA,EAAA,sBAAA,GAAA,CAAA,EAExBC,CAAAA,KAAAA,KAASA,KAAAA,CAAMC,KAAAA,CAAMC,KAAAA,CAAMC,OAAOC,KAAAA,CAAMC,IAAAA,CAAKC,SAClCN,CAAAA,KAAAA,KAASA,KAAAA,CAAMC,MAAMC,KAAAA,CAAMC,MAAAA,CAAOC,KAAAA,CAAMG,UAAAA,CAAWD,OAAO,CAAA;AAI3E,MAAME,gBAAgBA,CAAC;AAAA,EAC5BP,KAAAA,EAAOQ,IAAAA;AAAAA,EACPC;AAIF,CAAA,KAAM;AACJ,EAAA,MAAMC,aAAAA,GAAgBC,iBAAiBH,IAAI,CAAA;AAC3C,EAAA,MAAMI,aAAAA,GAAgB,CAACF,aAAAA,GAAgBG,MAAAA,CAAOC,KAAAA,GAAQN,IAAAA;AACtD,EAAA,uBACE,IAAA,CAACO,eAAA,EAAA,EAAoB,KAAA,EAAOC,MAAAA,CAAOJ,aAAa,CAAA,EAC9C,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,WAAA,EAAA,EAAW,CAAA;AAAA,IACXH;AAAAA,GAAAA,EACH,CAAA;AAEJ;;;;"}
|