sanitas-ui-design-system 1.1.0 → 1.1.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.
@@ -1,9 +1,11 @@
1
1
  import { default as React } from 'react';
2
- export type ButtonVariant = 'primary' | 'secondary' | 'success' | 'danger' | 'outline' | 'ghost' | 'white' | 'icon';
2
+ export type ButtonVariant = 'primary' | 'secondary' | 'success' | 'danger' | 'outline' | 'ghost' | 'white' | 'icon' | 'static';
3
3
  export type ButtonSize = 'small' | 'medium' | 'large';
4
+ export type ButtonRounded = 'none' | 'sm' | 'base' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | 'full';
4
5
  type BaseButtonProps = {
5
6
  variant?: ButtonVariant;
6
7
  size?: ButtonSize;
8
+ rounded?: ButtonRounded;
7
9
  fullWidth?: boolean;
8
10
  loading?: boolean;
9
11
  children: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,cAAc,CAAA;AAiBrB,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAA;AACnH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AAErD,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,cAAc,GAAG,eAAe,GACnC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,eAAe,CAAC,GAAG;IAC3E,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,CAAA;AAEH,KAAK,YAAY,GAAG,eAAe,GACjC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,eAAe,CAAC,GAAG;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,CAAA;AAEH,KAAK,kBAAkB,GAAG,eAAe,GAAG;IAC1C,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,kBAAkB,CAAA;AAgG5E,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8BxC,CAAA"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/ui/components/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,cAAc,CAAA;AAiBrB,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AAC9H,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;AACrD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AAEhG,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,IAAI,CAAC,EAAE,UAAU,CAAA;IACjB,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,KAAK,cAAc,GAAG,eAAe,GACnC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,eAAe,CAAC,GAAG;IAC3E,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,CAAA;AAEH,KAAK,YAAY,GAAG,eAAe,GACjC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,eAAe,CAAC,GAAG;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,KAAK,CAAA;CACX,CAAA;AAEH,KAAK,kBAAkB,GAAG,eAAe,GAAG;IAC1C,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,KAAK,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,YAAY,GAAG,kBAAkB,CAAA;AA+G5E,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA+BxC,CAAA"}
package/dist/ui/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as r } from "../Button-3zP54AO8.js";
1
+ import { B as r } from "../Button-DZGHhKoc.js";
2
2
  export {
3
3
  r as Button
4
4
  };
package/package.json CHANGED
@@ -1,85 +1,84 @@
1
- {
2
- "name": "sanitas-ui-design-system",
3
- "version": "1.1.0",
4
- "description": "Design System compartido para los microfrontends de Sanitas",
5
- "type": "module",
6
- "main": "./dist/index.js",
7
- "module": "./dist/index.js",
8
- "types": "./dist/index.d.ts",
9
- "repository": {
10
- "type": "git",
11
- "url": "git+https://github.com/proyectosti_keralty/sanitas-ui.git"
12
- },
13
- "publishConfig": {
14
- "registry": "https://registry.npmjs.org",
15
- "access": "public"
16
- },
17
- "exports": {
18
- ".": {
19
- "import": "./dist/index.js",
20
- "types": "./dist/index.d.ts"
21
- },
22
- "./ui": {
23
- "import": "./dist/ui/index.js",
24
- "types": "./dist/ui/index.d.ts"
25
- },
26
- "./tokens": {
27
- "import": "./dist/tokens/index.js",
28
- "types": "./dist/tokens/index.d.ts"
29
- },
30
- "./icons": {
31
- "import": "./dist/icons/index.js",
32
- "types": "./dist/icons/index.d.ts"
33
- },
34
- "./styles": "./dist/styles/index.css",
35
- "./tokens.css": "./dist/tokens/tokens.css",
36
- "./theme.css": "./dist/theme/theme.css",
37
- "./package.json": "./package.json"
38
- },
39
- "files": [
40
- "dist",
41
- "README.md"
42
- ],
43
- "scripts": {
44
- "dev": "vite build --watch",
45
- "build": "tsc && vite build",
46
- "prepublishOnly": "pnpm build",
47
- "storybook": "storybook dev -p 6006",
48
- "build-storybook": "storybook build"
49
- },
50
- "keywords": [
51
- "sanitas",
52
- "ui",
53
- "components",
54
- "react"
55
- ],
56
- "author": "",
57
- "license": "MIT",
58
- "peerDependencies": {
59
- "react": "^19.0.0",
60
- "react-dom": "^19.0.0",
61
- "@tanstack/react-router": "^1.132.0"
62
- },
63
- "devDependencies": {
64
- "@tanstack/react-router": "^1.132.0",
65
- "@storybook/addon-essentials": "^8.5.2",
66
- "@storybook/addon-interactions": "^8.5.2",
67
- "@storybook/addon-links": "^8.5.2",
68
- "@storybook/blocks": "^8.5.2",
69
- "@storybook/react": "^8.5.2",
70
- "@storybook/react-vite": "^8.5.2",
71
- "@storybook/test": "^8.5.2",
72
- "@tailwindcss/vite": "^4.0.6",
73
- "@types/node": "^22.10.2",
74
- "@types/react": "^19.2.0",
75
- "@types/react-dom": "^19.2.0",
76
- "@vitejs/plugin-react": "^5.1.2",
77
- "react": "^19.2.0",
78
- "react-dom": "^19.2.0",
79
- "storybook": "^8.5.2",
80
- "tailwindcss": "^4.0.6",
81
- "typescript": "^5.7.2",
82
- "vite": "^7.2.4",
83
- "vite-plugin-dts": "^4.3.0"
84
- }
85
- }
1
+ {
2
+ "name": "sanitas-ui-design-system",
3
+ "version": "1.1.2",
4
+ "description": "Design System compartido para los microfrontends de Sanitas",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/proyectosti_keralty/sanitas-ui.git"
12
+ },
13
+ "publishConfig": {
14
+ "registry": "https://registry.npmjs.org",
15
+ "access": "public"
16
+ },
17
+ "exports": {
18
+ ".": {
19
+ "import": "./dist/index.js",
20
+ "types": "./dist/index.d.ts"
21
+ },
22
+ "./ui": {
23
+ "import": "./dist/ui/index.js",
24
+ "types": "./dist/ui/index.d.ts"
25
+ },
26
+ "./tokens": {
27
+ "import": "./dist/tokens/index.js",
28
+ "types": "./dist/tokens/index.d.ts"
29
+ },
30
+ "./icons": {
31
+ "import": "./dist/icons/index.js",
32
+ "types": "./dist/icons/index.d.ts"
33
+ },
34
+ "./styles": "./dist/styles/index.css",
35
+ "./tokens.css": "./dist/tokens/tokens.css",
36
+ "./theme.css": "./dist/theme/theme.css",
37
+ "./package.json": "./package.json"
38
+ },
39
+ "files": [
40
+ "dist",
41
+ "README.md"
42
+ ],
43
+ "keywords": [
44
+ "sanitas",
45
+ "ui",
46
+ "components",
47
+ "react"
48
+ ],
49
+ "author": "",
50
+ "license": "MIT",
51
+ "peerDependencies": {
52
+ "react": "^19.0.0",
53
+ "react-dom": "^19.0.0",
54
+ "@tanstack/react-router": "^1.132.0"
55
+ },
56
+ "devDependencies": {
57
+ "@tanstack/react-router": "^1.132.0",
58
+ "@storybook/addon-essentials": "^8.5.2",
59
+ "@storybook/addon-interactions": "^8.5.2",
60
+ "@storybook/addon-links": "^8.5.2",
61
+ "@storybook/blocks": "^8.5.2",
62
+ "@storybook/react": "^8.5.2",
63
+ "@storybook/react-vite": "^8.5.2",
64
+ "@storybook/test": "^8.5.2",
65
+ "@tailwindcss/vite": "^4.0.6",
66
+ "@types/node": "^22.10.2",
67
+ "@types/react": "^19.2.0",
68
+ "@types/react-dom": "^19.2.0",
69
+ "@vitejs/plugin-react": "^5.1.2",
70
+ "react": "^19.2.0",
71
+ "react-dom": "^19.2.0",
72
+ "storybook": "^8.5.2",
73
+ "tailwindcss": "^4.0.6",
74
+ "typescript": "^5.7.2",
75
+ "vite": "^7.2.4",
76
+ "vite-plugin-dts": "^4.3.0"
77
+ },
78
+ "scripts": {
79
+ "dev": "vite build --watch",
80
+ "build": "tsc && vite build",
81
+ "storybook": "storybook dev -p 6006",
82
+ "build-storybook": "storybook build"
83
+ }
84
+ }
@@ -1,60 +0,0 @@
1
- import { jsx as o, jsxs as A, Fragment as S } from "react/jsx-runtime";
2
- const f = () => {
3
- try {
4
- return require("@tanstack/react-router").Link;
5
- } catch {
6
- return null;
7
- }
8
- }, d = f(), B = "primary", _ = "medium", E = "button", N = "buttonIcon", g = {
9
- primary: "isPrimary",
10
- secondary: "isSecondary",
11
- success: "isSuccess",
12
- danger: "isDanger",
13
- outline: "isOutline",
14
- ghost: "isGhost",
15
- white: "isWhite",
16
- icon: "isIcon"
17
- }, k = {
18
- small: "isSmall",
19
- medium: "isMedium",
20
- large: "isLarge"
21
- }, R = (n, t, e, r, s) => [
22
- E,
23
- g[n],
24
- k[t],
25
- e && "isFullWidth",
26
- r && "isLoading",
27
- s
28
- ].filter(Boolean).join(" "), P = ({ icon: n, children: t }) => /* @__PURE__ */ A(S, { children: [
29
- n && /* @__PURE__ */ o("span", { className: N, children: n }),
30
- t
31
- ] }), b = (n) => "to" in n && !!n.to, C = (n) => "href" in n && !!n.href, I = (n, t, e) => d ? /* @__PURE__ */ o(d, { to: n, className: t, children: e }) : (process.env.NODE_ENV === "development" && console.warn('Button: La prop "to" requiere @tanstack/react-router instalado'), null), y = (n, t, e, r) => {
32
- const { target: s, rel: i, ...a } = r;
33
- return /* @__PURE__ */ o("a", { href: n, className: t, target: s, rel: i, ...a, children: e });
34
- }, T = (n, t, e, r, s) => /* @__PURE__ */ o("button", { className: n, disabled: e || r, ...s, children: t }), D = (n) => {
35
- const {
36
- variant: t = B,
37
- size: e = _,
38
- fullWidth: r = !1,
39
- loading: s = !1,
40
- children: i,
41
- icon: a,
42
- className: m = "",
43
- ...u
44
- } = n, c = R(t, e, r, s, m), l = /* @__PURE__ */ o(P, { icon: a, children: i });
45
- if (b(n))
46
- return I(n.to, c, l);
47
- if (C(n))
48
- return y(
49
- n.href,
50
- c,
51
- l,
52
- u
53
- );
54
- const { disabled: L, ...h } = u;
55
- return T(c, l, L || !1, s, h);
56
- };
57
- export {
58
- D as B
59
- };
60
- //# sourceMappingURL=Button-3zP54AO8.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Button-3zP54AO8.js","sources":["../src/ui/components/Button/Button.tsx"],"sourcesContent":["import React from 'react'\r\nimport './Button.css'\r\n\r\nconst loadReactRouterLink = (): any => {\r\n try {\r\n return require('@tanstack/react-router').Link\r\n } catch {\r\n return null\r\n }\r\n}\r\n\r\nconst RouterLink = loadReactRouterLink()\r\n\r\nconst DEFAULT_VARIANT = 'primary'\r\nconst DEFAULT_SIZE = 'medium'\r\nconst BASE_BUTTON_CLASS = 'button'\r\nconst ICON_WRAPPER_CLASS = 'buttonIcon'\r\n\r\nexport type ButtonVariant = 'primary' | 'secondary' | 'success' | 'danger' | 'outline' | 'ghost' | 'white' | 'icon'\r\nexport type ButtonSize = 'small' | 'medium' | 'large'\r\n\r\ntype BaseButtonProps = {\r\n variant?: ButtonVariant\r\n size?: ButtonSize\r\n fullWidth?: boolean\r\n loading?: boolean\r\n children: React.ReactNode\r\n icon?: React.ReactNode\r\n className?: string\r\n}\r\n\r\ntype ButtonAsButton = BaseButtonProps &\r\n Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, keyof BaseButtonProps> & {\r\n href?: never\r\n to?: never\r\n }\r\n\r\ntype ButtonAsLink = BaseButtonProps &\r\n Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, keyof BaseButtonProps> & {\r\n href: string\r\n to?: never\r\n }\r\n\r\ntype ButtonAsRouterLink = BaseButtonProps & {\r\n to: string\r\n href?: never\r\n}\r\n\r\nexport type ButtonProps = ButtonAsButton | ButtonAsLink | ButtonAsRouterLink\r\n\r\nconst VARIANT_CLASS_MAP: Record<ButtonVariant, string> = {\r\n primary: 'isPrimary',\r\n secondary: 'isSecondary',\r\n success: 'isSuccess',\r\n danger: 'isDanger',\r\n outline: 'isOutline',\r\n ghost: 'isGhost',\r\n white: 'isWhite',\r\n icon: 'isIcon',\r\n}\r\n\r\nconst SIZE_CLASS_MAP: Record<ButtonSize, string> = {\r\n small: 'isSmall',\r\n medium: 'isMedium',\r\n large: 'isLarge',\r\n}\r\n\r\nconst buildClassNames = (\r\n variant: ButtonVariant,\r\n size: ButtonSize,\r\n fullWidth: boolean,\r\n loading: boolean,\r\n className: string\r\n): string => {\r\n const classes = [\r\n BASE_BUTTON_CLASS,\r\n VARIANT_CLASS_MAP[variant],\r\n SIZE_CLASS_MAP[size],\r\n fullWidth && 'isFullWidth',\r\n loading && 'isLoading',\r\n className,\r\n ]\r\n\r\n return classes.filter(Boolean).join(' ')\r\n}\r\n\r\nconst ButtonContent: React.FC<{ icon?: React.ReactNode; children: React.ReactNode }> = ({ icon, children }) => (\r\n <>\r\n {icon && <span className={ICON_WRAPPER_CLASS}>{icon}</span>}\r\n {children}\r\n </>\r\n)\r\n\r\nconst isRouterLinkButton = (props: ButtonProps): props is ButtonAsRouterLink => {\r\n return 'to' in props && Boolean(props.to)\r\n}\r\n\r\nconst isExternalLinkButton = (props: ButtonProps): props is ButtonAsLink => {\r\n return 'href' in props && Boolean(props.href)\r\n}\r\n\r\nconst renderRouterLink = (to: string, className: string, content: React.ReactNode) => {\r\n if (!RouterLink) {\r\n if (process.env.NODE_ENV === 'development') {\r\n console.warn('Button: La prop \"to\" requiere @tanstack/react-router instalado')\r\n }\r\n return null\r\n }\r\n\r\n return (\r\n <RouterLink to={to} className={className}>\r\n {content}\r\n </RouterLink>\r\n )\r\n}\r\n\r\nconst renderExternalLink = (\r\n href: string,\r\n className: string,\r\n content: React.ReactNode,\r\n linkProps: React.AnchorHTMLAttributes<HTMLAnchorElement>\r\n) => {\r\n const { target, rel, ...restLinkProps } = linkProps\r\n return (\r\n <a href={href} className={className} target={target} rel={rel} {...restLinkProps}>\r\n {content}\r\n </a>\r\n )\r\n}\r\n\r\nconst renderButton = (\r\n className: string,\r\n content: React.ReactNode,\r\n disabled: boolean,\r\n loading: boolean,\r\n buttonProps: React.ButtonHTMLAttributes<HTMLButtonElement>\r\n) => {\r\n return (\r\n <button className={className} disabled={disabled || loading} {...buttonProps}>\r\n {content}\r\n </button>\r\n )\r\n}\r\n\r\nexport const Button: React.FC<ButtonProps> = (props) => {\r\n const {\r\n variant = DEFAULT_VARIANT,\r\n size = DEFAULT_SIZE,\r\n fullWidth = false,\r\n loading = false,\r\n children,\r\n icon,\r\n className = '',\r\n ...restProps\r\n } = props\r\n\r\n const classNames = buildClassNames(variant, size, fullWidth, loading, className)\r\n const content = <ButtonContent icon={icon}>{children}</ButtonContent>\r\n\r\n if (isRouterLinkButton(props)) {\r\n return renderRouterLink(props.to, classNames, content)\r\n }\r\n\r\n if (isExternalLinkButton(props)) {\r\n return renderExternalLink(\r\n props.href,\r\n classNames,\r\n content,\r\n restProps as React.AnchorHTMLAttributes<HTMLAnchorElement>\r\n )\r\n }\r\n\r\n const { disabled, ...buttonProps } = restProps as React.ButtonHTMLAttributes<HTMLButtonElement>\r\n return renderButton(classNames, content, disabled || false, loading, buttonProps)\r\n}\r\n"],"names":["loadReactRouterLink","RouterLink","DEFAULT_VARIANT","DEFAULT_SIZE","BASE_BUTTON_CLASS","ICON_WRAPPER_CLASS","VARIANT_CLASS_MAP","SIZE_CLASS_MAP","buildClassNames","variant","size","fullWidth","loading","className","ButtonContent","icon","children","jsxs","Fragment","jsx","isRouterLinkButton","props","isExternalLinkButton","renderRouterLink","to","content","renderExternalLink","href","linkProps","target","rel","restLinkProps","renderButton","disabled","buttonProps","Button","restProps","classNames"],"mappings":";AAGA,MAAMA,IAAsB,MAAW;AACrC,MAAI;AACF,WAAO,QAAQ,wBAAwB,EAAE;AAAA,EAC3C,QAAQ;AACN,WAAO;AAAA,EACT;AACF,GAEMC,IAAaD,EAAA,GAEbE,IAAkB,WAClBC,IAAe,UACfC,IAAoB,UACpBC,IAAqB,cAkCrBC,IAAmD;AAAA,EACvD,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AACR,GAEMC,IAA6C;AAAA,EACjD,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AACT,GAEMC,IAAkB,CACtBC,GACAC,GACAC,GACAC,GACAC,MAEgB;AAAA,EACdT;AAAA,EACAE,EAAkBG,CAAO;AAAA,EACzBF,EAAeG,CAAI;AAAA,EACnBC,KAAa;AAAA,EACbC,KAAW;AAAA,EACXC;AAAA,EAGa,OAAO,OAAO,EAAE,KAAK,GAAG,GAGnCC,IAAiF,CAAC,EAAE,MAAAC,GAAM,UAAAC,EAAA,MAC9F,gBAAAC,EAAAC,GAAA,EACG,UAAA;AAAA,EAAAH,KAAQ,gBAAAI,EAAC,QAAA,EAAK,WAAWd,GAAqB,UAAAU,GAAK;AAAA,EACnDC;AAAA,GACH,GAGII,IAAqB,CAACC,MACnB,QAAQA,KAAS,EAAQA,EAAM,IAGlCC,IAAuB,CAACD,MACrB,UAAUA,KAAS,EAAQA,EAAM,MAGpCE,IAAmB,CAACC,GAAYX,GAAmBY,MAClDxB,IAQH,gBAAAkB,EAAClB,GAAA,EAAW,IAAAuB,GAAQ,WAAAX,GACjB,UAAAY,GACH,KATI,QAAQ,IAAI,aAAa,iBAC3B,QAAQ,KAAK,gEAAgE,GAExE,OAULC,IAAqB,CACzBC,GACAd,GACAY,GACAG,MACG;AACH,QAAM,EAAE,QAAAC,GAAQ,KAAAC,GAAK,GAAGC,MAAkBH;AAC1C,SACE,gBAAAT,EAAC,OAAE,MAAAQ,GAAY,WAAAd,GAAsB,QAAAgB,GAAgB,KAAAC,GAAW,GAAGC,GAChE,UAAAN,EAAA,CACH;AAEJ,GAEMO,IAAe,CACnBnB,GACAY,GACAQ,GACArB,GACAsB,MAGE,gBAAAf,EAAC,YAAO,WAAAN,GAAsB,UAAUoB,KAAYrB,GAAU,GAAGsB,GAC9D,UAAAT,EAAA,CACH,GAISU,IAAgC,CAACd,MAAU;AACtD,QAAM;AAAA,IACJ,SAAAZ,IAAUP;AAAA,IACV,MAAAQ,IAAOP;AAAA,IACP,WAAAQ,IAAY;AAAA,IACZ,SAAAC,IAAU;AAAA,IACV,UAAAI;AAAA,IACA,MAAAD;AAAA,IACA,WAAAF,IAAY;AAAA,IACZ,GAAGuB;AAAA,EAAA,IACDf,GAEEgB,IAAa7B,EAAgBC,GAASC,GAAMC,GAAWC,GAASC,CAAS,GACzEY,IAAU,gBAAAN,EAACL,GAAA,EAAc,MAAAC,GAAa,UAAAC,EAAA,CAAS;AAErD,MAAII,EAAmBC,CAAK;AAC1B,WAAOE,EAAiBF,EAAM,IAAIgB,GAAYZ,CAAO;AAGvD,MAAIH,EAAqBD,CAAK;AAC5B,WAAOK;AAAA,MACLL,EAAM;AAAA,MACNgB;AAAA,MACAZ;AAAA,MACAW;AAAA,IAAA;AAIJ,QAAM,EAAE,UAAAH,GAAU,GAAGC,EAAA,IAAgBE;AACrC,SAAOJ,EAAaK,GAAYZ,GAASQ,KAAY,IAAOrB,GAASsB,CAAW;AAClF;"}