@geoinsight/react-components 1.1.2 → 1.1.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.
- package/dist/cjs/components/checkbox/index.d.ts +4 -0
- package/dist/cjs/components/checkbox/index.stories.d.ts +10 -0
- package/dist/cjs/components/checkbox/index.types.d.ts +48 -0
- package/dist/cjs/components/input/index.stories.d.ts +1 -0
- package/dist/cjs/index.css +276 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +12 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/checkbox/index.d.ts +4 -0
- package/dist/esm/components/checkbox/index.stories.d.ts +10 -0
- package/dist/esm/components/checkbox/index.types.d.ts +48 -0
- package/dist/esm/components/input/index.stories.d.ts +1 -0
- package/dist/esm/index.css +276 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +12 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +2 -3
- package/storybook-static/145.bf71aa82.iframe.bundle.js +2 -0
- package/storybook-static/145.bf71aa82.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/203.dbe95018.iframe.bundle.js +1 -0
- package/storybook-static/286.82d3e377.iframe.bundle.js +1 -0
- package/storybook-static/294.cc038596.iframe.bundle.js +1 -0
- package/storybook-static/421.8dbbcf32.iframe.bundle.js +1 -0
- package/storybook-static/425.2e91814e.iframe.bundle.js +1 -0
- package/storybook-static/503.3722f1cb.iframe.bundle.js +2 -0
- package/storybook-static/503.3722f1cb.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/584.f99ec69d.iframe.bundle.js +1 -0
- package/storybook-static/647.80bf61d7.iframe.bundle.js +1 -0
- package/storybook-static/652.910f7e3c.iframe.bundle.js +411 -0
- package/storybook-static/652.910f7e3c.iframe.bundle.js.LICENSE.txt +53 -0
- package/storybook-static/652.910f7e3c.iframe.bundle.js.map +1 -0
- package/storybook-static/71.3c04378a.iframe.bundle.js +44 -0
- package/storybook-static/71.3c04378a.iframe.bundle.js.map +1 -0
- package/storybook-static/710.7480b175.iframe.bundle.js +1 -0
- package/storybook-static/765.318ce5aa.iframe.bundle.js +2 -0
- package/storybook-static/765.318ce5aa.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/819.b2f05968.iframe.bundle.js +1 -0
- package/storybook-static/857.27880e38.iframe.bundle.js +1 -0
- package/storybook-static/871.d6a2618f.iframe.bundle.js +134 -0
- package/storybook-static/871.d6a2618f.iframe.bundle.js.LICENSE.txt +16 -0
- package/storybook-static/871.d6a2618f.iframe.bundle.js.map +1 -0
- package/storybook-static/components-button-index-stories.b9043eb5.iframe.bundle.js +1 -0
- package/storybook-static/components-checkbox-index-stories.806a4da2.iframe.bundle.js +2 -0
- package/storybook-static/components-checkbox-index-stories.806a4da2.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/components-form-index-stories.98e14f53.iframe.bundle.js +1 -0
- package/storybook-static/components-input-index-stories.53dbac5d.iframe.bundle.js +2 -0
- package/storybook-static/components-input-index-stories.53dbac5d.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/components-loading-index-stories.6082476b.iframe.bundle.js +2 -0
- package/storybook-static/components-loading-index-stories.6082476b.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/components-menu-index-stories.12782e23.iframe.bundle.js +1 -0
- package/storybook-static/components-modal-index-stories.280a7455.iframe.bundle.js +1 -0
- package/storybook-static/components-range-index-stories.d3287106.iframe.bundle.js +1 -0
- package/storybook-static/components-select-index-stories.12475707.iframe.bundle.js +1 -0
- package/storybook-static/components-text-area-index-stories.b8cf9f86.iframe.bundle.js +2 -0
- package/storybook-static/components-text-area-index-stories.b8cf9f86.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/context-loading-index-stories.432db9d9.iframe.bundle.js +2 -0
- package/storybook-static/context-loading-index-stories.432db9d9.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/context-modal-index-stories.eb9322f7.iframe.bundle.js +1 -0
- package/storybook-static/favicon.svg +7 -0
- package/storybook-static/iframe.html +355 -0
- package/storybook-static/index.html +127 -0
- package/storybook-static/index.json +1 -0
- package/storybook-static/main.952e99c7.iframe.bundle.js +1 -0
- package/storybook-static/project.json +1 -0
- package/storybook-static/runtime~main.8e0cbb62.iframe.bundle.js +1 -0
- package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js +12 -0
- package/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js +63 -0
- package/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js.LEGAL.txt +18 -0
- package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/interactions-8/manager-bundle.js +12 -0
- package/storybook-static/sb-addons/interactions-8/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-addons/links-0/manager-bundle.js +3 -0
- package/storybook-static/sb-addons/links-0/manager-bundle.js.LEGAL.txt +0 -0
- package/storybook-static/sb-common-assets/fonts.css +31 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/storybook-static/sb-manager/WithTooltip-V3YHNWJZ-MXTFSDU5.js +1 -0
- package/storybook-static/sb-manager/chunk-5QAFKPS7.js +7 -0
- package/storybook-static/sb-manager/chunk-7PRFHFSS.js +9 -0
- package/storybook-static/sb-manager/chunk-XE6LDGTE.js +406 -0
- package/storybook-static/sb-manager/chunk-YDUB7CS6.js +348 -0
- package/storybook-static/sb-manager/chunk-ZEU7PDD3.js +1 -0
- package/storybook-static/sb-manager/formatter-SWP5E3XI-7BGIK6BL.js +156 -0
- package/storybook-static/sb-manager/globals-module-info.js +1 -0
- package/storybook-static/sb-manager/globals.js +1 -0
- package/storybook-static/sb-manager/index.js +1 -0
- package/storybook-static/sb-manager/runtime.js +1 -0
- package/storybook-static/sb-manager/syntaxhighlighter-MJWPISIS-JOSCT6CQ.js +1 -0
- package/storybook-static/sb-preview/globals.js +1 -0
- package/storybook-static/sb-preview/runtime.js +112 -0
- package/storybook-static/static/media/code-brackets.2e1112d7.svg +1 -0
- package/storybook-static/static/media/colors.a4bd0486.svg +1 -0
- package/storybook-static/static/media/comments.a3859089.svg +1 -0
- package/storybook-static/static/media/direction.b770f9af.svg +1 -0
- package/storybook-static/static/media/flow.edad2ac1.svg +1 -0
- package/storybook-static/static/media/loading.cbc96c95.gif +0 -0
- package/storybook-static/static/media/plugin.d494b228.svg +1 -0
- package/storybook-static/static/media/repo.6d496322.svg +1 -0
- package/storybook-static/static/media/spinner_2.6f37ee56.png +0 -0
- package/storybook-static/static/media/stackalt.dba9fbb3.svg +1 -0
- package/storybook-static/stories-Introduction-stories-mdx.03fceaf1.iframe.bundle.js +2 -0
- package/storybook-static/stories-Introduction-stories-mdx.03fceaf1.iframe.bundle.js.LICENSE.txt +9 -0
- package/storybook-static/stories.json +1 -0
- package/.yarn/install-state.gz +0 -0
- package/.yarnrc.yml +0 -1
- package/yarn-error.log +0 -12301
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/components/menu/menu-utils.ts","../../src/components/menu/menu-content.tsx","../../src/components/menu/menu-item.tsx","../../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/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/components/range/hooks.ts","../../src/context/theme/index.tsx","../../src/components/range/range-thumb.tsx","../../src/components/range/range-content.tsx","../../src/components/range/range-controls.tsx","../../src/components/range/index.tsx","../../src/context/loading/index.tsx","../../src/context/modal/index.tsx"],"sourcesContent":["export const generateId = () => {\n return `id-${Math.random().toString(36).slice(2, 11)}`;\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","/** 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\";\nimport { MenuButton } from \"./menu-button\";\nimport { MenuContent } from \"./menu-content\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n children: ReactNode;\n};\n\nconst ALLOWED_CHILD_COMPONENT = [MenuButton.name, MenuContent.name];\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","/** React */\nimport React, {\n Children,\n ComponentType,\n ReactNode,\n cloneElement,\n isValidElement,\n useMemo,\n} from \"react\";\n\n/** CSS */\nimport \"./index.css\";\nimport { MenuItem } from \"./menu-item\";\n\n/** Props */\ntype MenuWrapperProps = {\n children: ReactNode;\n};\n\nconst ALLOWED_CHILD_COMPONENT = [MenuItem.name];\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, 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 `link__${mode}`,\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","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,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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 { MutableRefObject, useEffect, useRef, useState } from \"react\";\n\n/** Props */\ntype Props = {\n allPositions?: number[];\n handlePosition: (\n pixelPosition: number,\n thumbPosition: number,\n index: number,\n isHandleSelected: boolean\n ) => void;\n handleOverContent: (value: string | number | undefined) => void;\n\n values: string[] | number[];\n};\n\ntype TimerProps = Props & {\n indexPosition: number;\n};\ntype ThumbProps = Props & {\n panelRef: MutableRefObject<null>;\n};\n\nexport function usePositions(panelRef: MutableRefObject<null>, initial: number) {\n const [allPositions, setAllPositions] = useState<number[] | undefined>(\n undefined\n );\n const [pixelPosition, setPixelPosition] = useState<string | undefined>(\n undefined\n );\n const [thumbPosition, setThumbPosition] = useState<string | undefined>(\n undefined\n );\n\n // find positions of all values\n useEffect(() => {\n if (panelRef?.current) {\n const current = panelRef.current as HTMLDivElement | null;\n\n if (current) {\n const valuesRef = Array.from(\n current.getElementsByClassName(\"range__content\")\n );\n const parentBounds = current.getBoundingClientRect();\n\n setAllPositions(\n valuesRef.map((values) => {\n const childBounds = values.getBoundingClientRect();\n return childBounds.right - parentBounds.x;\n })\n );\n }\n }\n }, []);\n\n // initial position\n useEffect(() => {\n if (allPositions) {\n setPixelPosition(`${allPositions[initial]}px`);\n setThumbPosition(\n `${\n allPositions[initial] -\n (allPositions[0] / 2 + getThumbBounds().width / 2)\n }px`\n );\n }\n }, [allPositions]);\n\n return {\n panelRef,\n allPositions,\n setAllPositions,\n pixelPosition,\n setPixelPosition,\n thumbPosition,\n setThumbPosition,\n };\n}\n\nexport function getThumbBounds() {\n const thumb = document.getElementsByClassName(\"range__thumb\")[0];\n return thumb.getBoundingClientRect();\n}\n\nexport function useTimer({\n allPositions,\n indexPosition,\n handlePosition,\n handleOverContent,\n values,\n}: TimerProps) {\n const timeoutRef = useRef(null);\n\n const [isPlay, setIsPlay] = useState<boolean>(false);\n // timer\n useEffect(() => {\n resetTimeout();\n\n if (isPlay) {\n if (allPositions) {\n timeoutRef.current = setTimeout(() => {\n const newThumbPosition =\n allPositions[indexPosition] +\n allPositions[0] / 2 -\n getThumbBounds().width / 2;\n\n handlePosition(\n allPositions[indexPosition + 1],\n newThumbPosition,\n indexPosition + 1,\n true\n );\n\n handleOverContent(values[indexPosition + 1]);\n }, 500) as any;\n\n if (indexPosition === allPositions.length - 1) {\n setIsPlay(false);\n }\n }\n }\n\n return () => {\n resetTimeout();\n };\n }, [isPlay, indexPosition]);\n\n const resetTimeout = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n const handlePlay = () => {\n setIsPlay(!isPlay);\n };\n\n const handleStop = () => {\n if (allPositions) {\n handlePosition(\n allPositions[0],\n allPositions[0] / 2 - getThumbBounds().width / 2,\n 0,\n false\n );\n\n setIsPlay(false);\n }\n };\n\n return { isPlay, setIsPlay, handlePlay, handleStop };\n}\n\nexport function useThumb({\n allPositions,\n panelRef,\n handlePosition,\n handleOverContent,\n values,\n}: ThumbProps) {\n // Add drag\n const startDragging = (event: globalThis.MouseEvent) => {\n if (allPositions && panelRef?.current) {\n const current = panelRef.current as HTMLDivElement | null;\n const panelBounds = current?.getBoundingClientRect() as DOMRect;\n const x = event.pageX - panelBounds.left;\n const absX = Math.abs(x);\n\n if (x >= 0 && x <= allPositions[allPositions.length - 1]) {\n const desiredPosition = allPositions.reduce((prev, curr) =>\n Math.abs(prev - absX) < Math.abs(curr - absX) ? prev : curr\n );\n const index = allPositions.indexOf(desiredPosition);\n\n const newThumbPosition =\n index === 0\n ? allPositions[index] -\n allPositions[0] / 2 -\n getThumbBounds().width / 2\n : allPositions[index - 1] +\n allPositions[0] / 2 -\n getThumbBounds().width / 2;\n\n handlePosition(desiredPosition, newThumbPosition, index, true);\n\n handleOverContent(values[index]);\n }\n }\n };\n\n const stopDragging = () => {\n window.removeEventListener(\"mousemove\", startDragging, false);\n window.removeEventListener(\"mouseup\", stopDragging, false);\n };\n\n const handleDownThumb = () => {\n window.addEventListener(\"mousemove\", startDragging, false);\n window.addEventListener(\"mouseup\", stopDragging, false);\n };\n return { handleDownThumb };\n}\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","/** React */\nimport {\n HtmlHTMLAttributes,\n} from \"react\";\n\n/** CSS */\nimport \"./index.css\";\n\nimport Button from \"../button\";\nimport { RiMapPinTimeFill, RiMapPinTimeLine } from \"react-icons/ri\";\nimport { useTheme } from \"../../context/theme\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n thumbPosition?: string;\n handleOverContent: (value: string | number | undefined) => void;\n handleDownThumb: () => void;\n};\n\nexport function RangeThumb({\n thumbPosition,\n handleOverContent,\n handleDownThumb\n}: Props) {\n const { dataTheme } = useTheme();\n\n \n return (\n <Button\n mode=\"icon\"\n className=\"range__thumb\"\n size=\"small\"\n style={{\n left: `${thumbPosition}`,\n }}\n onMouseOver={() => handleOverContent(thumbPosition)}\n onMouseDown={handleDownThumb}\n >\n {dataTheme === \"dark\" ? (\n <RiMapPinTimeFill size=\"1.5rem\" />\n ) : (\n <RiMapPinTimeLine size=\"1.5rem\" />\n )}\n </Button>\n );\n}\n","/** React */\nimport { HtmlHTMLAttributes } from \"react\";\n\n/** CSS */\nimport \"./index.css\";\n\nimport { getThumbBounds } from \"./hooks\";\nimport clsx from \"clsx\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n period?: number;\n values: string[] | number[];\n allPositions?: number[];\n handlePosition: (\n pixelPosition: number,\n thumbPosition: number,\n index: number,\n isHandleSelected?: boolean\n ) => void;\n handleOverContent: (value: string | number | undefined) => void;\n handleOutContent: () => void;\n over: string | number | undefined;\n};\n\nexport function RangeContent({\n period,\n values,\n allPositions,\n handlePosition,\n handleOverContent,\n handleOutContent,\n over,\n}: Props) {\n const handleClickRange = (index: number) => {\n if (allPositions) {\n const newThumbPosition =\n index === 0\n ? allPositions[index] -\n allPositions[0] / 2 -\n getThumbBounds().width / 2\n : allPositions[index - 1] +\n allPositions[0] / 2 -\n getThumbBounds().width / 2;\n handlePosition(allPositions[index], newThumbPosition, index, true);\n }\n };\n\n return period\n ? values.map((value: string | number | undefined, index: number) => (\n <div\n className=\"range__content range__content__period\"\n onClick={() => handleClickRange(index)}\n onMouseOver={() => handleOverContent(value)}\n onMouseOut={() => handleOutContent()}\n >\n {index % period === 0 ? (\n <>\n <div className=\"range__tick range__tick__large\"></div>\n <div\n className={clsx(\"range__value\", \"range__value__period\", {\n \"range__value--over\": value === over,\n })}\n >\n {value}\n </div>\n </>\n ) : (\n <>\n <div className=\"range__tick range__tick__small\"></div>\n {value === over && (\n <div\n className={clsx(\"range__value\", \"range__value__period\", {\n \"range__value--over\": value === over,\n })}\n >\n {value}\n </div>\n )}\n </>\n )}\n </div>\n ))\n : values.map((value: string | number | undefined, index: number) => (\n <div className=\"range__content\" onClick={() => handleClickRange(index)}>\n <div className=\"range__tick range__tick__large\"></div>\n <div className=\"range__value\">{value}</div>\n </div>\n ));\n}\n","/** React */\nimport { HtmlHTMLAttributes } from \"react\";\n\n/** CSS */\nimport \"./index.css\";\n\nimport Button from \"../button\";\nimport { IoPause, IoPlay, IoStop } from \"react-icons/io5\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n indexPosition: number;\n isPlay: boolean;\n handlePlay: () => void;\n handleStop: () => void;\n};\n\nexport function RangeControls({\n indexPosition,\n isPlay,\n handlePlay,\n handleStop,\n}: Props) {\n return (\n <>\n <Button\n mode=\"icon\"\n size=\"small\"\n className=\"range__play\"\n onClick={handlePlay}\n >\n {isPlay ? (\n <IoPause color=\"var(--color-primary-base)\" size={\"2rem\"} />\n ) : (\n <IoPlay color=\"var(--color-primary-base)\" size={\"2rem\"} />\n )}\n </Button>\n\n <Button\n mode=\"icon\"\n size=\"small\"\n className=\"range__play\"\n disabled={!isPlay && indexPosition === 0}\n onClick={handleStop}\n >\n <IoStop color=\"var(--color-primary-base)\" size={\"2rem\"} />\n </Button>\n </>\n );\n}\n","import \"./index.css\";\nimport { useRef, useState } from \"react\";\nimport { Range as RangeProps } from \"./index.types\";\nimport { usePositions, useThumb, useTimer } from \"./hooks\";\nimport { RangeThumb } from \"./range-thumb\";\nimport { RangeContent } from \"./range-content\";\nimport { RangeControls } from \"./range-controls\";\n\nexport function Range({ initial = 0, period, values, handleSelected }: RangeProps) {\n const panelRef = useRef(null);\n const [indexPosition, setIndexPosition] = useState<number>(initial);\n const [over, setOver] = useState<string | number | undefined>(undefined);\n\n const {\n allPositions,\n pixelPosition,\n setPixelPosition,\n thumbPosition,\n setThumbPosition,\n } = usePositions(panelRef, initial);\n\n const handlePosition = (\n pixelPosition: number,\n thumbPosition: number,\n index: number,\n isHandleSelected: boolean = false\n ) => {\n setPixelPosition(`${pixelPosition}px`);\n setThumbPosition(`${thumbPosition}px`);\n setIndexPosition(index);\n\n if (isHandleSelected && handleSelected) {\n handleSelected({\n value: values[index],\n index,\n position: pixelPosition,\n });\n }\n };\n\n const handleOverContent = (value: string | number | undefined) => {\n setOver(value);\n };\n\n const handleOutContent = () => {\n setOver(undefined);\n };\n\n const { isPlay, handlePlay, handleStop } = useTimer({\n allPositions,\n indexPosition,\n handlePosition,\n handleOverContent,\n values,\n });\n\n const { handleDownThumb } = useThumb({\n allPositions,\n panelRef,\n handlePosition,\n handleOverContent,\n values,\n });\n\n return (\n <div className=\"range\">\n <div ref={panelRef} className=\"range__panel\">\n <RangeContent\n period={period}\n values={values}\n allPositions={allPositions}\n handlePosition={handlePosition}\n handleOverContent={handleOverContent}\n handleOutContent={handleOutContent}\n over={over}\n />\n\n <div\n className=\"range__track\"\n style={{\n width: `${pixelPosition}`,\n }}\n ></div>\n <RangeThumb\n thumbPosition={thumbPosition}\n handleOverContent={handleOverContent}\n handleDownThumb={handleDownThumb}\n />\n </div>\n <RangeControls\n indexPosition={indexPosition}\n isPlay={isPlay}\n handlePlay={handlePlay}\n handleStop={handleStop}\n />\n </div>\n );\n}\n\nexport default Range;\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":["_jsx","ALLOWED_CHILD_COMPONENT","_jsxs","img","gif","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/components/menu/menu-utils.ts","../../src/components/menu/menu-content.tsx","../../src/components/menu/menu-item.tsx","../../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/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/components/range/hooks.ts","../../src/context/theme/index.tsx","../../src/components/range/range-thumb.tsx","../../src/components/range/range-content.tsx","../../src/components/range/range-controls.tsx","../../src/components/range/index.tsx","../../src/components/checkbox/index.tsx","../../src/context/loading/index.tsx","../../src/context/modal/index.tsx"],"sourcesContent":["export const generateId = () => {\n return `id-${Math.random().toString(36).slice(2, 11)}`;\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","/** 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\";\nimport { MenuButton } from \"./menu-button\";\nimport { MenuContent } from \"./menu-content\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n children: ReactNode;\n};\n\nconst ALLOWED_CHILD_COMPONENT = [MenuButton.name, MenuContent.name];\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","/** React */\nimport React, {\n Children,\n ComponentType,\n ReactNode,\n cloneElement,\n isValidElement,\n useMemo,\n} from \"react\";\n\n/** CSS */\nimport \"./index.css\";\nimport { MenuItem } from \"./menu-item\";\n\n/** Props */\ntype MenuWrapperProps = {\n children: ReactNode;\n};\n\nconst ALLOWED_CHILD_COMPONENT = [MenuItem.name];\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, 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 `link__${mode}`,\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","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,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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 { MutableRefObject, useEffect, useRef, useState } from \"react\";\n\n/** Props */\ntype Props = {\n allPositions?: number[];\n handlePosition: (\n pixelPosition: number,\n thumbPosition: number,\n index: number,\n isHandleSelected: boolean\n ) => void;\n handleOverContent: (value: string | number | undefined) => void;\n\n values: string[] | number[];\n};\n\ntype TimerProps = Props & {\n indexPosition: number;\n};\ntype ThumbProps = Props & {\n panelRef: MutableRefObject<null>;\n};\n\nexport function usePositions(panelRef: MutableRefObject<null>, initial: number) {\n const [allPositions, setAllPositions] = useState<number[] | undefined>(\n undefined\n );\n const [pixelPosition, setPixelPosition] = useState<string | undefined>(\n undefined\n );\n const [thumbPosition, setThumbPosition] = useState<string | undefined>(\n undefined\n );\n\n // find positions of all values\n useEffect(() => {\n if (panelRef?.current) {\n const current = panelRef.current as HTMLDivElement | null;\n\n if (current) {\n const valuesRef = Array.from(\n current.getElementsByClassName(\"range__content\")\n );\n const parentBounds = current.getBoundingClientRect();\n\n setAllPositions(\n valuesRef.map((values) => {\n const childBounds = values.getBoundingClientRect();\n return childBounds.right - parentBounds.x;\n })\n );\n }\n }\n }, []);\n\n // initial position\n useEffect(() => {\n if (allPositions) {\n setPixelPosition(`${allPositions[initial]}px`);\n setThumbPosition(\n `${\n allPositions[initial] -\n (allPositions[0] / 2 + getThumbBounds().width / 2)\n }px`\n );\n }\n }, [allPositions]);\n\n return {\n panelRef,\n allPositions,\n setAllPositions,\n pixelPosition,\n setPixelPosition,\n thumbPosition,\n setThumbPosition,\n };\n}\n\nexport function getThumbBounds() {\n const thumb = document.getElementsByClassName(\"range__thumb\")[0];\n return thumb.getBoundingClientRect();\n}\n\nexport function useTimer({\n allPositions,\n indexPosition,\n handlePosition,\n handleOverContent,\n values,\n}: TimerProps) {\n const timeoutRef = useRef(null);\n\n const [isPlay, setIsPlay] = useState<boolean>(false);\n // timer\n useEffect(() => {\n resetTimeout();\n\n if (isPlay) {\n if (allPositions) {\n timeoutRef.current = setTimeout(() => {\n const newThumbPosition =\n allPositions[indexPosition] +\n allPositions[0] / 2 -\n getThumbBounds().width / 2;\n\n handlePosition(\n allPositions[indexPosition + 1],\n newThumbPosition,\n indexPosition + 1,\n true\n );\n\n handleOverContent(values[indexPosition + 1]);\n }, 500) as any;\n\n if (indexPosition === allPositions.length - 1) {\n setIsPlay(false);\n }\n }\n }\n\n return () => {\n resetTimeout();\n };\n }, [isPlay, indexPosition]);\n\n const resetTimeout = () => {\n if (timeoutRef.current) {\n clearTimeout(timeoutRef.current);\n }\n };\n const handlePlay = () => {\n setIsPlay(!isPlay);\n };\n\n const handleStop = () => {\n if (allPositions) {\n handlePosition(\n allPositions[0],\n allPositions[0] / 2 - getThumbBounds().width / 2,\n 0,\n false\n );\n\n setIsPlay(false);\n }\n };\n\n return { isPlay, setIsPlay, handlePlay, handleStop };\n}\n\nexport function useThumb({\n allPositions,\n panelRef,\n handlePosition,\n handleOverContent,\n values,\n}: ThumbProps) {\n // Add drag\n const startDragging = (event: globalThis.MouseEvent) => {\n if (allPositions && panelRef?.current) {\n const current = panelRef.current as HTMLDivElement | null;\n const panelBounds = current?.getBoundingClientRect() as DOMRect;\n const x = event.pageX - panelBounds.left;\n const absX = Math.abs(x);\n\n if (x >= 0 && x <= allPositions[allPositions.length - 1]) {\n const desiredPosition = allPositions.reduce((prev, curr) =>\n Math.abs(prev - absX) < Math.abs(curr - absX) ? prev : curr\n );\n const index = allPositions.indexOf(desiredPosition);\n\n const newThumbPosition =\n index === 0\n ? allPositions[index] -\n allPositions[0] / 2 -\n getThumbBounds().width / 2\n : allPositions[index - 1] +\n allPositions[0] / 2 -\n getThumbBounds().width / 2;\n\n handlePosition(desiredPosition, newThumbPosition, index, true);\n\n handleOverContent(values[index]);\n }\n }\n };\n\n const stopDragging = () => {\n window.removeEventListener(\"mousemove\", startDragging, false);\n window.removeEventListener(\"mouseup\", stopDragging, false);\n };\n\n const handleDownThumb = () => {\n window.addEventListener(\"mousemove\", startDragging, false);\n window.addEventListener(\"mouseup\", stopDragging, false);\n };\n return { handleDownThumb };\n}\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","/** React */\nimport {\n HtmlHTMLAttributes,\n} from \"react\";\n\n/** CSS */\nimport \"./index.css\";\n\nimport Button from \"../button\";\nimport { RiMapPinTimeFill, RiMapPinTimeLine } from \"react-icons/ri\";\nimport { useTheme } from \"../../context/theme\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n thumbPosition?: string;\n handleOverContent: (value: string | number | undefined) => void;\n handleDownThumb: () => void;\n};\n\nexport function RangeThumb({\n thumbPosition,\n handleOverContent,\n handleDownThumb\n}: Props) {\n const { dataTheme } = useTheme();\n\n \n return (\n <Button\n mode=\"icon\"\n className=\"range__thumb\"\n size=\"small\"\n style={{\n left: `${thumbPosition}`,\n }}\n onMouseOver={() => handleOverContent(thumbPosition)}\n onMouseDown={handleDownThumb}\n >\n {dataTheme === \"dark\" ? (\n <RiMapPinTimeFill size=\"1.5rem\" />\n ) : (\n <RiMapPinTimeLine size=\"1.5rem\" />\n )}\n </Button>\n );\n}\n","/** React */\nimport { HtmlHTMLAttributes } from \"react\";\n\n/** CSS */\nimport \"./index.css\";\n\nimport { getThumbBounds } from \"./hooks\";\nimport clsx from \"clsx\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n period?: number;\n values: string[] | number[];\n allPositions?: number[];\n handlePosition: (\n pixelPosition: number,\n thumbPosition: number,\n index: number,\n isHandleSelected?: boolean\n ) => void;\n handleOverContent: (value: string | number | undefined) => void;\n handleOutContent: () => void;\n over: string | number | undefined;\n};\n\nexport function RangeContent({\n period,\n values,\n allPositions,\n handlePosition,\n handleOverContent,\n handleOutContent,\n over,\n}: Props) {\n const handleClickRange = (index: number) => {\n if (allPositions) {\n const newThumbPosition =\n index === 0\n ? allPositions[index] -\n allPositions[0] / 2 -\n getThumbBounds().width / 2\n : allPositions[index - 1] +\n allPositions[0] / 2 -\n getThumbBounds().width / 2;\n handlePosition(allPositions[index], newThumbPosition, index, true);\n }\n };\n\n return period\n ? values.map((value: string | number | undefined, index: number) => (\n <div\n className=\"range__content range__content__period\"\n onClick={() => handleClickRange(index)}\n onMouseOver={() => handleOverContent(value)}\n onMouseOut={() => handleOutContent()}\n >\n {index % period === 0 ? (\n <>\n <div className=\"range__tick range__tick__large\"></div>\n <div\n className={clsx(\"range__value\", \"range__value__period\", {\n \"range__value--over\": value === over,\n })}\n >\n {value}\n </div>\n </>\n ) : (\n <>\n <div className=\"range__tick range__tick__small\"></div>\n {value === over && (\n <div\n className={clsx(\"range__value\", \"range__value__period\", {\n \"range__value--over\": value === over,\n })}\n >\n {value}\n </div>\n )}\n </>\n )}\n </div>\n ))\n : values.map((value: string | number | undefined, index: number) => (\n <div className=\"range__content\" onClick={() => handleClickRange(index)}>\n <div className=\"range__tick range__tick__large\"></div>\n <div className=\"range__value\">{value}</div>\n </div>\n ));\n}\n","/** React */\nimport { HtmlHTMLAttributes } from \"react\";\n\n/** CSS */\nimport \"./index.css\";\n\nimport Button from \"../button\";\nimport { IoPause, IoPlay, IoStop } from \"react-icons/io5\";\n\n/** Props */\ntype Props = HtmlHTMLAttributes<HTMLDivElement> & {\n indexPosition: number;\n isPlay: boolean;\n handlePlay: () => void;\n handleStop: () => void;\n};\n\nexport function RangeControls({\n indexPosition,\n isPlay,\n handlePlay,\n handleStop,\n}: Props) {\n return (\n <>\n <Button\n mode=\"icon\"\n size=\"small\"\n className=\"range__play\"\n onClick={handlePlay}\n >\n {isPlay ? (\n <IoPause color=\"var(--color-primary-base)\" size={\"2rem\"} />\n ) : (\n <IoPlay color=\"var(--color-primary-base)\" size={\"2rem\"} />\n )}\n </Button>\n\n <Button\n mode=\"icon\"\n size=\"small\"\n className=\"range__play\"\n disabled={!isPlay && indexPosition === 0}\n onClick={handleStop}\n >\n <IoStop color=\"var(--color-primary-base)\" size={\"2rem\"} />\n </Button>\n </>\n );\n}\n","import \"./index.css\";\nimport { useRef, useState } from \"react\";\nimport { Range as RangeProps } from \"./index.types\";\nimport { usePositions, useThumb, useTimer } from \"./hooks\";\nimport { RangeThumb } from \"./range-thumb\";\nimport { RangeContent } from \"./range-content\";\nimport { RangeControls } from \"./range-controls\";\n\nexport function Range({ initial = 0, period, values, handleSelected }: RangeProps) {\n const panelRef = useRef(null);\n const [indexPosition, setIndexPosition] = useState<number>(initial);\n const [over, setOver] = useState<string | number | undefined>(undefined);\n\n const {\n allPositions,\n pixelPosition,\n setPixelPosition,\n thumbPosition,\n setThumbPosition,\n } = usePositions(panelRef, initial);\n\n const handlePosition = (\n pixelPosition: number,\n thumbPosition: number,\n index: number,\n isHandleSelected: boolean = false\n ) => {\n setPixelPosition(`${pixelPosition}px`);\n setThumbPosition(`${thumbPosition}px`);\n setIndexPosition(index);\n\n if (isHandleSelected && handleSelected) {\n handleSelected({\n value: values[index],\n index,\n position: pixelPosition,\n });\n }\n };\n\n const handleOverContent = (value: string | number | undefined) => {\n setOver(value);\n };\n\n const handleOutContent = () => {\n setOver(undefined);\n };\n\n const { isPlay, handlePlay, handleStop } = useTimer({\n allPositions,\n indexPosition,\n handlePosition,\n handleOverContent,\n values,\n });\n\n const { handleDownThumb } = useThumb({\n allPositions,\n panelRef,\n handlePosition,\n handleOverContent,\n values,\n });\n\n return (\n <div className=\"range\">\n <div ref={panelRef} className=\"range__panel\">\n <RangeContent\n period={period}\n values={values}\n allPositions={allPositions}\n handlePosition={handlePosition}\n handleOverContent={handleOverContent}\n handleOutContent={handleOutContent}\n over={over}\n />\n\n <div\n className=\"range__track\"\n style={{\n width: `${pixelPosition}`,\n }}\n ></div>\n <RangeThumb\n thumbPosition={thumbPosition}\n handleOverContent={handleOverContent}\n handleDownThumb={handleDownThumb}\n />\n </div>\n <RangeControls\n indexPosition={indexPosition}\n isPlay={isPlay}\n handlePlay={handlePlay}\n handleStop={handleStop}\n />\n </div>\n );\n}\n\nexport default Range;\n","import { Checkbox as CheckboxProps } from \"./index.types\";\nimport \"./index.css\";\nimport clsx from \"clsx\";\n\nexport function Checkbox({\n backgroundColor,\n classNameCheckbox = \"\",\n classNameGroup = \"\",\n classNameLabel,\n error = {\n is: false,\n message: \"\",\n },\n // icon,\n inputRef,\n isRequired,\n label,\n placeholder = \"Insert value\",\n styleGroup,\n ...rest\n}: CheckboxProps) {\n return (\n <div\n className={clsx(\"input-group\", classNameGroup)}\n style={{ backgroundColor: backgroundColor, ...styleGroup }}\n >\n <div className=\"checkbox__header\">\n {label && <label className={classNameLabel}>{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=\"checkbox-subgroup\">\n <input\n ref={inputRef}\n type=\"checkbox\"\n required={isRequired}\n className={clsx(\n \"checkbox\",\n error.is ? \"checkbox--error\" : \"\",\n // icon?.position === \"left\" && \"input--icon\",\n classNameCheckbox\n )}\n placeholder={placeholder}\n {...rest}\n />\n </div>\n </div>\n );\n}\n\nexport default Checkbox;\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":["_jsx","ALLOWED_CHILD_COMPONENT","_jsxs","img","gif","_Fragment"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geoinsight/react-components",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.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",
|
|
@@ -47,6 +47,5 @@
|
|
|
47
47
|
"rollup-plugin-import-css": "^3.1.0",
|
|
48
48
|
"storybook": "^7.6.10",
|
|
49
49
|
"tslib": "^2.5.0"
|
|
50
|
-
}
|
|
51
|
-
"packageManager": "yarn@4.0.2"
|
|
50
|
+
}
|
|
52
51
|
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see 145.bf71aa82.iframe.bundle.js.LICENSE.txt */
|
|
2
|
+
"use strict";(self.webpackChunk_geoinsight_react_components=self.webpackChunk_geoinsight_react_components||[]).push([[145],{"./node_modules/clsx/dist/clsx.m.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}__webpack_require__.d(__webpack_exports__,{A:()=>__WEBPACK_DEFAULT_EXPORT__});const __WEBPACK_DEFAULT_EXPORT__=function clsx(){for(var e,t,f=0,n="";f<arguments.length;)(e=arguments[f++])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}},"./node_modules/react-icons/fa/index.esm.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{k89:()=>FaAddressCard});var _lib__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/react-icons/lib/esm/index.js");function FaAddressCard(props){return(0,_lib__WEBPACK_IMPORTED_MODULE_0__.k5)({tag:"svg",attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h480c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-352 96c35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64 28.7-64 64-64zm112 236.8c0 10.6-10 19.2-22.4 19.2H86.4C74 384 64 375.4 64 364.8v-19.2c0-31.8 30.1-57.6 67.2-57.6h5c12.3 5.1 25.7 8 39.8 8s27.6-2.9 39.8-8h5c37.1 0 67.2 25.8 67.2 57.6v19.2zM512 312c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16zm0-64c0 4.4-3.6 8-8 8H360c-4.4 0-8-3.6-8-8v-16c0-4.4 3.6-8 8-8h144c4.4 0 8 3.6 8 8v16z"}}]})(props)}},"./node_modules/react-icons/lib/esm/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{k5:()=>GenIcon});var react=__webpack_require__("./node_modules/react/index.js"),DefaultContext={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},IconContext=react.createContext&&react.createContext(DefaultContext),__assign=function(){return __assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++)for(var p in s=arguments[i])Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p]);return t},__assign.apply(this,arguments)},__rest=function(s,e){var t={};for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0&&(t[p]=s[p]);if(null!=s&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(p=Object.getOwnPropertySymbols(s);i<p.length;i++)e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i])&&(t[p[i]]=s[p[i]])}return t};function Tree2Element(tree){return tree&&tree.map((function(node,i){return react.createElement(node.tag,__assign({key:i},node.attr),Tree2Element(node.child))}))}function GenIcon(data){return function(props){return react.createElement(IconBase,__assign({attr:__assign({},data.attr)},props),Tree2Element(data.child))}}function IconBase(props){var elem=function(conf){var className,attr=props.attr,size=props.size,title=props.title,svgProps=__rest(props,["attr","size","title"]),computedSize=size||conf.size||"1em";return conf.className&&(className=conf.className),props.className&&(className=(className?className+" ":"")+props.className),react.createElement("svg",__assign({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},conf.attr,attr,svgProps,{className,style:__assign(__assign({color:props.color||conf.color},conf.style),props.style),height:computedSize,width:computedSize,xmlns:"http://www.w3.org/2000/svg"}),title&&react.createElement("title",null,title),props.children)};return void 0!==IconContext?react.createElement(IconContext.Consumer,null,(function(conf){return elem(conf)})):elem(DefaultContext)}},"./node_modules/react/cjs/react-jsx-runtime.production.min.js":(__unused_webpack_module,exports,__webpack_require__)=>{var f=__webpack_require__("./node_modules/react/index.js"),k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};function q(c,a,g){var b,d={},e=null,h=null;for(b in void 0!==g&&(e=""+g),void 0!==a.key&&(e=""+a.key),void 0!==a.ref&&(h=a.ref),a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l,exports.jsx=q,exports.jsxs=q},"./node_modules/react/jsx-runtime.js":(module,__unused_webpack_exports,__webpack_require__)=>{module.exports=__webpack_require__("./node_modules/react/cjs/react-jsx-runtime.production.min.js")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_geoinsight_react_components=self.webpackChunk_geoinsight_react_components||[]).push([[203],{"./node_modules/react-icons/ri/index.esm.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{_ds:()=>RiMapPinTimeLine,d06:()=>RiMapPinTimeFill});var _lib__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/react-icons/lib/esm/index.js");function RiMapPinTimeFill(props){return(0,_lib__WEBPACK_IMPORTED_MODULE_0__.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M13 11V6H11V13H17V11H13ZM18.364 17.364L12 23.7279L5.63604 17.364C2.12132 13.8492 2.12132 8.15076 5.63604 4.63604C9.15076 1.12132 14.8492 1.12132 18.364 4.63604C21.8787 8.15076 21.8787 13.8492 18.364 17.364Z"}}]})(props)}function RiMapPinTimeLine(props){return(0,_lib__WEBPACK_IMPORTED_MODULE_0__.k5)({tag:"svg",attr:{viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M16.9497 15.9497C19.6834 13.2161 19.6834 8.78392 16.9497 6.05025C14.2161 3.31658 9.78392 3.31658 7.05025 6.05025C4.31658 8.78392 4.31658 13.2161 7.05025 15.9497L12 20.8995L16.9497 15.9497ZM12 23.7279L5.63604 17.364C2.12132 13.8492 2.12132 8.15076 5.63604 4.63604C9.15076 1.12132 14.8492 1.12132 18.364 4.63604C21.8787 8.15076 21.8787 13.8492 18.364 17.364L12 23.7279ZM13 11H17V13H11V6H13V11Z"}}]})(props)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_geoinsight_react_components=self.webpackChunk_geoinsight_react_components||[]).push([[286],{"./node_modules/react-hook-form/dist/index.esm.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{Op:()=>FormProvider,mN:()=>useForm,xI:()=>Controller,xW:()=>useFormContext});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/react/index.js"),isCheckBoxInput=element=>"checkbox"===element.type,isDateObject=value=>value instanceof Date,isNullOrUndefined=value=>null==value;const isObjectType=value=>"object"==typeof value;var isObject=value=>!isNullOrUndefined(value)&&!Array.isArray(value)&&isObjectType(value)&&!isDateObject(value),getEventValue=event=>isObject(event)&&event.target?isCheckBoxInput(event.target)?event.target.checked:event.target.value:event,isNameInFieldArray=(names,name)=>names.has((name=>name.substring(0,name.search(/\.\d+(\.|$)/))||name)(name)),isPlainObject=tempObject=>{const prototypeCopy=tempObject.constructor&&tempObject.constructor.prototype;return isObject(prototypeCopy)&&prototypeCopy.hasOwnProperty("isPrototypeOf")},isWeb="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function cloneObject(data){let copy;const isArray=Array.isArray(data);if(data instanceof Date)copy=new Date(data);else if(data instanceof Set)copy=new Set(data);else{if(isWeb&&(data instanceof Blob||data instanceof FileList)||!isArray&&!isObject(data))return data;if(copy=isArray?[]:{},isArray||isPlainObject(data))for(const key in data)data.hasOwnProperty(key)&&(copy[key]=cloneObject(data[key]));else copy=data}return copy}var compact=value=>Array.isArray(value)?value.filter(Boolean):[],isUndefined=val=>void 0===val,get=(object,path,defaultValue)=>{if(!path||!isObject(object))return defaultValue;const result=compact(path.split(/[,[\].]+?/)).reduce(((result,key)=>isNullOrUndefined(result)?result:result[key]),object);return isUndefined(result)||result===object?isUndefined(object[path])?defaultValue:object[path]:result},isBoolean=value=>"boolean"==typeof value,isKey=value=>/^\w*$/.test(value),stringToPath=input=>compact(input.replace(/["|']|\]/g,"").split(/\.|\[/)),set=(object,path,value)=>{let index=-1;const tempPath=isKey(path)?[path]:stringToPath(path),length=tempPath.length,lastIndex=length-1;for(;++index<length;){const key=tempPath[index];let newValue=value;if(index!==lastIndex){const objValue=object[key];newValue=isObject(objValue)||Array.isArray(objValue)?objValue:isNaN(+tempPath[index+1])?{}:[]}if("__proto__"===key)return;object[key]=newValue,object=object[key]}return object};const EVENTS={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},VALIDATION_MODE={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},INPUT_VALIDATION_RULES_max="max",INPUT_VALIDATION_RULES_min="min",INPUT_VALIDATION_RULES_maxLength="maxLength",INPUT_VALIDATION_RULES_minLength="minLength",INPUT_VALIDATION_RULES_pattern="pattern",INPUT_VALIDATION_RULES_required="required",INPUT_VALIDATION_RULES_validate="validate",HookFormContext=react__WEBPACK_IMPORTED_MODULE_0__.createContext(null),useFormContext=()=>react__WEBPACK_IMPORTED_MODULE_0__.useContext(HookFormContext),FormProvider=props=>{const{children,...data}=props;return react__WEBPACK_IMPORTED_MODULE_0__.createElement(HookFormContext.Provider,{value:data},children)};var getProxyFormState=(formState,control,localProxyFormState,isRoot=!0)=>{const result={defaultValues:control._defaultValues};for(const key in formState)Object.defineProperty(result,key,{get:()=>{const _key=key;return control._proxyFormState[_key]!==VALIDATION_MODE.all&&(control._proxyFormState[_key]=!isRoot||VALIDATION_MODE.all),localProxyFormState&&(localProxyFormState[_key]=!0),formState[_key]}});return result},isEmptyObject=value=>isObject(value)&&!Object.keys(value).length,shouldRenderFormState=(formStateData,_proxyFormState,updateFormState,isRoot)=>{updateFormState(formStateData);const{name,...formState}=formStateData;return isEmptyObject(formState)||Object.keys(formState).length>=Object.keys(_proxyFormState).length||Object.keys(formState).find((key=>_proxyFormState[key]===(!isRoot||VALIDATION_MODE.all)))},convertToArrayPayload=value=>Array.isArray(value)?value:[value],shouldSubscribeByName=(name,signalName,exact)=>!name||!signalName||name===signalName||convertToArrayPayload(name).some((currentName=>currentName&&(exact?currentName===signalName:currentName.startsWith(signalName)||signalName.startsWith(currentName))));function useSubscribe(props){const _props=react__WEBPACK_IMPORTED_MODULE_0__.useRef(props);_props.current=props,react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{const subscription=!props.disabled&&_props.current.subject&&_props.current.subject.subscribe({next:_props.current.next});return()=>{subscription&&subscription.unsubscribe()}}),[props.disabled])}var isString=value=>"string"==typeof value,generateWatchOutput=(names,_names,formValues,isGlobal,defaultValue)=>isString(names)?(isGlobal&&_names.watch.add(names),get(formValues,names,defaultValue)):Array.isArray(names)?names.map((fieldName=>(isGlobal&&_names.watch.add(fieldName),get(formValues,fieldName)))):(isGlobal&&(_names.watchAll=!0),formValues);function useController(props){const methods=useFormContext(),{name,disabled,control=methods.control,shouldUnregister}=props,isArrayField=isNameInFieldArray(control._names.array,name),value=function useWatch(props){const methods=useFormContext(),{control=methods.control,name,defaultValue,disabled,exact}=props||{},_name=react__WEBPACK_IMPORTED_MODULE_0__.useRef(name);_name.current=name,useSubscribe({disabled,subject:control._subjects.values,next:formState=>{shouldSubscribeByName(_name.current,formState.name,exact)&&updateValue(cloneObject(generateWatchOutput(_name.current,control._names,formState.values||control._formValues,!1,defaultValue)))}});const[value,updateValue]=react__WEBPACK_IMPORTED_MODULE_0__.useState(control._getWatch(name,defaultValue));return react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>control._removeUnmounted())),value}({control,name,defaultValue:get(control._formValues,name,get(control._defaultValues,name,props.defaultValue)),exact:!0}),formState=function useFormState(props){const methods=useFormContext(),{control=methods.control,disabled,name,exact}=props||{},[formState,updateFormState]=react__WEBPACK_IMPORTED_MODULE_0__.useState(control._formState),_mounted=react__WEBPACK_IMPORTED_MODULE_0__.useRef(!0),_localProxyFormState=react__WEBPACK_IMPORTED_MODULE_0__.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),_name=react__WEBPACK_IMPORTED_MODULE_0__.useRef(name);return _name.current=name,useSubscribe({disabled,next:value=>_mounted.current&&shouldSubscribeByName(_name.current,value.name,exact)&&shouldRenderFormState(value,_localProxyFormState.current,control._updateFormState)&&updateFormState({...control._formState,...value}),subject:control._subjects.state}),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>(_mounted.current=!0,_localProxyFormState.current.isValid&&control._updateValid(!0),()=>{_mounted.current=!1})),[control]),getProxyFormState(formState,control,_localProxyFormState.current,!1)}({control,name,exact:!0}),_registerProps=react__WEBPACK_IMPORTED_MODULE_0__.useRef(control.register(name,{...props.rules,value,...isBoolean(props.disabled)?{disabled:props.disabled}:{}}));return react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{const _shouldUnregisterField=control._options.shouldUnregister||shouldUnregister,updateMounted=(name,value)=>{const field=get(control._fields,name);field&&field._f&&(field._f.mount=value)};if(updateMounted(name,!0),_shouldUnregisterField){const value=cloneObject(get(control._options.defaultValues,name));set(control._defaultValues,name,value),isUndefined(get(control._formValues,name))&&set(control._formValues,name,value)}return()=>{(isArrayField?_shouldUnregisterField&&!control._state.action:_shouldUnregisterField)?control.unregister(name):updateMounted(name,!1)}}),[name,control,isArrayField,shouldUnregister]),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{get(control._fields,name)&&control._updateDisabledField({disabled,fields:control._fields,name,value:get(control._fields,name)._f.value})}),[disabled,name,control]),{field:{name,value,...isBoolean(disabled)||formState.disabled?{disabled:formState.disabled||disabled}:{},onChange:react__WEBPACK_IMPORTED_MODULE_0__.useCallback((event=>_registerProps.current.onChange({target:{value:getEventValue(event),name},type:EVENTS.CHANGE})),[name]),onBlur:react__WEBPACK_IMPORTED_MODULE_0__.useCallback((()=>_registerProps.current.onBlur({target:{value:get(control._formValues,name),name},type:EVENTS.BLUR})),[name,control]),ref:react__WEBPACK_IMPORTED_MODULE_0__.useCallback((elm=>{const field=get(control._fields,name);field&&elm&&(field._f.ref={focus:()=>elm.focus(),select:()=>elm.select(),setCustomValidity:message=>elm.setCustomValidity(message),reportValidity:()=>elm.reportValidity()})}),[control._fields,name])},formState,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!get(formState.errors,name)},isDirty:{enumerable:!0,get:()=>!!get(formState.dirtyFields,name)},isTouched:{enumerable:!0,get:()=>!!get(formState.touchedFields,name)},isValidating:{enumerable:!0,get:()=>!!get(formState.validatingFields,name)},error:{enumerable:!0,get:()=>get(formState.errors,name)}})}}const Controller=props=>props.render(useController(props));var appendErrors=(name,validateAllFieldCriteria,errors,type,message)=>validateAllFieldCriteria?{...errors[name],types:{...errors[name]&&errors[name].types?errors[name].types:{},[type]:message||!0}}:{},getValidationModes=mode=>({isOnSubmit:!mode||mode===VALIDATION_MODE.onSubmit,isOnBlur:mode===VALIDATION_MODE.onBlur,isOnChange:mode===VALIDATION_MODE.onChange,isOnAll:mode===VALIDATION_MODE.all,isOnTouch:mode===VALIDATION_MODE.onTouched}),isWatched=(name,_names,isBlurEvent)=>!isBlurEvent&&(_names.watchAll||_names.watch.has(name)||[..._names.watch].some((watchName=>name.startsWith(watchName)&&/^\.\w+/.test(name.slice(watchName.length)))));const iterateFieldsByAction=(fields,action,fieldsNames,abortEarly)=>{for(const key of fieldsNames||Object.keys(fields)){const field=get(fields,key);if(field){const{_f,...currentField}=field;if(_f){if(_f.refs&&_f.refs[0]&&action(_f.refs[0],key)&&!abortEarly)break;if(_f.ref&&action(_f.ref,_f.name)&&!abortEarly)break;iterateFieldsByAction(currentField,action)}else isObject(currentField)&&iterateFieldsByAction(currentField,action)}}};var updateFieldArrayRootError=(errors,error,name)=>{const fieldArrayErrors=convertToArrayPayload(get(errors,name));return set(fieldArrayErrors,"root",error[name]),set(errors,name,fieldArrayErrors),errors},isFileInput=element=>"file"===element.type,isFunction=value=>"function"==typeof value,isHTMLElement=value=>{if(!isWeb)return!1;const owner=value?value.ownerDocument:0;return value instanceof(owner&&owner.defaultView?owner.defaultView.HTMLElement:HTMLElement)},isMessage=value=>isString(value),isRadioInput=element=>"radio"===element.type,isRegex=value=>value instanceof RegExp;const defaultResult={value:!1,isValid:!1},validResult={value:!0,isValid:!0};var getCheckboxValue=options=>{if(Array.isArray(options)){if(options.length>1){const values=options.filter((option=>option&&option.checked&&!option.disabled)).map((option=>option.value));return{value:values,isValid:!!values.length}}return options[0].checked&&!options[0].disabled?options[0].attributes&&!isUndefined(options[0].attributes.value)?isUndefined(options[0].value)||""===options[0].value?validResult:{value:options[0].value,isValid:!0}:validResult:defaultResult}return defaultResult};const defaultReturn={isValid:!1,value:null};var getRadioValue=options=>Array.isArray(options)?options.reduce(((previous,option)=>option&&option.checked&&!option.disabled?{isValid:!0,value:option.value}:previous),defaultReturn):defaultReturn;function getValidateError(result,ref,type="validate"){if(isMessage(result)||Array.isArray(result)&&result.every(isMessage)||isBoolean(result)&&!result)return{type,message:isMessage(result)?result:"",ref}}var getValueAndMessage=validationData=>isObject(validationData)&&!isRegex(validationData)?validationData:{value:validationData,message:""},validateField=async(field,formValues,validateAllFieldCriteria,shouldUseNativeValidation,isFieldArray)=>{const{ref,refs,required,maxLength,minLength,min,max,pattern,validate,name,valueAsNumber,mount,disabled}=field._f,inputValue=get(formValues,name);if(!mount||disabled)return{};const inputRef=refs?refs[0]:ref,setCustomValidity=message=>{shouldUseNativeValidation&&inputRef.reportValidity&&(inputRef.setCustomValidity(isBoolean(message)?"":message||""),inputRef.reportValidity())},error={},isRadio=isRadioInput(ref),isCheckBox=isCheckBoxInput(ref),isRadioOrCheckbox=isRadio||isCheckBox,isEmpty=(valueAsNumber||isFileInput(ref))&&isUndefined(ref.value)&&isUndefined(inputValue)||isHTMLElement(ref)&&""===ref.value||""===inputValue||Array.isArray(inputValue)&&!inputValue.length,appendErrorsCurry=appendErrors.bind(null,name,validateAllFieldCriteria,error),getMinMaxMessage=(exceedMax,maxLengthMessage,minLengthMessage,maxType=INPUT_VALIDATION_RULES_maxLength,minType=INPUT_VALIDATION_RULES_minLength)=>{const message=exceedMax?maxLengthMessage:minLengthMessage;error[name]={type:exceedMax?maxType:minType,message,ref,...appendErrorsCurry(exceedMax?maxType:minType,message)}};if(isFieldArray?!Array.isArray(inputValue)||!inputValue.length:required&&(!isRadioOrCheckbox&&(isEmpty||isNullOrUndefined(inputValue))||isBoolean(inputValue)&&!inputValue||isCheckBox&&!getCheckboxValue(refs).isValid||isRadio&&!getRadioValue(refs).isValid)){const{value,message}=isMessage(required)?{value:!!required,message:required}:getValueAndMessage(required);if(value&&(error[name]={type:INPUT_VALIDATION_RULES_required,message,ref:inputRef,...appendErrorsCurry(INPUT_VALIDATION_RULES_required,message)},!validateAllFieldCriteria))return setCustomValidity(message),error}if(!(isEmpty||isNullOrUndefined(min)&&isNullOrUndefined(max))){let exceedMax,exceedMin;const maxOutput=getValueAndMessage(max),minOutput=getValueAndMessage(min);if(isNullOrUndefined(inputValue)||isNaN(inputValue)){const valueDate=ref.valueAsDate||new Date(inputValue),convertTimeToDate=time=>new Date((new Date).toDateString()+" "+time),isTime="time"==ref.type,isWeek="week"==ref.type;isString(maxOutput.value)&&inputValue&&(exceedMax=isTime?convertTimeToDate(inputValue)>convertTimeToDate(maxOutput.value):isWeek?inputValue>maxOutput.value:valueDate>new Date(maxOutput.value)),isString(minOutput.value)&&inputValue&&(exceedMin=isTime?convertTimeToDate(inputValue)<convertTimeToDate(minOutput.value):isWeek?inputValue<minOutput.value:valueDate<new Date(minOutput.value))}else{const valueNumber=ref.valueAsNumber||(inputValue?+inputValue:inputValue);isNullOrUndefined(maxOutput.value)||(exceedMax=valueNumber>maxOutput.value),isNullOrUndefined(minOutput.value)||(exceedMin=valueNumber<minOutput.value)}if((exceedMax||exceedMin)&&(getMinMaxMessage(!!exceedMax,maxOutput.message,minOutput.message,INPUT_VALIDATION_RULES_max,INPUT_VALIDATION_RULES_min),!validateAllFieldCriteria))return setCustomValidity(error[name].message),error}if((maxLength||minLength)&&!isEmpty&&(isString(inputValue)||isFieldArray&&Array.isArray(inputValue))){const maxLengthOutput=getValueAndMessage(maxLength),minLengthOutput=getValueAndMessage(minLength),exceedMax=!isNullOrUndefined(maxLengthOutput.value)&&inputValue.length>+maxLengthOutput.value,exceedMin=!isNullOrUndefined(minLengthOutput.value)&&inputValue.length<+minLengthOutput.value;if((exceedMax||exceedMin)&&(getMinMaxMessage(exceedMax,maxLengthOutput.message,minLengthOutput.message),!validateAllFieldCriteria))return setCustomValidity(error[name].message),error}if(pattern&&!isEmpty&&isString(inputValue)){const{value:patternValue,message}=getValueAndMessage(pattern);if(isRegex(patternValue)&&!inputValue.match(patternValue)&&(error[name]={type:INPUT_VALIDATION_RULES_pattern,message,ref,...appendErrorsCurry(INPUT_VALIDATION_RULES_pattern,message)},!validateAllFieldCriteria))return setCustomValidity(message),error}if(validate)if(isFunction(validate)){const validateError=getValidateError(await validate(inputValue,formValues),inputRef);if(validateError&&(error[name]={...validateError,...appendErrorsCurry(INPUT_VALIDATION_RULES_validate,validateError.message)},!validateAllFieldCriteria))return setCustomValidity(validateError.message),error}else if(isObject(validate)){let validationResult={};for(const key in validate){if(!isEmptyObject(validationResult)&&!validateAllFieldCriteria)break;const validateError=getValidateError(await validate[key](inputValue,formValues),inputRef,key);validateError&&(validationResult={...validateError,...appendErrorsCurry(key,validateError.message)},setCustomValidity(validateError.message),validateAllFieldCriteria&&(error[name]=validationResult))}if(!isEmptyObject(validationResult)&&(error[name]={ref:inputRef,...validationResult},!validateAllFieldCriteria))return error}return setCustomValidity(!0),error};function unset(object,path){const paths=Array.isArray(path)?path:isKey(path)?[path]:stringToPath(path),childObject=1===paths.length?object:function baseGet(object,updatePath){const length=updatePath.slice(0,-1).length;let index=0;for(;index<length;)object=isUndefined(object)?index++:object[updatePath[index++]];return object}(object,paths),index=paths.length-1,key=paths[index];return childObject&&delete childObject[key],0!==index&&(isObject(childObject)&&isEmptyObject(childObject)||Array.isArray(childObject)&&function isEmptyArray(obj){for(const key in obj)if(obj.hasOwnProperty(key)&&!isUndefined(obj[key]))return!1;return!0}(childObject))&&unset(object,paths.slice(0,-1)),object}var createSubject=()=>{let _observers=[];return{get observers(){return _observers},next:value=>{for(const observer of _observers)observer.next&&observer.next(value)},subscribe:observer=>(_observers.push(observer),{unsubscribe:()=>{_observers=_observers.filter((o=>o!==observer))}}),unsubscribe:()=>{_observers=[]}}},isPrimitive=value=>isNullOrUndefined(value)||!isObjectType(value);function deepEqual(object1,object2){if(isPrimitive(object1)||isPrimitive(object2))return object1===object2;if(isDateObject(object1)&&isDateObject(object2))return object1.getTime()===object2.getTime();const keys1=Object.keys(object1),keys2=Object.keys(object2);if(keys1.length!==keys2.length)return!1;for(const key of keys1){const val1=object1[key];if(!keys2.includes(key))return!1;if("ref"!==key){const val2=object2[key];if(isDateObject(val1)&&isDateObject(val2)||isObject(val1)&&isObject(val2)||Array.isArray(val1)&&Array.isArray(val2)?!deepEqual(val1,val2):val1!==val2)return!1}}return!0}var isMultipleSelect=element=>"select-multiple"===element.type,isRadioOrCheckbox=ref=>isRadioInput(ref)||isCheckBoxInput(ref),live=ref=>isHTMLElement(ref)&&ref.isConnected,objectHasFunction=data=>{for(const key in data)if(isFunction(data[key]))return!0;return!1};function markFieldsDirty(data,fields={}){const isParentNodeArray=Array.isArray(data);if(isObject(data)||isParentNodeArray)for(const key in data)Array.isArray(data[key])||isObject(data[key])&&!objectHasFunction(data[key])?(fields[key]=Array.isArray(data[key])?[]:{},markFieldsDirty(data[key],fields[key])):isNullOrUndefined(data[key])||(fields[key]=!0);return fields}function getDirtyFieldsFromDefaultValues(data,formValues,dirtyFieldsFromValues){const isParentNodeArray=Array.isArray(data);if(isObject(data)||isParentNodeArray)for(const key in data)Array.isArray(data[key])||isObject(data[key])&&!objectHasFunction(data[key])?isUndefined(formValues)||isPrimitive(dirtyFieldsFromValues[key])?dirtyFieldsFromValues[key]=Array.isArray(data[key])?markFieldsDirty(data[key],[]):{...markFieldsDirty(data[key])}:getDirtyFieldsFromDefaultValues(data[key],isNullOrUndefined(formValues)?{}:formValues[key],dirtyFieldsFromValues[key]):dirtyFieldsFromValues[key]=!deepEqual(data[key],formValues[key]);return dirtyFieldsFromValues}var getDirtyFields=(defaultValues,formValues)=>getDirtyFieldsFromDefaultValues(defaultValues,formValues,markFieldsDirty(formValues)),getFieldValueAs=(value,{valueAsNumber,valueAsDate,setValueAs})=>isUndefined(value)?value:valueAsNumber?""===value?NaN:value?+value:value:valueAsDate&&isString(value)?new Date(value):setValueAs?setValueAs(value):value;function getFieldValue(_f){const ref=_f.ref;if(!(_f.refs?_f.refs.every((ref=>ref.disabled)):ref.disabled))return isFileInput(ref)?ref.files:isRadioInput(ref)?getRadioValue(_f.refs).value:isMultipleSelect(ref)?[...ref.selectedOptions].map((({value})=>value)):isCheckBoxInput(ref)?getCheckboxValue(_f.refs).value:getFieldValueAs(isUndefined(ref.value)?_f.ref.value:ref.value,_f)}var getResolverOptions=(fieldsNames,_fields,criteriaMode,shouldUseNativeValidation)=>{const fields={};for(const name of fieldsNames){const field=get(_fields,name);field&&set(fields,name,field._f)}return{criteriaMode,names:[...fieldsNames],fields,shouldUseNativeValidation}},getRuleValue=rule=>isUndefined(rule)?rule:isRegex(rule)?rule.source:isObject(rule)?isRegex(rule.value)?rule.value.source:rule.value:rule,hasValidation=options=>options.mount&&(options.required||options.min||options.max||options.maxLength||options.minLength||options.pattern||options.validate);function schemaErrorLookup(errors,_fields,name){const error=get(errors,name);if(error||isKey(name))return{error,name};const names=name.split(".");for(;names.length;){const fieldName=names.join("."),field=get(_fields,fieldName),foundError=get(errors,fieldName);if(field&&!Array.isArray(field)&&name!==fieldName)return{name};if(foundError&&foundError.type)return{name:fieldName,error:foundError};names.pop()}return{name}}var skipValidation=(isBlurEvent,isTouched,isSubmitted,reValidateMode,mode)=>!mode.isOnAll&&(!isSubmitted&&mode.isOnTouch?!(isTouched||isBlurEvent):(isSubmitted?reValidateMode.isOnBlur:mode.isOnBlur)?!isBlurEvent:!(isSubmitted?reValidateMode.isOnChange:mode.isOnChange)||isBlurEvent),unsetEmptyArray=(ref,name)=>!compact(get(ref,name)).length&&unset(ref,name);const defaultOptions={mode:VALIDATION_MODE.onSubmit,reValidateMode:VALIDATION_MODE.onChange,shouldFocusError:!0};function createFormControl(props={}){let delayErrorCallback,_options={...defaultOptions,...props},_formState={submitCount:0,isDirty:!1,isLoading:isFunction(_options.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:_options.errors||{},disabled:_options.disabled||!1},_fields={},_defaultValues=(isObject(_options.defaultValues)||isObject(_options.values))&&cloneObject(_options.defaultValues||_options.values)||{},_formValues=_options.shouldUnregister?{}:cloneObject(_defaultValues),_state={action:!1,mount:!1,watch:!1},_names={mount:new Set,unMount:new Set,array:new Set,watch:new Set},timer=0;const _proxyFormState={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},_subjects={values:createSubject(),array:createSubject(),state:createSubject()},validationModeBeforeSubmit=getValidationModes(_options.mode),validationModeAfterSubmit=getValidationModes(_options.reValidateMode),shouldDisplayAllAssociatedErrors=_options.criteriaMode===VALIDATION_MODE.all,_updateValid=async shouldUpdateValid=>{if(_proxyFormState.isValid||shouldUpdateValid){const isValid=_options.resolver?isEmptyObject((await _executeSchema()).errors):await executeBuiltInValidation(_fields,!0);isValid!==_formState.isValid&&_subjects.state.next({isValid})}},_updateIsValidating=(names,isValidating)=>{(_proxyFormState.isValidating||_proxyFormState.validatingFields)&&((names||Array.from(_names.mount)).forEach((name=>{name&&(isValidating?set(_formState.validatingFields,name,isValidating):unset(_formState.validatingFields,name))})),_subjects.state.next({validatingFields:_formState.validatingFields,isValidating:!isEmptyObject(_formState.validatingFields)}))},updateValidAndValue=(name,shouldSkipSetValueAs,value,ref)=>{const field=get(_fields,name);if(field){const defaultValue=get(_formValues,name,isUndefined(value)?get(_defaultValues,name):value);isUndefined(defaultValue)||ref&&ref.defaultChecked||shouldSkipSetValueAs?set(_formValues,name,shouldSkipSetValueAs?defaultValue:getFieldValue(field._f)):setFieldValue(name,defaultValue),_state.mount&&_updateValid()}},updateTouchAndDirty=(name,fieldValue,isBlurEvent,shouldDirty,shouldRender)=>{let shouldUpdateField=!1,isPreviousDirty=!1;const output={name},disabledField=!!(get(_fields,name)&&get(_fields,name)._f&&get(_fields,name)._f.disabled);if(!isBlurEvent||shouldDirty){_proxyFormState.isDirty&&(isPreviousDirty=_formState.isDirty,_formState.isDirty=output.isDirty=_getDirty(),shouldUpdateField=isPreviousDirty!==output.isDirty);const isCurrentFieldPristine=disabledField||deepEqual(get(_defaultValues,name),fieldValue);isPreviousDirty=!(disabledField||!get(_formState.dirtyFields,name)),isCurrentFieldPristine||disabledField?unset(_formState.dirtyFields,name):set(_formState.dirtyFields,name,!0),output.dirtyFields=_formState.dirtyFields,shouldUpdateField=shouldUpdateField||_proxyFormState.dirtyFields&&isPreviousDirty!==!isCurrentFieldPristine}if(isBlurEvent){const isPreviousFieldTouched=get(_formState.touchedFields,name);isPreviousFieldTouched||(set(_formState.touchedFields,name,isBlurEvent),output.touchedFields=_formState.touchedFields,shouldUpdateField=shouldUpdateField||_proxyFormState.touchedFields&&isPreviousFieldTouched!==isBlurEvent)}return shouldUpdateField&&shouldRender&&_subjects.state.next(output),shouldUpdateField?output:{}},shouldRenderByError=(name,isValid,error,fieldState)=>{const previousFieldError=get(_formState.errors,name),shouldUpdateValid=_proxyFormState.isValid&&isBoolean(isValid)&&_formState.isValid!==isValid;var callback;if(props.delayError&&error?(callback=()=>((name,error)=>{set(_formState.errors,name,error),_subjects.state.next({errors:_formState.errors})})(name,error),delayErrorCallback=wait=>{clearTimeout(timer),timer=setTimeout(callback,wait)},delayErrorCallback(props.delayError)):(clearTimeout(timer),delayErrorCallback=null,error?set(_formState.errors,name,error):unset(_formState.errors,name)),(error?!deepEqual(previousFieldError,error):previousFieldError)||!isEmptyObject(fieldState)||shouldUpdateValid){const updatedFormState={...fieldState,...shouldUpdateValid&&isBoolean(isValid)?{isValid}:{},errors:_formState.errors,name};_formState={..._formState,...updatedFormState},_subjects.state.next(updatedFormState)}},_executeSchema=async name=>{_updateIsValidating(name,!0);const result=await _options.resolver(_formValues,_options.context,getResolverOptions(name||_names.mount,_fields,_options.criteriaMode,_options.shouldUseNativeValidation));return _updateIsValidating(name),result},executeBuiltInValidation=async(fields,shouldOnlyCheckValid,context={valid:!0})=>{for(const name in fields){const field=fields[name];if(field){const{_f,...fieldValue}=field;if(_f){const isFieldArrayRoot=_names.array.has(_f.name);_updateIsValidating([name],!0);const fieldError=await validateField(field,_formValues,shouldDisplayAllAssociatedErrors,_options.shouldUseNativeValidation&&!shouldOnlyCheckValid,isFieldArrayRoot);if(_updateIsValidating([name]),fieldError[_f.name]&&(context.valid=!1,shouldOnlyCheckValid))break;!shouldOnlyCheckValid&&(get(fieldError,_f.name)?isFieldArrayRoot?updateFieldArrayRootError(_formState.errors,fieldError,_f.name):set(_formState.errors,_f.name,fieldError[_f.name]):unset(_formState.errors,_f.name))}!isEmptyObject(fieldValue)&&await executeBuiltInValidation(fieldValue,shouldOnlyCheckValid,context)}}return context.valid},_getDirty=(name,data)=>(name&&data&&set(_formValues,name,data),!deepEqual(getValues(),_defaultValues)),_getWatch=(names,defaultValue,isGlobal)=>generateWatchOutput(names,_names,{..._state.mount?_formValues:isUndefined(defaultValue)?_defaultValues:isString(names)?{[names]:defaultValue}:defaultValue},isGlobal,defaultValue),setFieldValue=(name,value,options={})=>{const field=get(_fields,name);let fieldValue=value;if(field){const fieldReference=field._f;fieldReference&&(!fieldReference.disabled&&set(_formValues,name,getFieldValueAs(value,fieldReference)),fieldValue=isHTMLElement(fieldReference.ref)&&isNullOrUndefined(value)?"":value,isMultipleSelect(fieldReference.ref)?[...fieldReference.ref.options].forEach((optionRef=>optionRef.selected=fieldValue.includes(optionRef.value))):fieldReference.refs?isCheckBoxInput(fieldReference.ref)?fieldReference.refs.length>1?fieldReference.refs.forEach((checkboxRef=>(!checkboxRef.defaultChecked||!checkboxRef.disabled)&&(checkboxRef.checked=Array.isArray(fieldValue)?!!fieldValue.find((data=>data===checkboxRef.value)):fieldValue===checkboxRef.value))):fieldReference.refs[0]&&(fieldReference.refs[0].checked=!!fieldValue):fieldReference.refs.forEach((radioRef=>radioRef.checked=radioRef.value===fieldValue)):isFileInput(fieldReference.ref)?fieldReference.ref.value="":(fieldReference.ref.value=fieldValue,fieldReference.ref.type||_subjects.values.next({name,values:{..._formValues}})))}(options.shouldDirty||options.shouldTouch)&&updateTouchAndDirty(name,fieldValue,options.shouldTouch,options.shouldDirty,!0),options.shouldValidate&&trigger(name)},setValues=(name,value,options)=>{for(const fieldKey in value){const fieldValue=value[fieldKey],fieldName=`${name}.${fieldKey}`,field=get(_fields,fieldName);!_names.array.has(name)&&isPrimitive(fieldValue)&&(!field||field._f)||isDateObject(fieldValue)?setFieldValue(fieldName,fieldValue,options):setValues(fieldName,fieldValue,options)}},setValue=(name,value,options={})=>{const field=get(_fields,name),isFieldArray=_names.array.has(name),cloneValue=cloneObject(value);set(_formValues,name,cloneValue),isFieldArray?(_subjects.array.next({name,values:{..._formValues}}),(_proxyFormState.isDirty||_proxyFormState.dirtyFields)&&options.shouldDirty&&_subjects.state.next({name,dirtyFields:getDirtyFields(_defaultValues,_formValues),isDirty:_getDirty(name,cloneValue)})):!field||field._f||isNullOrUndefined(cloneValue)?setFieldValue(name,cloneValue,options):setValues(name,cloneValue,options),isWatched(name,_names)&&_subjects.state.next({..._formState}),_subjects.values.next({name:_state.mount?name:void 0,values:{..._formValues}})},onChange=async event=>{_state.mount=!0;const target=event.target;let name=target.name,isFieldValueUpdated=!0;const field=get(_fields,name),_updateIsFieldValueUpdated=fieldValue=>{isFieldValueUpdated=Number.isNaN(fieldValue)||fieldValue===get(_formValues,name,fieldValue)};if(field){let error,isValid;const fieldValue=target.type?getFieldValue(field._f):getEventValue(event),isBlurEvent=event.type===EVENTS.BLUR||event.type===EVENTS.FOCUS_OUT,shouldSkipValidation=!hasValidation(field._f)&&!_options.resolver&&!get(_formState.errors,name)&&!field._f.deps||skipValidation(isBlurEvent,get(_formState.touchedFields,name),_formState.isSubmitted,validationModeAfterSubmit,validationModeBeforeSubmit),watched=isWatched(name,_names,isBlurEvent);set(_formValues,name,fieldValue),isBlurEvent?(field._f.onBlur&&field._f.onBlur(event),delayErrorCallback&&delayErrorCallback(0)):field._f.onChange&&field._f.onChange(event);const fieldState=updateTouchAndDirty(name,fieldValue,isBlurEvent,!1),shouldRender=!isEmptyObject(fieldState)||watched;if(!isBlurEvent&&_subjects.values.next({name,type:event.type,values:{..._formValues}}),shouldSkipValidation)return _proxyFormState.isValid&&_updateValid(),shouldRender&&_subjects.state.next({name,...watched?{}:fieldState});if(!isBlurEvent&&watched&&_subjects.state.next({..._formState}),_options.resolver){const{errors}=await _executeSchema([name]);if(_updateIsFieldValueUpdated(fieldValue),isFieldValueUpdated){const previousErrorLookupResult=schemaErrorLookup(_formState.errors,_fields,name),errorLookupResult=schemaErrorLookup(errors,_fields,previousErrorLookupResult.name||name);error=errorLookupResult.error,name=errorLookupResult.name,isValid=isEmptyObject(errors)}}else _updateIsValidating([name],!0),error=(await validateField(field,_formValues,shouldDisplayAllAssociatedErrors,_options.shouldUseNativeValidation))[name],_updateIsValidating([name]),_updateIsFieldValueUpdated(fieldValue),isFieldValueUpdated&&(error?isValid=!1:_proxyFormState.isValid&&(isValid=await executeBuiltInValidation(_fields,!0)));isFieldValueUpdated&&(field._f.deps&&trigger(field._f.deps),shouldRenderByError(name,isValid,error,fieldState))}},_focusInput=(ref,key)=>{if(get(_formState.errors,key)&&ref.focus)return ref.focus(),1},trigger=async(name,options={})=>{let isValid,validationResult;const fieldNames=convertToArrayPayload(name);if(_options.resolver){const errors=await(async names=>{const{errors}=await _executeSchema(names);if(names)for(const name of names){const error=get(errors,name);error?set(_formState.errors,name,error):unset(_formState.errors,name)}else _formState.errors=errors;return errors})(isUndefined(name)?name:fieldNames);isValid=isEmptyObject(errors),validationResult=name?!fieldNames.some((name=>get(errors,name))):isValid}else name?(validationResult=(await Promise.all(fieldNames.map((async fieldName=>{const field=get(_fields,fieldName);return await executeBuiltInValidation(field&&field._f?{[fieldName]:field}:field)})))).every(Boolean),(validationResult||_formState.isValid)&&_updateValid()):validationResult=isValid=await executeBuiltInValidation(_fields);return _subjects.state.next({...!isString(name)||_proxyFormState.isValid&&isValid!==_formState.isValid?{}:{name},..._options.resolver||!name?{isValid}:{},errors:_formState.errors}),options.shouldFocus&&!validationResult&&iterateFieldsByAction(_fields,_focusInput,name?fieldNames:_names.mount),validationResult},getValues=fieldNames=>{const values={..._state.mount?_formValues:_defaultValues};return isUndefined(fieldNames)?values:isString(fieldNames)?get(values,fieldNames):fieldNames.map((name=>get(values,name)))},getFieldState=(name,formState)=>({invalid:!!get((formState||_formState).errors,name),isDirty:!!get((formState||_formState).dirtyFields,name),error:get((formState||_formState).errors,name),isValidating:!!get(_formState.validatingFields,name),isTouched:!!get((formState||_formState).touchedFields,name)}),setError=(name,error,options)=>{const ref=(get(_fields,name,{_f:{}})._f||{}).ref,currentError=get(_formState.errors,name)||{},{ref:currentRef,message,type,...restOfErrorTree}=currentError;set(_formState.errors,name,{...restOfErrorTree,...error,ref}),_subjects.state.next({name,errors:_formState.errors,isValid:!1}),options&&options.shouldFocus&&ref&&ref.focus&&ref.focus()},unregister=(name,options={})=>{for(const fieldName of name?convertToArrayPayload(name):_names.mount)_names.mount.delete(fieldName),_names.array.delete(fieldName),options.keepValue||(unset(_fields,fieldName),unset(_formValues,fieldName)),!options.keepError&&unset(_formState.errors,fieldName),!options.keepDirty&&unset(_formState.dirtyFields,fieldName),!options.keepTouched&&unset(_formState.touchedFields,fieldName),!options.keepIsValidating&&unset(_formState.validatingFields,fieldName),!_options.shouldUnregister&&!options.keepDefaultValue&&unset(_defaultValues,fieldName);_subjects.values.next({values:{..._formValues}}),_subjects.state.next({..._formState,...options.keepDirty?{isDirty:_getDirty()}:{}}),!options.keepIsValid&&_updateValid()},_updateDisabledField=({disabled,name,field,fields,value})=>{if(isBoolean(disabled)&&_state.mount||disabled){const inputValue=disabled?void 0:isUndefined(value)?getFieldValue(field?field._f:get(fields,name)._f):value;set(_formValues,name,inputValue),updateTouchAndDirty(name,inputValue,!1,!1,!0)}},register=(name,options={})=>{let field=get(_fields,name);const disabledIsDefined=isBoolean(options.disabled);return set(_fields,name,{...field||{},_f:{...field&&field._f?field._f:{ref:{name}},name,mount:!0,...options}}),_names.mount.add(name),field?_updateDisabledField({field,disabled:options.disabled,name,value:options.value}):updateValidAndValue(name,!0,options.value),{...disabledIsDefined?{disabled:options.disabled}:{},..._options.progressive?{required:!!options.required,min:getRuleValue(options.min),max:getRuleValue(options.max),minLength:getRuleValue(options.minLength),maxLength:getRuleValue(options.maxLength),pattern:getRuleValue(options.pattern)}:{},name,onChange,onBlur:onChange,ref:ref=>{if(ref){register(name,options),field=get(_fields,name);const fieldRef=isUndefined(ref.value)&&ref.querySelectorAll&&ref.querySelectorAll("input,select,textarea")[0]||ref,radioOrCheckbox=isRadioOrCheckbox(fieldRef),refs=field._f.refs||[];if(radioOrCheckbox?refs.find((option=>option===fieldRef)):fieldRef===field._f.ref)return;set(_fields,name,{_f:{...field._f,...radioOrCheckbox?{refs:[...refs.filter(live),fieldRef,...Array.isArray(get(_defaultValues,name))?[{}]:[]],ref:{type:fieldRef.type,name}}:{ref:fieldRef}}}),updateValidAndValue(name,!1,void 0,fieldRef)}else field=get(_fields,name,{}),field._f&&(field._f.mount=!1),(_options.shouldUnregister||options.shouldUnregister)&&(!isNameInFieldArray(_names.array,name)||!_state.action)&&_names.unMount.add(name)}}},_focusError=()=>_options.shouldFocusError&&iterateFieldsByAction(_fields,_focusInput,_names.mount),handleSubmit=(onValid,onInvalid)=>async e=>{let onValidError;e&&(e.preventDefault&&e.preventDefault(),e.persist&&e.persist());let fieldValues=cloneObject(_formValues);if(_subjects.state.next({isSubmitting:!0}),_options.resolver){const{errors,values}=await _executeSchema();_formState.errors=errors,fieldValues=values}else await executeBuiltInValidation(_fields);if(unset(_formState.errors,"root"),isEmptyObject(_formState.errors)){_subjects.state.next({errors:{}});try{await onValid(fieldValues,e)}catch(error){onValidError=error}}else onInvalid&&await onInvalid({..._formState.errors},e),_focusError(),setTimeout(_focusError);if(_subjects.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:isEmptyObject(_formState.errors)&&!onValidError,submitCount:_formState.submitCount+1,errors:_formState.errors}),onValidError)throw onValidError},_reset=(formValues,keepStateOptions={})=>{const updatedValues=formValues?cloneObject(formValues):_defaultValues,cloneUpdatedValues=cloneObject(updatedValues),isEmptyResetValues=isEmptyObject(formValues),values=isEmptyResetValues?_defaultValues:cloneUpdatedValues;if(keepStateOptions.keepDefaultValues||(_defaultValues=updatedValues),!keepStateOptions.keepValues){if(keepStateOptions.keepDirtyValues)for(const fieldName of _names.mount)get(_formState.dirtyFields,fieldName)?set(values,fieldName,get(_formValues,fieldName)):setValue(fieldName,get(values,fieldName));else{if(isWeb&&isUndefined(formValues))for(const name of _names.mount){const field=get(_fields,name);if(field&&field._f){const fieldReference=Array.isArray(field._f.refs)?field._f.refs[0]:field._f.ref;if(isHTMLElement(fieldReference)){const form=fieldReference.closest("form");if(form){form.reset();break}}}}_fields={}}_formValues=props.shouldUnregister?keepStateOptions.keepDefaultValues?cloneObject(_defaultValues):{}:cloneObject(values),_subjects.array.next({values:{...values}}),_subjects.values.next({values:{...values}})}_names={mount:keepStateOptions.keepDirtyValues?_names.mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},_state.mount=!_proxyFormState.isValid||!!keepStateOptions.keepIsValid||!!keepStateOptions.keepDirtyValues,_state.watch=!!props.shouldUnregister,_subjects.state.next({submitCount:keepStateOptions.keepSubmitCount?_formState.submitCount:0,isDirty:!isEmptyResetValues&&(keepStateOptions.keepDirty?_formState.isDirty:!(!keepStateOptions.keepDefaultValues||deepEqual(formValues,_defaultValues))),isSubmitted:!!keepStateOptions.keepIsSubmitted&&_formState.isSubmitted,dirtyFields:isEmptyResetValues?{}:keepStateOptions.keepDirtyValues?keepStateOptions.keepDefaultValues&&_formValues?getDirtyFields(_defaultValues,_formValues):_formState.dirtyFields:keepStateOptions.keepDefaultValues&&formValues?getDirtyFields(_defaultValues,formValues):keepStateOptions.keepDirty?_formState.dirtyFields:{},touchedFields:keepStateOptions.keepTouched?_formState.touchedFields:{},errors:keepStateOptions.keepErrors?_formState.errors:{},isSubmitSuccessful:!!keepStateOptions.keepIsSubmitSuccessful&&_formState.isSubmitSuccessful,isSubmitting:!1})},reset=(formValues,keepStateOptions)=>_reset(isFunction(formValues)?formValues(_formValues):formValues,keepStateOptions);return{control:{register,unregister,getFieldState,handleSubmit,setError,_executeSchema,_getWatch,_getDirty,_updateValid,_removeUnmounted:()=>{for(const name of _names.unMount){const field=get(_fields,name);field&&(field._f.refs?field._f.refs.every((ref=>!live(ref))):!live(field._f.ref))&&unregister(name)}_names.unMount=new Set},_updateFieldArray:(name,values=[],method,args,shouldSetValues=!0,shouldUpdateFieldsAndState=!0)=>{if(args&&method){if(_state.action=!0,shouldUpdateFieldsAndState&&Array.isArray(get(_fields,name))){const fieldValues=method(get(_fields,name),args.argA,args.argB);shouldSetValues&&set(_fields,name,fieldValues)}if(shouldUpdateFieldsAndState&&Array.isArray(get(_formState.errors,name))){const errors=method(get(_formState.errors,name),args.argA,args.argB);shouldSetValues&&set(_formState.errors,name,errors),unsetEmptyArray(_formState.errors,name)}if(_proxyFormState.touchedFields&&shouldUpdateFieldsAndState&&Array.isArray(get(_formState.touchedFields,name))){const touchedFields=method(get(_formState.touchedFields,name),args.argA,args.argB);shouldSetValues&&set(_formState.touchedFields,name,touchedFields)}_proxyFormState.dirtyFields&&(_formState.dirtyFields=getDirtyFields(_defaultValues,_formValues)),_subjects.state.next({name,isDirty:_getDirty(name,values),dirtyFields:_formState.dirtyFields,errors:_formState.errors,isValid:_formState.isValid})}else set(_formValues,name,values)},_updateDisabledField,_getFieldArray:name=>compact(get(_state.mount?_formValues:_defaultValues,name,props.shouldUnregister?get(_defaultValues,name,[]):[])),_reset,_resetDefaultValues:()=>isFunction(_options.defaultValues)&&_options.defaultValues().then((values=>{reset(values,_options.resetOptions),_subjects.state.next({isLoading:!1})})),_updateFormState:updatedFormState=>{_formState={..._formState,...updatedFormState}},_disableForm:disabled=>{isBoolean(disabled)&&(_subjects.state.next({disabled}),iterateFieldsByAction(_fields,((ref,name)=>{const currentField=get(_fields,name);currentField&&(ref.disabled=currentField._f.disabled||disabled,Array.isArray(currentField._f.refs)&¤tField._f.refs.forEach((inputRef=>{inputRef.disabled=currentField._f.disabled||disabled})))}),0,!1))},_subjects,_proxyFormState,_setErrors:errors=>{_formState.errors=errors,_subjects.state.next({errors:_formState.errors,isValid:!1})},get _fields(){return _fields},get _formValues(){return _formValues},get _state(){return _state},set _state(value){_state=value},get _defaultValues(){return _defaultValues},get _names(){return _names},set _names(value){_names=value},get _formState(){return _formState},set _formState(value){_formState=value},get _options(){return _options},set _options(value){_options={..._options,...value}}},trigger,register,handleSubmit,watch:(name,defaultValue)=>isFunction(name)?_subjects.values.subscribe({next:payload=>name(_getWatch(void 0,defaultValue),payload)}):_getWatch(name,defaultValue,!0),setValue,getValues,reset,resetField:(name,options={})=>{get(_fields,name)&&(isUndefined(options.defaultValue)?setValue(name,cloneObject(get(_defaultValues,name))):(setValue(name,options.defaultValue),set(_defaultValues,name,cloneObject(options.defaultValue))),options.keepTouched||unset(_formState.touchedFields,name),options.keepDirty||(unset(_formState.dirtyFields,name),_formState.isDirty=options.defaultValue?_getDirty(name,cloneObject(get(_defaultValues,name))):_getDirty()),options.keepError||(unset(_formState.errors,name),_proxyFormState.isValid&&_updateValid()),_subjects.state.next({..._formState}))},clearErrors:name=>{name&&convertToArrayPayload(name).forEach((inputName=>unset(_formState.errors,inputName))),_subjects.state.next({errors:name?_formState.errors:{}})},unregister,setError,setFocus:(name,options={})=>{const field=get(_fields,name),fieldReference=field&&field._f;if(fieldReference){const fieldRef=fieldReference.refs?fieldReference.refs[0]:fieldReference.ref;fieldRef.focus&&(fieldRef.focus(),options.shouldSelect&&fieldRef.select())}},getFieldState}}function useForm(props={}){const _formControl=react__WEBPACK_IMPORTED_MODULE_0__.useRef(),_values=react__WEBPACK_IMPORTED_MODULE_0__.useRef(),[formState,updateFormState]=react__WEBPACK_IMPORTED_MODULE_0__.useState({isDirty:!1,isValidating:!1,isLoading:isFunction(props.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:props.errors||{},disabled:props.disabled||!1,defaultValues:isFunction(props.defaultValues)?void 0:props.defaultValues});_formControl.current||(_formControl.current={...createFormControl(props),formState});const control=_formControl.current.control;return control._options=props,useSubscribe({subject:control._subjects.state,next:value=>{shouldRenderFormState(value,control._proxyFormState,control._updateFormState,!0)&&updateFormState({...control._formState})}}),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>control._disableForm(props.disabled)),[control,props.disabled]),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{if(control._proxyFormState.isDirty){const isDirty=control._getDirty();isDirty!==formState.isDirty&&control._subjects.state.next({isDirty})}}),[control,formState.isDirty]),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{props.values&&!deepEqual(props.values,_values.current)?(control._reset(props.values,control._options.resetOptions),_values.current=props.values,updateFormState((state=>({...state})))):control._resetDefaultValues()}),[props.values,control]),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{props.errors&&control._setErrors(props.errors)}),[props.errors,control]),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{control._state.mount||(control._updateValid(),control._state.mount=!0),control._state.watch&&(control._state.watch=!1,control._subjects.state.next({...control._formState})),control._removeUnmounted()})),react__WEBPACK_IMPORTED_MODULE_0__.useEffect((()=>{props.shouldUnregister&&control._subjects.values.next({values:control._getWatch()})}),[props.shouldUnregister,control]),_formControl.current.formState=getProxyFormState(formState,control),_formControl.current}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_geoinsight_react_components=self.webpackChunk_geoinsight_react_components||[]).push([[294],{"./node_modules/@mdx-js/react/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{MDXContext:()=>_lib_index_js__WEBPACK_IMPORTED_MODULE_0__.BN,MDXProvider:()=>_lib_index_js__WEBPACK_IMPORTED_MODULE_0__.xA,useMDXComponents:()=>_lib_index_js__WEBPACK_IMPORTED_MODULE_0__.RP,withMDXComponents:()=>_lib_index_js__WEBPACK_IMPORTED_MODULE_0__.gz});var _lib_index_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/@mdx-js/react/lib/index.js")},"./node_modules/@mdx-js/react/lib/index.js":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.d(__webpack_exports__,{BN:()=>MDXContext,RP:()=>useMDXComponents,gz:()=>withMDXComponents,xA:()=>MDXProvider});var react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("./node_modules/react/index.js");const MDXContext=react__WEBPACK_IMPORTED_MODULE_0__.createContext({});function withMDXComponents(Component){return function boundMDXComponent(props){const allComponents=useMDXComponents(props.components);return react__WEBPACK_IMPORTED_MODULE_0__.createElement(Component,{...props,allComponents})}}function useMDXComponents(components){const contextComponents=react__WEBPACK_IMPORTED_MODULE_0__.useContext(MDXContext);return react__WEBPACK_IMPORTED_MODULE_0__.useMemo((()=>"function"==typeof components?components(contextComponents):{...contextComponents,...components}),[contextComponents,components])}const emptyObject={};function MDXProvider({components,children,disableParentContext}){let allComponents;return allComponents=disableParentContext?"function"==typeof components?components({}):components||emptyObject:useMDXComponents(components),react__WEBPACK_IMPORTED_MODULE_0__.createElement(MDXContext.Provider,{value:allComponents},children)}}}]);
|