@geoinsight/react-components 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/.pnp.cjs +93 -93
  2. package/.yarn/install-state.gz +0 -0
  3. package/.yarn/unplugged/{@swc-core-linux-x64-gnu-npm-1.3.105-928407db1c → @swc-core-linux-x64-gnu-npm-1.3.106-7bb327124d}/node_modules/@swc/core-linux-x64-gnu/package.json +1 -1
  4. package/.yarn/unplugged/{@swc-core-linux-x64-gnu-npm-1.3.105-928407db1c → @swc-core-linux-x64-gnu-npm-1.3.106-7bb327124d}/node_modules/@swc/core-linux-x64-gnu/swc.linux-x64-gnu.node +0 -0
  5. package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/CHANGELOG.md +56 -57
  6. package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/package.json +12 -12
  7. package/dist/cjs/components/button/index.d.ts +5 -1
  8. package/dist/cjs/components/menu/menu-button.d.ts +6 -2
  9. package/dist/cjs/index.css +2 -0
  10. package/dist/cjs/index.js +16 -10
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/esm/components/button/index.d.ts +5 -1
  13. package/dist/esm/components/menu/menu-button.d.ts +6 -2
  14. package/dist/esm/index.css +2 -0
  15. package/dist/esm/index.js +16 -10
  16. package/dist/esm/index.js.map +1 -1
  17. package/package.json +1 -1
  18. /package/.yarn/unplugged/{@swc-core-linux-x64-gnu-npm-1.3.105-928407db1c → @swc-core-linux-x64-gnu-npm-1.3.106-7bb327124d}/node_modules/@swc/core-linux-x64-gnu/.ready +0 -0
  19. /package/.yarn/unplugged/{@swc-core-linux-x64-gnu-npm-1.3.105-928407db1c → @swc-core-linux-x64-gnu-npm-1.3.106-7bb327124d}/node_modules/@swc/core-linux-x64-gnu/README.md +0 -0
  20. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/.ready +0 -0
  21. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/LICENSE +0 -0
  22. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/README.md +0 -0
  23. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/Visitor.d.ts +0 -0
  24. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/Visitor.js +0 -0
  25. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/binding.d.ts +0 -0
  26. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/binding.js +0 -0
  27. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/bindings/README.md +0 -0
  28. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/bindings/binding_core_wasm/package.json +0 -0
  29. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/index.d.ts +0 -0
  30. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/index.js +0 -0
  31. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/postinstall.js +0 -0
  32. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/spack.d.ts +0 -0
  33. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/spack.js +0 -0
  34. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/util.d.ts +0 -0
  35. /package/.yarn/unplugged/{@swc-core-virtual-9a270511cf → @swc-core-virtual-22cde85fc1}/node_modules/@swc/core/util.js +0 -0
@@ -1,10 +1,14 @@
1
1
  /** React */
2
- import { HtmlHTMLAttributes, ReactNode } from "react";
2
+ import React, { HtmlHTMLAttributes, ReactNode } from "react";
3
3
  /** CSS */
4
4
  import "./index.css";
5
5
  /** Props */
6
6
  type Props = HtmlHTMLAttributes<HTMLDivElement> & {
7
+ anchor?: React.AnchorHTMLAttributes<HTMLAnchorElement> & {
8
+ Custom?: React.ComponentClass<any>;
9
+ };
7
10
  children: ReactNode;
11
+ buttonClassName?: string;
8
12
  nested?: boolean;
9
13
  subnested?: boolean;
10
14
  dropdown?: boolean;
@@ -13,5 +17,5 @@ type Props = HtmlHTMLAttributes<HTMLDivElement> & {
13
17
  handleCallbackClick?: () => void;
14
18
  "data-menu-id"?: string;
15
19
  };
16
- export declare function MenuButton({ children, nested, subnested, dropdown, isLink, isSelected, handleCallbackClick, ...props }: Props): import("react/jsx-runtime").JSX.Element;
20
+ export declare function MenuButton({ anchor, children, buttonClassName, nested, subnested, dropdown, isLink, isSelected, handleCallbackClick, ...props }: Props): import("react/jsx-runtime").JSX.Element;
17
21
  export {};
@@ -262,9 +262,11 @@ h6 {
262
262
  cursor: pointer;
263
263
  display: flex;
264
264
  gap: var(--spacing-8);
265
+ height: var(--spacing-40);
265
266
  justify-content: flex-end;
266
267
  padding: var(--spacing-4) var(--spacing-16);
267
268
  margin: var(--spacing-4) 0;
269
+ text-decoration: none;
268
270
  }
269
271
 
270
272
  /* .menu-button > svg {
package/dist/esm/index.js CHANGED
@@ -59,7 +59,14 @@ function useMenu() {
59
59
  return MenuContext;
60
60
  }
61
61
 
62
- function MenuButton({ children, nested, subnested, dropdown, isLink, isSelected, handleCallbackClick, ...props }) {
62
+ const Anchor = ({ Custom, children, ...rest }) => {
63
+ return Custom ? (jsx(Custom, { ...rest, children: children })) : (jsx("a", { ...rest, children: children }));
64
+ };
65
+ function Button({ children = "Click me", className = "", icon = undefined, isNewWindow = false, mode = "primary", size = "medium", as = "button", CustomAnchor, ...rest }) {
66
+ return as === "link" ? (jsxs(Anchor, { Custom: CustomAnchor, ...(isNewWindow && { target: "_blank" }), className: clsx(`button ${className}`, mode === "secondary" ? `button__${mode}` : "button__link", `button__${size}`), ...rest, children: [children, icon] })) : (jsxs("button", { className: clsx("button", `button__${mode}`, `button__${size}`, className), ...rest, children: [children, icon] }));
67
+ }
68
+
69
+ function MenuButton({ anchor, children, buttonClassName, nested, subnested, dropdown, isLink, isSelected, handleCallbackClick, ...props }) {
63
70
  const { toggle } = useContext(useMenu());
64
71
  const [isToggled, setIsToggled] = useState(false);
65
72
  const menuId = useMemo(() => props["data-menu-id"], [props]);
@@ -68,13 +75,19 @@ function MenuButton({ children, nested, subnested, dropdown, isLink, isSelected,
68
75
  setIsToggled(!isToggled);
69
76
  handleCallbackClick && handleCallbackClick();
70
77
  };
71
- return (jsxs("div", { role: "button", className: clsx("menu-button", {
78
+ return anchor ? (jsxs(Anchor, { className: clsx("menu-button", {
72
79
  "menu-button-dropdown": dropdown,
73
80
  "menu-button-nested": nested,
74
81
  "menu-button-subnested": subnested,
75
82
  "menu-button-is-link": isLink,
76
83
  "menu-button-is-selected": isSelected,
77
- }), onClick: handleClick, ...props, children: [children, dropdown ? (isToggled ? (jsx(TfiAngleDown, { size: "1rem" })) : (jsx(TfiAngleUp, { size: "1rem" }))) : null] }));
84
+ }, buttonClassName), ...anchor, children: [children, dropdown ? (isToggled ? (jsx(TfiAngleDown, { size: "1rem" })) : (jsx(TfiAngleUp, { size: "1rem" }))) : null] })) : (jsxs("div", { role: "button", className: clsx("menu-button", {
85
+ "menu-button-dropdown": dropdown,
86
+ "menu-button-nested": nested,
87
+ "menu-button-subnested": subnested,
88
+ "menu-button-is-link": isLink,
89
+ "menu-button-is-selected": isSelected,
90
+ }, buttonClassName), onClick: handleClick, ...props, children: [children, dropdown ? (isToggled ? (jsx(TfiAngleDown, { size: "1rem" })) : (jsx(TfiAngleUp, { size: "1rem" }))) : null] }));
78
91
  }
79
92
 
80
93
  function MenuContent({ children, ...props }) {
@@ -122,13 +135,6 @@ const Menu = {
122
135
  Content: MenuContent,
123
136
  };
124
137
 
125
- const Anchor = ({ Custom, children, ...rest }) => {
126
- return Custom ? (jsx(Custom, { ...rest, children: children })) : (jsx("a", { ...rest, children: children }));
127
- };
128
- function Button({ children = "Click me", className = "", icon = undefined, isNewWindow = false, mode = "primary", size = "medium", as = "button", CustomAnchor, ...rest }) {
129
- return as === "link" ? (jsxs(Anchor, { Custom: CustomAnchor, ...(isNewWindow && { target: "_blank" }), className: clsx(`button ${className}`, mode === "secondary" ? `button__${mode}` : "button__link", `button__${size}`), ...rest, children: [children, icon] })) : (jsxs("button", { className: clsx("button", `button__${mode}`, `button__${size}`, className), ...rest, children: [children, icon] }));
130
- }
131
-
132
138
  // how do I solve reseting the form outside the form
133
139
  function Form({ children, onSubmit, submitButton = {
134
140
  label: "Submit",
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/components/menu/menu-wrapper.tsx","../../src/components/menu/menu-root.tsx","../../src/components/menu/menu-button.tsx","../../src/components/menu/menu-content.tsx","../../src/components/menu/menu-utils.ts","../../src/components/menu/menu-item.tsx","../../src/components/menu/index.tsx","../../src/components/button/index.tsx","../../src/components/form/index.tsx","../../src/components/input/index.tsx","../../src/components/form/form-input.tsx","../../src/components/text-area/index.tsx","../../src/components/form/form-text-area.tsx","../../src/components/select/index.tsx","../../src/components/form/form-select.tsx","../../src/stories/assets/loading.gif","../../src/components/loading/index.tsx","../../src/components/modal/index.tsx","../../src/context/theme/index.tsx","../../src/components/map-control/index.tsx","../../src/components/map/map-toc.tsx","../../src/context/map/index.tsx","../../src/components/map/map-popup.tsx","../../src/components/map/map-deckgl.tsx","../../src/components/map/map-mapbox.tsx","../../src/components/map/index.tsx","../../src/context/loading/index.tsx","../../src/context/modal/index.tsx"],"sourcesContent":["/** React */\nimport React, {\n Children,\n ComponentType,\n ReactNode,\n cloneElement,\n isValidElement,\n useMemo,\n} from \"react\";\n\n/** CSS */\nimport \"./index.css\";\n\n/** Props */\ntype MenuWrapperProps = {\n children: ReactNode;\n};\n\nconst ALLOWED_CHILD_COMPONENT = [\"MenuItem\"];\n\nexport function MenuWrapper({ children }: MenuWrapperProps) {\n const menuItemComponents = useMemo(() => {\n return Children.map(children, (child) => {\n if (!isValidElement(child)) return;\n\n const childComponent = child.type as ComponentType;\n\n if (!ALLOWED_CHILD_COMPONENT.includes(childComponent.name)) return;\n\n return cloneElement(child);\n });\n }, [children]);\n\n return <div className=\"menu\">{menuItemComponents}</div>;\n}\n","/** React */\nimport React, { ReactNode, createContext, useContext, useState } from \"react\";\n\n/** Wrapper */\nimport { MenuWrapper } from \"./menu-wrapper\";\n\n/** Types */\ntype Item = {\n id: string;\n isExpanded: boolean;\n};\n\n/** Context type */\ntype MenuContextType = {\n items: Record<string, Item>;\n addItem: (item: Item) => void;\n toggle: (id: string) => void;\n};\n\n/** Context */\nconst MenuContext = createContext({} as MenuContextType);\n\n/** Props */\ntype MenuRootProps = {\n children: ReactNode;\n isOpenByDefault?: true;\n};\n\nexport function MenuRoot({ children, isOpenByDefault }: MenuRootProps) {\n const [items, setItems] = useState<Record<string, Item>>({});\n\n const addItem = (item: Item) => {\n setItems((state) => ({\n ...state,\n [item.id]: {\n ...item,\n isExpanded: isOpenByDefault || false,\n },\n }));\n };\n\n const toggle = (id: string) => {\n setItems((state) => ({\n ...state,\n [id]: {\n ...items[id],\n isExpanded: !items[id].isExpanded || false,\n },\n }));\n };\n\n return (\n <MenuContext.Provider value={{ items, addItem, toggle }}>\n <MenuWrapper>{children}</MenuWrapper>\n </MenuContext.Provider>\n );\n}\n\nexport function useMenu() {\n if (MenuContext === undefined) {\n throw new Error(\"useMenu must be used within a MenuContext Provider\");\n }\n\n return MenuContext;\n}\n","/** React */\nimport React, {\n HtmlHTMLAttributes,\n ReactNode,\n useContext,\n useMemo,\n useState,\n} from \"react\";\n\n/** CSS */\nimport \"./index.css\";\nimport clsx from \"clsx\";\n\n/** Icons */\nimport { TfiAngleUp, TfiAngleDown } from \"react-icons/tfi\";\n\n/** Hook */\nimport { useMenu } from \"./menu-root\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n children: ReactNode;\n nested?: boolean;\n subnested?: boolean;\n dropdown?: boolean;\n isLink?: boolean;\n isSelected?: boolean;\n handleCallbackClick?: () => void;\n \"data-menu-id\"?: string;\n};\n\nexport function MenuButton({\n children,\n nested,\n subnested,\n dropdown,\n isLink,\n isSelected,\n handleCallbackClick,\n ...props\n}: Props) {\n const { toggle } = useContext(useMenu());\n const [isToggled, setIsToggled] = useState(false);\n const menuId = useMemo(() => props[\"data-menu-id\"], [props]);\n\n const handleClick = () => {\n toggle(menuId as string);\n setIsToggled(!isToggled);\n\n handleCallbackClick && handleCallbackClick();\n };\n\n return (\n <div\n role=\"button\"\n className={clsx(\"menu-button\", {\n \"menu-button-dropdown\": dropdown,\n \"menu-button-nested\": nested,\n \"menu-button-subnested\": subnested,\n \"menu-button-is-link\": isLink,\n \"menu-button-is-selected\": isSelected,\n })}\n onClick={handleClick}\n {...props}\n >\n {children}\n {dropdown ? (\n isToggled ? (\n <TfiAngleDown size=\"1rem\" />\n ) : (\n <TfiAngleUp size=\"1rem\" />\n )\n ) : null}\n </div>\n );\n}\n","/** React */\nimport React, { HTMLAttributes, useContext, useMemo } from \"react\";\n\n/** Hook */\nimport { useMenu } from \"./menu-root\";\n\n/** Props */\ntype Props = HTMLAttributes<HTMLDivElement> & {\n \"data-menu-id\"?: string | undefined;\n};\n\nexport function MenuContent({ children, ...props }: Props) {\n const { items } = useContext(useMenu());\n const menuId = useMemo(() => props[\"data-menu-id\"], [props]);\n const isExpanded = useMemo(() => {\n return items[menuId as string]?.isExpanded;\n }, [items, menuId]);\n\n if (!isExpanded) return;\n\n return <div {...props}>{children}</div>;\n}\n","export const generateId = () => {\n return `id-${Math.random().toString(36).slice(2, 11)}`;\n};\n","/** React */\nimport React, {\n Children,\n ComponentType,\n HtmlHTMLAttributes,\n ReactElement,\n ReactNode,\n cloneElement,\n isValidElement,\n useContext,\n useEffect,\n useRef,\n} from \"react\";\n\n/** CSS */\nimport \"./index.css\";\n\n/** Hooks */\nimport { useMenu } from \"./menu-root\";\n\n/** Utils */\nimport { generateId } from \"./menu-utils\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n children: ReactNode;\n};\n\nconst ALLOWED_CHILD_COMPONENT = [\"MenuButton\", \"MenuContent\"];\n\nexport function MenuItem({ children, ...props }: Props) {\n const { addItem } = useContext(useMenu());\n const menuId = useRef<string>(\"\");\n\n useEffect(() => {\n menuId.current = generateId();\n\n addItem({\n id: menuId.current,\n isExpanded: true,\n });\n }, []);\n\n return (\n <div data-menu-id={menuId.current} {...props}>\n {Children.map(children, (child) => {\n if (!isValidElement(child)) return;\n\n const childComponent = child.type as ComponentType;\n\n if (!ALLOWED_CHILD_COMPONENT.includes(childComponent.name)) return;\n\n return cloneElement(child as ReactElement, {\n \"data-menu-id\": menuId.current,\n });\n })}\n </div>\n );\n}\n","import { MenuButton } from \"./menu-button\";\nimport { MenuContent } from \"./menu-content\";\nimport { MenuItem } from \"./menu-item\";\nimport { MenuRoot } from \"./menu-root\";\n\nexport const Menu = {\n Root: MenuRoot,\n Item: MenuItem,\n Button: MenuButton,\n Content: MenuContent,\n};\n\nexport default Menu;\n","import clsx from \"clsx\";\nimport { ButtonAsButton, ButtonAsLink } from \"./index.types\";\nimport \"./index.css\";\nimport { ReactElement, ReactNode } from \"react\";\n\nconst Anchor = ({\n Custom,\n children,\n ...rest\n}: {\n Custom?: React.ComponentClass<any>;\n children?: ReactNode[];\n}) => {\n return Custom ? (\n <Custom {...rest}>{children}</Custom>\n ) : (\n <a {...rest}>{children}</a>\n );\n};\n\nexport function Button({\n children = \"Click me\",\n className = \"\",\n icon = undefined,\n isNewWindow = false,\n mode = \"primary\",\n size = \"medium\",\n as = \"button\",\n CustomAnchor,\n ...rest\n}: ButtonAsButton | ButtonAsLink): JSX.Element {\n return as === \"link\" ? (\n <Anchor\n Custom={CustomAnchor}\n {...(isNewWindow && { target: \"_blank\" })}\n className={clsx(\n `button ${className}`,\n mode === \"secondary\" ? `button__${mode}` : \"button__link\",\n `button__${size}`\n )}\n {...(rest as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {children}\n {icon}\n </Anchor>\n ) : (\n <button\n className={clsx(\n \"button\",\n `button__${mode}`,\n `button__${size}`,\n className\n )}\n {...(rest as React.ButtonHTMLAttributes<HTMLButtonElement>)}\n >\n {children}\n {icon}\n </button>\n );\n}\n\nexport default Button;\n","import { Form as FormProps } from \"./index.types\";\nimport \"./index.css\";\nimport Button from \"../button\";\nimport { BsCheckCircleFill, BsXCircleFill } from \"react-icons/bs\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useState } from \"react\";\n\n// how do I solve reseting the form outside the form\nexport function Form({\n children,\n onSubmit,\n submitButton = {\n label: \"Submit\",\n },\n initialState,\n backgroundColor,\n ...rest\n}: FormProps) {\n const methods = useForm(initialState);\n\n const {\n formState: { isValid },\n } = methods;\n\n const [result, setResult] = useState<{\n message?: string;\n isSuccess: boolean;\n }>({\n message: \"\",\n isSuccess: false,\n });\n\n return (\n <FormProvider {...methods}>\n <form\n className=\"form\"\n style={{ backgroundColor: backgroundColor }}\n onSubmit={methods.handleSubmit((data) => {\n return onSubmit(data, methods, setResult);\n })}\n {...rest}\n >\n {children}\n {result.message && (\n <div className=\"form__message\">\n {result.isSuccess ? (\n <BsCheckCircleFill\n color=\"var(--color-success)\"\n size={48}\n ></BsCheckCircleFill>\n ) : (\n <BsXCircleFill\n color={\"var(--color-danger)\"}\n size={48}\n ></BsXCircleFill>\n )}\n {result.message}\n </div>\n )}\n <Button type=\"submit\" disabled={!isValid}>\n {submitButton.label}\n </Button>\n </form>\n </FormProvider>\n );\n}\n\nexport default Form;\n","import { Input as InputProps } from \"./index.types\";\nimport \"./index.css\";\nimport clsx from \"clsx\";\n\nexport function Input({\n inputClassName = \"\",\n classNameGroup = \"\",\n error = {\n is: false,\n message: \"\",\n },\n inputRef,\n styleGroup,\n placeholder = \"Insert value\",\n label,\n labelClassName,\n icon,\n isRequired,\n backgroundColor,\n ...rest\n}: InputProps) {\n return (\n <div\n className={clsx(\"input-group\", classNameGroup)}\n style={{ backgroundColor: backgroundColor, ...styleGroup }}\n >\n <div className=\"input__header\">\n {label && <label className={labelClassName}>{label}</label>}\n {error && error.is && (\n <span className=\"input__header--error\">\n {error.message as string}\n </span>\n )}\n </div>\n <div className=\"input-subgroup\">\n {icon?.element && icon.position === \"left\" && (\n <div\n className={clsx(\"input__icon\", \"input__icon--left\", icon.className)}\n >\n {icon.element}\n </div>\n )}\n <input\n ref={inputRef}\n required={isRequired}\n className={clsx(\n \"input\",\n error.is ? \"input--error\" : \"\",\n icon?.position === \"left\" && \"input--icon\",\n inputClassName\n )}\n placeholder={placeholder}\n {...rest}\n />\n {icon?.element && icon.position !== \"left\" && (\n <div\n className={clsx(\n \"input__icon\",\n \"input__icon--right\",\n // `input__icon--${icon.position || \"right\"}`,\n icon.className\n )}\n >\n {icon.element}\n </div>\n )}\n </div>\n </div>\n );\n}\n\nexport default Input;\n","import \"./index.css\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport Input from \"../input\";\nimport { FormInputs } from \"./index.types\";\n\nexport function FormInput({ name, isRequired, error, defaultValue, ...rest }: FormInputs) {\n const { control } = useFormContext();\n return (\n <Controller\n name={name}\n control={control}\n rules={{\n ...(isRequired\n ? {\n required: (error?.message as any) || \"Field is required\",\n }\n : {}),\n }}\n render={({ field, fieldState: { error } }) => {\n return (\n <Input\n isRequired\n error={{\n is: !!error,\n message: error?.message,\n }}\n defaultValue={defaultValue}\n {...field}\n {...rest}\n />\n );\n }}\n />\n );\n}\n\nexport default FormInput;\n","import React, { MutableRefObject, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { TbArrowsDiagonal2 } from \"react-icons/tb\";\nimport { TextArea as TextAreaProps } from \"./index.types\";\nimport \"./index.css\";\nimport Button from \"../button\";\n\nexport function TextArea({\n buttonDisabled = false,\n className = \"\",\n disabled = true,\n error = {\n is: false,\n message: \"\",\n },\n hasToggleButton = true,\n hideHeight = \"5rem\",\n label,\n labelClassName,\n isRequired,\n placeholder = \"Insert value\",\n showHeight = \"10rem\",\n backgroundColor,\n style = {},\n textareaClassName = \"\",\n ...rest\n}: TextAreaProps): JSX.Element {\n const ref = useRef() as MutableRefObject<HTMLTextAreaElement>;\n const [isShow, setIsShow] = useState<boolean>(false);\n\n const handleClickToggle = () => {\n if (ref && ref.current) {\n if (isShow) {\n ref.current.style.height = hideHeight;\n } else {\n ref.current.style.height = showHeight; //(48 + ref.current.scrollHeight) + 'px';\n }\n setIsShow((prev) => !prev);\n }\n };\n\n return (\n <div\n className={clsx(\"textarea\", className)}\n style={{ backgroundColor: backgroundColor, ...style }}\n >\n <div className=\"textarea__header\">\n {label && <label className={labelClassName}>{label}</label>}\n {error && error.is && (\n <span className=\"textarea__header--error\">\n {error.message as any}\n </span>\n )}\n </div>\n <textarea\n ref={ref}\n className={clsx(\n \"textarea__input\",\n error.is && \"textarea__input--error\",\n textareaClassName\n )}\n style={\n {\n height: hasToggleButton ? hideHeight : showHeight,\n } as React.CSSProperties\n }\n placeholder={placeholder}\n disabled={disabled}\n required={isRequired}\n {...rest}\n />\n {hasToggleButton && (\n <Button\n type=\"button\"\n className={clsx(\n \"textarea__button\",\n isShow && \"textarea__button--show\",\n error.is && \"textarea__button--error\"\n )}\n onClick={handleClickToggle}\n disabled={buttonDisabled}\n >\n <TbArrowsDiagonal2 size=\"1.5rem\" />\n </Button>\n )}\n </div>\n );\n}\n\nexport default TextArea;\n","import \"./index.css\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport TextArea from \"../text-area\";\nimport { FormInputs } from \"./index.types\";\n\nexport function FormTextArea({ name, isRequired, error, ...rest }: FormInputs) {\n const { control } = useFormContext();\n return (\n <Controller\n name={name}\n control={control}\n rules={{\n ...(isRequired\n ? {\n required: (error?.message as any) || \"Field is required\",\n }\n : {}),\n }}\n render={({ field, fieldState: { error } }) => {\n return (\n <TextArea\n isRequired\n error={{\n is: !!error,\n message: error?.message,\n }}\n {...field}\n {...rest}\n />\n );\n }}\n />\n );\n}\n\nexport default FormTextArea;\n","import { useState } from \"react\";\nimport clsx from \"clsx\";\nimport { Select as SelectProps } from \"./index.types\";\nimport \"./index.css\";\nimport Button from \"../button\";\nimport { TfiAngleDown } from \"react-icons/tfi\";\nimport Input from \"../input\";\n\nexport function Select({\n inputClassName = \"\",\n classNameGroup = \"\",\n options,\n styleGroup,\n defaultValue,\n setFormSelected,\n clearError,\n resetForm,\n onFormBlur,\n handleSelect,\n label,\n labelClassName,\n error,\n backgroundColor,\n isRequired,\n ...rest\n}: SelectProps) {\n const [isOpen, setIsOpen] = useState(false);\n const [value, setValue] = useState(defaultValue || (options && options[0]));\n const [filteredOptions, setFilteredOptions] = useState(options);\n const { name } = rest;\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const handleInputClose = () => {\n if (onFormBlur) {\n onFormBlur();\n }\n setIsOpen(false);\n };\n\n const handleToggle = () => {\n setIsOpen((prev) => !prev);\n };\n\n const handleValueChange = (e: { target: { value: string } }) => {\n const { value } = e.target;\n setValue(value);\n };\n\n const handleSelectChange = (e: { target: { name: string } }) => {\n const { name: value } = e.target;\n\n if (setFormSelected) {\n setFormSelected(name, value);\n if (clearError) {\n clearError(name);\n }\n\n if (resetForm) {\n resetForm();\n }\n } else {\n setValue(value);\n }\n\n if (handleSelect) {\n handleSelect(value);\n }\n\n handleClose();\n };\n\n return (\n <div\n className={clsx(\"select-group\", classNameGroup)}\n style={{ backgroundColor: backgroundColor, ...styleGroup }}\n >\n <Input\n inputClassName={clsx(\n \"select\",\n {\n \"select--focus\": isOpen,\n },\n inputClassName\n )}\n value={value}\n error={error}\n required={isRequired}\n placeholder=\"Select a value\"\n icon={{\n className: \"select__arrow\",\n element: (\n <Button\n type=\"button\"\n size=\"large\"\n mode=\"icon\"\n className={clsx(\"select__arrow-button\", {\n \"select__arrow-button--open\": isOpen\n })}\n onClick={handleToggle}\n onBlur={handleClose}\n >\n <TfiAngleDown size={24} />\n </Button>\n ),\n }}\n onFocus={handleOpen}\n onBlur={handleInputClose}\n onChange={handleValueChange}\n autoComplete=\"off\"\n label={label}\n labelClassName={labelClassName}\n {...rest}\n />\n {isOpen && (\n <div className=\"select__box\">\n {(filteredOptions as string[]).map(\n (option: string, index: number) => (\n <Button\n key={`index-${index}`}\n type=\"button\"\n mode=\"secondary\"\n className=\"select__option\"\n name={option}\n onMouseDown={handleSelectChange as any}\n >\n {option}\n </Button>\n )\n )}\n </div>\n )}\n </div>\n );\n}\n\nexport default Select;\n","import \"./index.css\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport Select from \"../select\";\nimport { FormSelect as FormSelectProps } from \"./index.types\";\n\nexport function FormSelect({\n name,\n isRequired,\n error,\n fieldsToReset,\n label,\n ...rest\n}: FormSelectProps) {\n const { control, setValue, clearErrors, unregister, resetField } =\n useFormContext();\n return (\n <Controller\n name={name}\n control={control}\n rules={{\n ...(isRequired\n ? {\n required: (error?.message as any) || \"Field is required\",\n }\n : {}),\n }}\n render={({ field: { onBlur, ...restField }, fieldState: { error } }) => {\n return (\n <Select\n isRequired\n label={label}\n error={{\n is: !!error,\n message: error?.message || \"\",\n }}\n setFormSelected={setValue}\n resetForm={() =>\n fieldsToReset &&\n fieldsToReset.map((field) => {\n setValue(field, undefined);\n unregister(field);\n })\n }\n clearError={clearErrors}\n onFormBlur={onBlur}\n {...restField}\n {...rest}\n />\n );\n }}\n />\n );\n}\n\nexport default FormSelect;\n","var img = \"data:image/gif;base64,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\";\n export default img;","import { Loading as LoadingProps } from \"./index.types\";\nimport gif from \"../../stories/assets/loading.gif\";\nimport \"./index.css\";\n\nexport function Loading({ img, children }: LoadingProps) {\n return (\n <div className=\"loading\">\n <img src={img ?? gif} />\n <div className=\"loading-message\">{children}</div>\n </div>\n );\n}\n\nexport default Loading;\n","import { IoClose } from \"react-icons/io5\";\nimport { Modal as ModalProps } from \"./index.types\";\nimport \"./index.css\";\nimport Button from \"../button\";\nimport clsx from \"clsx\";\n\nexport function Modal({\n className,\n modalref,\n children,\n title,\n subtitle,\n footer,\n hasOverlay = true,\n hasCloseButton = true,\n handleClose,\n ...rest\n}: ModalProps) {\n return (\n <>\n {hasOverlay && <div className=\"modal-overlay\" />}\n <div ref={modalref} className={clsx(\"modal\", className)} {...rest}>\n {hasCloseButton && (\n <Button\n mode=\"secondary\"\n className=\"modal__close\"\n size=\"small\"\n onClick={handleClose}\n >\n <IoClose />\n </Button>\n )}\n <div className=\"modal__content\">\n {title && (\n <div className=\"modal__header\">\n <h3>{title}</h3>\n <h6>{subtitle}</h6>\n </div>\n )}\n <div className=\"modal__children\">{children}</div>\n {footer && <div className=\"modal__footer\">{footer}</div>}\n </div>\n </div>\n </>\n );\n}\n\nexport default Modal;\n","import { DataPalette } from \"data-palette\";\nimport React, {\n createContext,\n useContext,\n useEffect,\n useState,\n} from \"react\";\n\ntype DataTheme = \"light\" | \"dark\";\n\ntype State = {\n dataTheme?: DataTheme;\n switchDataTheme: (mode: DataTheme) => void;\n dataPalette?: DataPalette;\n switchDataPalette: (mode: DataPalette) => void;\n};\ntype ThemeProviderProps = {\n children: React.ReactNode;\n dataTheme?: DataTheme;\n dataPalette?: DataPalette;\n};\n\nconst ThemeContext = createContext<State | undefined>(undefined);\n\nfunction ThemeProvider({\n children,\n dataTheme: dataThemeProp,\n dataPalette: dataPaletteProp = \"water\",\n}: ThemeProviderProps) {\n const [dataTheme, setDataTheme] = useState<DataTheme>();\n const [dataPalette, setDataPalette] = useState<DataPalette>();\n\n useEffect(() => {\n if (dataPaletteProp) {\n switchDataPalette(dataPaletteProp);\n }\n }, [dataPaletteProp]);\n\n useEffect(() => {\n if (dataThemeProp) {\n switchDataTheme(dataThemeProp);\n }\n }, [dataThemeProp]);\n\n useEffect(() => {\n if (window.matchMedia) {\n if (localStorage.getItem(\"data-theme\")) {\n document.documentElement.setAttribute(\n \"data-theme\",\n localStorage.getItem(\"data-theme\") as string\n );\n setDataTheme(localStorage.getItem(\"data-theme\") as DataTheme);\n } else if (window.matchMedia(\"(prefers-color-scheme: dark)\").matches) {\n document.documentElement.setAttribute(\"data-theme\", \"dark\");\n setDataTheme(\"dark\");\n }\n }\n }, []);\n\n const switchDataTheme = (mode: DataTheme) => {\n document.documentElement.setAttribute(\"data-theme\", mode);\n setDataTheme(mode);\n localStorage.setItem(\"data-theme\", mode);\n };\n\n const switchDataPalette = (mode: DataPalette) => {\n document.documentElement.setAttribute(\"data-palette\", mode);\n setDataPalette(mode);\n localStorage.setItem(\"palette-theme\", mode);\n };\n\n return (\n <ThemeContext.Provider\n value={{ dataTheme, switchDataTheme, dataPalette, switchDataPalette }}\n >\n {children}\n </ThemeContext.Provider>\n );\n}\n\nfunction useTheme() {\n const context = useContext(ThemeContext);\n\n if (context === undefined) {\n throw new Error(\"useTheme must be used within a ThemeProvider\");\n }\n\n return context;\n}\n\nexport { ThemeContext, ThemeProvider, useTheme };\n","import { MapControl as MapControlProps } from \"./index.types\";\nimport \"./index.css\";\n\nexport function MapControl({\n children,\n position = \"top-right\",\n ...rest\n}: MapControlProps) {\n return (\n <div className={`control control--${position}`} {...rest}>\n {children}\n </div>\n );\n}\n\nexport default MapControl;\n","import \"./index.css\";\nimport Menu from \"../menu\";\nimport { ChildToc, ChildrenToc, Toc } from \"./index.types\";\n\ninterface TocProps {\n items: Toc;\n selected: ChildToc & { id: string };\n setSelected: (layer: ChildToc & { id: string }) => void;\n}\n\ntype Entries<T> = {\n [K in keyof T]: [key: K, value: T[K]];\n}[keyof T][];\n\n\nfunction MapToc({ items, selected, setSelected }: TocProps) {\n return (\n <Menu.Root>\n {Object.entries(items).map(([parentId, parent], index) => (\n <Menu.Item key={`first-level-${index}`}>\n <Menu.Button dropdown>{parent.title}</Menu.Button>\n <Menu.Content>\n {(Object.entries(parent.children) as Entries<ChildrenToc>).map(([childId, child], index) => (\n <Menu.Item>\n <Menu.Button\n isSelected={childId === selected.id}\n nested\n handleCallbackClick={() => setSelected({ id: childId, ...child })}\n >\n {child.label}\n </Menu.Button>\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Item>\n ))}\n </Menu.Root>\n );\n}\n\nexport default MapToc;\n","/** React */\nimport React, {\n Dispatch,\n ReactNode,\n SetStateAction,\n createContext,\n useContext,\n useEffect,\n useState,\n} from \"react\";\nimport { Toc } from \"../../components/map/index.types\";\n\n/** Context type */\ntype MapContextType = {\n state?: {\n currentLayer?: Toc;\n };\n setCurrentLayer: Dispatch<SetStateAction<Toc | undefined>>;\n};\n\n/** Context */\nconst MapContext = createContext<MapContextType | undefined>(undefined);\n\n/** Props */\ntype MapProviderProps = {\n children: ReactNode;\n};\n\ntype UseMapProps = {\n defaultLayer?: Toc;\n};\n\nexport function MapProvider({ children }: MapProviderProps) {\n const [currentLayer, setCurrentLayer] = useState<Toc | undefined>(undefined);\n\n return (\n <MapContext.Provider value={{ state: { currentLayer }, setCurrentLayer }}>\n {children}\n </MapContext.Provider>\n );\n}\n\nexport function useMap({ defaultLayer }: UseMapProps) {\n const context = useContext(MapContext);\n useEffect(() => {\n if (context) {\n context.setCurrentLayer(defaultLayer);\n }\n }, []);\n\n if (context === undefined) {\n throw new Error(\"useMap must be used within a MapProvider\");\n }\n\n return context;\n}\n","import { Popup } from \"react-map-gl\";\nimport \"./index.css\";\nimport { PopupData } from \"./index.types\";\nimport { Dispatch, SetStateAction } from \"react\";\n\ntype MapPopupProps = {\n framework?: \"deck.gl\" | \"mapboxgl\";\n latitude: number;\n longitude: number;\n setPopupData?: Dispatch<SetStateAction<PopupData | undefined>>;\n popup?: PopupData;\n};\n\nconst DefaultPopup = ({ popup }: { popup: PopupData }) => {\n const { isDefault, data, render } = popup.model;\n\n return isDefault || true ? (\n <div className=\"map__popup-content\">\n <div className=\"map__popup-list\">\n {data.fields.map((field) => (\n <h5>{field}:</h5>\n ))}\n </div>\n <div className=\"map__popup-list\">\n {data.values.map((value) => (\n <span>\n {typeof value === \"string\"\n ? new Function(\n \"v\",\n `return (${value})(${JSON.stringify(popup.info)})`\n )()\n : value(popup.info)}\n </span>\n ))}\n </div>\n </div>\n ) : (\n render\n );\n};\n\nconst MapPopup = ({\n popup,\n framework = \"deck.gl\",\n setPopupData,\n longitude,\n latitude,\n}: MapPopupProps) => {\n return framework === \"deck.gl\" ? (\n <div className=\"map__popup\" style={{ left: longitude, top: latitude }}>\n <DefaultPopup popup={popup as PopupData} />\n </div>\n ) : (\n <Popup\n anchor=\"top\"\n longitude={Number(longitude)}\n latitude={Number(latitude)}\n onClose={() => setPopupData && setPopupData(undefined)}\n >\n <DefaultPopup popup={popup as PopupData} />\n </Popup>\n );\n};\n\nexport default MapPopup;\n","import { createContext, useMemo, useState } from \"react\";\nimport DeckGL from \"@deck.gl/react/typed\";\nimport {\n ChildToc,\n Controls,\n MapAsDeckgl,\n PopupData,\n} from \"./index.types\";\n// @ts-ignore\nimport * as Layers from \"@deck.gl/layers\";\nimport { Map } from \"react-map-gl\";\nimport maplibregl from \"maplibre-gl\";\nimport Button from \"../button\";\nimport { useTheme } from \"../../context/theme\";\nimport { FiMoon, FiSun } from \"react-icons/fi\";\nimport MapControl from \"../map-control\";\nimport \"./index.css\";\nimport MapToc from \"./map-toc\";\nimport { useMap } from \"../../context/map\";\nimport MapPopup from \"./map-popup\";\n\nconst INITIAL_VIEW_STATE = {\n longitude: -122.41669,\n latitude: 37.7853,\n zoom: 13,\n pitch: 0,\n bearing: 0,\n};\n\nexport function MapDeckgl({\n attribution,\n basemap,\n basemapToken,\n initialViewState,\n hasSwitchBasemap = true,\n layers,\n mapProps,\n renderControls = {},\n toc,\n}: MapAsDeckgl) {\n // @ts-ignore\n const { onClick, ...restMapProps } = mapProps;\n const theme = useTheme();\n const [lngLat, setLngLat] = useState<number[]>();\n const [popupData, setPopupData] = useState<PopupData | undefined>();\n\n const _layers =\n layers &&\n useMemo(\n () => layers.map(({ type, layer }) => new Layers[type as any](layer)),\n []\n );\n const {\n \"bottom-left\": bottomLeft,\n \"center-left\": centerLeft,\n ..._controls\n } = renderControls as Controls;\n\n const mapContext =\n toc &&\n useMap({\n defaultLayer: {\n id: toc.defaultIds[1],\n ...toc?.parents[toc.defaultIds[0]].children[toc.defaultIds[1]],\n },\n });\n\n const handleToggle = () => {\n theme.switchDataTheme(theme.dataTheme === \"dark\" ? \"light\" : \"dark\");\n };\n\n const handeSelectedLayer = (layer: ChildToc) => {\n mapContext.setCurrentLayer(layer);\n };\n\n const handleClick = (event: any) => {\n if (event.object) {\n if (event.layer?.props?.popup) {\n setPopupData({ model: event.layer?.props.popup, info: event.object });\n }\n\n setLngLat([event.pixel[0], event.pixel[1]]);\n } else {\n setLngLat(undefined);\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n return (\n <div className=\"map\">\n <DeckGL\n initialViewState={initialViewState || INITIAL_VIEW_STATE}\n controller={true}\n layers={_layers}\n onClick={handleClick}\n {...restMapProps}\n >\n <Map\n attributionControl={false}\n mapLib={maplibregl}\n mapStyle={\n basemap || theme.dataTheme === \"dark\"\n ? `https://api.maptiler.com/maps/darkmatter/style.json?key=${\n basemapToken || process.env.STORYBOOK_OPEN_TILES_TOKEN\n }`\n : `https://api.maptiler.com/maps/positron/style.json?key=${\n basemapToken || process.env.STORYBOOK_OPEN_TILES_TOKEN\n }`\n }\n />\n {Object.keys(_controls).map((key) => {\n // @ts-ignore\n return <MapControl position={key}>{_controls[key]}</MapControl>;\n })}\n <MapControl position=\"center-left\">\n {centerLeft}\n {mapContext?.state.currentLayer && (\n <MapToc\n items={toc.parents}\n selected={mapContext.state.currentLayer}\n setSelected={handeSelectedLayer}\n />\n )}\n </MapControl>\n <MapControl position=\"bottom-left\">\n {hasSwitchBasemap ? (\n <>\n {bottomLeft}\n <Button mode=\"icon\" size=\"small\" onClick={handleToggle}>\n {theme.dataTheme === \"dark\" ? (\n <FiSun size=\"1.25rem\" />\n ) : (\n <FiMoon size=\"1.25rem\" color=\"var(--color-black)\" />\n )}\n </Button>\n </>\n ) : (\n bottomLeft\n )}\n </MapControl>\n <div className=\"map__attribution\">\n {attribution || (\n <>\n <Button\n as=\"link\"\n href=\"https://www.maptiler.com/copyright/\"\n target=\"_blank\"\n >\n &copy; MapTiler\n </Button>\n <Button\n as=\"link\"\n href=\"https://www.openstreetmap.org/copyright\"\n target=\"_blank\"\n >\n &copy; OpenStreetMap contributors\n </Button>\n </>\n )}\n </div>\n </DeckGL>\n {popupData && lngLat && (\n <MapPopup\n longitude={lngLat[0]}\n latitude={lngLat[1]}\n // framework=\"deck.gl\"\n popup={popupData}\n ></MapPopup>\n )}\n </div>\n );\n}\n\nexport default MapDeckgl;\n","import { useState } from \"react\";\nimport mapboxgl from \"mapbox-gl\";\nimport { Layer, Map, Popup, Source } from \"react-map-gl\";\nimport { useTheme } from \"../../context/theme\";\nimport MapControl from \"../map-control\";\nimport Button from \"../button\";\nimport { BsFillMoonFill, BsFillSunFill } from \"react-icons/bs\";\nimport { Viewport } from \"maplibre-gl\";\nimport \"mapbox-gl/dist/mapbox-gl.css\";\nimport Modal from \"../modal\";\nimport {\n ChildToc,\n Controls,\n MapAsDeckgl,\n MapAsMapbox,\n Map as MapProps,\n PopupData,\n Position,\n} from \"./index.types\";\nimport MapToc from \"./map-toc\";\nimport { useMap } from \"../../context/map\";\nimport MapPopup from \"./map-popup\";\n\nexport interface MapboxMapProps {\n basemap?: string;\n initialViewState?: Viewport;\n hasSwitchBasemap?: boolean;\n hasSwitchProjection?: boolean;\n mapboxAccessToken: string;\n}\n\nfunction MapMapbox({\n basemap,\n mapProps,\n hasSwitchBasemap,\n hasSwitchProjection,\n renderControls,\n sources,\n toc,\n}: MapAsMapbox) {\n // @ts-ignore\n const { onClick, ...restMapProps } = mapProps;\n const { dataTheme, switchDataTheme } = useTheme();\n const [projection, setProjection] =\n useState<mapboxgl.Projection[\"name\"]>(\"globe\");\n const {\n \"bottom-left\": bottomLeft,\n \"center-left\": centerLeft,\n ..._controls\n } = renderControls as Controls;\n const [popupData, setPopupData] = useState<PopupData | undefined>();\n const [lngLat, setLngLat] = useState<number[]>();\n\n const mapContext =\n toc &&\n useMap({\n defaultLayer: {\n id: toc.defaultIds[1],\n ...toc?.parents[toc.defaultIds[0]].children[toc.defaultIds[1]],\n },\n });\n\n const handeSelectedLayer = (layer: ChildToc & { id: string }) => {\n mapContext.setCurrentLayer(layer);\n };\n\n const handleClick = (event: { features: any; point: { x: any; y: any; }; lngLat: { lng: any; lat: any; }; }) => {\n const {\n features,\n point: { x, y },\n lngLat: { lng, lat },\n } = event;\n const hoveredFeature = features && features[0];\n\n if (hoveredFeature) {\n setPopupData({\n model: hoveredFeature.layer.metadata[\"mapbox:popup\"],\n info: hoveredFeature,\n });\n\n setLngLat([lng, lat]);\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n return mapProps?.mapboxAccessToken ? (\n <>\n <Map\n mapboxAccessToken={mapProps.mapboxAccessToken}\n projection={projection}\n mapStyle={\n basemap ||\n `mapbox://styles/mapbox/${\n dataTheme === \"dark\" ? \"light\" : \"dark\"\n }-v11`\n }\n {...((mapProps.interactiveLayerIds && { onClick: handleClick }) ||\n (onClick && { onClick }))}\n {...restMapProps}\n >\n {sources &&\n sources.map(({ id, layers, ...restSource }) => (\n // @ts-ignore\n <Source id={id} {...restSource}>\n {layers && layers.map((layer) => <Layer {...layer} />)}\n </Source>\n ))}\n {Object.keys(_controls).map((key) => {\n // @ts-ignore\n return <MapControl position={key}>{_controls[key]}</MapControl>;\n })}\n <MapControl position=\"center-left\">\n {centerLeft}\n {mapContext?.state.currentLayer && (\n <MapToc\n items={toc.parents}\n selected={mapContext.state.currentLayer}\n setSelected={handeSelectedLayer}\n />\n )}\n </MapControl>\n <MapControl position=\"bottom-left\">\n {bottomLeft}\n {hasSwitchBasemap && (\n <Button\n className=\"map__button\"\n mode=\"icon\"\n onClick={() =>\n switchDataTheme(dataTheme === \"dark\" ? \"light\" : \"dark\")\n }\n >\n {dataTheme === \"dark\" ? <BsFillMoonFill /> : <BsFillSunFill />}\n </Button>\n )}\n {hasSwitchProjection && (\n <Button\n className=\"map__button\"\n mode=\"icon\"\n onClick={() =>\n setProjection((prev: string) =>\n prev === \"globe\" ? \"mercator\" : \"globe\"\n )\n }\n >\n {projection === \"globe\" ? \"2D\" : \"3D\"}\n </Button>\n )}\n </MapControl>\n {popupData && lngLat && (\n <MapPopup\n longitude={lngLat[0]}\n latitude={lngLat[1]}\n framework=\"mapboxgl\"\n setPopupData={setPopupData}\n popup={popupData}\n />\n )}\n </Map>\n </>\n ) : (\n <Modal hasCloseButton={false}>\n <p className=\"map__mapbox-error\">\n You need to add the mapbox token to the prop mapboxAccessToken.\n </p>\n </Modal>\n );\n}\n\nexport default MapMapbox;\n","import { MapAsDeckgl, MapAsMapbox, Map as MapProps } from \"./index.types\";\n// @ts-ignore\nimport \"./index.css\";\nimport MapDeckgl from \"./map-deckgl\";\nimport MapMapbox from \"./map-mapbox\";\nimport { MapboxProps } from \"react-map-gl/dist/esm/mapbox/mapbox\";\nimport { Deck } from \"@deck.gl/core/src\";\n\nexport function MapComponent({\n attribution,\n basemap,\n basemapToken,\n framework = \"deck.gl\",\n mapProps,\n hasSwitchBasemap = true,\n hasSwitchProjection = true,\n layers,\n renderControls = {},\n sources,\n toc,\n}: MapAsDeckgl | MapAsMapbox) {\n return framework === \"deck.gl\" ? (\n <MapDeckgl\n attribution={attribution}\n basemap={basemap}\n basemapToken={basemapToken}\n hasSwitchBasemap={hasSwitchBasemap}\n layers={layers}\n mapProps={mapProps as Deck}\n renderControls={renderControls}\n toc={toc}\n />\n ) : framework === \"mapboxgl\" ? (\n <MapMapbox\n basemap={basemap}\n hasSwitchBasemap={hasSwitchBasemap}\n hasSwitchProjection={hasSwitchProjection}\n mapProps={mapProps as MapboxProps}\n renderControls={renderControls}\n sources={sources}\n toc={toc}\n />\n ) : (\n <div>The component needs a framework</div>\n );\n}\n\nexport default MapComponent;\n","import React, {\n ReactNode,\n RefObject,\n createContext,\n useContext,\n useEffect,\n useReducer,\n} from \"react\";\nimport Loading from \"../../components/loading\";\n\ntype Action = {\n type: \"set_ref\" | \"start_loading\" | \"stop_loading\" | \"set_message\";\n ref?: RefObject<ReactNode>;\n message?: string;\n};\ntype State = {\n isLoading: boolean;\n message?: string | React.ReactNode;\n ref?: RefObject<ReactNode>;\n};\ntype Context = {\n state: State;\n setRef: (ref: RefObject<ReactNode>) => void;\n setMessage: (message: string) => void;\n startLoading: () => void;\n stopLoading: () => void;\n};\ntype LoadingProviderProps = { children: React.ReactNode };\ntype UseLoadingProps = {\n ref?: RefObject<ReactNode>;\n message?: string;\n};\n\nconst LoadingContext = createContext<Context | undefined>(undefined);\n\nfunction loadingReducer(state: State, action: Action) {\n switch (action.type) {\n case \"set_ref\": {\n return { ...state, ref: action.ref };\n }\n case \"start_loading\": {\n return { ...state, isLoading: true };\n }\n case \"stop_loading\": {\n return { ...state, isLoading: false };\n }\n case \"set_message\": {\n return { ...state, message: action.message };\n }\n default: {\n throw new Error(`Unhandled action type: ${action.type}`);\n }\n }\n}\n\nfunction LoadingProvider({ children }: LoadingProviderProps) {\n const [{ isLoading, message, ref }, dispatch] = useReducer(loadingReducer, {\n isLoading: false,\n message: \"Loading\",\n ref: undefined,\n });\n\n const setRef = (ref: RefObject<ReactNode>) => {\n dispatch({ type: \"set_ref\", ref });\n };\n\n const setMessage = (message: string) => {\n dispatch({ type: \"set_message\", message });\n };\n\n const startLoading = () => {\n dispatch({ type: \"start_loading\" });\n };\n\n const stopLoading = () => {\n dispatch({ type: \"stop_loading\" });\n };\n\n return (\n <LoadingContext.Provider\n value={{\n state: { ref, message, isLoading },\n setMessage,\n setRef,\n startLoading,\n stopLoading,\n }}\n >\n {!ref && <Loading>{message}</Loading>}\n {children}\n </LoadingContext.Provider>\n );\n}\n\nfunction useLoading({ ref, message }: UseLoadingProps = {}) {\n const context = useContext(LoadingContext);\n\n // only happens if there is an initial mode value.\n useEffect(() => {\n ref && context?.setRef(ref);\n message && context?.setMessage(message);\n }, []);\n\n if (context === undefined) {\n throw new Error(\"useLoading must be used within a LoadingProvider\");\n }\n\n return context;\n}\n\nexport { LoadingContext, LoadingProvider, useLoading };\n","import React, {\n ReactNode,\n RefObject,\n createContext,\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from \"react\";\nimport Modal from \"../../components/modal\";\n// import Modal from \"../../components/Modal\";\n\ntype Modal = {\n title?: React.ReactNode;\n subtitle?: React.ReactNode;\n content?: React.ReactNode;\n hasCloseButton?: boolean;\n hasOverlay?: boolean;\n hasWindowClose?: boolean;\n footer?: React.ReactNode;\n isCustom?: boolean;\n customRef?: any;\n};\n\ntype Action = {\n type: \"open_modal\" | \"close_modal\";\n modal?: Modal;\n};\n\ninterface State extends Modal {\n isModal: boolean;\n}\n\ntype Context = {\n state: State;\n openModal: (modal?: Modal) => void;\n closeModal: () => void;\n};\n\ntype ModalProviderProps = { children: React.ReactNode };\n\ntype UseModalProps = {};\n\ninterface HTMLEvent extends Event {\n target: HTMLElement;\n}\n\nconst ModalContext = createContext<Context | undefined>(undefined);\n\nfunction modalReducer(state: State, action: Action) {\n switch (action.type) {\n case \"open_modal\": {\n return { ...state, ...action.modal, isModal: true };\n }\n case \"close_modal\": {\n return { ...state, isModal: false };\n }\n default: {\n throw new Error(`Unhandled action type: ${action.type}`);\n }\n }\n}\n\nconst defaultState = {\n subtitle: undefined,\n title: undefined,\n content: undefined,\n hasCloseButton: true,\n hasOverlay: true,\n footer: undefined,\n isCustom: false,\n customRef: undefined,\n hasWindowClose: true\n};\n\nfunction ModalProvider({ children }: ModalProviderProps) {\n const ref = useRef<HTMLDivElement>(null);\n const [state, dispatch] = useReducer(modalReducer, {\n isModal: false,\n ...defaultState,\n });\n\n const openModal = (modal?: Modal) => {\n dispatch({ type: \"open_modal\", modal });\n };\n\n const closeModal = () => {\n dispatch({ type: \"close_modal\" });\n };\n\n useEffect(() => {\n if (state.isModal && state.hasWindowClose) {\n const listener = (e: MouseEvent) => {\n if (\n state.isModal &&\n ref.current &&\n !ref.current.contains(e.target as Node)\n ) {\n closeModal();\n }\n\n if (\n state.isModal &&\n state.customRef &&\n state.customRef.current &&\n !state.customRef.current.contains(e.target as Node)\n ) {\n closeModal();\n }\n };\n\n document.addEventListener(\"mousedown\", listener);\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n };\n }\n }, [closeModal]);\n\n return (\n <ModalContext.Provider\n value={{\n state,\n openModal,\n closeModal,\n }}\n >\n {children}\n {state.isModal && !state.isCustom && (\n <Modal\n modalref={ref}\n title={state.title}\n footer={state.footer}\n handleClose={closeModal}\n subtitle={state.subtitle}\n hasCloseButton={state.hasCloseButton}\n hasOverlay={state.hasOverlay}\n >\n {state.content}\n </Modal>\n )}\n </ModalContext.Provider>\n );\n}\n\nfunction useModal({}: UseModalProps = {}) {\n const context = useContext(ModalContext);\n\n if (context === undefined) {\n throw new Error(\"useModal must be used within a ModalProvider\");\n }\n\n return context;\n}\n\nexport { ModalContext, ModalProvider, useModal };\n"],"names":["ALLOWED_CHILD_COMPONENT","_jsx","_jsxs","img","gif","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/components/menu/menu-wrapper.tsx","../../src/components/menu/menu-root.tsx","../../src/components/button/index.tsx","../../src/components/menu/menu-button.tsx","../../src/components/menu/menu-content.tsx","../../src/components/menu/menu-utils.ts","../../src/components/menu/menu-item.tsx","../../src/components/menu/index.tsx","../../src/components/form/index.tsx","../../src/components/input/index.tsx","../../src/components/form/form-input.tsx","../../src/components/text-area/index.tsx","../../src/components/form/form-text-area.tsx","../../src/components/select/index.tsx","../../src/components/form/form-select.tsx","../../src/stories/assets/loading.gif","../../src/components/loading/index.tsx","../../src/components/modal/index.tsx","../../src/context/theme/index.tsx","../../src/components/map-control/index.tsx","../../src/components/map/map-toc.tsx","../../src/context/map/index.tsx","../../src/components/map/map-popup.tsx","../../src/components/map/map-deckgl.tsx","../../src/components/map/map-mapbox.tsx","../../src/components/map/index.tsx","../../src/context/loading/index.tsx","../../src/context/modal/index.tsx"],"sourcesContent":["/** React */\nimport React, {\n Children,\n ComponentType,\n ReactNode,\n cloneElement,\n isValidElement,\n useMemo,\n} from \"react\";\n\n/** CSS */\nimport \"./index.css\";\n\n/** Props */\ntype MenuWrapperProps = {\n children: ReactNode;\n};\n\nconst ALLOWED_CHILD_COMPONENT = [\"MenuItem\"];\n\nexport function MenuWrapper({ children }: MenuWrapperProps) {\n const menuItemComponents = useMemo(() => {\n return Children.map(children, (child) => {\n if (!isValidElement(child)) return;\n\n const childComponent = child.type as ComponentType;\n\n if (!ALLOWED_CHILD_COMPONENT.includes(childComponent.name)) return;\n\n return cloneElement(child);\n });\n }, [children]);\n\n return <div className=\"menu\">{menuItemComponents}</div>;\n}\n","/** React */\nimport React, { ReactNode, createContext, useContext, useState } from \"react\";\n\n/** Wrapper */\nimport { MenuWrapper } from \"./menu-wrapper\";\n\n/** Types */\ntype Item = {\n id: string;\n isExpanded: boolean;\n};\n\n/** Context type */\ntype MenuContextType = {\n items: Record<string, Item>;\n addItem: (item: Item) => void;\n toggle: (id: string) => void;\n};\n\n/** Context */\nconst MenuContext = createContext({} as MenuContextType);\n\n/** Props */\ntype MenuRootProps = {\n children: ReactNode;\n isOpenByDefault?: true;\n};\n\nexport function MenuRoot({ children, isOpenByDefault }: MenuRootProps) {\n const [items, setItems] = useState<Record<string, Item>>({});\n\n const addItem = (item: Item) => {\n setItems((state) => ({\n ...state,\n [item.id]: {\n ...item,\n isExpanded: isOpenByDefault || false,\n },\n }));\n };\n\n const toggle = (id: string) => {\n setItems((state) => ({\n ...state,\n [id]: {\n ...items[id],\n isExpanded: !items[id].isExpanded || false,\n },\n }));\n };\n\n return (\n <MenuContext.Provider value={{ items, addItem, toggle }}>\n <MenuWrapper>{children}</MenuWrapper>\n </MenuContext.Provider>\n );\n}\n\nexport function useMenu() {\n if (MenuContext === undefined) {\n throw new Error(\"useMenu must be used within a MenuContext Provider\");\n }\n\n return MenuContext;\n}\n","import clsx from \"clsx\";\nimport { ButtonAsButton, ButtonAsLink } from \"./index.types\";\nimport \"./index.css\";\nimport { ReactElement, ReactNode } from \"react\";\n\nexport const Anchor = ({\n Custom,\n children,\n ...rest\n}: {\n Custom?: React.ComponentClass<any>;\n children?: ReactNode[];\n}) => {\n return Custom ? (\n <Custom {...rest}>{children}</Custom>\n ) : (\n <a {...rest}>{children}</a>\n );\n};\n\nexport function Button({\n children = \"Click me\",\n className = \"\",\n icon = undefined,\n isNewWindow = false,\n mode = \"primary\",\n size = \"medium\",\n as = \"button\",\n CustomAnchor,\n ...rest\n}: ButtonAsButton | ButtonAsLink): JSX.Element {\n return as === \"link\" ? (\n <Anchor\n Custom={CustomAnchor}\n {...(isNewWindow && { target: \"_blank\" })}\n className={clsx(\n `button ${className}`,\n mode === \"secondary\" ? `button__${mode}` : \"button__link\",\n `button__${size}`\n )}\n {...(rest as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {children}\n {icon}\n </Anchor>\n ) : (\n <button\n className={clsx(\n \"button\",\n `button__${mode}`,\n `button__${size}`,\n className\n )}\n {...(rest as React.ButtonHTMLAttributes<HTMLButtonElement>)}\n >\n {children}\n {icon}\n </button>\n );\n}\n\nexport default Button;\n","/** React */\nimport React, {\n HtmlHTMLAttributes,\n ReactNode,\n useContext,\n useMemo,\n useState,\n} from \"react\";\n\n/** CSS */\nimport \"./index.css\";\nimport clsx from \"clsx\";\n\n/** Icons */\nimport { TfiAngleUp, TfiAngleDown } from \"react-icons/tfi\";\n\n/** Hook */\nimport { useMenu } from \"./menu-root\";\nimport { Anchor } from \"../button\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n anchor?: React.AnchorHTMLAttributes<HTMLAnchorElement> & { Custom?: React.ComponentClass<any>;}\n children: ReactNode;\n buttonClassName?: string;\n nested?: boolean;\n subnested?: boolean;\n dropdown?: boolean;\n isLink?: boolean;\n isSelected?: boolean;\n handleCallbackClick?: () => void;\n \"data-menu-id\"?: string;\n};\n\nexport function MenuButton({\n anchor,\n children,\n buttonClassName,\n nested,\n subnested,\n dropdown,\n isLink,\n isSelected,\n handleCallbackClick,\n ...props\n}: Props) {\n const { toggle } = useContext(useMenu());\n const [isToggled, setIsToggled] = useState(false);\n const menuId = useMemo(() => props[\"data-menu-id\"], [props]);\n\n const handleClick = () => {\n toggle(menuId as string);\n setIsToggled(!isToggled);\n\n handleCallbackClick && handleCallbackClick();\n };\n\n return anchor ? (\n <Anchor\n className={clsx(\n \"menu-button\",\n {\n \"menu-button-dropdown\": dropdown,\n \"menu-button-nested\": nested,\n \"menu-button-subnested\": subnested,\n \"menu-button-is-link\": isLink,\n \"menu-button-is-selected\": isSelected,\n },\n buttonClassName\n )}\n {...(anchor as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {children}\n {dropdown ? (\n isToggled ? (\n <TfiAngleDown size=\"1rem\" />\n ) : (\n <TfiAngleUp size=\"1rem\" />\n )\n ) : null}\n </Anchor>\n ) : (\n <div\n role=\"button\"\n className={clsx(\n \"menu-button\",\n {\n \"menu-button-dropdown\": dropdown,\n \"menu-button-nested\": nested,\n \"menu-button-subnested\": subnested,\n \"menu-button-is-link\": isLink,\n \"menu-button-is-selected\": isSelected,\n },\n buttonClassName\n )}\n onClick={handleClick}\n {...props}\n >\n {children}\n {dropdown ? (\n isToggled ? (\n <TfiAngleDown size=\"1rem\" />\n ) : (\n <TfiAngleUp size=\"1rem\" />\n )\n ) : null}\n </div>\n );\n}\n","/** React */\nimport React, { HTMLAttributes, useContext, useMemo } from \"react\";\n\n/** Hook */\nimport { useMenu } from \"./menu-root\";\n\n/** Props */\ntype Props = HTMLAttributes<HTMLDivElement> & {\n \"data-menu-id\"?: string | undefined;\n};\n\nexport function MenuContent({ children, ...props }: Props) {\n const { items } = useContext(useMenu());\n const menuId = useMemo(() => props[\"data-menu-id\"], [props]);\n const isExpanded = useMemo(() => {\n return items[menuId as string]?.isExpanded;\n }, [items, menuId]);\n\n if (!isExpanded) return;\n\n return <div {...props}>{children}</div>;\n}\n","export const generateId = () => {\n return `id-${Math.random().toString(36).slice(2, 11)}`;\n};\n","/** React */\nimport React, {\n Children,\n ComponentType,\n HtmlHTMLAttributes,\n ReactElement,\n ReactNode,\n cloneElement,\n isValidElement,\n useContext,\n useEffect,\n useRef,\n} from \"react\";\n\n/** CSS */\nimport \"./index.css\";\n\n/** Hooks */\nimport { useMenu } from \"./menu-root\";\n\n/** Utils */\nimport { generateId } from \"./menu-utils\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n children: ReactNode;\n};\n\nconst ALLOWED_CHILD_COMPONENT = [\"MenuButton\", \"MenuContent\"];\n\nexport function MenuItem({ children, ...props }: Props) {\n const { addItem } = useContext(useMenu());\n const menuId = useRef<string>(\"\");\n\n useEffect(() => {\n menuId.current = generateId();\n\n addItem({\n id: menuId.current,\n isExpanded: true,\n });\n }, []);\n\n return (\n <div data-menu-id={menuId.current} {...props}>\n {Children.map(children, (child) => {\n if (!isValidElement(child)) return;\n\n const childComponent = child.type as ComponentType;\n\n if (!ALLOWED_CHILD_COMPONENT.includes(childComponent.name)) return;\n\n return cloneElement(child as ReactElement, {\n \"data-menu-id\": menuId.current,\n });\n })}\n </div>\n );\n}\n","import { MenuButton } from \"./menu-button\";\nimport { MenuContent } from \"./menu-content\";\nimport { MenuItem } from \"./menu-item\";\nimport { MenuRoot } from \"./menu-root\";\n\nexport const Menu = {\n Root: MenuRoot,\n Item: MenuItem,\n Button: MenuButton,\n Content: MenuContent,\n};\n\nexport default Menu;\n","import { Form as FormProps } from \"./index.types\";\nimport \"./index.css\";\nimport Button from \"../button\";\nimport { BsCheckCircleFill, BsXCircleFill } from \"react-icons/bs\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useState } from \"react\";\n\n// how do I solve reseting the form outside the form\nexport function Form({\n children,\n onSubmit,\n submitButton = {\n label: \"Submit\",\n },\n initialState,\n backgroundColor,\n ...rest\n}: FormProps) {\n const methods = useForm(initialState);\n\n const {\n formState: { isValid },\n } = methods;\n\n const [result, setResult] = useState<{\n message?: string;\n isSuccess: boolean;\n }>({\n message: \"\",\n isSuccess: false,\n });\n\n return (\n <FormProvider {...methods}>\n <form\n className=\"form\"\n style={{ backgroundColor: backgroundColor }}\n onSubmit={methods.handleSubmit((data) => {\n return onSubmit(data, methods, setResult);\n })}\n {...rest}\n >\n {children}\n {result.message && (\n <div className=\"form__message\">\n {result.isSuccess ? (\n <BsCheckCircleFill\n color=\"var(--color-success)\"\n size={48}\n ></BsCheckCircleFill>\n ) : (\n <BsXCircleFill\n color={\"var(--color-danger)\"}\n size={48}\n ></BsXCircleFill>\n )}\n {result.message}\n </div>\n )}\n <Button type=\"submit\" disabled={!isValid}>\n {submitButton.label}\n </Button>\n </form>\n </FormProvider>\n );\n}\n\nexport default Form;\n","import { Input as InputProps } from \"./index.types\";\nimport \"./index.css\";\nimport clsx from \"clsx\";\n\nexport function Input({\n inputClassName = \"\",\n classNameGroup = \"\",\n error = {\n is: false,\n message: \"\",\n },\n inputRef,\n styleGroup,\n placeholder = \"Insert value\",\n label,\n labelClassName,\n icon,\n isRequired,\n backgroundColor,\n ...rest\n}: InputProps) {\n return (\n <div\n className={clsx(\"input-group\", classNameGroup)}\n style={{ backgroundColor: backgroundColor, ...styleGroup }}\n >\n <div className=\"input__header\">\n {label && <label className={labelClassName}>{label}</label>}\n {error && error.is && (\n <span className=\"input__header--error\">\n {error.message as string}\n </span>\n )}\n </div>\n <div className=\"input-subgroup\">\n {icon?.element && icon.position === \"left\" && (\n <div\n className={clsx(\"input__icon\", \"input__icon--left\", icon.className)}\n >\n {icon.element}\n </div>\n )}\n <input\n ref={inputRef}\n required={isRequired}\n className={clsx(\n \"input\",\n error.is ? \"input--error\" : \"\",\n icon?.position === \"left\" && \"input--icon\",\n inputClassName\n )}\n placeholder={placeholder}\n {...rest}\n />\n {icon?.element && icon.position !== \"left\" && (\n <div\n className={clsx(\n \"input__icon\",\n \"input__icon--right\",\n // `input__icon--${icon.position || \"right\"}`,\n icon.className\n )}\n >\n {icon.element}\n </div>\n )}\n </div>\n </div>\n );\n}\n\nexport default Input;\n","import \"./index.css\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport Input from \"../input\";\nimport { FormInputs } from \"./index.types\";\n\nexport function FormInput({ name, isRequired, error, defaultValue, ...rest }: FormInputs) {\n const { control } = useFormContext();\n return (\n <Controller\n name={name}\n control={control}\n rules={{\n ...(isRequired\n ? {\n required: (error?.message as any) || \"Field is required\",\n }\n : {}),\n }}\n render={({ field, fieldState: { error } }) => {\n return (\n <Input\n isRequired\n error={{\n is: !!error,\n message: error?.message,\n }}\n defaultValue={defaultValue}\n {...field}\n {...rest}\n />\n );\n }}\n />\n );\n}\n\nexport default FormInput;\n","import React, { MutableRefObject, useRef, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { TbArrowsDiagonal2 } from \"react-icons/tb\";\nimport { TextArea as TextAreaProps } from \"./index.types\";\nimport \"./index.css\";\nimport Button from \"../button\";\n\nexport function TextArea({\n buttonDisabled = false,\n className = \"\",\n disabled = true,\n error = {\n is: false,\n message: \"\",\n },\n hasToggleButton = true,\n hideHeight = \"5rem\",\n label,\n labelClassName,\n isRequired,\n placeholder = \"Insert value\",\n showHeight = \"10rem\",\n backgroundColor,\n style = {},\n textareaClassName = \"\",\n ...rest\n}: TextAreaProps): JSX.Element {\n const ref = useRef() as MutableRefObject<HTMLTextAreaElement>;\n const [isShow, setIsShow] = useState<boolean>(false);\n\n const handleClickToggle = () => {\n if (ref && ref.current) {\n if (isShow) {\n ref.current.style.height = hideHeight;\n } else {\n ref.current.style.height = showHeight; //(48 + ref.current.scrollHeight) + 'px';\n }\n setIsShow((prev) => !prev);\n }\n };\n\n return (\n <div\n className={clsx(\"textarea\", className)}\n style={{ backgroundColor: backgroundColor, ...style }}\n >\n <div className=\"textarea__header\">\n {label && <label className={labelClassName}>{label}</label>}\n {error && error.is && (\n <span className=\"textarea__header--error\">\n {error.message as any}\n </span>\n )}\n </div>\n <textarea\n ref={ref}\n className={clsx(\n \"textarea__input\",\n error.is && \"textarea__input--error\",\n textareaClassName\n )}\n style={\n {\n height: hasToggleButton ? hideHeight : showHeight,\n } as React.CSSProperties\n }\n placeholder={placeholder}\n disabled={disabled}\n required={isRequired}\n {...rest}\n />\n {hasToggleButton && (\n <Button\n type=\"button\"\n className={clsx(\n \"textarea__button\",\n isShow && \"textarea__button--show\",\n error.is && \"textarea__button--error\"\n )}\n onClick={handleClickToggle}\n disabled={buttonDisabled}\n >\n <TbArrowsDiagonal2 size=\"1.5rem\" />\n </Button>\n )}\n </div>\n );\n}\n\nexport default TextArea;\n","import \"./index.css\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport TextArea from \"../text-area\";\nimport { FormInputs } from \"./index.types\";\n\nexport function FormTextArea({ name, isRequired, error, ...rest }: FormInputs) {\n const { control } = useFormContext();\n return (\n <Controller\n name={name}\n control={control}\n rules={{\n ...(isRequired\n ? {\n required: (error?.message as any) || \"Field is required\",\n }\n : {}),\n }}\n render={({ field, fieldState: { error } }) => {\n return (\n <TextArea\n isRequired\n error={{\n is: !!error,\n message: error?.message,\n }}\n {...field}\n {...rest}\n />\n );\n }}\n />\n );\n}\n\nexport default FormTextArea;\n","import { useState } from \"react\";\nimport clsx from \"clsx\";\nimport { Select as SelectProps } from \"./index.types\";\nimport \"./index.css\";\nimport Button from \"../button\";\nimport { TfiAngleDown } from \"react-icons/tfi\";\nimport Input from \"../input\";\n\nexport function Select({\n inputClassName = \"\",\n classNameGroup = \"\",\n options,\n styleGroup,\n defaultValue,\n setFormSelected,\n clearError,\n resetForm,\n onFormBlur,\n handleSelect,\n label,\n labelClassName,\n error,\n backgroundColor,\n isRequired,\n ...rest\n}: SelectProps) {\n const [isOpen, setIsOpen] = useState(false);\n const [value, setValue] = useState(defaultValue || (options && options[0]));\n const [filteredOptions, setFilteredOptions] = useState(options);\n const { name } = rest;\n\n const handleOpen = () => {\n setIsOpen(true);\n };\n\n const handleClose = () => {\n setIsOpen(false);\n };\n\n const handleInputClose = () => {\n if (onFormBlur) {\n onFormBlur();\n }\n setIsOpen(false);\n };\n\n const handleToggle = () => {\n setIsOpen((prev) => !prev);\n };\n\n const handleValueChange = (e: { target: { value: string } }) => {\n const { value } = e.target;\n setValue(value);\n };\n\n const handleSelectChange = (e: { target: { name: string } }) => {\n const { name: value } = e.target;\n\n if (setFormSelected) {\n setFormSelected(name, value);\n if (clearError) {\n clearError(name);\n }\n\n if (resetForm) {\n resetForm();\n }\n } else {\n setValue(value);\n }\n\n if (handleSelect) {\n handleSelect(value);\n }\n\n handleClose();\n };\n\n return (\n <div\n className={clsx(\"select-group\", classNameGroup)}\n style={{ backgroundColor: backgroundColor, ...styleGroup }}\n >\n <Input\n inputClassName={clsx(\n \"select\",\n {\n \"select--focus\": isOpen,\n },\n inputClassName\n )}\n value={value}\n error={error}\n required={isRequired}\n placeholder=\"Select a value\"\n icon={{\n className: \"select__arrow\",\n element: (\n <Button\n type=\"button\"\n size=\"large\"\n mode=\"icon\"\n className={clsx(\"select__arrow-button\", {\n \"select__arrow-button--open\": isOpen\n })}\n onClick={handleToggle}\n onBlur={handleClose}\n >\n <TfiAngleDown size={24} />\n </Button>\n ),\n }}\n onFocus={handleOpen}\n onBlur={handleInputClose}\n onChange={handleValueChange}\n autoComplete=\"off\"\n label={label}\n labelClassName={labelClassName}\n {...rest}\n />\n {isOpen && (\n <div className=\"select__box\">\n {(filteredOptions as string[]).map(\n (option: string, index: number) => (\n <Button\n key={`index-${index}`}\n type=\"button\"\n mode=\"secondary\"\n className=\"select__option\"\n name={option}\n onMouseDown={handleSelectChange as any}\n >\n {option}\n </Button>\n )\n )}\n </div>\n )}\n </div>\n );\n}\n\nexport default Select;\n","import \"./index.css\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport Select from \"../select\";\nimport { FormSelect as FormSelectProps } from \"./index.types\";\n\nexport function FormSelect({\n name,\n isRequired,\n error,\n fieldsToReset,\n label,\n ...rest\n}: FormSelectProps) {\n const { control, setValue, clearErrors, unregister, resetField } =\n useFormContext();\n return (\n <Controller\n name={name}\n control={control}\n rules={{\n ...(isRequired\n ? {\n required: (error?.message as any) || \"Field is required\",\n }\n : {}),\n }}\n render={({ field: { onBlur, ...restField }, fieldState: { error } }) => {\n return (\n <Select\n isRequired\n label={label}\n error={{\n is: !!error,\n message: error?.message || \"\",\n }}\n setFormSelected={setValue}\n resetForm={() =>\n fieldsToReset &&\n fieldsToReset.map((field) => {\n setValue(field, undefined);\n unregister(field);\n })\n }\n clearError={clearErrors}\n onFormBlur={onBlur}\n {...restField}\n {...rest}\n />\n );\n }}\n />\n );\n}\n\nexport default FormSelect;\n","var img = \"data:image/gif;base64,R0lGODlhUABLAPcAAAAAAABYjwBYkAZclAlglhBmnRdrohpxpR50qSB1qiF2rCd7sFKg1Fak11ur3G667HO/8HXB8nnE9nvI9n3J+IDL+4PP/4XP/4PQ/4XQ/wBXjwBZjwRckghglQphmAxjmQ1kmg1lnBJpnxhtoip/sjGEuDSHu1+u3mSy4mWz5WW05Gu56W+77XLA8HfF9HnG9XzI94DL+oDN+wBXkARbkgVdkwdelAZglQlglwxkmRduohltoxtxph90qiB3qiV4rih8sS+EtkiYylKh1VWl13bD8nfE83vI933K+YHN+oHM/AFZkQVckwVdlAhelQpimA9lmxBlnD6Qw1Wk1l2s3WGv32Sy5Gi25mq46Wy562+87HrH+H7K+oHM+4LN/QNckhdsohpwpR90qSZ5ryh8sDGDuEGUxkqazVCi1GOy42i45m+962+97XK97nfD83jF83rG9n3H93vJ9n7K+QdelgtimBFmnBdtoxpxpiN2qyV5rSp9sy+DuDGFtzSHujeKvTmMvz2Pw0OUx0mbzk2e0F+t3oHN+4PP/YTP/gFYkAZdkwlflwxjmg1kmxRqoB9zqSZ6rjmMvjuOwUOVyEeZy02c0FKi1FSm1len2Vuq3Fys3mGv4Waz5Gq36W6763O/8XLB8HbE83jE9ILO/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBFAAAACH+IENyZWF0ZWQgd2l0aCBlemdpZi5jb20gR0lGIG1ha2VyACwAAAAAUABLAAAF/yAgjmRpnkGqruzpvnAso2zdzniuk3av7sAgzdcTCI9BIhHJxCmVzejrCZVaRVSl8SrNVrlM7xMcFn/JOzMVDVQ/K5m4fE4H0u/zC8HtU+D/cTqAfxR8PRSDeIKJdw6GLAiMijOSeAuPKhKVd5SbeXuPB56cMKN0E5iapnIxq3MNhgaucy8Xs3IJfBG3rCe8cgNqBb9xFya2xBJqEMSBJc1xDGLD0Bkk1XEIXg/Y1iLd4JvP4eSAJuXotOfNyOmT6+547bOlt/PxcsYv+H/3njL8qnUyZYGYP0n6AJo6GC9HQDoMBy16mE/cjooUByFL6HBTRHcTM5rqKHLkwJImW4Bl/MhI4SqW6DjCcwWzXD2KNVv6QklsJ09eM3/eGif014iiza5VywkuaECmOpWKhGrOJ86eLn5RFXgTaSWVXiWdDFvV5dVRIR9STUu2F1tAGLqxuYhtLt2kdu8azauXHt++rv7aGSoYyFa3hd+KTTx4lEzGOFJCBpxoshCN6qSEAAAh+QQBFAAAACwAAAAAUABLAAAG/0CAcEgsGo+ZZOaibCqP0Kh0SkU6r86qdsstYr/PrnhsBJsz5PT4DFa7tWzzex6Ny+l4of2cx+/vfW5/fIFqg4SFYodnF4mKi2YcG5Mak5aXk49xTJBfKJigoFyHnJ1NHaGpmVumrSmqqgJwi6WmHrCwVa2mK7gblalTu6YgmMCXx6JSw5AsyJTJlhqV05ZRtZDYewWh0b5QzNpsLQLdvspE4rSHIueU0KFlzIcR7rDJRPOLI9Leqv6rAOg71MvcL2/V4uUb+MeEwXfu5DG0EwIXQHQLh6kzI8MeRIwZJ7JR4TFYHVMb45ToV3LDMpF2PjzMJQwmGxnlWrqkAsnCsLgTOnfyJMWMREtWNhmhMhZrVFIzFDxqSinSxYsXMGBQiME1howYFsJa0LTpKSBdZuchTTtsFltmaN8qoYro5Dq5TRrZzYa3ycu+dOOA6zvQCmG1Xg4XDqkYrp7Gix/PCyxSImDEjPFSrpv57eaziVEergl5EenSf+KituP28iCnhD+jWbu6TZc9GBg6uh15d+tdvsm2Ci4cEvHipo/z7qR8jGy/zZELji6dEfU1r69j36OdjJlaeYIAACH5BAEUAAAALAAAAABQAEsAAAf/gACCg4SFhocZiRkXio2Kh5CRkpOUiI6XjpWam5yFmJ+PnaKjhqCmGaSpo6egqq6arKavs5GxsrS4granubi7t72uv7zBqsPExaLHpxfJysumGLvPsYzQ15mbx9bY15zd2Ny/sMvi4MeV5+rDk+vutu3vu+bLkfTb8uOW4PfM6s2F+uHLB88TwYOtBiFc+Ekhw4eJDEJcWGriwX38LGarqFGRwGm1wnX0KGlko4/IQprElm6ZknMoPwGkVG6ltpUxL31buQjkzp4afeTIgQPHDRtIbdSoQUOAU2rV3BkJQLWq1atUf47UgbWrVQE3R77wSjZrS5M8ypY92/GIWrU0n6HlNNXjLVyVcq8hsXsX0soffPtK7JgksFqwHDsCMSxYl0kljN8O1hgksmTHJt1aXutw3dxERDZ3RUyIpw/RVzUkHmkDdVW/K8e6noE3L7QhruOZrCtat8kam9l2LBJcuEYhkbV23MFYuUYlNAJDPSXtnbNO8q5jX6d9Osvu27uB915vfHho5kd91pmefKz2q7bBj69vvvuE9u8DjYgrEAAh+QQBFAAAACwAAAAAUABLAAAH/4AAgoOEhYaHGYkZF4qNioeQkZKTlIiOl46VmpuchZifj52io4agphmkqaOnoKqumqymr7ORsbK0uIK2p7m4u7e9rr+8warDxMWix6cXycrLphi7z7GM0NeZm8fW2Nec3djcv7DL4uDHlefqw5Pr7rbt77vmy5H02/LjluD3zOrNhfrhywfPE8GDrQYhXPhJIcOHiQxCXFhq4sF9/Cxmq6hRkcBptcJ19ChpZKOPyEKaxJZumZdzKD8BpFRupbaVMS99W7kI5M6ePDFZm3nTVs6LRYP6pKlUH9OmTkuaPNowXk2cUq9RzZe149aEHKFCwygWncSyYwmh7ebQ3ZQAcJrjyp37RJ5ad0zm6p1bwl3YblT2Co5rZd1fbE0GK+ZyDtK5KooVf2jsuJuTyIr7sux6zArmyFc2q1z25LPiJV3SWh2GxXTkKKpX74LiOrIUs+R2aamNOQu7pLFo8z79suBPVluGY3bWSXlk5s2d74Uuaon0udRFXY+bXfv2AN29Sw8/SvoS8uWVox+lQf366rzfk4ovP/3nXIEAACH5BAEUAAAALAAAAABQAEsAAAf/gACCg4SFhocZiRkXio2Kh5CRkpOUiI6XjpWam5yFmJ+PnaKjhqCmGaSpo6egqq6arKavs5GxsrS4granubi7t72uv7zBqsPExaLHpxfJysumGLvPsYzQ15mbx9bY15zd2Ny/sMvi4MeV5+rDk+vutu3vu+bLkfTb8uOW4PfM6s2F+uHLB88TwYOtBiFc+Ekhw4eJDEJcWGriwX38LGarqFGRwGm1wnX0KGlko4/IQprElm6ZhXMoPwGkVG6ltpUxL31buQgkpzhw4Lhhw2aN0TUr0ihNo6ajtZmbAkidSrVqgCw8OVndSlXAS5uauIoNICJrpbFjzZidhHZsm245pRNKaitWQNx8UA3RHQtm7aG9Y89AuwusEGC0bvwOOjz2C+F3ehmPDaNYMlo0ay2jLeNXM1cBFcAS8myVzMBzhgSQphr6NMtDqlePGYwa0uoAc0Tb9ixGcWrPcnRH0kxZ+HDJb/6hi3rYgLvHWg8nNikKrYapBOQ566R9+0513qmBCy/eG3nu48+jN6++0+NG7VfVi1/eVl765PThr59y/3dM4uQSCAAh+QQBFAAAACwAAAAAUABLAAAI/wABCBxIsKDBgxkSZkCksKHCgxAjSpxIEaHDiw4ratzIsSDGjw87ihxpEKTJDCRTjjwJUqVLjSxNvpwZMaZMmjgF2jyZE+fOmz1d/uQZVOVQokVFHj2JKKnSpSYx7BQZoKrVq1gFHIHKNeNGrGDB0mHYtSvHsGit7imrkOxQjWnjCijE1izFuHLj1OU6ES/eOnuh9vUbtw9Xt3whEvZrJfBSxYvxcjmKuGvTgpH9fnB81GBmv344vx2o4bPfK6J/DjTtl1Bqm5hZoxVQ+fVHz7LBDrLN8mBusLV5e8X9O4AgqMFHQ/59SDjIy8tlByqbPObd3M2d36YogPWfutVNQsYf/Dm79otfP/MJHH473MyGOLdvKJJAnTp27ujfjydPHj16AHJeQ2SNB9NO8/HG0YB7bcRgXQc+yFZFErZll0SHVdgWhpZpmBCHFSbYm0UeNlhSiSYShKJjHq0Y2EAusgijYyKmdqKGNY6oYok5tkRiiBBCxFaPMtYUY2cgHgkbRUpORaGHRC4IpXJPNumegzZJxZlTHYnGZZcvfglmkGJKWVaZT52J5piCrSkSkSG5yaZqcqb5k4F1RuhknnZax+dKz9GHU0AAIfkEARQAAAAsAAAAAFAASwAACP8AAQgcSLCgwYMZEma4oLChwoMQI0qcSBGhw4sOK2rcyLEgxo8PO4ocaRCkyQwkU448CVKlS40sTb6cGTGmTJo4Bdo8mRPnzps9Xf7kGVTlUKJFRR49eSGp0qUmMex8GpMh1KsZNx61ivUqx65Yuf6EuVQs2KMVz6odOnGtW5tt3+40uzQi3a1yx1oEe5ep2qYF++LNC9cj4cMtByJe/FHx20gBIkueTDnMW8N/KWvWbMltSbWSNouWHErt3q4XEo0eTUOw3s9dzaxe/QisRNSqZ4++FPY2Vkq6Z4vyGhdq7uCiFREvPrQS8tmQypIdevy56Exop+/EZH12oiNstf7iVNR9Nh3XWb8mRN+pvO5PfhdSjbnD/ehG4bXHHEXD/mZP2aU1FCj+UcZIXQIeNUmBknUCVYJHOcLgIlhRdNUo1ZXHSW81YcWCf3TY1iFWobm3yVkQqSVCecqZBltXGHanyVovgrWCdS3SSNBbJjyHiVyOMSZkQju6hR5iNQ6p0JFTYaakQ0yylOKTUKI4ZVhUNsRcll1tyeWDFn5ZIYRZRqmleF+aSSSaYjapXkxSXebUmzrOyaaIdtLZZZ4dWcmnnmD+CWh+gnKkZnqFDhpToittxWijrz3aZ6SSKrremTQFBAA7\";\n export default img;","import { Loading as LoadingProps } from \"./index.types\";\nimport gif from \"../../stories/assets/loading.gif\";\nimport \"./index.css\";\n\nexport function Loading({ img, children }: LoadingProps) {\n return (\n <div className=\"loading\">\n <img src={img ?? gif} />\n <div className=\"loading-message\">{children}</div>\n </div>\n );\n}\n\nexport default Loading;\n","import { IoClose } from \"react-icons/io5\";\nimport { Modal as ModalProps } from \"./index.types\";\nimport \"./index.css\";\nimport Button from \"../button\";\nimport clsx from \"clsx\";\n\nexport function Modal({\n className,\n modalref,\n children,\n title,\n subtitle,\n footer,\n hasOverlay = true,\n hasCloseButton = true,\n handleClose,\n ...rest\n}: ModalProps) {\n return (\n <>\n {hasOverlay && <div className=\"modal-overlay\" />}\n <div ref={modalref} className={clsx(\"modal\", className)} {...rest}>\n {hasCloseButton && (\n <Button\n mode=\"secondary\"\n className=\"modal__close\"\n size=\"small\"\n onClick={handleClose}\n >\n <IoClose />\n </Button>\n )}\n <div className=\"modal__content\">\n {title && (\n <div className=\"modal__header\">\n <h3>{title}</h3>\n <h6>{subtitle}</h6>\n </div>\n )}\n <div className=\"modal__children\">{children}</div>\n {footer && <div className=\"modal__footer\">{footer}</div>}\n </div>\n </div>\n </>\n );\n}\n\nexport default Modal;\n","import { DataPalette } from \"data-palette\";\nimport React, {\n createContext,\n useContext,\n useEffect,\n useState,\n} from \"react\";\n\ntype DataTheme = \"light\" | \"dark\";\n\ntype State = {\n dataTheme?: DataTheme;\n switchDataTheme: (mode: DataTheme) => void;\n dataPalette?: DataPalette;\n switchDataPalette: (mode: DataPalette) => void;\n};\ntype ThemeProviderProps = {\n children: React.ReactNode;\n dataTheme?: DataTheme;\n dataPalette?: DataPalette;\n};\n\nconst ThemeContext = createContext<State | undefined>(undefined);\n\nfunction ThemeProvider({\n children,\n dataTheme: dataThemeProp,\n dataPalette: dataPaletteProp = \"water\",\n}: ThemeProviderProps) {\n const [dataTheme, setDataTheme] = useState<DataTheme>();\n const [dataPalette, setDataPalette] = useState<DataPalette>();\n\n useEffect(() => {\n if (dataPaletteProp) {\n switchDataPalette(dataPaletteProp);\n }\n }, [dataPaletteProp]);\n\n useEffect(() => {\n if (dataThemeProp) {\n switchDataTheme(dataThemeProp);\n }\n }, [dataThemeProp]);\n\n useEffect(() => {\n if (window.matchMedia) {\n if (localStorage.getItem(\"data-theme\")) {\n document.documentElement.setAttribute(\n \"data-theme\",\n localStorage.getItem(\"data-theme\") as string\n );\n setDataTheme(localStorage.getItem(\"data-theme\") as DataTheme);\n } else if (window.matchMedia(\"(prefers-color-scheme: dark)\").matches) {\n document.documentElement.setAttribute(\"data-theme\", \"dark\");\n setDataTheme(\"dark\");\n }\n }\n }, []);\n\n const switchDataTheme = (mode: DataTheme) => {\n document.documentElement.setAttribute(\"data-theme\", mode);\n setDataTheme(mode);\n localStorage.setItem(\"data-theme\", mode);\n };\n\n const switchDataPalette = (mode: DataPalette) => {\n document.documentElement.setAttribute(\"data-palette\", mode);\n setDataPalette(mode);\n localStorage.setItem(\"palette-theme\", mode);\n };\n\n return (\n <ThemeContext.Provider\n value={{ dataTheme, switchDataTheme, dataPalette, switchDataPalette }}\n >\n {children}\n </ThemeContext.Provider>\n );\n}\n\nfunction useTheme() {\n const context = useContext(ThemeContext);\n\n if (context === undefined) {\n throw new Error(\"useTheme must be used within a ThemeProvider\");\n }\n\n return context;\n}\n\nexport { ThemeContext, ThemeProvider, useTheme };\n","import { MapControl as MapControlProps } from \"./index.types\";\nimport \"./index.css\";\n\nexport function MapControl({\n children,\n position = \"top-right\",\n ...rest\n}: MapControlProps) {\n return (\n <div className={`control control--${position}`} {...rest}>\n {children}\n </div>\n );\n}\n\nexport default MapControl;\n","import \"./index.css\";\nimport Menu from \"../menu\";\nimport { ChildToc, ChildrenToc, Toc } from \"./index.types\";\n\ninterface TocProps {\n items: Toc;\n selected: ChildToc & { id: string };\n setSelected: (layer: ChildToc & { id: string }) => void;\n}\n\ntype Entries<T> = {\n [K in keyof T]: [key: K, value: T[K]];\n}[keyof T][];\n\n\nfunction MapToc({ items, selected, setSelected }: TocProps) {\n return (\n <Menu.Root>\n {Object.entries(items).map(([parentId, parent], index) => (\n <Menu.Item key={`first-level-${index}`}>\n <Menu.Button dropdown>{parent.title}</Menu.Button>\n <Menu.Content>\n {(Object.entries(parent.children) as Entries<ChildrenToc>).map(([childId, child], index) => (\n <Menu.Item>\n <Menu.Button\n isSelected={childId === selected.id}\n nested\n handleCallbackClick={() => setSelected({ id: childId, ...child })}\n >\n {child.label}\n </Menu.Button>\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Item>\n ))}\n </Menu.Root>\n );\n}\n\nexport default MapToc;\n","/** React */\nimport React, {\n Dispatch,\n ReactNode,\n SetStateAction,\n createContext,\n useContext,\n useEffect,\n useState,\n} from \"react\";\nimport { Toc } from \"../../components/map/index.types\";\n\n/** Context type */\ntype MapContextType = {\n state?: {\n currentLayer?: Toc;\n };\n setCurrentLayer: Dispatch<SetStateAction<Toc | undefined>>;\n};\n\n/** Context */\nconst MapContext = createContext<MapContextType | undefined>(undefined);\n\n/** Props */\ntype MapProviderProps = {\n children: ReactNode;\n};\n\ntype UseMapProps = {\n defaultLayer?: Toc;\n};\n\nexport function MapProvider({ children }: MapProviderProps) {\n const [currentLayer, setCurrentLayer] = useState<Toc | undefined>(undefined);\n\n return (\n <MapContext.Provider value={{ state: { currentLayer }, setCurrentLayer }}>\n {children}\n </MapContext.Provider>\n );\n}\n\nexport function useMap({ defaultLayer }: UseMapProps) {\n const context = useContext(MapContext);\n useEffect(() => {\n if (context) {\n context.setCurrentLayer(defaultLayer);\n }\n }, []);\n\n if (context === undefined) {\n throw new Error(\"useMap must be used within a MapProvider\");\n }\n\n return context;\n}\n","import { Popup } from \"react-map-gl\";\nimport \"./index.css\";\nimport { PopupData } from \"./index.types\";\nimport { Dispatch, SetStateAction } from \"react\";\n\ntype MapPopupProps = {\n framework?: \"deck.gl\" | \"mapboxgl\";\n latitude: number;\n longitude: number;\n setPopupData?: Dispatch<SetStateAction<PopupData | undefined>>;\n popup?: PopupData;\n};\n\nconst DefaultPopup = ({ popup }: { popup: PopupData }) => {\n const { isDefault, data, render } = popup.model;\n\n return isDefault || true ? (\n <div className=\"map__popup-content\">\n <div className=\"map__popup-list\">\n {data.fields.map((field) => (\n <h5>{field}:</h5>\n ))}\n </div>\n <div className=\"map__popup-list\">\n {data.values.map((value) => (\n <span>\n {typeof value === \"string\"\n ? new Function(\n \"v\",\n `return (${value})(${JSON.stringify(popup.info)})`\n )()\n : value(popup.info)}\n </span>\n ))}\n </div>\n </div>\n ) : (\n render\n );\n};\n\nconst MapPopup = ({\n popup,\n framework = \"deck.gl\",\n setPopupData,\n longitude,\n latitude,\n}: MapPopupProps) => {\n return framework === \"deck.gl\" ? (\n <div className=\"map__popup\" style={{ left: longitude, top: latitude }}>\n <DefaultPopup popup={popup as PopupData} />\n </div>\n ) : (\n <Popup\n anchor=\"top\"\n longitude={Number(longitude)}\n latitude={Number(latitude)}\n onClose={() => setPopupData && setPopupData(undefined)}\n >\n <DefaultPopup popup={popup as PopupData} />\n </Popup>\n );\n};\n\nexport default MapPopup;\n","import { createContext, useMemo, useState } from \"react\";\nimport DeckGL from \"@deck.gl/react/typed\";\nimport {\n ChildToc,\n Controls,\n MapAsDeckgl,\n PopupData,\n} from \"./index.types\";\n// @ts-ignore\nimport * as Layers from \"@deck.gl/layers\";\nimport { Map } from \"react-map-gl\";\nimport maplibregl from \"maplibre-gl\";\nimport Button from \"../button\";\nimport { useTheme } from \"../../context/theme\";\nimport { FiMoon, FiSun } from \"react-icons/fi\";\nimport MapControl from \"../map-control\";\nimport \"./index.css\";\nimport MapToc from \"./map-toc\";\nimport { useMap } from \"../../context/map\";\nimport MapPopup from \"./map-popup\";\n\nconst INITIAL_VIEW_STATE = {\n longitude: -122.41669,\n latitude: 37.7853,\n zoom: 13,\n pitch: 0,\n bearing: 0,\n};\n\nexport function MapDeckgl({\n attribution,\n basemap,\n basemapToken,\n initialViewState,\n hasSwitchBasemap = true,\n layers,\n mapProps,\n renderControls = {},\n toc,\n}: MapAsDeckgl) {\n // @ts-ignore\n const { onClick, ...restMapProps } = mapProps;\n const theme = useTheme();\n const [lngLat, setLngLat] = useState<number[]>();\n const [popupData, setPopupData] = useState<PopupData | undefined>();\n\n const _layers =\n layers &&\n useMemo(\n () => layers.map(({ type, layer }) => new Layers[type as any](layer)),\n []\n );\n const {\n \"bottom-left\": bottomLeft,\n \"center-left\": centerLeft,\n ..._controls\n } = renderControls as Controls;\n\n const mapContext =\n toc &&\n useMap({\n defaultLayer: {\n id: toc.defaultIds[1],\n ...toc?.parents[toc.defaultIds[0]].children[toc.defaultIds[1]],\n },\n });\n\n const handleToggle = () => {\n theme.switchDataTheme(theme.dataTheme === \"dark\" ? \"light\" : \"dark\");\n };\n\n const handeSelectedLayer = (layer: ChildToc) => {\n mapContext.setCurrentLayer(layer);\n };\n\n const handleClick = (event: any) => {\n if (event.object) {\n if (event.layer?.props?.popup) {\n setPopupData({ model: event.layer?.props.popup, info: event.object });\n }\n\n setLngLat([event.pixel[0], event.pixel[1]]);\n } else {\n setLngLat(undefined);\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n return (\n <div className=\"map\">\n <DeckGL\n initialViewState={initialViewState || INITIAL_VIEW_STATE}\n controller={true}\n layers={_layers}\n onClick={handleClick}\n {...restMapProps}\n >\n <Map\n attributionControl={false}\n mapLib={maplibregl}\n mapStyle={\n basemap || theme.dataTheme === \"dark\"\n ? `https://api.maptiler.com/maps/darkmatter/style.json?key=${\n basemapToken || process.env.STORYBOOK_OPEN_TILES_TOKEN\n }`\n : `https://api.maptiler.com/maps/positron/style.json?key=${\n basemapToken || process.env.STORYBOOK_OPEN_TILES_TOKEN\n }`\n }\n />\n {Object.keys(_controls).map((key) => {\n // @ts-ignore\n return <MapControl position={key}>{_controls[key]}</MapControl>;\n })}\n <MapControl position=\"center-left\">\n {centerLeft}\n {mapContext?.state.currentLayer && (\n <MapToc\n items={toc.parents}\n selected={mapContext.state.currentLayer}\n setSelected={handeSelectedLayer}\n />\n )}\n </MapControl>\n <MapControl position=\"bottom-left\">\n {hasSwitchBasemap ? (\n <>\n {bottomLeft}\n <Button mode=\"icon\" size=\"small\" onClick={handleToggle}>\n {theme.dataTheme === \"dark\" ? (\n <FiSun size=\"1.25rem\" />\n ) : (\n <FiMoon size=\"1.25rem\" color=\"var(--color-black)\" />\n )}\n </Button>\n </>\n ) : (\n bottomLeft\n )}\n </MapControl>\n <div className=\"map__attribution\">\n {attribution || (\n <>\n <Button\n as=\"link\"\n href=\"https://www.maptiler.com/copyright/\"\n target=\"_blank\"\n >\n &copy; MapTiler\n </Button>\n <Button\n as=\"link\"\n href=\"https://www.openstreetmap.org/copyright\"\n target=\"_blank\"\n >\n &copy; OpenStreetMap contributors\n </Button>\n </>\n )}\n </div>\n </DeckGL>\n {popupData && lngLat && (\n <MapPopup\n longitude={lngLat[0]}\n latitude={lngLat[1]}\n // framework=\"deck.gl\"\n popup={popupData}\n ></MapPopup>\n )}\n </div>\n );\n}\n\nexport default MapDeckgl;\n","import { useState } from \"react\";\nimport mapboxgl from \"mapbox-gl\";\nimport { Layer, Map, Popup, Source } from \"react-map-gl\";\nimport { useTheme } from \"../../context/theme\";\nimport MapControl from \"../map-control\";\nimport Button from \"../button\";\nimport { BsFillMoonFill, BsFillSunFill } from \"react-icons/bs\";\nimport { Viewport } from \"maplibre-gl\";\nimport \"mapbox-gl/dist/mapbox-gl.css\";\nimport Modal from \"../modal\";\nimport {\n ChildToc,\n Controls,\n MapAsDeckgl,\n MapAsMapbox,\n Map as MapProps,\n PopupData,\n Position,\n} from \"./index.types\";\nimport MapToc from \"./map-toc\";\nimport { useMap } from \"../../context/map\";\nimport MapPopup from \"./map-popup\";\n\nexport interface MapboxMapProps {\n basemap?: string;\n initialViewState?: Viewport;\n hasSwitchBasemap?: boolean;\n hasSwitchProjection?: boolean;\n mapboxAccessToken: string;\n}\n\nfunction MapMapbox({\n basemap,\n mapProps,\n hasSwitchBasemap,\n hasSwitchProjection,\n renderControls,\n sources,\n toc,\n}: MapAsMapbox) {\n // @ts-ignore\n const { onClick, ...restMapProps } = mapProps;\n const { dataTheme, switchDataTheme } = useTheme();\n const [projection, setProjection] =\n useState<mapboxgl.Projection[\"name\"]>(\"globe\");\n const {\n \"bottom-left\": bottomLeft,\n \"center-left\": centerLeft,\n ..._controls\n } = renderControls as Controls;\n const [popupData, setPopupData] = useState<PopupData | undefined>();\n const [lngLat, setLngLat] = useState<number[]>();\n\n const mapContext =\n toc &&\n useMap({\n defaultLayer: {\n id: toc.defaultIds[1],\n ...toc?.parents[toc.defaultIds[0]].children[toc.defaultIds[1]],\n },\n });\n\n const handeSelectedLayer = (layer: ChildToc & { id: string }) => {\n mapContext.setCurrentLayer(layer);\n };\n\n const handleClick = (event: { features: any; point: { x: any; y: any; }; lngLat: { lng: any; lat: any; }; }) => {\n const {\n features,\n point: { x, y },\n lngLat: { lng, lat },\n } = event;\n const hoveredFeature = features && features[0];\n\n if (hoveredFeature) {\n setPopupData({\n model: hoveredFeature.layer.metadata[\"mapbox:popup\"],\n info: hoveredFeature,\n });\n\n setLngLat([lng, lat]);\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n return mapProps?.mapboxAccessToken ? (\n <>\n <Map\n mapboxAccessToken={mapProps.mapboxAccessToken}\n projection={projection}\n mapStyle={\n basemap ||\n `mapbox://styles/mapbox/${\n dataTheme === \"dark\" ? \"light\" : \"dark\"\n }-v11`\n }\n {...((mapProps.interactiveLayerIds && { onClick: handleClick }) ||\n (onClick && { onClick }))}\n {...restMapProps}\n >\n {sources &&\n sources.map(({ id, layers, ...restSource }) => (\n // @ts-ignore\n <Source id={id} {...restSource}>\n {layers && layers.map((layer) => <Layer {...layer} />)}\n </Source>\n ))}\n {Object.keys(_controls).map((key) => {\n // @ts-ignore\n return <MapControl position={key}>{_controls[key]}</MapControl>;\n })}\n <MapControl position=\"center-left\">\n {centerLeft}\n {mapContext?.state.currentLayer && (\n <MapToc\n items={toc.parents}\n selected={mapContext.state.currentLayer}\n setSelected={handeSelectedLayer}\n />\n )}\n </MapControl>\n <MapControl position=\"bottom-left\">\n {bottomLeft}\n {hasSwitchBasemap && (\n <Button\n className=\"map__button\"\n mode=\"icon\"\n onClick={() =>\n switchDataTheme(dataTheme === \"dark\" ? \"light\" : \"dark\")\n }\n >\n {dataTheme === \"dark\" ? <BsFillMoonFill /> : <BsFillSunFill />}\n </Button>\n )}\n {hasSwitchProjection && (\n <Button\n className=\"map__button\"\n mode=\"icon\"\n onClick={() =>\n setProjection((prev: string) =>\n prev === \"globe\" ? \"mercator\" : \"globe\"\n )\n }\n >\n {projection === \"globe\" ? \"2D\" : \"3D\"}\n </Button>\n )}\n </MapControl>\n {popupData && lngLat && (\n <MapPopup\n longitude={lngLat[0]}\n latitude={lngLat[1]}\n framework=\"mapboxgl\"\n setPopupData={setPopupData}\n popup={popupData}\n />\n )}\n </Map>\n </>\n ) : (\n <Modal hasCloseButton={false}>\n <p className=\"map__mapbox-error\">\n You need to add the mapbox token to the prop mapboxAccessToken.\n </p>\n </Modal>\n );\n}\n\nexport default MapMapbox;\n","import { MapAsDeckgl, MapAsMapbox, Map as MapProps } from \"./index.types\";\n// @ts-ignore\nimport \"./index.css\";\nimport MapDeckgl from \"./map-deckgl\";\nimport MapMapbox from \"./map-mapbox\";\nimport { MapboxProps } from \"react-map-gl/dist/esm/mapbox/mapbox\";\nimport { Deck } from \"@deck.gl/core/src\";\n\nexport function MapComponent({\n attribution,\n basemap,\n basemapToken,\n framework = \"deck.gl\",\n mapProps,\n hasSwitchBasemap = true,\n hasSwitchProjection = true,\n layers,\n renderControls = {},\n sources,\n toc,\n}: MapAsDeckgl | MapAsMapbox) {\n return framework === \"deck.gl\" ? (\n <MapDeckgl\n attribution={attribution}\n basemap={basemap}\n basemapToken={basemapToken}\n hasSwitchBasemap={hasSwitchBasemap}\n layers={layers}\n mapProps={mapProps as Deck}\n renderControls={renderControls}\n toc={toc}\n />\n ) : framework === \"mapboxgl\" ? (\n <MapMapbox\n basemap={basemap}\n hasSwitchBasemap={hasSwitchBasemap}\n hasSwitchProjection={hasSwitchProjection}\n mapProps={mapProps as MapboxProps}\n renderControls={renderControls}\n sources={sources}\n toc={toc}\n />\n ) : (\n <div>The component needs a framework</div>\n );\n}\n\nexport default MapComponent;\n","import React, {\n ReactNode,\n RefObject,\n createContext,\n useContext,\n useEffect,\n useReducer,\n} from \"react\";\nimport Loading from \"../../components/loading\";\n\ntype Action = {\n type: \"set_ref\" | \"start_loading\" | \"stop_loading\" | \"set_message\";\n ref?: RefObject<ReactNode>;\n message?: string;\n};\ntype State = {\n isLoading: boolean;\n message?: string | React.ReactNode;\n ref?: RefObject<ReactNode>;\n};\ntype Context = {\n state: State;\n setRef: (ref: RefObject<ReactNode>) => void;\n setMessage: (message: string) => void;\n startLoading: () => void;\n stopLoading: () => void;\n};\ntype LoadingProviderProps = { children: React.ReactNode };\ntype UseLoadingProps = {\n ref?: RefObject<ReactNode>;\n message?: string;\n};\n\nconst LoadingContext = createContext<Context | undefined>(undefined);\n\nfunction loadingReducer(state: State, action: Action) {\n switch (action.type) {\n case \"set_ref\": {\n return { ...state, ref: action.ref };\n }\n case \"start_loading\": {\n return { ...state, isLoading: true };\n }\n case \"stop_loading\": {\n return { ...state, isLoading: false };\n }\n case \"set_message\": {\n return { ...state, message: action.message };\n }\n default: {\n throw new Error(`Unhandled action type: ${action.type}`);\n }\n }\n}\n\nfunction LoadingProvider({ children }: LoadingProviderProps) {\n const [{ isLoading, message, ref }, dispatch] = useReducer(loadingReducer, {\n isLoading: false,\n message: \"Loading\",\n ref: undefined,\n });\n\n const setRef = (ref: RefObject<ReactNode>) => {\n dispatch({ type: \"set_ref\", ref });\n };\n\n const setMessage = (message: string) => {\n dispatch({ type: \"set_message\", message });\n };\n\n const startLoading = () => {\n dispatch({ type: \"start_loading\" });\n };\n\n const stopLoading = () => {\n dispatch({ type: \"stop_loading\" });\n };\n\n return (\n <LoadingContext.Provider\n value={{\n state: { ref, message, isLoading },\n setMessage,\n setRef,\n startLoading,\n stopLoading,\n }}\n >\n {!ref && <Loading>{message}</Loading>}\n {children}\n </LoadingContext.Provider>\n );\n}\n\nfunction useLoading({ ref, message }: UseLoadingProps = {}) {\n const context = useContext(LoadingContext);\n\n // only happens if there is an initial mode value.\n useEffect(() => {\n ref && context?.setRef(ref);\n message && context?.setMessage(message);\n }, []);\n\n if (context === undefined) {\n throw new Error(\"useLoading must be used within a LoadingProvider\");\n }\n\n return context;\n}\n\nexport { LoadingContext, LoadingProvider, useLoading };\n","import React, {\n ReactNode,\n RefObject,\n createContext,\n useCallback,\n useContext,\n useEffect,\n useReducer,\n useRef,\n} from \"react\";\nimport Modal from \"../../components/modal\";\n// import Modal from \"../../components/Modal\";\n\ntype Modal = {\n title?: React.ReactNode;\n subtitle?: React.ReactNode;\n content?: React.ReactNode;\n hasCloseButton?: boolean;\n hasOverlay?: boolean;\n hasWindowClose?: boolean;\n footer?: React.ReactNode;\n isCustom?: boolean;\n customRef?: any;\n};\n\ntype Action = {\n type: \"open_modal\" | \"close_modal\";\n modal?: Modal;\n};\n\ninterface State extends Modal {\n isModal: boolean;\n}\n\ntype Context = {\n state: State;\n openModal: (modal?: Modal) => void;\n closeModal: () => void;\n};\n\ntype ModalProviderProps = { children: React.ReactNode };\n\ntype UseModalProps = {};\n\ninterface HTMLEvent extends Event {\n target: HTMLElement;\n}\n\nconst ModalContext = createContext<Context | undefined>(undefined);\n\nfunction modalReducer(state: State, action: Action) {\n switch (action.type) {\n case \"open_modal\": {\n return { ...state, ...action.modal, isModal: true };\n }\n case \"close_modal\": {\n return { ...state, isModal: false };\n }\n default: {\n throw new Error(`Unhandled action type: ${action.type}`);\n }\n }\n}\n\nconst defaultState = {\n subtitle: undefined,\n title: undefined,\n content: undefined,\n hasCloseButton: true,\n hasOverlay: true,\n footer: undefined,\n isCustom: false,\n customRef: undefined,\n hasWindowClose: true\n};\n\nfunction ModalProvider({ children }: ModalProviderProps) {\n const ref = useRef<HTMLDivElement>(null);\n const [state, dispatch] = useReducer(modalReducer, {\n isModal: false,\n ...defaultState,\n });\n\n const openModal = (modal?: Modal) => {\n dispatch({ type: \"open_modal\", modal });\n };\n\n const closeModal = () => {\n dispatch({ type: \"close_modal\" });\n };\n\n useEffect(() => {\n if (state.isModal && state.hasWindowClose) {\n const listener = (e: MouseEvent) => {\n if (\n state.isModal &&\n ref.current &&\n !ref.current.contains(e.target as Node)\n ) {\n closeModal();\n }\n\n if (\n state.isModal &&\n state.customRef &&\n state.customRef.current &&\n !state.customRef.current.contains(e.target as Node)\n ) {\n closeModal();\n }\n };\n\n document.addEventListener(\"mousedown\", listener);\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n };\n }\n }, [closeModal]);\n\n return (\n <ModalContext.Provider\n value={{\n state,\n openModal,\n closeModal,\n }}\n >\n {children}\n {state.isModal && !state.isCustom && (\n <Modal\n modalref={ref}\n title={state.title}\n footer={state.footer}\n handleClose={closeModal}\n subtitle={state.subtitle}\n hasCloseButton={state.hasCloseButton}\n hasOverlay={state.hasOverlay}\n >\n {state.content}\n </Modal>\n )}\n </ModalContext.Provider>\n );\n}\n\nfunction useModal({}: UseModalProps = {}) {\n const context = useContext(ModalContext);\n\n if (context === undefined) {\n throw new Error(\"useModal must be used within a ModalProvider\");\n }\n\n return context;\n}\n\nexport { ModalContext, ModalProvider, useModal };\n"],"names":["ALLOWED_CHILD_COMPONENT","_jsx","_jsxs","img","gif","_Fragment"],"mappings":";;;;;;;;;;;;;;;AAkBA,MAAMA,yBAAuB,GAAG,CAAC,UAAU,CAAC,CAAC;AAE7B,SAAA,WAAW,CAAC,EAAE,QAAQ,EAAoB,EAAA;AACxD,IAAA,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAK;QACtC,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAI;AACtC,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAAE,OAAO;AAEnC,YAAA,MAAM,cAAc,GAAG,KAAK,CAAC,IAAqB,CAAC;YAEnD,IAAI,CAACA,yBAAuB,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;gBAAE,OAAO;AAEnE,YAAA,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7B,SAAC,CAAC,CAAC;AACL,KAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEf,IAAA,OAAOC,aAAK,SAAS,EAAC,MAAM,EAAE,QAAA,EAAA,kBAAkB,GAAO,CAAC;AAC1D;;ACfA;AACA,MAAM,WAAW,GAAG,aAAa,CAAC,EAAqB,CAAC,CAAC;SAQzC,QAAQ,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAiB,EAAA;IACnE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAuB,EAAE,CAAC,CAAC;AAE7D,IAAA,MAAM,OAAO,GAAG,CAAC,IAAU,KAAI;AAC7B,QAAA,QAAQ,CAAC,CAAC,KAAK,MAAM;AACnB,YAAA,GAAG,KAAK;AACR,YAAA,CAAC,IAAI,CAAC,EAAE,GAAG;AACT,gBAAA,GAAG,IAAI;gBACP,UAAU,EAAE,eAAe,IAAI,KAAK;AACrC,aAAA;AACF,SAAA,CAAC,CAAC,CAAC;AACN,KAAC,CAAC;AAEF,IAAA,MAAM,MAAM,GAAG,CAAC,EAAU,KAAI;AAC5B,QAAA,QAAQ,CAAC,CAAC,KAAK,MAAM;AACnB,YAAA,GAAG,KAAK;YACR,CAAC,EAAE,GAAG;gBACJ,GAAG,KAAK,CAAC,EAAE,CAAC;gBACZ,UAAU,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,UAAU,IAAI,KAAK;AAC3C,aAAA;AACF,SAAA,CAAC,CAAC,CAAC;AACN,KAAC,CAAC;IAEF,QACEA,IAAC,WAAW,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAA,QAAA,EACrDA,GAAC,CAAA,WAAW,cAAE,QAAQ,EAAA,CAAe,EAChB,CAAA,EACvB;AACJ,CAAC;SAEe,OAAO,GAAA;IACrB,IAAI,WAAW,KAAK,SAAS,EAAE;AAC7B,QAAA,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;AACvE,KAAA;AAED,IAAA,OAAO,WAAW,CAAC;AACrB;;AC3DO,MAAM,MAAM,GAAG,CAAC,EACrB,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,EAIR,KAAI;IACH,OAAO,MAAM,IACXA,GAAC,CAAA,MAAM,EAAK,EAAA,GAAA,IAAI,EAAG,QAAA,EAAA,QAAQ,GAAU,KAErCA,GAAA,CAAA,GAAA,EAAA,EAAA,GAAO,IAAI,EAAG,QAAA,EAAA,QAAQ,EAAK,CAAA,CAC5B,CAAC;AACJ,CAAC,CAAC;SAEc,MAAM,CAAC,EACrB,QAAQ,GAAG,UAAU,EACrB,SAAS,GAAG,EAAE,EACd,IAAI,GAAG,SAAS,EAChB,WAAW,GAAG,KAAK,EACnB,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,QAAQ,EACf,EAAE,GAAG,QAAQ,EACb,YAAY,EACZ,GAAG,IAAI,EACuB,EAAA;AAC9B,IAAA,OAAO,EAAE,KAAK,MAAM,IAClBC,IAAC,CAAA,MAAM,EACL,EAAA,MAAM,EAAE,YAAY,EAAA,IACf,WAAW,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EACzC,SAAS,EAAE,IAAI,CACb,UAAU,SAAS,CAAA,CAAE,EACrB,IAAI,KAAK,WAAW,GAAG,CAAW,QAAA,EAAA,IAAI,EAAE,GAAG,cAAc,EACzD,CAAW,QAAA,EAAA,IAAI,EAAE,CAClB,EAAA,GACI,IAAsD,EAE1D,QAAA,EAAA,CAAA,QAAQ,EACR,IAAI,CAAA,EAAA,CACE,KAETA,IAAA,CAAA,QAAA,EAAA,EACE,SAAS,EAAE,IAAI,CACb,QAAQ,EACR,CAAW,QAAA,EAAA,IAAI,EAAE,EACjB,CAAA,QAAA,EAAW,IAAI,CAAE,CAAA,EACjB,SAAS,CACV,EAAA,GACI,IAAsD,EAE1D,QAAA,EAAA,CAAA,QAAQ,EACR,IAAI,CAAA,EAAA,CACE,CACV,CAAC;AACJ;;ACzBM,SAAU,UAAU,CAAC,EACzB,MAAM,EACN,QAAQ,EACR,eAAe,EACf,MAAM,EACN,SAAS,EACT,QAAQ,EACR,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,GAAG,KAAK,EACF,EAAA;IACN,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;IACzC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClD,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7D,MAAM,WAAW,GAAG,MAAK;QACvB,MAAM,CAAC,MAAgB,CAAC,CAAC;AACzB,QAAA,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;QAEzB,mBAAmB,IAAI,mBAAmB,EAAE,CAAC;AAC/C,KAAC,CAAC;AAEF,IAAA,OAAO,MAAM,IACXA,IAAA,CAAC,MAAM,EAAA,EACL,SAAS,EAAE,IAAI,CACb,aAAa,EACb;AACE,YAAA,sBAAsB,EAAE,QAAQ;AAChC,YAAA,oBAAoB,EAAE,MAAM;AAC5B,YAAA,uBAAuB,EAAE,SAAS;AAClC,YAAA,qBAAqB,EAAE,MAAM;AAC7B,YAAA,yBAAyB,EAAE,UAAU;SACtC,EACD,eAAe,CAChB,EAAA,GACI,MAAwD,EAAA,QAAA,EAAA,CAE5D,QAAQ,EACR,QAAQ,IACP,SAAS,IACPD,GAAC,CAAA,YAAY,EAAC,EAAA,IAAI,EAAC,MAAM,EAAG,CAAA,KAE5BA,IAAC,UAAU,EAAA,EAAC,IAAI,EAAC,MAAM,EAAA,CAAG,CAC3B,IACC,IAAI,CACD,EAAA,CAAA,KAETC,IACE,CAAA,KAAA,EAAA,EAAA,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CACb,aAAa,EACb;AACE,YAAA,sBAAsB,EAAE,QAAQ;AAChC,YAAA,oBAAoB,EAAE,MAAM;AAC5B,YAAA,uBAAuB,EAAE,SAAS;AAClC,YAAA,qBAAqB,EAAE,MAAM;AAC7B,YAAA,yBAAyB,EAAE,UAAU;SACtC,EACD,eAAe,CAChB,EACD,OAAO,EAAE,WAAW,EAAA,GAChB,KAAK,EAAA,QAAA,EAAA,CAER,QAAQ,EACR,QAAQ,IACP,SAAS,IACPD,GAAA,CAAC,YAAY,EAAA,EAAC,IAAI,EAAC,MAAM,GAAG,KAE5BA,GAAC,CAAA,UAAU,EAAC,EAAA,IAAI,EAAC,MAAM,EAAA,CAAG,CAC3B,IACC,IAAI,CACJ,EAAA,CAAA,CACP,CAAC;AACJ;;ACjGM,SAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAS,EAAA;IACvD,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AACxC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7D,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAK;AAC9B,QAAA,OAAO,KAAK,CAAC,MAAgB,CAAC,EAAE,UAAU,CAAC;AAC7C,KAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAEpB,IAAA,IAAI,CAAC,UAAU;QAAE,OAAO;AAExB,IAAA,OAAOA,GAAS,CAAA,KAAA,EAAA,EAAA,GAAA,KAAK,EAAG,QAAA,EAAA,QAAQ,GAAO,CAAC;AAC1C;;ACrBO,MAAM,UAAU,GAAG,MAAK;AAC7B,IAAA,OAAO,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AACzD,CAAC;;AC0BD,MAAM,uBAAuB,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAExD,SAAU,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAS,EAAA;IACpD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1C,IAAA,MAAM,MAAM,GAAG,MAAM,CAAS,EAAE,CAAC,CAAC;IAElC,SAAS,CAAC,MAAK;AACb,QAAA,MAAM,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;AAE9B,QAAA,OAAO,CAAC;YACN,EAAE,EAAE,MAAM,CAAC,OAAO;AAClB,YAAA,UAAU,EAAE,IAAI;AACjB,SAAA,CAAC,CAAC;KACJ,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,QACEA,GAAmB,CAAA,KAAA,EAAA,EAAA,cAAA,EAAA,MAAM,CAAC,OAAO,KAAM,KAAK,EAAA,QAAA,EACzC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAI;AAChC,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAAE,OAAO;AAEnC,YAAA,MAAM,cAAc,GAAG,KAAK,CAAC,IAAqB,CAAC;YAEnD,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;gBAAE,OAAO;YAEnE,OAAO,YAAY,CAAC,KAAqB,EAAE;gBACzC,cAAc,EAAE,MAAM,CAAC,OAAO;AAC/B,aAAA,CAAC,CAAC;SACJ,CAAC,EACE,CAAA,EACN;AACJ;;ACrDa,MAAA,IAAI,GAAG;AAClB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,MAAM,EAAE,UAAU;AAClB,IAAA,OAAO,EAAE,WAAW;;;ACFtB;AACM,SAAU,IAAI,CAAC,EACnB,QAAQ,EACR,QAAQ,EACR,YAAY,GAAG;AACb,IAAA,KAAK,EAAE,QAAQ;AAChB,CAAA,EACD,YAAY,EACZ,eAAe,EACf,GAAG,IAAI,EACG,EAAA;AACV,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEtC,MAAM,EACJ,SAAS,EAAE,EAAE,OAAO,EAAE,GACvB,GAAG,OAAO,CAAC;AAEZ,IAAA,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAGjC;AACD,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,SAAS,EAAE,KAAK;AACjB,KAAA,CAAC,CAAC;AAEH,IAAA,QACEA,GAAA,CAAC,YAAY,EAAA,EAAA,GAAK,OAAO,EAAA,QAAA,EACvBC,IACE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,EAC3C,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,KAAI;gBACtC,OAAO,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAC5C,aAAC,CAAC,EACE,GAAA,IAAI,EAEP,QAAA,EAAA,CAAA,QAAQ,EACR,MAAM,CAAC,OAAO,KACbA,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,eAAe,aAC3B,MAAM,CAAC,SAAS,IACfD,GAAC,CAAA,iBAAiB,IAChB,KAAK,EAAC,sBAAsB,EAC5B,IAAI,EAAE,EAAE,EACW,CAAA,KAErBA,GAAA,CAAC,aAAa,EACZ,EAAA,KAAK,EAAE,qBAAqB,EAC5B,IAAI,EAAE,EAAE,EAAA,CACO,CAClB,EACA,MAAM,CAAC,OAAO,IACX,CACP,EACDA,GAAC,CAAA,MAAM,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAA,QAAA,EACrC,YAAY,CAAC,KAAK,GACZ,CACJ,EAAA,CAAA,EAAA,CACM,EACf;AACJ;;AC7DgB,SAAA,KAAK,CAAC,EACpB,cAAc,GAAG,EAAE,EACnB,cAAc,GAAG,EAAE,EACnB,KAAK,GAAG;AACN,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,OAAO,EAAE,EAAE;CACZ,EACD,QAAQ,EACR,UAAU,EACV,WAAW,GAAG,cAAc,EAC5B,KAAK,EACL,cAAc,EACd,IAAI,EACJ,UAAU,EACV,eAAe,EACf,GAAG,IAAI,EACI,EAAA;AACX,IAAA,QACEC,IAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAC9C,KAAK,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,UAAU,EAAE,EAAA,QAAA,EAAA,CAE1DA,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,eAAe,EAAA,QAAA,EAAA,CAC3B,KAAK,IAAID,eAAO,SAAS,EAAE,cAAc,EAAA,QAAA,EAAG,KAAK,EAAS,CAAA,EAC1D,KAAK,IAAI,KAAK,CAAC,EAAE,KAChBA,cAAM,SAAS,EAAC,sBAAsB,EAAA,QAAA,EACnC,KAAK,CAAC,OAAiB,EACnB,CAAA,CACR,IACG,EACNC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gBAAgB,EAC5B,QAAA,EAAA,CAAA,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,KACxCD,GACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,mBAAmB,EAAE,IAAI,CAAC,SAAS,CAAC,EAElE,QAAA,EAAA,IAAI,CAAC,OAAO,GACT,CACP,EACDA,GACE,CAAA,OAAA,EAAA,EAAA,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,UAAU,EACpB,SAAS,EAAE,IAAI,CACb,OAAO,EACP,KAAK,CAAC,EAAE,GAAG,cAAc,GAAG,EAAE,EAC9B,IAAI,EAAE,QAAQ,KAAK,MAAM,IAAI,aAAa,EAC1C,cAAc,CACf,EACD,WAAW,EAAE,WAAW,EAAA,GACpB,IAAI,EACR,CAAA,EACD,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,KACxCA,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,IAAI,CACb,aAAa,EACb,oBAAoB;;AAEpB,wBAAA,IAAI,CAAC,SAAS,CACf,EAAA,QAAA,EAEA,IAAI,CAAC,OAAO,EAAA,CACT,CACP,CAAA,EAAA,CACG,CACF,EAAA,CAAA,EACN;AACJ;;AChEgB,SAAA,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,EAAc,EAAA;AACtF,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;AACrC,IAAA,QACEA,GAAA,CAAC,UAAU,EAAA,EACT,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;AACL,YAAA,IAAI,UAAU;AACZ,kBAAE;AACE,oBAAA,QAAQ,EAAG,KAAK,EAAE,OAAe,IAAI,mBAAmB;AACzD,iBAAA;kBACD,EAAE,CAAC;AACR,SAAA,EACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,KAAI;AAC3C,YAAA,QACEA,GAAC,CAAA,KAAK,IACJ,UAAU,EAAA,IAAA,EACV,KAAK,EAAE;oBACL,EAAE,EAAE,CAAC,CAAC,KAAK;oBACX,OAAO,EAAE,KAAK,EAAE,OAAO;iBACxB,EACD,YAAY,EAAE,YAAY,EAAA,GACtB,KAAK,EACL,GAAA,IAAI,EACR,CAAA,EACF;SACH,EAAA,CACD,EACF;AACJ;;SC3BgB,QAAQ,CAAC,EACvB,cAAc,GAAG,KAAK,EACtB,SAAS,GAAG,EAAE,EACd,QAAQ,GAAG,IAAI,EACf,KAAK,GAAG;AACN,IAAA,EAAE,EAAE,KAAK;AACT,IAAA,OAAO,EAAE,EAAE;AACZ,CAAA,EACD,eAAe,GAAG,IAAI,EACtB,UAAU,GAAG,MAAM,EACnB,KAAK,EACL,cAAc,EACd,UAAU,EACV,WAAW,GAAG,cAAc,EAC5B,UAAU,GAAG,OAAO,EACpB,eAAe,EACf,KAAK,GAAG,EAAE,EACV,iBAAiB,GAAG,EAAE,EACtB,GAAG,IAAI,EACO,EAAA;AACd,IAAA,MAAM,GAAG,GAAG,MAAM,EAA2C,CAAC;IAC9D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAErD,MAAM,iBAAiB,GAAG,MAAK;AAC7B,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE;AACtB,YAAA,IAAI,MAAM,EAAE;gBACV,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;AACvC,aAAA;AAAM,iBAAA;gBACL,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;AACvC,aAAA;YACD,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AAC5B,SAAA;AACH,KAAC,CAAC;AAEF,IAAA,QACEC,IACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,EACtC,KAAK,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,KAAK,EAAE,EAErD,QAAA,EAAA,CAAAA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,kBAAkB,EAC9B,QAAA,EAAA,CAAA,KAAK,IAAID,GAAA,CAAA,OAAA,EAAA,EAAO,SAAS,EAAE,cAAc,EAAG,QAAA,EAAA,KAAK,GAAS,EAC1D,KAAK,IAAI,KAAK,CAAC,EAAE,KAChBA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,yBAAyB,EACtC,QAAA,EAAA,KAAK,CAAC,OAAc,EAAA,CAChB,CACR,CAAA,EAAA,CACG,EACNA,GACE,CAAA,UAAA,EAAA,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CACb,iBAAiB,EACjB,KAAK,CAAC,EAAE,IAAI,wBAAwB,EACpC,iBAAiB,CAClB,EACD,KAAK,EACH;oBACE,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,UAAU;AAC3B,iBAAA,EAE1B,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,EAAA,GAChB,IAAI,EAAA,CACR,EACD,eAAe,KACdA,GAAC,CAAA,MAAM,EACL,EAAA,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,IAAI,CACb,kBAAkB,EAClB,MAAM,IAAI,wBAAwB,EAClC,KAAK,CAAC,EAAE,IAAI,yBAAyB,CACtC,EACD,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,cAAc,EAAA,QAAA,EAExBA,GAAC,CAAA,iBAAiB,EAAC,EAAA,IAAI,EAAC,QAAQ,EAAG,CAAA,EAAA,CAC5B,CACV,CAAA,EAAA,CACG,EACN;AACJ;;AClFgB,SAAA,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,EAAc,EAAA;AAC3E,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;AACrC,IAAA,QACEA,GAAA,CAAC,UAAU,EAAA,EACT,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;AACL,YAAA,IAAI,UAAU;AACZ,kBAAE;AACE,oBAAA,QAAQ,EAAG,KAAK,EAAE,OAAe,IAAI,mBAAmB;AACzD,iBAAA;kBACD,EAAE,CAAC;AACR,SAAA,EACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,KAAI;AAC3C,YAAA,QACEA,GAAC,CAAA,QAAQ,IACP,UAAU,EAAA,IAAA,EACV,KAAK,EAAE;oBACL,EAAE,EAAE,CAAC,CAAC,KAAK;oBACX,OAAO,EAAE,KAAK,EAAE,OAAO;AACxB,iBAAA,EAAA,GACG,KAAK,EAAA,GACL,IAAI,EAAA,CACR,EACF;SACH,EAAA,CACD,EACF;AACJ;;SCzBgB,MAAM,CAAC,EACrB,cAAc,GAAG,EAAE,EACnB,cAAc,GAAG,EAAE,EACnB,OAAO,EACP,UAAU,EACV,YAAY,EACZ,eAAe,EACf,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,KAAK,EACL,cAAc,EACd,KAAK,EACL,eAAe,EACf,UAAU,EACV,GAAG,IAAI,EACK,EAAA;IACZ,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5C,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,KAAK,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChE,IAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAEtB,MAAM,UAAU,GAAG,MAAK;QACtB,SAAS,CAAC,IAAI,CAAC,CAAC;AAClB,KAAC,CAAC;IAEF,MAAM,WAAW,GAAG,MAAK;QACvB,SAAS,CAAC,KAAK,CAAC,CAAC;AACnB,KAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,MAAK;AAC5B,QAAA,IAAI,UAAU,EAAE;AACd,YAAA,UAAU,EAAE,CAAC;AACd,SAAA;QACD,SAAS,CAAC,KAAK,CAAC,CAAC;AACnB,KAAC,CAAC;IAEF,MAAM,YAAY,GAAG,MAAK;QACxB,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,KAAC,CAAC;AAEF,IAAA,MAAM,iBAAiB,GAAG,CAAC,CAAgC,KAAI;AAC7D,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,CAAC;AAClB,KAAC,CAAC;AAEF,IAAA,MAAM,kBAAkB,GAAG,CAAC,CAA+B,KAAI;QAC7D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;AAEjC,QAAA,IAAI,eAAe,EAAE;AACnB,YAAA,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC7B,YAAA,IAAI,UAAU,EAAE;gBACd,UAAU,CAAC,IAAI,CAAC,CAAC;AAClB,aAAA;AAED,YAAA,IAAI,SAAS,EAAE;AACb,gBAAA,SAAS,EAAE,CAAC;AACb,aAAA;AACF,SAAA;AAAM,aAAA;YACL,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjB,SAAA;AAED,QAAA,IAAI,YAAY,EAAE;YAChB,YAAY,CAAC,KAAK,CAAC,CAAC;AACrB,SAAA;AAED,QAAA,WAAW,EAAE,CAAC;AAChB,KAAC,CAAC;AAEF,IAAA,QACEC,IAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,EAC/C,KAAK,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,UAAU,EAAE,EAE1D,QAAA,EAAA,CAAAD,GAAA,CAAC,KAAK,EAAA,EACJ,cAAc,EAAE,IAAI,CAClB,QAAQ,EACR;AACE,oBAAA,eAAe,EAAE,MAAM;iBACxB,EACD,cAAc,CACf,EACD,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,UAAU,EACpB,WAAW,EAAC,gBAAgB,EAC5B,IAAI,EAAE;AACJ,oBAAA,SAAS,EAAE,eAAe;oBAC1B,OAAO,GACLA,GAAC,CAAA,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,IAAI,CAAC,sBAAsB,EAAE;AACtC,4BAAA,4BAA4B,EAAE,MAAM;AACrC,yBAAA,CAAC,EACF,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,WAAW,EAEnB,QAAA,EAAAA,GAAA,CAAC,YAAY,EAAC,EAAA,IAAI,EAAE,EAAE,EAAA,CAAI,GACnB,CACV;AACF,iBAAA,EACD,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,iBAAiB,EAC3B,YAAY,EAAC,KAAK,EAClB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAAA,GAC1B,IAAI,EACR,CAAA,EACD,MAAM,KACLA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,aAAa,EAAA,QAAA,EACxB,eAA4B,CAAC,GAAG,CAChC,CAAC,MAAc,EAAE,KAAa,MAC5BA,GAAA,CAAC,MAAM,EAEL,EAAA,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,WAAW,EAChB,SAAS,EAAC,gBAAgB,EAC1B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,kBAAyB,EAAA,QAAA,EAErC,MAAM,EAPF,EAAA,CAAA,MAAA,EAAS,KAAK,CAAA,CAAE,CAQd,CACV,CACF,GACG,CACP,CAAA,EAAA,CACG,EACN;AACJ;;SCvIgB,UAAU,CAAC,EACzB,IAAI,EACJ,UAAU,EACV,KAAK,EACL,aAAa,EACb,KAAK,EACL,GAAG,IAAI,EACS,EAAA;AAChB,IAAA,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,GAC9D,cAAc,EAAE,CAAC;AACnB,IAAA,QACEA,GAAA,CAAC,UAAU,EAAA,EACT,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE;AACL,YAAA,IAAI,UAAU;AACZ,kBAAE;AACE,oBAAA,QAAQ,EAAG,KAAK,EAAE,OAAe,IAAI,mBAAmB;AACzD,iBAAA;kBACD,EAAE,CAAC;SACR,EACD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,KAAI;YACrE,QACEA,GAAC,CAAA,MAAM,EACL,EAAA,UAAU,EACV,IAAA,EAAA,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE;oBACL,EAAE,EAAE,CAAC,CAAC,KAAK;AACX,oBAAA,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE;iBAC9B,EACD,eAAe,EAAE,QAAQ,EACzB,SAAS,EAAE,MACT,aAAa;AACb,oBAAA,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;AAC1B,wBAAA,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;wBAC3B,UAAU,CAAC,KAAK,CAAC,CAAC;AACpB,qBAAC,CAAC,EAEJ,UAAU,EAAE,WAAW,EACvB,UAAU,EAAE,MAAM,KACd,SAAS,EAAA,GACT,IAAI,EAAA,CACR,EACF;SACH,EAAA,CACD,EACF;AACJ;;ACpDA,IAAI,GAAG,GAAG,guKAAguK;;SCI1tK,OAAO,CAAC,OAAEE,KAAG,EAAE,QAAQ,EAAgB,EAAA;IACrD,QACED,cAAK,SAAS,EAAC,SAAS,EACtB,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAEE,KAAG,IAAIC,GAAG,EAAI,CAAA,EACxBH,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,iBAAiB,YAAE,QAAQ,EAAA,CAAO,CAC7C,EAAA,CAAA,EACN;AACJ;;ACLgB,SAAA,KAAK,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,MAAM,EACN,UAAU,GAAG,IAAI,EACjB,cAAc,GAAG,IAAI,EACrB,WAAW,EACX,GAAG,IAAI,EACI,EAAA;IACX,QACEC,4BACG,UAAU,IAAID,aAAK,SAAS,EAAC,eAAe,EAAG,CAAA,EAChDC,cAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,KAAM,IAAI,EAAA,QAAA,EAAA,CAC9D,cAAc,KACbD,IAAC,MAAM,EAAA,EACL,IAAI,EAAC,WAAW,EAChB,SAAS,EAAC,cAAc,EACxB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,WAAW,EAEpB,QAAA,EAAAA,GAAA,CAAC,OAAO,EAAG,EAAA,CAAA,EAAA,CACJ,CACV,EACDC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gBAAgB,aAC5B,KAAK,KACJA,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,eAAe,EAAA,QAAA,EAAA,CAC5BD,sBAAK,KAAK,EAAA,CAAM,EAChBA,GAAA,CAAA,IAAA,EAAA,EAAA,QAAA,EAAK,QAAQ,EAAA,CAAM,IACf,CACP,EACDA,aAAK,SAAS,EAAC,iBAAiB,EAAE,QAAA,EAAA,QAAQ,EAAO,CAAA,EAChD,MAAM,IAAIA,aAAK,SAAS,EAAC,eAAe,EAAE,QAAA,EAAA,MAAM,GAAO,CACpD,EAAA,CAAA,CAAA,EAAA,CACF,CACL,EAAA,CAAA,EACH;AACJ;;ACvBA,MAAM,YAAY,GAAG,aAAa,CAAoB,SAAS,EAAE;AAEjE,SAAS,aAAa,CAAC,EACrB,QAAQ,EACR,SAAS,EAAE,aAAa,EACxB,WAAW,EAAE,eAAe,GAAG,OAAO,GACnB,EAAA;IACnB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAa,CAAC;IACxD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAe,CAAC;IAE9D,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,eAAe,EAAE;YACnB,iBAAiB,CAAC,eAAe,CAAC,CAAC;AACpC,SAAA;AACH,KAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,aAAa,EAAE;YACjB,eAAe,CAAC,aAAa,CAAC,CAAC;AAChC,SAAA;AACH,KAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC,MAAK;QACb,IAAI,MAAM,CAAC,UAAU,EAAE;AACrB,YAAA,IAAI,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AACtC,gBAAA,QAAQ,CAAC,eAAe,CAAC,YAAY,CACnC,YAAY,EACZ,YAAY,CAAC,OAAO,CAAC,YAAY,CAAW,CAC7C,CAAC;gBACF,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAc,CAAC,CAAC;AAC/D,aAAA;iBAAM,IAAI,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE;gBACpE,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAC5D,YAAY,CAAC,MAAM,CAAC,CAAC;AACtB,aAAA;AACF,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,MAAM,eAAe,GAAG,CAAC,IAAe,KAAI;QAC1C,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QAC1D,YAAY,CAAC,IAAI,CAAC,CAAC;AACnB,QAAA,YAAY,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC3C,KAAC,CAAC;AAEF,IAAA,MAAM,iBAAiB,GAAG,CAAC,IAAiB,KAAI;QAC9C,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC5D,cAAc,CAAC,IAAI,CAAC,CAAC;AACrB,QAAA,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;AAC9C,KAAC,CAAC;IAEF,QACEA,IAAC,YAAY,CAAC,QAAQ,EACpB,EAAA,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAEpE,QAAA,EAAA,QAAQ,EACa,CAAA,EACxB;AACJ,CAAC;AAED,SAAS,QAAQ,GAAA;AACf,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEzC,IAAI,OAAO,KAAK,SAAS,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AACjE,KAAA;AAED,IAAA,OAAO,OAAO,CAAC;AACjB;;ACrFgB,SAAA,UAAU,CAAC,EACzB,QAAQ,EACR,QAAQ,GAAG,WAAW,EACtB,GAAG,IAAI,EACS,EAAA;AAChB,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAoB,iBAAA,EAAA,QAAQ,CAAE,CAAA,EAAA,GAAM,IAAI,EAAA,QAAA,EACrD,QAAQ,EAAA,CACL,EACN;AACJ;;ACEA,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAY,EAAA;AACxD,IAAA,QACEA,GAAA,CAAC,IAAI,CAAC,IAAI,EAAA,EAAA,QAAA,EACP,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,KAAK,MACnDC,IAAA,CAAC,IAAI,CAAC,IAAI,EAAA,EAAA,QAAA,EAAA,CACRD,GAAC,CAAA,IAAI,CAAC,MAAM,EAAC,EAAA,QAAQ,EAAE,IAAA,EAAA,QAAA,EAAA,MAAM,CAAC,KAAK,EAAe,CAAA,EAClDA,GAAC,CAAA,IAAI,CAAC,OAAO,EACT,EAAA,QAAA,EAAA,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,MACrFA,GAAA,CAAC,IAAI,CAAC,IAAI,EAAA,EAAA,QAAA,EACRA,GAAC,CAAA,IAAI,CAAC,MAAM,EACV,EAAA,UAAU,EAAE,OAAO,KAAK,QAAQ,CAAC,EAAE,EACnC,MAAM,EACN,IAAA,EAAA,mBAAmB,EAAE,MAAM,WAAW,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,KAAK,EAAG,CAAC,EAAA,QAAA,EAEjE,KAAK,CAAC,KAAK,EAAA,CACA,EACJ,CAAA,CACb,CAAC,EAAA,CACW,CAdD,EAAA,EAAA,CAAA,YAAA,EAAe,KAAK,CAAA,CAAE,CAe1B,CACb,CAAC,EAAA,CACQ,EACZ;AACJ;;AClBA;AACA,MAAM,UAAU,GAAG,aAAa,CAA6B,SAAS,CAAC,CAAC;AAWxD,SAAA,WAAW,CAAC,EAAE,QAAQ,EAAoB,EAAA;IACxD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAkB,SAAS,CAAC,CAAC;IAE7E,QACEA,IAAC,UAAU,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,EACrE,QAAA,EAAA,QAAQ,EACW,CAAA,EACtB;AACJ,CAAC;AAEe,SAAA,MAAM,CAAC,EAAE,YAAY,EAAe,EAAA;AAClD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IACvC,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;AACvC,SAAA;KACF,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,OAAO,KAAK,SAAS,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC7D,KAAA;AAED,IAAA,OAAO,OAAO,CAAC;AACjB;;AC1CA,MAAM,YAAY,GAAG,CAAC,EAAE,KAAK,EAAwB,KAAI;IACvD,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;IAEhD,OAAO,SAAS,IAAI,IAAI,IACtBC,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,oBAAoB,EACjC,QAAA,EAAA,CAAAD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iBAAiB,EAC7B,QAAA,EAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MACrBC,IAAK,CAAA,IAAA,EAAA,EAAA,QAAA,EAAA,CAAA,KAAK,EAAO,GAAA,CAAA,EAAA,CAAA,CAClB,CAAC,EAAA,CACE,EACND,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MACrBA,GACG,CAAA,MAAA,EAAA,EAAA,QAAA,EAAA,OAAO,KAAK,KAAK,QAAQ;AACxB,0BAAE,IAAI,QAAQ,CACV,GAAG,EACH,WAAW,KAAK,CAAA,EAAA,EAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA,CAAA,CAAG,CACnD,EAAE;AACL,0BAAE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAChB,CAAA,CACR,CAAC,EACE,CAAA,CAAA,EAAA,CACF,KAEN,MAAM,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAChB,KAAK,EACL,SAAS,GAAG,SAAS,EACrB,YAAY,EACZ,SAAS,EACT,QAAQ,GACM,KAAI;AAClB,IAAA,OAAO,SAAS,KAAK,SAAS,IAC5BA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,QAAQ,EAAE,EACnE,QAAA,EAAAA,GAAA,CAAC,YAAY,EAAC,EAAA,KAAK,EAAE,KAAkB,GAAI,EACvC,CAAA,KAENA,GAAC,CAAA,KAAK,EACJ,EAAA,MAAM,EAAC,KAAK,EACZ,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,EAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,EAC1B,OAAO,EAAE,MAAM,YAAY,IAAI,YAAY,CAAC,SAAS,CAAC,EAAA,QAAA,EAEtDA,GAAC,CAAA,YAAY,IAAC,KAAK,EAAE,KAAkB,EAAI,CAAA,EAAA,CACrC,CACT,CAAC;AACJ,CAAC;;ACzCD,MAAM,kBAAkB,GAAG;IACzB,SAAS,EAAE,CAAC,SAAS;AACrB,IAAA,QAAQ,EAAE,OAAO;AACjB,IAAA,IAAI,EAAE,EAAE;AACR,IAAA,KAAK,EAAE,CAAC;AACR,IAAA,OAAO,EAAE,CAAC;CACX,CAAC;AAEI,SAAU,SAAS,CAAC,EACxB,WAAW,EACX,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,GAAG,IAAI,EACvB,MAAM,EACN,QAAQ,EACR,cAAc,GAAG,EAAE,EACnB,GAAG,GACS,EAAA;;IAEZ,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,QAAQ,CAAC;AAC9C,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAY,CAAC;IACjD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAyB,CAAC;IAEpE,MAAM,OAAO,GACX,MAAM;AACN,QAAA,OAAO,CACL,MAAM,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,IAAW,CAAC,CAAC,KAAK,CAAC,CAAC,EACrE,EAAE,CACH,CAAC;AACJ,IAAA,MAAM,EACJ,aAAa,EAAE,UAAU,EACzB,aAAa,EAAE,UAAU,EACzB,GAAG,SAAS,EACb,GAAG,cAA0B,CAAC;IAE/B,MAAM,UAAU,GACd,GAAG;AACH,QAAA,MAAM,CAAC;AACL,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrB,GAAG,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC/D,aAAA;AACF,SAAA,CAAC,CAAC;IAEL,MAAM,YAAY,GAAG,MAAK;AACxB,QAAA,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;AACvE,KAAC,CAAC;AAEF,IAAA,MAAM,kBAAkB,GAAG,CAAC,KAAe,KAAI;AAC7C,QAAA,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACpC,KAAC,CAAC;AAEF,IAAA,MAAM,WAAW,GAAG,CAAC,KAAU,KAAI;QACjC,IAAI,KAAK,CAAC,MAAM,EAAE;AAChB,YAAA,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE;AAC7B,gBAAA,YAAY,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACvE,aAAA;AAED,YAAA,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7C,SAAA;AAAM,aAAA;YACL,SAAS,CAAC,SAAS,CAAC,CAAC;AACtB,SAAA;AAED,QAAA,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,CAAC;AAChB,SAAA;AACH,KAAC,CAAC;IAEF,QACEC,cAAK,SAAS,EAAC,KAAK,EAClB,QAAA,EAAA,CAAAA,IAAA,CAAC,MAAM,EAAA,EACL,gBAAgB,EAAE,gBAAgB,IAAI,kBAAkB,EACxD,UAAU,EAAE,IAAI,EAChB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,WAAW,EAAA,GAChB,YAAY,EAEhB,QAAA,EAAA,CAAAD,GAAA,CAAC,GAAG,EACF,EAAA,kBAAkB,EAAE,KAAK,EACzB,MAAM,EAAE,UAAU,EAClB,QAAQ,EACN,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,MAAM;8BACjC,2DACE,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,0BAC9B,CAAE,CAAA;8BACF,CACE,sDAAA,EAAA,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,0BAC9B,CAAA,CAAE,EAER,CAAA,EACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;;AAElC,wBAAA,OAAOA,GAAC,CAAA,UAAU,EAAC,EAAA,QAAQ,EAAE,GAAG,EAAG,QAAA,EAAA,SAAS,CAAC,GAAG,CAAC,EAAA,CAAc,CAAC;AAClE,qBAAC,CAAC,EACFC,IAAA,CAAC,UAAU,EAAC,EAAA,QAAQ,EAAC,aAAa,EAAA,QAAA,EAAA,CAC/B,UAAU,EACV,UAAU,EAAE,KAAK,CAAC,YAAY,KAC7BD,IAAC,MAAM,EAAA,EACL,KAAK,EAAE,GAAG,CAAC,OAAO,EAClB,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,YAAY,EACvC,WAAW,EAAE,kBAAkB,GAC/B,CACH,CAAA,EAAA,CACU,EACbA,GAAC,CAAA,UAAU,EAAC,EAAA,QAAQ,EAAC,aAAa,EAAA,QAAA,EAC/B,gBAAgB,IACfC,IAAA,CAAAG,QAAA,EAAA,EAAA,QAAA,EAAA,CACG,UAAU,EACXJ,GAAA,CAAC,MAAM,EAAC,EAAA,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,YAAY,EAAA,QAAA,EACnD,KAAK,CAAC,SAAS,KAAK,MAAM,IACzBA,IAAC,KAAK,EAAA,EAAC,IAAI,EAAC,SAAS,GAAG,KAExBA,GAAC,CAAA,MAAM,IAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,oBAAoB,EAAA,CAAG,CACrD,EACM,CAAA,CAAA,EAAA,CACR,KAEH,UAAU,CACX,EAAA,CACU,EACbA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,kBAAkB,EAAA,QAAA,EAC9B,WAAW,KACVC,4BACED,GAAC,CAAA,MAAM,IACL,EAAE,EAAC,MAAM,EACT,IAAI,EAAC,qCAAqC,EAC1C,MAAM,EAAC,QAAQ,EAGR,QAAA,EAAA,iBAAA,EAAA,CAAA,EACTA,IAAC,MAAM,EAAA,EACL,EAAE,EAAC,MAAM,EACT,IAAI,EAAC,yCAAyC,EAC9C,MAAM,EAAC,QAAQ,EAAA,QAAA,EAAA,mCAAA,EAAA,CAGR,IACR,CACJ,EAAA,CACG,IACC,EACR,SAAS,IAAI,MAAM,KAClBA,GAAC,CAAA,QAAQ,IACP,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EACpB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;;AAEnB,gBAAA,KAAK,EAAE,SAAS,EAAA,CACN,CACb,CAAA,EAAA,CACG,EACN;AACJ;;AC/IA,SAAS,SAAS,CAAC,EACjB,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,OAAO,EACP,GAAG,GACS,EAAA;;IAEZ,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,EAAE,GAAG,QAAQ,CAAC;IAC9C,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,CAAC;IAClD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAC/B,QAAQ,CAA8B,OAAO,CAAC,CAAC;AACjD,IAAA,MAAM,EACJ,aAAa,EAAE,UAAU,EACzB,aAAa,EAAE,UAAU,EACzB,GAAG,SAAS,EACb,GAAG,cAA0B,CAAC;IAC/B,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,EAAyB,CAAC;IACpE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAY,CAAC;IAEjD,MAAM,UAAU,GACd,GAAG;AACH,QAAA,MAAM,CAAC;AACL,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;gBACrB,GAAG,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAC/D,aAAA;AACF,SAAA,CAAC,CAAC;AAEL,IAAA,MAAM,kBAAkB,GAAG,CAAC,KAAgC,KAAI;AAC9D,QAAA,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AACpC,KAAC,CAAC;AAEF,IAAA,MAAM,WAAW,GAAG,CAAC,KAAsF,KAAI;QAC7G,MAAM,EACJ,QAAQ,EACR,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EACf,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GACrB,GAAG,KAAK,CAAC;QACV,MAAM,cAAc,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;AAE/C,QAAA,IAAI,cAAc,EAAE;AAClB,YAAA,YAAY,CAAC;gBACX,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC;AACpD,gBAAA,IAAI,EAAE,cAAc;AACrB,aAAA,CAAC,CAAC;AAEH,YAAA,SAAS,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACvB,SAAA;AAED,QAAA,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,CAAC;AAChB,SAAA;AACH,KAAC,CAAC;IAEF,OAAO,QAAQ,EAAE,iBAAiB,IAChCA,GACE,CAAAI,QAAA,EAAA,EAAA,QAAA,EAAAH,IAAA,CAAC,GAAG,EAAA,EACF,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAC7C,UAAU,EAAE,UAAU,EACtB,QAAQ,EACN,OAAO;gBACP,CACE,uBAAA,EAAA,SAAS,KAAK,MAAM,GAAG,OAAO,GAAG,MACnC,CAAA,IAAA,CAAM,MAEH,CAAC,QAAQ,CAAC,mBAAmB,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE;iBAC3D,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAA,GACvB,YAAY,EAAA,QAAA,EAAA,CAEf,OAAO;AACN,oBAAA,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE;;AAExC,oBAAAD,GAAA,CAAC,MAAM,EAAC,EAAA,EAAE,EAAE,EAAE,EAAA,GAAM,UAAU,EAC3B,QAAA,EAAA,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAKA,GAAA,CAAC,KAAK,EAAA,EAAA,GAAK,KAAK,EAAI,CAAA,CAAC,GAC/C,CACV,CAAC,EACH,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAI;;AAElC,oBAAA,OAAOA,GAAC,CAAA,UAAU,EAAC,EAAA,QAAQ,EAAE,GAAG,EAAG,QAAA,EAAA,SAAS,CAAC,GAAG,CAAC,EAAA,CAAc,CAAC;iBACjE,CAAC,EACFC,IAAC,CAAA,UAAU,IAAC,QAAQ,EAAC,aAAa,EAAA,QAAA,EAAA,CAC/B,UAAU,EACV,UAAU,EAAE,KAAK,CAAC,YAAY,KAC7BD,IAAC,MAAM,EAAA,EACL,KAAK,EAAE,GAAG,CAAC,OAAO,EAClB,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,YAAY,EACvC,WAAW,EAAE,kBAAkB,GAC/B,CACH,CAAA,EAAA,CACU,EACbC,IAAA,CAAC,UAAU,EAAA,EAAC,QAAQ,EAAC,aAAa,EAC/B,QAAA,EAAA,CAAA,UAAU,EACV,gBAAgB,KACfD,GAAA,CAAC,MAAM,EACL,EAAA,SAAS,EAAC,aAAa,EACvB,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,MACP,eAAe,CAAC,SAAS,KAAK,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,EAAA,QAAA,EAGzD,SAAS,KAAK,MAAM,GAAGA,GAAA,CAAC,cAAc,EAAG,EAAA,CAAA,GAAGA,GAAC,CAAA,aAAa,KAAG,EACvD,CAAA,CACV,EACA,mBAAmB,KAClBA,IAAC,MAAM,EAAA,EACL,SAAS,EAAC,aAAa,EACvB,IAAI,EAAC,MAAM,EACX,OAAO,EAAE,MACP,aAAa,CAAC,CAAC,IAAY,KACzB,IAAI,KAAK,OAAO,GAAG,UAAU,GAAG,OAAO,CACxC,EAAA,QAAA,EAGF,UAAU,KAAK,OAAO,GAAG,IAAI,GAAG,IAAI,GAC9B,CACV,CAAA,EAAA,CACU,EACZ,SAAS,IAAI,MAAM,KAClBA,GAAA,CAAC,QAAQ,EACP,EAAA,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EACpB,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EACnB,SAAS,EAAC,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,SAAS,EAChB,CAAA,CACH,CACG,EAAA,CAAA,EAAA,CACL,KAEHA,GAAC,CAAA,KAAK,IAAC,cAAc,EAAE,KAAK,EAAA,QAAA,EAC1BA,GAAG,CAAA,GAAA,EAAA,EAAA,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAA,iEAAA,EAAA,CAE5B,EACE,CAAA,CACT,CAAC;AACJ;;ACjKgB,SAAA,YAAY,CAAC,EAC3B,WAAW,EACX,OAAO,EACP,YAAY,EACZ,SAAS,GAAG,SAAS,EACrB,QAAQ,EACR,gBAAgB,GAAG,IAAI,EACvB,mBAAmB,GAAG,IAAI,EAC1B,MAAM,EACN,cAAc,GAAG,EAAE,EACnB,OAAO,EACP,GAAG,GACuB,EAAA;AAC1B,IAAA,OAAO,SAAS,KAAK,SAAS,IAC5BA,GAAC,CAAA,SAAS,IACR,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAgB,EAC1B,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,GAAG,EAAA,CACR,IACA,SAAS,KAAK,UAAU,IAC1BA,GAAA,CAAC,SAAS,EACR,EAAA,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAE,QAAuB,EACjC,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,GAAG,EAAA,CACR,KAEFA,GAAA,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,CAA0C,CAC3C,CAAC;AACJ;;ACZA,MAAM,cAAc,GAAG,aAAa,CAAsB,SAAS,EAAE;AAErE,SAAS,cAAc,CAAC,KAAY,EAAE,MAAc,EAAA;IAClD,QAAQ,MAAM,CAAC,IAAI;QACjB,KAAK,SAAS,EAAE;YACd,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;AACtC,SAAA;QACD,KAAK,eAAe,EAAE;YACpB,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACtC,SAAA;QACD,KAAK,cAAc,EAAE;YACnB,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACvC,SAAA;QACD,KAAK,aAAa,EAAE;YAClB,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;AAC9C,SAAA;AACD,QAAA,SAAS;YACP,MAAM,IAAI,KAAK,CAAC,CAAA,uBAAA,EAA0B,MAAM,CAAC,IAAI,CAAE,CAAA,CAAC,CAAC;AAC1D,SAAA;AACF,KAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,EAAE,QAAQ,EAAwB,EAAA;AACzD,IAAA,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,cAAc,EAAE;AACzE,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,GAAG,EAAE,SAAS;AACf,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,MAAM,GAAG,CAAC,GAAyB,KAAI;QAC3C,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AACrC,KAAC,CAAC;AAEF,IAAA,MAAM,UAAU,GAAG,CAAC,OAAe,KAAI;QACrC,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;AAC7C,KAAC,CAAC;IAEF,MAAM,YAAY,GAAG,MAAK;AACxB,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;AACtC,KAAC,CAAC;IAEF,MAAM,WAAW,GAAG,MAAK;AACvB,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AACrC,KAAC,CAAC;AAEF,IAAA,QACEC,IAAC,CAAA,cAAc,CAAC,QAAQ,EAAA,EACtB,KAAK,EAAE;AACL,YAAA,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE;YAClC,UAAU;YACV,MAAM;YACN,YAAY;YACZ,WAAW;AACZ,SAAA,EAAA,QAAA,EAAA,CAEA,CAAC,GAAG,IAAID,GAAA,CAAC,OAAO,EAAA,EAAA,QAAA,EAAE,OAAO,EAAA,CAAW,EACpC,QAAQ,CACe,EAAA,CAAA,EAC1B;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,GAAG,EAAE,OAAO,KAAsB,EAAE,EAAA;AACxD,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;;IAG3C,SAAS,CAAC,MAAK;AACb,QAAA,GAAG,IAAI,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AAC5B,QAAA,OAAO,IAAI,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;KACzC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,OAAO,KAAK,SAAS,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;AACrE,KAAA;AAED,IAAA,OAAO,OAAO,CAAC;AACjB;;AC5DA,MAAM,YAAY,GAAG,aAAa,CAAsB,SAAS,EAAE;AAEnE,SAAS,YAAY,CAAC,KAAY,EAAE,MAAc,EAAA;IAChD,QAAQ,MAAM,CAAC,IAAI;QACjB,KAAK,YAAY,EAAE;AACjB,YAAA,OAAO,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACrD,SAAA;QACD,KAAK,aAAa,EAAE;YAClB,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACrC,SAAA;AACD,QAAA,SAAS;YACP,MAAM,IAAI,KAAK,CAAC,CAAA,uBAAA,EAA0B,MAAM,CAAC,IAAI,CAAE,CAAA,CAAC,CAAC;AAC1D,SAAA;AACF,KAAA;AACH,CAAC;AAED,MAAM,YAAY,GAAG;AACnB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,cAAc,EAAE,IAAI;AACpB,IAAA,UAAU,EAAE,IAAI;AAChB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,QAAQ,EAAE,KAAK;AACf,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,cAAc,EAAE,IAAI;CACrB,CAAC;AAEF,SAAS,aAAa,CAAC,EAAE,QAAQ,EAAsB,EAAA;AACrD,IAAA,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,YAAY,EAAE;AACjD,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,GAAG,YAAY;AAChB,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,SAAS,GAAG,CAAC,KAAa,KAAI;QAClC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1C,KAAC,CAAC;IAEF,MAAM,UAAU,GAAG,MAAK;AACtB,QAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AACpC,KAAC,CAAC;IAEF,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,cAAc,EAAE;AACzC,YAAA,MAAM,QAAQ,GAAG,CAAC,CAAa,KAAI;gBACjC,IACE,KAAK,CAAC,OAAO;AACb,oBAAA,GAAG,CAAC,OAAO;oBACX,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EACvC;AACA,oBAAA,UAAU,EAAE,CAAC;AACd,iBAAA;gBAED,IACE,KAAK,CAAC,OAAO;AACb,oBAAA,KAAK,CAAC,SAAS;oBACf,KAAK,CAAC,SAAS,CAAC,OAAO;AACvB,oBAAA,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EACnD;AACA,oBAAA,UAAU,EAAE,CAAC;AACd,iBAAA;AACH,aAAC,CAAC;AAEF,YAAA,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACjD,YAAA,OAAO,MAAK;AACV,gBAAA,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AACtD,aAAC,CAAC;AACH,SAAA;AACH,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AAEjB,IAAA,QACEC,IAAC,CAAA,YAAY,CAAC,QAAQ,EAAA,EACpB,KAAK,EAAE;YACL,KAAK;YACL,SAAS;YACT,UAAU;AACX,SAAA,EAAA,QAAA,EAAA,CAEA,QAAQ,EACR,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,KAC/BD,GAAC,CAAA,KAAK,EACJ,EAAA,QAAQ,EAAE,GAAG,EACb,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,WAAW,EAAE,UAAU,EACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ,EACxB,cAAc,EAAE,KAAK,CAAC,cAAc,EACpC,UAAU,EAAE,KAAK,CAAC,UAAU,EAE3B,QAAA,EAAA,KAAK,CAAC,OAAO,EACR,CAAA,CACT,CACqB,EAAA,CAAA,EACxB;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,EAAA,GAAoB,EAAE,EAAA;AACtC,IAAA,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAEzC,IAAI,OAAO,KAAK,SAAS,EAAE;AACzB,QAAA,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AACjE,KAAA;AAED,IAAA,OAAO,OAAO,CAAC;AACjB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geoinsight/react-components",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "This library is the main UI component library for geoinsight",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",