@geoinsight/react-components 1.1.4 → 1.1.5
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/index.css +4 -105
- package/dist/cjs/index.js +5 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.css +4 -105
- package/dist/esm/index.js +5 -5
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.css
CHANGED
|
@@ -555,10 +555,6 @@ h6 {
|
|
|
555
555
|
outline: none;
|
|
556
556
|
}
|
|
557
557
|
|
|
558
|
-
.input::placeholder {
|
|
559
|
-
color: color-mix(in srgb, var(--color-light-base) 0.5, transparent);
|
|
560
|
-
}
|
|
561
|
-
|
|
562
558
|
.input:disabled {
|
|
563
559
|
opacity: 0.5;
|
|
564
560
|
}
|
|
@@ -590,104 +586,6 @@ h6 {
|
|
|
590
586
|
border-radius: 2em;
|
|
591
587
|
padding: 2px;
|
|
592
588
|
}
|
|
593
|
-
|
|
594
|
-
/* <div class="checkbox-wrapper-7">
|
|
595
|
-
<input class="tgl tgl-ios" id="cb2-7" type="checkbox"/>
|
|
596
|
-
<label class="tgl-btn" for="cb2-7">
|
|
597
|
-
</div>
|
|
598
|
-
|
|
599
|
-
<style>
|
|
600
|
-
.checkbox-wrapper-7 .tgl {
|
|
601
|
-
display: none;
|
|
602
|
-
}
|
|
603
|
-
.checkbox-wrapper-7 .tgl,
|
|
604
|
-
.checkbox-wrapper-7 .tgl:after,
|
|
605
|
-
.checkbox-wrapper-7 .tgl:before,
|
|
606
|
-
.checkbox-wrapper-7 .tgl *,
|
|
607
|
-
.checkbox-wrapper-7 .tgl *:after,
|
|
608
|
-
.checkbox-wrapper-7 .tgl *:before,
|
|
609
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn {
|
|
610
|
-
box-sizing: border-box;
|
|
611
|
-
}
|
|
612
|
-
.checkbox-wrapper-7 .tgl::-moz-selection,
|
|
613
|
-
.checkbox-wrapper-7 .tgl:after::-moz-selection,
|
|
614
|
-
.checkbox-wrapper-7 .tgl:before::-moz-selection,
|
|
615
|
-
.checkbox-wrapper-7 .tgl *::-moz-selection,
|
|
616
|
-
.checkbox-wrapper-7 .tgl *:after::-moz-selection,
|
|
617
|
-
.checkbox-wrapper-7 .tgl *:before::-moz-selection,
|
|
618
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn::-moz-selection,
|
|
619
|
-
.checkbox-wrapper-7 .tgl::selection,
|
|
620
|
-
.checkbox-wrapper-7 .tgl:after::selection,
|
|
621
|
-
.checkbox-wrapper-7 .tgl:before::selection,
|
|
622
|
-
.checkbox-wrapper-7 .tgl *::selection,
|
|
623
|
-
.checkbox-wrapper-7 .tgl *:after::selection,
|
|
624
|
-
.checkbox-wrapper-7 .tgl *:before::selection,
|
|
625
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn::selection {
|
|
626
|
-
background: none;
|
|
627
|
-
}
|
|
628
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn {
|
|
629
|
-
outline: 0;
|
|
630
|
-
display: block;
|
|
631
|
-
width: 4em;
|
|
632
|
-
height: 2em;
|
|
633
|
-
position: relative;
|
|
634
|
-
cursor: pointer;
|
|
635
|
-
-webkit-user-select: none;
|
|
636
|
-
-moz-user-select: none;
|
|
637
|
-
-ms-user-select: none;
|
|
638
|
-
user-select: none;
|
|
639
|
-
}
|
|
640
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn:after,
|
|
641
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn:before {
|
|
642
|
-
position: relative;
|
|
643
|
-
display: block;
|
|
644
|
-
content: "";
|
|
645
|
-
width: 50%;
|
|
646
|
-
height: 100%;
|
|
647
|
-
}
|
|
648
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn:after {
|
|
649
|
-
left: 0;
|
|
650
|
-
}
|
|
651
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn:before {
|
|
652
|
-
display: none;
|
|
653
|
-
}
|
|
654
|
-
.checkbox-wrapper-7 .tgl:checked + .tgl-btn:after {
|
|
655
|
-
left: 50%;
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
.checkbox-wrapper-7 .tgl-ios + .tgl-btn {
|
|
659
|
-
background: #fbfbfb;
|
|
660
|
-
border-radius: 2em;
|
|
661
|
-
padding: 2px;
|
|
662
|
-
transition: all 0.4s ease;
|
|
663
|
-
border: 1px solid #e8eae9;
|
|
664
|
-
}
|
|
665
|
-
.checkbox-wrapper-7 .tgl-ios + .tgl-btn:after {
|
|
666
|
-
border-radius: 2em;
|
|
667
|
-
background: #fbfbfb;
|
|
668
|
-
transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;
|
|
669
|
-
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 4px 0 rgba(0, 0, 0, 0.08);
|
|
670
|
-
}
|
|
671
|
-
.checkbox-wrapper-7 .tgl-ios + .tgl-btn:hover:after {
|
|
672
|
-
will-change: padding;
|
|
673
|
-
}
|
|
674
|
-
.checkbox-wrapper-7 .tgl-ios + .tgl-btn:active {
|
|
675
|
-
box-shadow: inset 0 0 0 2em #e8eae9;
|
|
676
|
-
}
|
|
677
|
-
.checkbox-wrapper-7 .tgl-ios + .tgl-btn:active:after {
|
|
678
|
-
padding-right: 0.8em;
|
|
679
|
-
}
|
|
680
|
-
.checkbox-wrapper-7 .tgl-ios:checked + .tgl-btn {
|
|
681
|
-
background: #86d993;
|
|
682
|
-
}
|
|
683
|
-
.checkbox-wrapper-7 .tgl-ios:checked + .tgl-btn:active {
|
|
684
|
-
box-shadow: none;
|
|
685
|
-
}
|
|
686
|
-
.checkbox-wrapper-7 .tgl-ios:checked + .tgl-btn:active:after {
|
|
687
|
-
margin-left: -0.8em;
|
|
688
|
-
}
|
|
689
|
-
</style> */
|
|
690
|
-
|
|
691
589
|
.textarea {
|
|
692
590
|
margin-bottom: var(--spacing-8);
|
|
693
591
|
position: relative;
|
|
@@ -814,7 +712,7 @@ h6 {
|
|
|
814
712
|
}
|
|
815
713
|
|
|
816
714
|
.select--focus {
|
|
817
|
-
border-radius:
|
|
715
|
+
border-radius: var(--spacing-8) var(--spacing-8) 0 0 !important;
|
|
818
716
|
}
|
|
819
717
|
|
|
820
718
|
.select:focus {
|
|
@@ -840,10 +738,11 @@ h6 {
|
|
|
840
738
|
}
|
|
841
739
|
|
|
842
740
|
.select__arrow-button--open.button {
|
|
843
|
-
border-bottom-right-radius:
|
|
741
|
+
border-bottom-right-radius: 0 !important;
|
|
844
742
|
}
|
|
845
743
|
|
|
846
744
|
.select__box {
|
|
745
|
+
background-color: var(--color-main-background);
|
|
847
746
|
border-radius: 0 0 var(--spacing-8) var(--spacing-8);
|
|
848
747
|
border: 2px solid var(--color-primary-bright);
|
|
849
748
|
box-sizing: border-box;
|
|
@@ -864,7 +763,7 @@ h6 {
|
|
|
864
763
|
.select__option.button {
|
|
865
764
|
border: none;
|
|
866
765
|
border-radius: 0;
|
|
867
|
-
|
|
766
|
+
justify-content: start;
|
|
868
767
|
width: 100%;
|
|
869
768
|
}
|
|
870
769
|
|
package/dist/cjs/index.js
CHANGED
|
@@ -232,6 +232,8 @@ function Select({ inputClassName = "", classNameGroup = "", options, styleGroup,
|
|
|
232
232
|
};
|
|
233
233
|
const handleValueChange = (e) => {
|
|
234
234
|
const { value } = e.target;
|
|
235
|
+
const filtered = options?.filter((v) => v.includes(value));
|
|
236
|
+
setFilteredOptions(filtered);
|
|
235
237
|
setValue(value);
|
|
236
238
|
};
|
|
237
239
|
const handleSelectChange = (e) => {
|
|
@@ -258,9 +260,9 @@ function Select({ inputClassName = "", classNameGroup = "", options, styleGroup,
|
|
|
258
260
|
}, inputClassName), value: value, error: error, required: isRequired, placeholder: "Select a value", icon: {
|
|
259
261
|
className: "select__arrow",
|
|
260
262
|
element: (jsxRuntime.jsx(Button, { type: "button", size: "large", mode: "icon", className: clsx("select__arrow-button", {
|
|
261
|
-
"select__arrow-button--open": isOpen
|
|
263
|
+
"select__arrow-button--open": isOpen,
|
|
262
264
|
}), onClick: handleToggle, onBlur: handleClose, children: jsxRuntime.jsx(tfi.TfiAngleDown, { size: 24 }) })),
|
|
263
|
-
}, onFocus: handleOpen, onBlur: handleInputClose, onChange: handleValueChange, autoComplete: "off", label: label, labelClassName: labelClassName, ...rest }), isOpen && (jsxRuntime.jsx("div", { className: "select__box", children: filteredOptions.map((option, index) => (jsxRuntime.jsx(Button, { type: "button", mode: "secondary", className: "select__option", name: option, onMouseDown: handleSelectChange, children: option }, `index-${index}`))) }))] }));
|
|
265
|
+
}, onFocus: handleOpen, onBlur: handleInputClose, onChange: handleValueChange, autoComplete: "off", label: label, labelClassName: labelClassName, ...rest }), isOpen && (jsxRuntime.jsx("div", { className: "select__box", children: filteredOptions.map((option, index) => (jsxRuntime.jsx(Button, { type: "button", mode: "secondary", className: "select__option", name: option, title: option, onMouseDown: handleSelectChange, children: option }, `index-${index}`))) }))] }));
|
|
264
266
|
}
|
|
265
267
|
|
|
266
268
|
function FormSelect({ name, isRequired, error, fieldsToReset, label, ...rest }) {
|
|
@@ -534,9 +536,7 @@ function Checkbox({ backgroundColor, classNameCheckbox = "", classNameGroup = ""
|
|
|
534
536
|
},
|
|
535
537
|
// icon,
|
|
536
538
|
inputRef, isRequired, label, placeholder = "Insert value", styleGroup, ...rest }) {
|
|
537
|
-
return (jsxRuntime.jsxs("div", { className: clsx("input-group", classNameGroup), style: { backgroundColor: backgroundColor, ...styleGroup }, children: [jsxRuntime.jsxs("div", { className: "checkbox__header", children: [label && jsxRuntime.jsx("label", { className: classNameLabel, children: label }), error && error.is && (jsxRuntime.jsx("span", { className: "input__header--error", children: error.message }))] }), jsxRuntime.jsx("div", { className: "checkbox-subgroup", children: jsxRuntime.jsx("input", { ref: inputRef, type: "checkbox", required: isRequired, className: clsx("checkbox", error.is ? "checkbox--error" : "",
|
|
538
|
-
// icon?.position === "left" && "input--icon",
|
|
539
|
-
classNameCheckbox), placeholder: placeholder, ...rest }) })] }));
|
|
539
|
+
return (jsxRuntime.jsxs("div", { className: clsx("input-group", classNameGroup), style: { backgroundColor: backgroundColor, ...styleGroup }, children: [jsxRuntime.jsxs("div", { className: "checkbox__header", children: [label && jsxRuntime.jsx("label", { className: classNameLabel, children: label }), error && error.is && (jsxRuntime.jsx("span", { className: "input__header--error", children: error.message }))] }), jsxRuntime.jsx("div", { className: "checkbox-subgroup", children: jsxRuntime.jsx("input", { ref: inputRef, type: "checkbox", required: isRequired, className: clsx("checkbox", error.is ? "checkbox--error" : "", classNameCheckbox), placeholder: placeholder, ...rest }) })] }));
|
|
540
540
|
}
|
|
541
541
|
|
|
542
542
|
const LoadingContext = react.createContext(undefined);
|
package/dist/cjs/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/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,R0lGODlhUABLAPcAAAAAAABYjwBYkAZclAlglhBmnRdrohpxpR50qSB1qiF2rCd7sFKg1Fak11ur3G667HO/8HXB8nnE9nvI9n3J+IDL+4PP/4XP/4PQ/4XQ/wBXjwBZjwRckghglQphmAxjmQ1kmg1lnBJpnxhtoip/sjGEuDSHu1+u3mSy4mWz5WW05Gu56W+77XLA8HfF9HnG9XzI94DL+oDN+wBXkARbkgVdkwdelAZglQlglwxkmRduohltoxtxph90qiB3qiV4rih8sS+EtkiYylKh1VWl13bD8nfE83vI933K+YHN+oHM/AFZkQVckwVdlAhelQpimA9lmxBlnD6Qw1Wk1l2s3WGv32Sy5Gi25mq46Wy562+87HrH+H7K+oHM+4LN/QNckhdsohpwpR90qSZ5ryh8sDGDuEGUxkqazVCi1GOy42i45m+962+97XK97nfD83jF83rG9n3H93vJ9n7K+QdelgtimBFmnBdtoxpxpiN2qyV5rSp9sy+DuDGFtzSHujeKvTmMvz2Pw0OUx0mbzk2e0F+t3oHN+4PP/YTP/gFYkAZdkwlflwxjmg1kmxRqoB9zqSZ6rjmMvjuOwUOVyEeZy02c0FKi1FSm1len2Vuq3Fys3mGv4Waz5Gq36W6763O/8XLB8HbE83jE9ILO/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBFAAAACH+IENyZWF0ZWQgd2l0aCBlemdpZi5jb20gR0lGIG1ha2VyACwAAAAAUABLAAAF/yAgjmRpnkGqruzpvnAso2zdzniuk3av7sAgzdcTCI9BIhHJxCmVzejrCZVaRVSl8SrNVrlM7xMcFn/JOzMVDVQ/K5m4fE4H0u/zC8HtU+D/cTqAfxR8PRSDeIKJdw6GLAiMijOSeAuPKhKVd5SbeXuPB56cMKN0E5iapnIxq3MNhgaucy8Xs3IJfBG3rCe8cgNqBb9xFya2xBJqEMSBJc1xDGLD0Bkk1XEIXg/Y1iLd4JvP4eSAJuXotOfNyOmT6+547bOlt/PxcsYv+H/3njL8qnUyZYGYP0n6AJo6GC9HQDoMBy16mE/cjooUByFL6HBTRHcTM5rqKHLkwJImW4Bl/MhI4SqW6DjCcwWzXD2KNVv6QklsJ09eM3/eGif014iiza5VywkuaECmOpWKhGrOJ86eLn5RFXgTaSWVXiWdDFvV5dVRIR9STUu2F1tAGLqxuYhtLt2kdu8azauXHt++rv7aGSoYyFa3hd+KTTx4lEzGOFJCBpxoshCN6qSEAAAh+QQBFAAAACwAAAAAUABLAAAG/0CAcEgsGo+ZZOaibCqP0Kh0SkU6r86qdsstYr/PrnhsBJsz5PT4DFa7tWzzex6Ny+l4of2cx+/vfW5/fIFqg4SFYodnF4mKi2YcG5Mak5aXk49xTJBfKJigoFyHnJ1NHaGpmVumrSmqqgJwi6WmHrCwVa2mK7gblalTu6YgmMCXx6JSw5AsyJTJlhqV05ZRtZDYewWh0b5QzNpsLQLdvspE4rSHIueU0KFlzIcR7rDJRPOLI9Leqv6rAOg71MvcL2/V4uUb+MeEwXfu5DG0EwIXQHQLh6kzI8MeRIwZJ7JR4TFYHVMb45ToV3LDMpF2PjzMJQwmGxnlWrqkAsnCsLgTOnfyJMWMREtWNhmhMhZrVFIzFDxqSinSxYsXMGBQiME1howYFsJa0LTpKSBdZuchTTtsFltmaN8qoYro5Dq5TRrZzYa3ycu+dOOA6zvQCmG1Xg4XDqkYrp7Gix/PCyxSImDEjPFSrpv57eaziVEergl5EenSf+KituP28iCnhD+jWbu6TZc9GBg6uh15d+tdvsm2Ci4cEvHipo/z7qR8jGy/zZELji6dEfU1r69j36OdjJlaeYIAACH5BAEUAAAALAAAAABQAEsAAAf/gACCg4SFhocZiRkXio2Kh5CRkpOUiI6XjpWam5yFmJ+PnaKjhqCmGaSpo6egqq6arKavs5GxsrS4granubi7t72uv7zBqsPExaLHpxfJysumGLvPsYzQ15mbx9bY15zd2Ny/sMvi4MeV5+rDk+vutu3vu+bLkfTb8uOW4PfM6s2F+uHLB88TwYOtBiFc+Ekhw4eJDEJcWGriwX38LGarqFGRwGm1wnX0KGlko4/IQprElm6ZknMoPwGkVG6ltpUxL31buQjkzp4afeTIgQPHDRtIbdSoQUOAU2rV3BkJQLWq1atUf47UgbWrVQE3R77wSjZrS5M8ypY92/GIWrU0n6HlNNXjLVyVcq8hsXsX0soffPtK7JgksFqwHDsCMSxYl0kljN8O1hgksmTHJt1aXutw3dxERDZ3RUyIpw/RVzUkHmkDdVW/K8e6noE3L7QhruOZrCtat8kam9l2LBJcuEYhkbV23MFYuUYlNAJDPSXtnbNO8q5jX6d9Osvu27uB915vfHho5kd91pmefKz2q7bBj69vvvuE9u8DjYgrEAAh+QQBFAAAACwAAAAAUABLAAAH/4AAgoOEhYaHGYkZF4qNioeQkZKTlIiOl46VmpuchZifj52io4agphmkqaOnoKqumqymr7ORsbK0uIK2p7m4u7e9rr+8warDxMWix6cXycrLphi7z7GM0NeZm8fW2Nec3djcv7DL4uDHlefqw5Pr7rbt77vmy5H02/LjluD3zOrNhfrhywfPE8GDrQYhXPhJIcOHiQxCXFhq4sF9/Cxmq6hRkcBptcJ19ChpZKOPyEKaxJZumZdzKD8BpFRupbaVMS99W7kI5M6ePDFZm3nTVs6LRYP6pKlUH9OmTkuaPNowXk2cUq9RzZe149aEHKFCwygWncSyYwmh7ebQ3ZQAcJrjyp37RJ5ad0zm6p1bwl3YblT2Co5rZd1fbE0GK+ZyDtK5KooVf2jsuJuTyIr7sux6zArmyFc2q1z25LPiJV3SWh2GxXTkKKpX74LiOrIUs+R2aamNOQu7pLFo8z79suBPVluGY3bWSXlk5s2d74Uuaon0udRFXY+bXfv2AN29Sw8/SvoS8uWVox+lQf366rzfk4ovP/3nXIEAACH5BAEUAAAALAAAAABQAEsAAAf/gACCg4SFhocZiRkXio2Kh5CRkpOUiI6XjpWam5yFmJ+PnaKjhqCmGaSpo6egqq6arKavs5GxsrS4granubi7t72uv7zBqsPExaLHpxfJysumGLvPsYzQ15mbx9bY15zd2Ny/sMvi4MeV5+rDk+vutu3vu+bLkfTb8uOW4PfM6s2F+uHLB88TwYOtBiFc+Ekhw4eJDEJcWGriwX38LGarqFGRwGm1wnX0KGlko4/IQprElm6ZhXMoPwGkVG6ltpUxL31buQgkpzhw4Lhhw2aN0TUr0ihNo6ajtZmbAkidSrVqgCw8OVndSlXAS5uauIoNICJrpbFjzZidhHZsm245pRNKaitWQNx8UA3RHQtm7aG9Y89AuwusEGC0bvwOOjz2C+F3ehmPDaNYMlo0ay2jLeNXM1cBFcAS8myVzMBzhgSQphr6NMtDqlePGYwa0uoAc0Tb9ixGcWrPcnRH0kxZ+HDJb/6hi3rYgLvHWg8nNikKrYapBOQ566R9+0513qmBCy/eG3nu48+jN6++0+NG7VfVi1/eVl765PThr59y/3dM4uQSCAAh+QQBFAAAACwAAAAAUABLAAAI/wABCBxIsKDBgxkSZkCksKHCgxAjSpxIEaHDiw4ratzIsSDGjw87ihxpEKTJDCRTjjwJUqVLjSxNvpwZMaZMmjgF2jyZE+fOmz1d/uQZVOVQokVFHj2JKKnSpSYx7BQZoKrVq1gFHIHKNeNGrGDB0mHYtSvHsGit7imrkOxQjWnjCijE1izFuHLj1OU6ES/eOnuh9vUbtw9Xt3whEvZrJfBSxYvxcjmKuGvTgpH9fnB81GBmv344vx2o4bPfK6J/DjTtl1Bqm5hZoxVQ+fVHz7LBDrLN8mBusLV5e8X9O4AgqMFHQ/59SDjIy8tlByqbPObd3M2d36YogPWfutVNQsYf/Dm79otfP/MJHH473MyGOLdvKJJAnTp27ujfjydPHj16AHJeQ2SNB9NO8/HG0YB7bcRgXQc+yFZFErZll0SHVdgWhpZpmBCHFSbYm0UeNlhSiSYShKJjHq0Y2EAusgijYyKmdqKGNY6oYok5tkRiiBBCxFaPMtYUY2cgHgkbRUpORaGHRC4IpXJPNumegzZJxZlTHYnGZZcvfglmkGJKWVaZT52J5piCrSkSkSG5yaZqcqb5k4F1RuhknnZax+dKz9GHU0AAIfkEARQAAAAsAAAAAFAASwAACP8AAQgcSLCgwYMZEma4oLChwoMQI0qcSBGhw4sOK2rcyLEgxo8PO4ocaRCkyQwkU448CVKlS40sTb6cGTGmTJo4Bdo8mRPnzps9Xf7kGVTlUKJFRR49eSGp0qUmMex8GpMh1KsZNx61ivUqx65Yuf6EuVQs2KMVz6odOnGtW5tt3+40uzQi3a1yx1oEe5ep2qYF++LNC9cj4cMtByJe/FHx20gBIkueTDnMW8N/KWvWbMltSbWSNouWHErt3q4XEo0eTUOw3s9dzaxe/QisRNSqZ4++FPY2Vkq6Z4vyGhdq7uCiFREvPrQS8tmQypIdevy56Exop+/EZH12oiNstf7iVNR9Nh3XWb8mRN+pvO5PfhdSjbnD/ehG4bXHHEXD/mZP2aU1FCj+UcZIXQIeNUmBknUCVYJHOcLgIlhRdNUo1ZXHSW81YcWCf3TY1iFWobm3yVkQqSVCecqZBltXGHanyVovgrWCdS3SSNBbJjyHiVyOMSZkQju6hR5iNQ6p0JFTYaakQ0yylOKTUKI4ZVhUNsRcll1tyeWDFn5ZIYRZRqmleF+aSSSaYjapXkxSXebUmzrOyaaIdtLZZZ4dWcmnnmD+CWh+gnKkZnqFDhpToittxWijrz3aZ6SSKrremTQFBAA7\";\n export default img;","import { Loading as LoadingProps } from \"./index.types\";\nimport gif from \"../../stories/assets/loading.gif\";\nimport \"./index.css\";\n\nexport function Loading({ img, children }: LoadingProps) {\n return (\n <div className=\"loading\">\n <img src={img ?? gif} />\n <div className=\"loading-message\">{children}</div>\n </div>\n );\n}\n\nexport default Loading;\n","import { IoClose } from \"react-icons/io5\";\nimport { Modal as ModalProps } from \"./index.types\";\nimport \"./index.css\";\nimport Button from \"../button\";\nimport clsx from \"clsx\";\n\nexport function Modal({\n className,\n modalref,\n children,\n title,\n subtitle,\n footer,\n hasOverlay = true,\n hasCloseButton = true,\n handleClose,\n ...rest\n}: ModalProps) {\n return (\n <>\n {hasOverlay && <div className=\"modal-overlay\" />}\n <div ref={modalref} className={clsx(\"modal\", className)} {...rest}>\n {hasCloseButton && (\n <Button\n mode=\"secondary\"\n className=\"modal__close\"\n size=\"small\"\n onClick={handleClose}\n >\n <IoClose />\n </Button>\n )}\n <div className=\"modal__content\">\n {title && (\n <div className=\"modal__header\">\n <h3>{title}</h3>\n <h6>{subtitle}</h6>\n </div>\n )}\n <div className=\"modal__children\">{children}</div>\n {footer && <div className=\"modal__footer\">{footer}</div>}\n </div>\n </div>\n </>\n );\n}\n\nexport default Modal;\n","import { 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":["useContext","useMemo","_jsx","ALLOWED_CHILD_COMPONENT","useRef","useEffect","Children","isValidElement","cloneElement","createContext","useState","_jsxs","TfiAngleDown","TfiAngleUp","useForm","FormProvider","BsCheckCircleFill","BsXCircleFill","useFormContext","Controller","TbArrowsDiagonal2","img","gif","IoClose","RiMapPinTimeFill","RiMapPinTimeLine","_Fragment","IoPause","IoPlay","IoStop","useReducer"],"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 const filtered = options?.filter((v) => v.includes(value));\n setFilteredOptions(filtered);\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 title={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 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":["useContext","useMemo","_jsx","ALLOWED_CHILD_COMPONENT","useRef","useEffect","Children","isValidElement","cloneElement","createContext","useState","_jsxs","TfiAngleDown","TfiAngleUp","useForm","FormProvider","BsCheckCircleFill","BsXCircleFill","useFormContext","Controller","TbArrowsDiagonal2","img","gif","IoClose","RiMapPinTimeFill","RiMapPinTimeLine","_Fragment","IoPause","IoPlay","IoStop","useReducer"],"mappings":"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"}
|
package/dist/esm/index.css
CHANGED
|
@@ -555,10 +555,6 @@ h6 {
|
|
|
555
555
|
outline: none;
|
|
556
556
|
}
|
|
557
557
|
|
|
558
|
-
.input::placeholder {
|
|
559
|
-
color: color-mix(in srgb, var(--color-light-base) 0.5, transparent);
|
|
560
|
-
}
|
|
561
|
-
|
|
562
558
|
.input:disabled {
|
|
563
559
|
opacity: 0.5;
|
|
564
560
|
}
|
|
@@ -590,104 +586,6 @@ h6 {
|
|
|
590
586
|
border-radius: 2em;
|
|
591
587
|
padding: 2px;
|
|
592
588
|
}
|
|
593
|
-
|
|
594
|
-
/* <div class="checkbox-wrapper-7">
|
|
595
|
-
<input class="tgl tgl-ios" id="cb2-7" type="checkbox"/>
|
|
596
|
-
<label class="tgl-btn" for="cb2-7">
|
|
597
|
-
</div>
|
|
598
|
-
|
|
599
|
-
<style>
|
|
600
|
-
.checkbox-wrapper-7 .tgl {
|
|
601
|
-
display: none;
|
|
602
|
-
}
|
|
603
|
-
.checkbox-wrapper-7 .tgl,
|
|
604
|
-
.checkbox-wrapper-7 .tgl:after,
|
|
605
|
-
.checkbox-wrapper-7 .tgl:before,
|
|
606
|
-
.checkbox-wrapper-7 .tgl *,
|
|
607
|
-
.checkbox-wrapper-7 .tgl *:after,
|
|
608
|
-
.checkbox-wrapper-7 .tgl *:before,
|
|
609
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn {
|
|
610
|
-
box-sizing: border-box;
|
|
611
|
-
}
|
|
612
|
-
.checkbox-wrapper-7 .tgl::-moz-selection,
|
|
613
|
-
.checkbox-wrapper-7 .tgl:after::-moz-selection,
|
|
614
|
-
.checkbox-wrapper-7 .tgl:before::-moz-selection,
|
|
615
|
-
.checkbox-wrapper-7 .tgl *::-moz-selection,
|
|
616
|
-
.checkbox-wrapper-7 .tgl *:after::-moz-selection,
|
|
617
|
-
.checkbox-wrapper-7 .tgl *:before::-moz-selection,
|
|
618
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn::-moz-selection,
|
|
619
|
-
.checkbox-wrapper-7 .tgl::selection,
|
|
620
|
-
.checkbox-wrapper-7 .tgl:after::selection,
|
|
621
|
-
.checkbox-wrapper-7 .tgl:before::selection,
|
|
622
|
-
.checkbox-wrapper-7 .tgl *::selection,
|
|
623
|
-
.checkbox-wrapper-7 .tgl *:after::selection,
|
|
624
|
-
.checkbox-wrapper-7 .tgl *:before::selection,
|
|
625
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn::selection {
|
|
626
|
-
background: none;
|
|
627
|
-
}
|
|
628
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn {
|
|
629
|
-
outline: 0;
|
|
630
|
-
display: block;
|
|
631
|
-
width: 4em;
|
|
632
|
-
height: 2em;
|
|
633
|
-
position: relative;
|
|
634
|
-
cursor: pointer;
|
|
635
|
-
-webkit-user-select: none;
|
|
636
|
-
-moz-user-select: none;
|
|
637
|
-
-ms-user-select: none;
|
|
638
|
-
user-select: none;
|
|
639
|
-
}
|
|
640
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn:after,
|
|
641
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn:before {
|
|
642
|
-
position: relative;
|
|
643
|
-
display: block;
|
|
644
|
-
content: "";
|
|
645
|
-
width: 50%;
|
|
646
|
-
height: 100%;
|
|
647
|
-
}
|
|
648
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn:after {
|
|
649
|
-
left: 0;
|
|
650
|
-
}
|
|
651
|
-
.checkbox-wrapper-7 .tgl + .tgl-btn:before {
|
|
652
|
-
display: none;
|
|
653
|
-
}
|
|
654
|
-
.checkbox-wrapper-7 .tgl:checked + .tgl-btn:after {
|
|
655
|
-
left: 50%;
|
|
656
|
-
}
|
|
657
|
-
|
|
658
|
-
.checkbox-wrapper-7 .tgl-ios + .tgl-btn {
|
|
659
|
-
background: #fbfbfb;
|
|
660
|
-
border-radius: 2em;
|
|
661
|
-
padding: 2px;
|
|
662
|
-
transition: all 0.4s ease;
|
|
663
|
-
border: 1px solid #e8eae9;
|
|
664
|
-
}
|
|
665
|
-
.checkbox-wrapper-7 .tgl-ios + .tgl-btn:after {
|
|
666
|
-
border-radius: 2em;
|
|
667
|
-
background: #fbfbfb;
|
|
668
|
-
transition: left 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), padding 0.3s ease, margin 0.3s ease;
|
|
669
|
-
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1), 0 4px 0 rgba(0, 0, 0, 0.08);
|
|
670
|
-
}
|
|
671
|
-
.checkbox-wrapper-7 .tgl-ios + .tgl-btn:hover:after {
|
|
672
|
-
will-change: padding;
|
|
673
|
-
}
|
|
674
|
-
.checkbox-wrapper-7 .tgl-ios + .tgl-btn:active {
|
|
675
|
-
box-shadow: inset 0 0 0 2em #e8eae9;
|
|
676
|
-
}
|
|
677
|
-
.checkbox-wrapper-7 .tgl-ios + .tgl-btn:active:after {
|
|
678
|
-
padding-right: 0.8em;
|
|
679
|
-
}
|
|
680
|
-
.checkbox-wrapper-7 .tgl-ios:checked + .tgl-btn {
|
|
681
|
-
background: #86d993;
|
|
682
|
-
}
|
|
683
|
-
.checkbox-wrapper-7 .tgl-ios:checked + .tgl-btn:active {
|
|
684
|
-
box-shadow: none;
|
|
685
|
-
}
|
|
686
|
-
.checkbox-wrapper-7 .tgl-ios:checked + .tgl-btn:active:after {
|
|
687
|
-
margin-left: -0.8em;
|
|
688
|
-
}
|
|
689
|
-
</style> */
|
|
690
|
-
|
|
691
589
|
.textarea {
|
|
692
590
|
margin-bottom: var(--spacing-8);
|
|
693
591
|
position: relative;
|
|
@@ -814,7 +712,7 @@ h6 {
|
|
|
814
712
|
}
|
|
815
713
|
|
|
816
714
|
.select--focus {
|
|
817
|
-
border-radius:
|
|
715
|
+
border-radius: var(--spacing-8) var(--spacing-8) 0 0 !important;
|
|
818
716
|
}
|
|
819
717
|
|
|
820
718
|
.select:focus {
|
|
@@ -840,10 +738,11 @@ h6 {
|
|
|
840
738
|
}
|
|
841
739
|
|
|
842
740
|
.select__arrow-button--open.button {
|
|
843
|
-
border-bottom-right-radius:
|
|
741
|
+
border-bottom-right-radius: 0 !important;
|
|
844
742
|
}
|
|
845
743
|
|
|
846
744
|
.select__box {
|
|
745
|
+
background-color: var(--color-main-background);
|
|
847
746
|
border-radius: 0 0 var(--spacing-8) var(--spacing-8);
|
|
848
747
|
border: 2px solid var(--color-primary-bright);
|
|
849
748
|
box-sizing: border-box;
|
|
@@ -864,7 +763,7 @@ h6 {
|
|
|
864
763
|
.select__option.button {
|
|
865
764
|
border: none;
|
|
866
765
|
border-radius: 0;
|
|
867
|
-
|
|
766
|
+
justify-content: start;
|
|
868
767
|
width: 100%;
|
|
869
768
|
}
|
|
870
769
|
|
package/dist/esm/index.js
CHANGED
|
@@ -230,6 +230,8 @@ function Select({ inputClassName = "", classNameGroup = "", options, styleGroup,
|
|
|
230
230
|
};
|
|
231
231
|
const handleValueChange = (e) => {
|
|
232
232
|
const { value } = e.target;
|
|
233
|
+
const filtered = options?.filter((v) => v.includes(value));
|
|
234
|
+
setFilteredOptions(filtered);
|
|
233
235
|
setValue(value);
|
|
234
236
|
};
|
|
235
237
|
const handleSelectChange = (e) => {
|
|
@@ -256,9 +258,9 @@ function Select({ inputClassName = "", classNameGroup = "", options, styleGroup,
|
|
|
256
258
|
}, inputClassName), value: value, error: error, required: isRequired, placeholder: "Select a value", icon: {
|
|
257
259
|
className: "select__arrow",
|
|
258
260
|
element: (jsx(Button, { type: "button", size: "large", mode: "icon", className: clsx("select__arrow-button", {
|
|
259
|
-
"select__arrow-button--open": isOpen
|
|
261
|
+
"select__arrow-button--open": isOpen,
|
|
260
262
|
}), onClick: handleToggle, onBlur: handleClose, children: jsx(TfiAngleDown, { size: 24 }) })),
|
|
261
|
-
}, onFocus: handleOpen, onBlur: handleInputClose, onChange: handleValueChange, autoComplete: "off", label: label, labelClassName: labelClassName, ...rest }), isOpen && (jsx("div", { className: "select__box", children: filteredOptions.map((option, index) => (jsx(Button, { type: "button", mode: "secondary", className: "select__option", name: option, onMouseDown: handleSelectChange, children: option }, `index-${index}`))) }))] }));
|
|
263
|
+
}, onFocus: handleOpen, onBlur: handleInputClose, onChange: handleValueChange, autoComplete: "off", label: label, labelClassName: labelClassName, ...rest }), isOpen && (jsx("div", { className: "select__box", children: filteredOptions.map((option, index) => (jsx(Button, { type: "button", mode: "secondary", className: "select__option", name: option, title: option, onMouseDown: handleSelectChange, children: option }, `index-${index}`))) }))] }));
|
|
262
264
|
}
|
|
263
265
|
|
|
264
266
|
function FormSelect({ name, isRequired, error, fieldsToReset, label, ...rest }) {
|
|
@@ -532,9 +534,7 @@ function Checkbox({ backgroundColor, classNameCheckbox = "", classNameGroup = ""
|
|
|
532
534
|
},
|
|
533
535
|
// icon,
|
|
534
536
|
inputRef, isRequired, label, placeholder = "Insert value", styleGroup, ...rest }) {
|
|
535
|
-
return (jsxs("div", { className: clsx("input-group", classNameGroup), style: { backgroundColor: backgroundColor, ...styleGroup }, children: [jsxs("div", { className: "checkbox__header", children: [label && jsx("label", { className: classNameLabel, children: label }), error && error.is && (jsx("span", { className: "input__header--error", children: error.message }))] }), jsx("div", { className: "checkbox-subgroup", children: jsx("input", { ref: inputRef, type: "checkbox", required: isRequired, className: clsx("checkbox", error.is ? "checkbox--error" : "",
|
|
536
|
-
// icon?.position === "left" && "input--icon",
|
|
537
|
-
classNameCheckbox), placeholder: placeholder, ...rest }) })] }));
|
|
537
|
+
return (jsxs("div", { className: clsx("input-group", classNameGroup), style: { backgroundColor: backgroundColor, ...styleGroup }, children: [jsxs("div", { className: "checkbox__header", children: [label && jsx("label", { className: classNameLabel, children: label }), error && error.is && (jsx("span", { className: "input__header--error", children: error.message }))] }), jsx("div", { className: "checkbox-subgroup", children: jsx("input", { ref: inputRef, type: "checkbox", required: isRequired, className: clsx("checkbox", error.is ? "checkbox--error" : "", classNameCheckbox), placeholder: placeholder, ...rest }) })] }));
|
|
538
538
|
}
|
|
539
539
|
|
|
540
540
|
const LoadingContext = createContext(undefined);
|
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/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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"}
|
|
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 const filtered = options?.filter((v) => v.includes(value));\n setFilteredOptions(filtered);\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 title={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 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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"}
|