@tech-diefra/fluig-ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,138 @@
1
+ # @tech-diefra/fluig-ui
2
+
3
+ Biblioteca de componentes React UI desenvolvida para agilizar a criação de formulários em processos BPM no Fluig.
4
+
5
+ Esta biblioteca abstrai a complexidade de integração com o `react-hook-form` e o controle de estado de visualização/edição do Fluig (`fluig-workflow-react`), oferecendo componentes prontos para uso como DatePickers, Selects com busca, Inputs mascarados e Badges de status.
6
+
7
+ ## 📦 Instalação
8
+
9
+ ```bash
10
+ npm install @tech-diefra/fluig-ui
11
+ # ou
12
+ yarn add @tech-diefra/fluig-ui
13
+ ```
14
+
15
+ ### Peer Dependencies
16
+
17
+ ```bash
18
+ npm install react react-dom react-hook-form @fluig-kit/core @fluig-kit/ecm
19
+ ```
20
+
21
+ ## ⚙️ Configuração Inicial
22
+
23
+ ### Importar Estilos
24
+
25
+ ```js
26
+ import "@tech-diefra/fluig-ui/dist/style.css"
27
+ ```
28
+
29
+ ### Configurar Contextos
30
+
31
+ ```jsx
32
+ import { useForm, FormProvider } from "react-hook-form"
33
+ import { FluigRuntimeProvider } from "fluig-workflow-react"
34
+ import { Input } from "@tech-diefra/fluig-ui"
35
+
36
+ function App() {
37
+ const methods = useForm()
38
+
39
+ return (
40
+ <FluigRuntimeProvider>
41
+ <FormProvider {...methods}>
42
+ <form>
43
+ <Input name="nome_completo" label="Nome" />
44
+ </form>
45
+ </FormProvider>
46
+ </FluigRuntimeProvider>
47
+ )
48
+ }
49
+ ```
50
+
51
+ ## 📚 Componentes
52
+
53
+ ### Input
54
+
55
+ ```jsx
56
+ <Input name="email" label="E-mail" type="email" />
57
+ <Input name="cpf_usuario" label="CPF" mask="cpf" />
58
+ <Input name="valor_projeto" label="Valor Estimado" type="monetary" />
59
+ ```
60
+
61
+ ### Select
62
+
63
+ ```jsx
64
+ const options = [
65
+ { label: "Sim", value: "SIM" },
66
+ { label: "Não", value: "NAO" },
67
+ ]
68
+
69
+ <Select
70
+ name="fornecedor"
71
+ label="Fornecedor"
72
+ options={options}
73
+ enableSearch
74
+ />
75
+ ```
76
+
77
+ ### DatePicker
78
+
79
+ ```jsx
80
+ <DatePicker name="data_inicio" label="Data de Início" />
81
+ ```
82
+
83
+ ### RadioBtn
84
+
85
+ ```tsx
86
+ const opcoes = [
87
+ { label: "Opção 1", value: "op1", icon: "flaticon flaticon-arrow-up", color: "#0f0" },
88
+ { label: "Opção 2", value: "op2", icon: "flaticon flaticon-cancel", color: "#f00" }
89
+ ]
90
+
91
+ <RadioBtn name="decisao" options={opcoes} />
92
+ ```
93
+
94
+ ### Checkbox
95
+
96
+ ```jsx
97
+ const areas = [
98
+ { label: "Area 1", value: "area1" },
99
+ { label: "Area 2", value: "area2" }
100
+ ]
101
+
102
+ <Checkbox name="areas" options={areas} />
103
+ ```
104
+
105
+ ### StatusBadge
106
+
107
+ ```jsx
108
+ //Mapping activity
109
+ const workflowConfig = {
110
+ 5: { label: "Status 1", color: "#006dfc" },
111
+ 14: { label: "Status 2", color: "#f0960e" }
112
+ }
113
+
114
+ <StatusBadge mapping={workflowConfig} />
115
+ ```
116
+
117
+ ### TextArea
118
+
119
+ ```jsx
120
+ <TextArea name="observacoes" rows={4} />
121
+ ```
122
+
123
+ ## 🎨 Customização (CSS Variables)
124
+
125
+ ```css
126
+ :root {
127
+ --colorPrimary: #00916d;
128
+ --dfeErrorColor: #ff5630;
129
+ }
130
+ ```
131
+
132
+ ## 🔒 Controle de Permissões
133
+
134
+ ```jsx
135
+ <Input name="campo_sistema" forceReadOnly forceHidden />
136
+ ```
137
+
138
+ Desenvolvido por Ketson Kersen - Diefra Engenharia.
@@ -0,0 +1,14 @@
1
+
2
+ export interface CheckboxOption {
3
+ [key: string]: any;
4
+ }
5
+ export interface CheckboxProps {
6
+ name: string;
7
+ options?: CheckboxOption[];
8
+ label?: string;
9
+ valueKey?: string;
10
+ labelKey?: string;
11
+ forceReadOnly?: boolean;
12
+ forceHidden?: boolean;
13
+ }
14
+ export default function Checkbox({ name, options, label, valueKey, labelKey, forceReadOnly, forceHidden, }: CheckboxProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,11 @@
1
+
2
+ export interface DatePickerProps {
3
+ name: string;
4
+ label?: string;
5
+ placeholder?: string;
6
+ className?: string;
7
+ forceReadOnly?: boolean;
8
+ forceHidden?: boolean;
9
+ }
10
+ declare const _default: import('react').MemoExoticComponent<({ name, label, placeholder, className, forceReadOnly, forceHidden, }: DatePickerProps) => import("react/jsx-runtime").JSX.Element | null>;
11
+ export default _default;
@@ -0,0 +1,14 @@
1
+ declare const MASKS: Record<string, string>;
2
+ export interface InputProps {
3
+ name: string;
4
+ label?: string;
5
+ placeholder?: string;
6
+ type?: "text" | "number" | "email" | "monetary" | string;
7
+ mask?: keyof typeof MASKS | string;
8
+ className?: string;
9
+ forceReadOnly?: boolean;
10
+ forceHidden?: boolean;
11
+ }
12
+ declare function InputCustom({ name, label, placeholder, type, mask, className, forceReadOnly, forceHidden, }: InputProps): import("react/jsx-runtime").JSX.Element;
13
+ declare const _default: import('react').MemoExoticComponent<typeof InputCustom>;
14
+ export default _default;
@@ -0,0 +1,21 @@
1
+
2
+ export interface RadioOption {
3
+ label: string;
4
+ value: string;
5
+ icon?: string;
6
+ color?: string;
7
+ [key: string]: any;
8
+ }
9
+ export interface RadioBtnProps {
10
+ name: string;
11
+ label?: string;
12
+ options?: RadioOption[];
13
+ valueKey?: string;
14
+ labelKey?: string;
15
+ iconKey?: string;
16
+ forceReadOnly?: boolean;
17
+ forceHidden?: boolean;
18
+ }
19
+ declare function RadioBtn({ name, label, options, valueKey, labelKey, iconKey, forceReadOnly, forceHidden, }: RadioBtnProps): import("react/jsx-runtime").JSX.Element;
20
+ declare const _default: import('react').MemoExoticComponent<typeof RadioBtn>;
21
+ export default _default;
@@ -0,0 +1,23 @@
1
+
2
+ export interface SelectOption {
3
+ [key: string]: any;
4
+ }
5
+ export interface SelectProps {
6
+ name: string;
7
+ label?: string;
8
+ options?: SelectOption[];
9
+ placeholder?: string;
10
+ labelKey?: string;
11
+ valueKey?: string;
12
+ enableSearch?: boolean;
13
+ searchPlaceholder?: string;
14
+ loading?: boolean;
15
+ onSearchChange?: (value: string) => void;
16
+ debounceTime?: number;
17
+ onSelect?: (option: SelectOption) => void;
18
+ forceReadOnly?: boolean;
19
+ forceHidden?: boolean;
20
+ }
21
+ declare function Select({ name, label, options, placeholder, labelKey, valueKey, enableSearch, searchPlaceholder, loading, onSearchChange, debounceTime, onSelect, forceReadOnly, forceHidden, }: SelectProps): import("react/jsx-runtime").JSX.Element;
22
+ declare const _default: import('react').MemoExoticComponent<typeof Select>;
23
+ export default _default;
@@ -0,0 +1,19 @@
1
+ import { default as React } from 'react';
2
+
3
+ export interface StatusConfig {
4
+ label: string;
5
+ /** Cor Principal do Status (Gera gradiente automaticamente) */
6
+ color: string;
7
+ /** Classe do ícone (ex: "flaticon flaticon-check") */
8
+ icon?: string;
9
+ }
10
+ export interface StatusBadgeProps {
11
+ mapping?: Record<number, StatusConfig>;
12
+ defaultLabel?: string;
13
+ className?: string;
14
+ hidden?: boolean;
15
+ label?: string;
16
+ }
17
+ declare function StatusBadge({ mapping, defaultLabel, className, hidden, label, }: StatusBadgeProps): import("react/jsx-runtime").JSX.Element;
18
+ declare const _default: React.MemoExoticComponent<typeof StatusBadge>;
19
+ export default _default;
@@ -0,0 +1,12 @@
1
+ export interface TextAreaProps {
2
+ name: string;
3
+ label?: string;
4
+ placeholder?: string;
5
+ className?: string;
6
+ rows?: number;
7
+ maxLength?: number;
8
+ forceReadOnly?: boolean;
9
+ forceHidden?: boolean;
10
+ }
11
+ declare const _default: import('react').MemoExoticComponent<({ name, label, placeholder, className, rows, maxLength, forceReadOnly, forceHidden, }: TextAreaProps) => import("react/jsx-runtime").JSX.Element>;
12
+ export default _default;
@@ -0,0 +1,8 @@
1
+
2
+ export { default as Input } from './components/Input';
3
+ export { default as Select } from './components/Select';
4
+ export { default as Checkbox } from './components/Checkbox';
5
+ export { default as RadioBtn } from './components/RadioBtn';
6
+ export { default as TextArea } from './components/TextArea';
7
+ export { default as DatePicker } from './components/DatePicker';
8
+ export { default as StatusBadge } from './components/StatusBadge';
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ @charset "UTF-8";.dfe{--colorPrimary: #00916d;--colorSecondaryOne: #006f62;--colorSecondaryTwo: #c4d600;--colorAux01: #2898bd;--colorAux02: #206a83;--colorAux03: #cd519d;--colorAux04: #943d73;--dfeErrorColor: #ff5630}.select-view{display:inline-block;width:100%;border:1px solid #ccc;border-radius:4px;background-color:#fff}.select-wrapper{position:relative;width:100%}.select-control{height:34px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;overflow:hidden;width:100%;font-size:14px;font-weight:200;border:1px solid #ccc;border-radius:4px;background-color:#fff;padding:10px 14px}.select-display{width:100%;height:34px;white-space:nowrap;text-overflow:ellipsis;display:flex;align-items:center}.select-dropdown{position:absolute;top:66px;left:0;right:0;z-index:1000;background:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 6px #0000001a}.select-search{padding:5px 10px;border-bottom:1px solid #eee}.select-search-input{width:100%;font-size:12px;padding:4px 10px;border:1px solid #ccc;border-radius:4px}.select-options{list-style:none;margin:0;padding:6px;max-height:200px;overflow-y:auto;margin-bottom:0!important}.select-option{padding:8px;font-size:14px;cursor:pointer;border-radius:4px;white-space:nowrap;overflow:hidden;margin:0!important}.select-option.readOnly{color:#888;cursor:default}.handleHover:hover{background-color:#00916d;color:#fff;font-weight:700}.border-red{border:1px solid #c80000!important}.text-danger{margin-top:4px;color:#c80000!important;margin-bottom:0!important}.select-wrapper>.readOnly{background-color:#eee;cursor:default}.select-display.readOnly{opacity:.5}.checkbox-group-custom{width:100%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 20px}.custom-checkbox{width:30%;position:relative;display:flex;align-items:center;cursor:pointer;font-size:14px;-webkit-user-select:none;user-select:none;padding-left:20px;white-space:noWrap;margin:0!important}.custom-checkbox input{position:absolute;opacity:0;cursor:pointer}.custom-checkbox .checkmark{position:absolute;top:1px;left:0;height:16px;width:16px;background-color:#fff;border:2px solid #a5a5a5;border-radius:100%;transition:all .2s ease}.custom-checkbox.checked .checkmark,.custom-checkbox:hover .checkmark{border-color:var(--colorPrimary)}.custom-checkbox.checked .checkmark:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background-color:var(--colorPrimary);border-color:var(--colorPrimary);border-radius:100%}.custom-checkbox>span{width:50%;color:#838383;font-weight:200;margin:0}.custom-checkbox.readOnly,.checkbox-group-custom.readOnly{pointer-events:none;opacity:.9}.btn-group{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.btn-group>label.btn{--btnBase: #cccccc;--btnText: #555;--bgColor: var(--customColor, var(--btnBase));--hoverColor: color-mix(in srgb, var(--bgColor), white 50%);--borderColor: color-mix(in srgb, var(--bgColor), black 20%);min-width:200px;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border:1px solid var(--btnBase);border-radius:6px;cursor:pointer;background-color:#fff;color:var(--btnText);transition:all .2s ease-in-out;font-weight:400}.btn-group>label.btn:hover{background-color:var(--hoverColor);border-color:var(--borderColor);color:var(--borderColor)}.btn-group label.btn:has(input[type=radio]:checked){background-color:var(--bgColor)!important;border-color:var(--borderColor)!important;color:#fff!important;box-shadow:0 2px 5px #00000026;font-weight:600;cursor:default}.btn-group label.btn i{font-size:1.1em}.btn-group.view-mode label.btn{opacity:.5;pointer-events:none;filter:grayscale(100%)}.btn-group.view-mode label.btn:has(input[type=radio]:checked){opacity:1;filter:none;background-color:var(--bgColor)!important;border-color:var(--borderColor)!important;color:#fff!important}.column{display:flex!important;flex-direction:column!important}.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker-wrapper{display:inline-block;padding:0;border:0}.react-datepicker{font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;background-color:#fff;color:#000;border:1px solid #aeaeae;border-radius:.3rem;display:inline-block;position:relative;line-height:initial}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker-popper{z-index:1;line-height:0}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker__header{text-align:center;background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select){border-top-right-radius:.3rem}.react-datepicker__year-dropdown-container--select,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--scroll{display:inline-block;margin:0 15px}.react-datepicker__current-month,.react-datepicker-time__header,.react-datepicker-year-header{margin-top:0;color:#000;font-weight:700;font-size:.944rem}h2.react-datepicker__current-month{padding:0;margin:0}.react-datepicker-time__header{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.react-datepicker__navigation{align-items:center;background:none;display:flex;justify-content:center;text-align:center;cursor:pointer;position:absolute;top:2px;padding:0;border:none;z-index:1;height:32px;width:32px;text-indent:-999em;overflow:hidden}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{position:relative;top:0;display:block;margin-left:auto;margin-right:auto}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover *:before{border-color:#a6a6a6}.react-datepicker__navigation-icon{position:relative;top:-1px;font-size:20px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{transform:rotate(45deg);left:-7px}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{transform:rotate(225deg);right:-7px}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.4rem;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__month{margin:.4rem;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;width:4rem;margin:2px}.react-datepicker__input-time-container{clear:both;width:100%;float:left;margin:5px 0 10px 15px;text-align:left}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{margin-left:5px;display:inline-block}.react-datepicker__time-container{float:right;border-left:1px solid #aeaeae;width:85px}.react-datepicker__time-container--with-today-button{display:inline;border:1px solid #aeaeae;border-radius:.3rem;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{position:relative;background:#fff;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{width:85px;overflow-x:hidden;margin:0 auto;text-align:center;border-bottom-right-radius:.3rem}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{list-style:none;margin:0;height:calc(195px + .85rem);overflow-y:scroll;padding-right:0;padding-left:0;width:100%;box-sizing:content-box}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{cursor:pointer;background-color:#f0f0f0}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{cursor:default;background-color:transparent}.react-datepicker__week-number{color:#ccc;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__week-number--selected{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{white-space:nowrap;margin-bottom:-8px}.react-datepicker__week{white-space:nowrap}.react-datepicker__day-name,.react-datepicker__day,.react-datepicker__time-name{color:#000;display:inline-block;width:1.7rem;line-height:1.7rem;text-align:center;margin:.166rem}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{border-radius:.3rem;background-color:#f0f0f0}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{border-radius:.3rem;background-color:#3dcc4a;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{position:relative;border-radius:.3rem;background-color:#ff6803;color:#fff}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{visibility:visible;opacity:1}.react-datepicker__day--selected,.react-datepicker__day--in-selecting-range,.react-datepicker__day--in-range,.react-datepicker__month-text--selected,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--selected,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--selected,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--in-range{border-radius:.3rem;background-color:#216ba5;color:#fff}.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{border-radius:.3rem;background-color:#bad9f1;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{cursor:default;color:#ccc}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{position:absolute;bottom:70%;left:50%;transform:translate(-50%);background-color:#333;color:#fff;padding:4px;border-radius:4px;white-space:nowrap;visibility:hidden;opacity:0;transition:visibility 0s,opacity .3s ease-in-out}.react-datepicker__input-container{position:relative;display:inline-block;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{position:absolute;padding:.5rem;box-sizing:content-box}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__year-read-view,.react-datepicker__month-read-view,.react-datepicker__month-year-read-view{border:1px solid transparent;border-radius:.3rem;position:relative}.react-datepicker__year-read-view:hover,.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover{cursor:pointer}.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__year-read-view--down-arrow,.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow{transform:rotate(135deg);right:-16px;top:0}.react-datepicker__year-dropdown,.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown{background-color:#f0f0f0;position:absolute;width:50%;left:25%;top:30px;z-index:1;text-align:center;border-radius:.3rem;border:1px solid #aeaeae}.react-datepicker__year-dropdown:hover,.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover{cursor:pointer}.react-datepicker__year-dropdown--scrollable,.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__year-option,.react-datepicker__month-option,.react-datepicker__month-year-option{line-height:20px;width:100%;display:block;margin-left:auto;margin-right:auto}.react-datepicker__year-option:first-of-type,.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__year-option:last-of-type,.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem}.react-datepicker__year-option:hover,.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover{background-color:#ccc}.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__year-option--selected,.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected{position:absolute;left:15px}.react-datepicker__close-icon{cursor:pointer;background-color:transparent;border:0;outline:0;padding:0 6px 0 0;position:absolute;top:0;right:0;height:100%;display:table-cell;vertical-align:middle}.react-datepicker__close-icon:after{cursor:pointer;background-color:#216ba5;color:#fff;border-radius:50%;height:16px;width:16px;padding:2px;font-size:12px;line-height:1;text-align:center;display:table-cell;vertical-align:middle;content:"×"}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{cursor:default;background-color:#ccc}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;cursor:pointer;text-align:center;font-weight:700;padding:5px 0;clear:left}.react-datepicker__portal{position:fixed;width:100vw;height:100vh;background-color:#000c;left:0;top:0;justify-content:center;align-items:center;display:flex;z-index:2147483647}.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:3rem;line-height:3rem}@media (max-width: 400px),(max-height: 550px){.react-datepicker__portal .react-datepicker__day-name,.react-datepicker__portal .react-datepicker__day,.react-datepicker__portal .react-datepicker__time-name{width:2rem;line-height:2rem}}.react-datepicker__portal .react-datepicker__current-month,.react-datepicker__portal .react-datepicker-time__header{font-size:1.44rem}.react-datepicker__children-container{width:13.8rem;margin:.4rem;padding-right:.2rem;padding-left:.2rem;height:auto}.react-datepicker__aria-live{position:absolute;clip-path:circle(0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;width:1px;white-space:nowrap}.react-datepicker__calendar-icon{width:1em;height:1em;vertical-align:-.125em}.react-datepicker__header__dropdown{display:none}.react-datepicker__header{background-color:var(--colorPrimary)}.react-datepicker__navigation-icon:before{border-color:#fff}.react-datepicker__current-month{font-size:16px!important;color:#fff!important;margin:10px!important}.react-datepicker__navigation{border-radius:4px;margin-top:10px;top:5px;width:20px;height:20px}.react-datepicker__navigation-icon{top:10px}.react-datepicker__day-names{background-color:#eee}.react-datepicker__day-name{color:#858585}.react-datepicker__day--today{background-color:var(--colorSecondaryTwo);border-radius:4px}.react-datepicker__day--keyboard-selected{border:1px dashed var(--colorSecondaryTwo);background-color:#c4d6002b}.react-datepicker__day--selected{background-color:var(--colorPrimary)}.react-datepicker-wrapper{width:100%}.react-datepicker__input-container{width:100%;font-size:10px}.react-datepicker__day--selected:after{background-color:var(--colorPrimary)}.react-datepicker__close-icon:after{background-color:var(--colorPrimary);font-size:16px;display:flex;align-items:center;justify-content:center}.status-badge{--badgeMainColor: var(--customColor, #3a3a3b);background:linear-gradient(45deg,var(--badgeMainColor) 0%,var(--badgeMainColor) 50%,var(--badgeMainColor) 100%);background:linear-gradient(45deg,color-mix(in srgb,var(--badgeMainColor),white 30%) 0%,var(--badgeMainColor) 70%,color-mix(in srgb,var(--badgeMainColor),black 10%) 100%);width:100%;height:34px;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:3px;color:#fff;font-weight:400;font-size:14px;font-style:italic;transition:all .3s ease}.status-badge.default{--badgeMainColor: #555}
@@ -0,0 +1,904 @@
1
+ import { jsxs as v, jsx as n, Fragment as Z } from "react/jsx-runtime";
2
+ import { memo as j, useMemo as W, useCallback as B, useState as G, useRef as J, useEffect as A, forwardRef as K } from "react";
3
+ import { useFormContext as D, useController as z, useFormState as ee } from "react-hook-form";
4
+ import { IMaskInput as te } from "react-imask";
5
+ import { useSection as H, useFluigRuntime as V } from "@fluig-kit/ecm";
6
+ import ae, { registerLocale as ne } from "react-datepicker";
7
+ import { parse as re, isValid as oe, format as ie } from "date-fns";
8
+ const se = {
9
+ cpf: "000.000.000-00",
10
+ cnpj: "00.000.000/0000-00",
11
+ telefone: "(00) 00000-0000",
12
+ cep: "00000-000"
13
+ };
14
+ function de({
15
+ name: e,
16
+ label: a = "",
17
+ placeholder: t = "",
18
+ type: i = "text",
19
+ mask: r,
20
+ className: d = "",
21
+ forceReadOnly: s = !1,
22
+ forceHidden: c = !1
23
+ }) {
24
+ const { isReadOnly: P, isHidden: f } = H(), g = s || !!P(e), b = c || !!f(e), { control: M } = D(), { isView: S } = V(), { field: m } = z({ name: e, control: M }), { errors: p } = ee({ name: e }), h = p == null ? void 0 : p[e], C = W(() => r ? se[r] ?? r : null, [r]), k = B((o) => {
25
+ if (!o) return "";
26
+ const w = o.replace(/\D/g, "");
27
+ return (Number(w) / 100).toLocaleString("pt-BR", {
28
+ style: "currency",
29
+ currency: "BRL"
30
+ });
31
+ }, []), x = B(
32
+ (o) => i === "monetary" ? k(o) : o,
33
+ [i, k]
34
+ );
35
+ return S ? /* @__PURE__ */ v("div", { className: "form-group", children: [
36
+ /* @__PURE__ */ n("label", { children: a }),
37
+ /* @__PURE__ */ n("span", { className: "form-control", children: m.value || "-" })
38
+ ] }) : /* @__PURE__ */ v("div", { className: `form-group ${b ? "hidden" : ""}`, children: [
39
+ /* @__PURE__ */ n("label", { children: a }),
40
+ C ? /* @__PURE__ */ n(
41
+ te,
42
+ {
43
+ name: e,
44
+ mask: C,
45
+ value: String(m.value ?? ""),
46
+ unmask: !1,
47
+ onAccept: (o) => m.onChange(x(o)),
48
+ placeholder: t,
49
+ readOnly: g,
50
+ className: `form-control ${h ? "border-red" : ""} ${d}`,
51
+ inputRef: m.ref,
52
+ onBlur: m.onBlur
53
+ }
54
+ ) : /* @__PURE__ */ n(
55
+ "input",
56
+ {
57
+ ...m,
58
+ type: "text",
59
+ value: m.value ?? "",
60
+ onChange: (o) => m.onChange(x(o.target.value)),
61
+ placeholder: t,
62
+ readOnly: g,
63
+ className: `form-control ${h ? "border-red" : ""} ${d}`
64
+ }
65
+ ),
66
+ h && /* @__PURE__ */ n("p", { className: "text-danger", children: String(h.message) })
67
+ ] });
68
+ }
69
+ const nt = j(de);
70
+ function ce({
71
+ name: e,
72
+ label: a = "",
73
+ options: t = [],
74
+ placeholder: i = "",
75
+ labelKey: r = "label",
76
+ valueKey: d = "value",
77
+ enableSearch: s = !1,
78
+ searchPlaceholder: c = "Buscar...",
79
+ loading: P = !1,
80
+ onSearchChange: f,
81
+ debounceTime: g = 300,
82
+ onSelect: b,
83
+ forceReadOnly: M = !1,
84
+ forceHidden: S = !1
85
+ }) {
86
+ const { isReadOnly: m, isHidden: p } = H(), h = M || !!m(e), C = S || !!p(e), { control: k, clearErrors: x } = D(), { isView: o } = V(), {
87
+ field: { onChange: w, value: y, ref: $ },
88
+ fieldState: { error: l }
89
+ } = z({
90
+ name: e,
91
+ control: k
92
+ }), [N, O] = G(!1), [R, X] = G(""), L = J(null), I = J(f);
93
+ A(() => {
94
+ I.current = f;
95
+ }, [f]), A(() => {
96
+ const u = (F) => {
97
+ L.current && !L.current.contains(F.target) && O(!1);
98
+ };
99
+ return document.addEventListener("mousedown", u), () => document.removeEventListener("mousedown", u);
100
+ }, []), A(() => {
101
+ N || X("");
102
+ }, [N]), A(() => {
103
+ if (!s) return;
104
+ const u = setTimeout(() => {
105
+ I.current && I.current(R);
106
+ }, g);
107
+ return () => clearTimeout(u);
108
+ }, [R, s, g]);
109
+ const Y = W(() => s && !f && R.trim() ? t.filter(
110
+ (u) => String((u == null ? void 0 : u[r]) ?? "").toLowerCase().includes(R.toLowerCase())
111
+ ) : t ?? [], [t, s, f, R, r]), Q = W(() => {
112
+ if (y == null) return "";
113
+ if (typeof y == "object")
114
+ return String(y[d] ?? "");
115
+ const u = (t || []).find(
116
+ (F) => String(F == null ? void 0 : F[d]) === String(y)
117
+ );
118
+ return String(u ? (u == null ? void 0 : u[r]) ?? "" : y);
119
+ }, [y, t, d, r]), U = (u) => {
120
+ h || (w(u[d]), b && b(u), x(e), O(!1));
121
+ };
122
+ return /* @__PURE__ */ v(
123
+ "div",
124
+ {
125
+ className: `select-wrapper form-group ${C ? "hidden" : ""}`,
126
+ ref: L,
127
+ children: [
128
+ /* @__PURE__ */ n("label", { className: "control-label", children: a }),
129
+ o ? /* @__PURE__ */ n("span", { className: "form-control", children: Q || "-" }) : /* @__PURE__ */ v(Z, { children: [
130
+ /* @__PURE__ */ v(
131
+ "div",
132
+ {
133
+ className: `select-control ${l ? "border-red" : ""} ${h ? "readOnly" : ""}`,
134
+ onClick: () => !h && O((u) => !u),
135
+ ref: $,
136
+ children: [
137
+ /* @__PURE__ */ n("span", { className: `select-display ${h ? "readOnly" : ""}`, children: Q || i }),
138
+ /* @__PURE__ */ n("i", { className: "flaticon flaticon-chevron-down select-icon" })
139
+ ]
140
+ }
141
+ ),
142
+ N && !h && /* @__PURE__ */ v("div", { className: "select-dropdown", children: [
143
+ s && /* @__PURE__ */ n("div", { className: "select-search", children: /* @__PURE__ */ n(
144
+ "input",
145
+ {
146
+ type: "text",
147
+ className: "select-search-input",
148
+ value: R,
149
+ onChange: (u) => X(u.target.value),
150
+ placeholder: P ? "Carregando..." : c,
151
+ autoFocus: !0,
152
+ onClick: (u) => u.stopPropagation()
153
+ }
154
+ ) }),
155
+ /* @__PURE__ */ n("ul", { className: "select-options", children: P ? /* @__PURE__ */ n("li", { className: "select-option readOnly", children: "Carregando..." }) : Y.length > 0 ? Y.map((u) => /* @__PURE__ */ n(
156
+ "li",
157
+ {
158
+ onClick: () => U(u),
159
+ className: "select-option handleHover",
160
+ children: u[r]
161
+ },
162
+ u[d]
163
+ )) : /* @__PURE__ */ n("li", { className: "select-option readOnly", children: "Sem resultados" }) })
164
+ ] })
165
+ ] }),
166
+ /* @__PURE__ */ n("input", { type: "hidden", name: e, value: y || "" }),
167
+ l && /* @__PURE__ */ n("p", { className: "text-danger", children: String(l.message) })
168
+ ]
169
+ }
170
+ );
171
+ }
172
+ const rt = j(ce);
173
+ function ot({
174
+ name: e,
175
+ options: a = [],
176
+ label: t = "",
177
+ valueKey: i = "value",
178
+ labelKey: r = "label",
179
+ forceReadOnly: d = !1,
180
+ forceHidden: s = !1
181
+ }) {
182
+ var y, $;
183
+ const c = D(), { isView: P, isReadOnly: f } = V(), { isReadOnly: g, isHidden: b } = H(), M = g ? g(e) : !1, S = b ? b(e) : !1, m = d || M, p = s || S, h = m || f || P;
184
+ if (!c || !e)
185
+ return console.error("Checkbox requer contexto de formulário e nome."), null;
186
+ const C = () => !a || !c ? {} : a.reduce((l, N) => {
187
+ const O = N[i], R = c.getValues(O);
188
+ return l[O] = R === "on", l;
189
+ }, {}), k = c.watch(e), x = W(() => k && typeof k == "object" ? k : C(), [k, a, i]);
190
+ A(() => {
191
+ const l = c.getValues(e);
192
+ (!l || typeof l != "object") && c.setValue(e, x, {
193
+ shouldDirty: !1,
194
+ shouldValidate: !1
195
+ });
196
+ }, [x, e, c]);
197
+ const o = (l, N) => {
198
+ if (h) return;
199
+ const O = { ...x, [l]: N };
200
+ c.setValue(e, O, {
201
+ shouldDirty: !0,
202
+ shouldValidate: !0
203
+ }), c.setValue(l, N ? "on" : "", { shouldValidate: !1 });
204
+ }, w = ($ = (y = c.formState) == null ? void 0 : y.errors) == null ? void 0 : $[e];
205
+ return /* @__PURE__ */ v("div", { className: `form-group ${p ? "hidden" : ""}`, children: [
206
+ t && /* @__PURE__ */ n("label", { children: t }),
207
+ /* @__PURE__ */ n(
208
+ "div",
209
+ {
210
+ className: `checkbox-group-custom ${h ? "readOnly" : ""}`,
211
+ children: a.map((l) => {
212
+ const N = String(l[i]), O = x[N] === !0;
213
+ return /* @__PURE__ */ v("div", { children: [
214
+ /* @__PURE__ */ n("input", { type: "hidden", ...c.register(N) }),
215
+ /* @__PURE__ */ v(
216
+ "label",
217
+ {
218
+ className: `custom-checkbox ${O ? "checked" : ""} ${h ? "readOnly" : ""}`,
219
+ children: [
220
+ /* @__PURE__ */ n(
221
+ "input",
222
+ {
223
+ type: "checkbox",
224
+ checked: O,
225
+ disabled: h,
226
+ onChange: (R) => o(N, R.target.checked)
227
+ }
228
+ ),
229
+ /* @__PURE__ */ n("span", { className: "checkmark" }),
230
+ /* @__PURE__ */ n("span", { children: l[r] })
231
+ ]
232
+ }
233
+ )
234
+ ] }, N);
235
+ })
236
+ }
237
+ ),
238
+ w && /* @__PURE__ */ n("p", { className: "text-danger", children: String(w.message) })
239
+ ] });
240
+ }
241
+ function le({
242
+ name: e,
243
+ label: a = "",
244
+ options: t = [],
245
+ valueKey: i = "value",
246
+ labelKey: r = "label",
247
+ iconKey: d = "icon",
248
+ forceReadOnly: s = !1,
249
+ forceHidden: c = !1
250
+ }) {
251
+ const { isReadOnly: P, isHidden: f } = H(), g = s || !!P(e), b = c || !!f(e), { control: M } = D(), { isView: S, isReadOnly: m } = V(), {
252
+ field: p,
253
+ fieldState: { error: h }
254
+ } = z({
255
+ name: e,
256
+ control: M
257
+ }), C = g || m || S, k = p.value ?? "", x = B(
258
+ (o) => {
259
+ C || p.onChange(o);
260
+ },
261
+ [C, p]
262
+ );
263
+ return /* @__PURE__ */ v("div", { className: `form-group column ${b ? "hidden" : ""}`, children: [
264
+ a && /* @__PURE__ */ n("label", { className: "control-label", children: a }),
265
+ /* @__PURE__ */ n(
266
+ "div",
267
+ {
268
+ className: `btn-group ${C ? "view-mode" : ""}`,
269
+ "data-field-name": e,
270
+ children: t.map((o) => {
271
+ const w = o[i], y = k === w, $ = o.color ? { "--customColor": o.color } : void 0;
272
+ return /* @__PURE__ */ v(
273
+ "label",
274
+ {
275
+ htmlFor: `${e}_${w}`,
276
+ style: $,
277
+ className: `btn fs-ellipsis ${y ? "active" : ""}`,
278
+ children: [
279
+ /* @__PURE__ */ n(
280
+ "input",
281
+ {
282
+ type: "radio",
283
+ id: `${e}_${w}`,
284
+ name: e,
285
+ value: w,
286
+ checked: y,
287
+ className: "hidden",
288
+ onChange: () => x(w),
289
+ disabled: C
290
+ }
291
+ ),
292
+ o[d] && /* @__PURE__ */ n("i", { className: `${o[d]} icon-sm` }),
293
+ " ",
294
+ o[r]
295
+ ]
296
+ },
297
+ w
298
+ );
299
+ })
300
+ }
301
+ ),
302
+ h && /* @__PURE__ */ n("p", { className: "text-danger", children: String(h.message) })
303
+ ] });
304
+ }
305
+ const it = j(le), ue = ({
306
+ name: e,
307
+ label: a = "",
308
+ placeholder: t = "",
309
+ className: i = "",
310
+ rows: r = 4,
311
+ maxLength: d,
312
+ forceReadOnly: s = !1,
313
+ forceHidden: c = !1
314
+ }) => {
315
+ const { isReadOnly: P, isHidden: f } = H(), g = s || !!P(e), b = c || !!f(e), { control: M } = D(), { isView: S } = V(), {
316
+ field: m,
317
+ fieldState: { error: p }
318
+ } = z({
319
+ name: e,
320
+ control: M
321
+ });
322
+ return S ? /* @__PURE__ */ v("div", { className: `form-group ${b ? "hidden" : ""}`, children: [
323
+ /* @__PURE__ */ n("label", { children: a }),
324
+ /* @__PURE__ */ n("span", { className: "form-control", children: m.value || "-" })
325
+ ] }) : /* @__PURE__ */ v("div", { className: `form-group ${b ? "hidden" : ""}`, children: [
326
+ /* @__PURE__ */ n("label", { children: a }),
327
+ /* @__PURE__ */ n(
328
+ "textarea",
329
+ {
330
+ ...m,
331
+ rows: r,
332
+ maxLength: d,
333
+ value: m.value || "",
334
+ placeholder: t,
335
+ readOnly: g,
336
+ className: `form-control ${p ? "border-red" : ""} ${i}`
337
+ }
338
+ ),
339
+ p && /* @__PURE__ */ n("p", { className: "text-danger", children: String(p.message) })
340
+ ] });
341
+ }, st = j(ue);
342
+ function E(e) {
343
+ return (a = {}) => {
344
+ const t = a.width ? String(a.width) : e.defaultWidth;
345
+ return e.formats[t] || e.formats[e.defaultWidth];
346
+ };
347
+ }
348
+ function q(e) {
349
+ return (a, t) => {
350
+ const i = t != null && t.context ? String(t.context) : "standalone";
351
+ let r;
352
+ if (i === "formatting" && e.formattingValues) {
353
+ const s = e.defaultFormattingWidth || e.defaultWidth, c = t != null && t.width ? String(t.width) : s;
354
+ r = e.formattingValues[c] || e.formattingValues[s];
355
+ } else {
356
+ const s = e.defaultWidth, c = t != null && t.width ? String(t.width) : e.defaultWidth;
357
+ r = e.values[c] || e.values[s];
358
+ }
359
+ const d = e.argumentCallback ? e.argumentCallback(a) : a;
360
+ return r[d];
361
+ };
362
+ }
363
+ function T(e) {
364
+ return (a, t = {}) => {
365
+ const i = t.width, r = i && e.matchPatterns[i] || e.matchPatterns[e.defaultMatchWidth], d = a.match(r);
366
+ if (!d)
367
+ return null;
368
+ const s = d[0], c = i && e.parsePatterns[i] || e.parsePatterns[e.defaultParseWidth], P = Array.isArray(c) ? he(c, (b) => b.test(s)) : (
369
+ // [TODO] -- I challenge you to fix the type
370
+ me(c, (b) => b.test(s))
371
+ );
372
+ let f;
373
+ f = e.valueCallback ? e.valueCallback(P) : P, f = t.valueCallback ? (
374
+ // [TODO] -- I challenge you to fix the type
375
+ t.valueCallback(f)
376
+ ) : f;
377
+ const g = a.slice(s.length);
378
+ return { value: f, rest: g };
379
+ };
380
+ }
381
+ function me(e, a) {
382
+ for (const t in e)
383
+ if (Object.prototype.hasOwnProperty.call(e, t) && a(e[t]))
384
+ return t;
385
+ }
386
+ function he(e, a) {
387
+ for (let t = 0; t < e.length; t++)
388
+ if (a(e[t]))
389
+ return t;
390
+ }
391
+ function fe(e) {
392
+ return (a, t = {}) => {
393
+ const i = a.match(e.matchPattern);
394
+ if (!i) return null;
395
+ const r = i[0], d = a.match(e.parsePattern);
396
+ if (!d) return null;
397
+ let s = e.valueCallback ? e.valueCallback(d[0]) : d[0];
398
+ s = t.valueCallback ? t.valueCallback(s) : s;
399
+ const c = a.slice(r.length);
400
+ return { value: s, rest: c };
401
+ };
402
+ }
403
+ const ge = {
404
+ lessThanXSeconds: {
405
+ one: "menos de um segundo",
406
+ other: "menos de {{count}} segundos"
407
+ },
408
+ xSeconds: {
409
+ one: "1 segundo",
410
+ other: "{{count}} segundos"
411
+ },
412
+ halfAMinute: "meio minuto",
413
+ lessThanXMinutes: {
414
+ one: "menos de um minuto",
415
+ other: "menos de {{count}} minutos"
416
+ },
417
+ xMinutes: {
418
+ one: "1 minuto",
419
+ other: "{{count}} minutos"
420
+ },
421
+ aboutXHours: {
422
+ one: "cerca de 1 hora",
423
+ other: "cerca de {{count}} horas"
424
+ },
425
+ xHours: {
426
+ one: "1 hora",
427
+ other: "{{count}} horas"
428
+ },
429
+ xDays: {
430
+ one: "1 dia",
431
+ other: "{{count}} dias"
432
+ },
433
+ aboutXWeeks: {
434
+ one: "cerca de 1 semana",
435
+ other: "cerca de {{count}} semanas"
436
+ },
437
+ xWeeks: {
438
+ one: "1 semana",
439
+ other: "{{count}} semanas"
440
+ },
441
+ aboutXMonths: {
442
+ one: "cerca de 1 mês",
443
+ other: "cerca de {{count}} meses"
444
+ },
445
+ xMonths: {
446
+ one: "1 mês",
447
+ other: "{{count}} meses"
448
+ },
449
+ aboutXYears: {
450
+ one: "cerca de 1 ano",
451
+ other: "cerca de {{count}} anos"
452
+ },
453
+ xYears: {
454
+ one: "1 ano",
455
+ other: "{{count}} anos"
456
+ },
457
+ overXYears: {
458
+ one: "mais de 1 ano",
459
+ other: "mais de {{count}} anos"
460
+ },
461
+ almostXYears: {
462
+ one: "quase 1 ano",
463
+ other: "quase {{count}} anos"
464
+ }
465
+ }, be = (e, a, t) => {
466
+ let i;
467
+ const r = ge[e];
468
+ return typeof r == "string" ? i = r : a === 1 ? i = r.one : i = r.other.replace("{{count}}", String(a)), t != null && t.addSuffix ? t.comparison && t.comparison > 0 ? "em " + i : "há " + i : i;
469
+ }, pe = {
470
+ full: "EEEE, d 'de' MMMM 'de' y",
471
+ long: "d 'de' MMMM 'de' y",
472
+ medium: "d MMM y",
473
+ short: "dd/MM/yyyy"
474
+ }, ye = {
475
+ full: "HH:mm:ss zzzz",
476
+ long: "HH:mm:ss z",
477
+ medium: "HH:mm:ss",
478
+ short: "HH:mm"
479
+ }, ve = {
480
+ full: "{{date}} 'às' {{time}}",
481
+ long: "{{date}} 'às' {{time}}",
482
+ medium: "{{date}}, {{time}}",
483
+ short: "{{date}}, {{time}}"
484
+ }, we = {
485
+ date: E({
486
+ formats: pe,
487
+ defaultWidth: "full"
488
+ }),
489
+ time: E({
490
+ formats: ye,
491
+ defaultWidth: "full"
492
+ }),
493
+ dateTime: E({
494
+ formats: ve,
495
+ defaultWidth: "full"
496
+ })
497
+ }, Ne = {
498
+ lastWeek: (e) => {
499
+ const a = e.getDay();
500
+ return "'" + (a === 0 || a === 6 ? "último" : "última") + "' eeee 'às' p";
501
+ },
502
+ yesterday: "'ontem às' p",
503
+ today: "'hoje às' p",
504
+ tomorrow: "'amanhã às' p",
505
+ nextWeek: "eeee 'às' p",
506
+ other: "P"
507
+ }, Pe = (e, a, t, i) => {
508
+ const r = Ne[e];
509
+ return typeof r == "function" ? r(a) : r;
510
+ }, Ce = {
511
+ narrow: ["AC", "DC"],
512
+ abbreviated: ["AC", "DC"],
513
+ wide: ["antes de cristo", "depois de cristo"]
514
+ }, ke = {
515
+ narrow: ["1", "2", "3", "4"],
516
+ abbreviated: ["T1", "T2", "T3", "T4"],
517
+ wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"]
518
+ }, xe = {
519
+ narrow: ["j", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"],
520
+ abbreviated: [
521
+ "jan",
522
+ "fev",
523
+ "mar",
524
+ "abr",
525
+ "mai",
526
+ "jun",
527
+ "jul",
528
+ "ago",
529
+ "set",
530
+ "out",
531
+ "nov",
532
+ "dez"
533
+ ],
534
+ wide: [
535
+ "janeiro",
536
+ "fevereiro",
537
+ "março",
538
+ "abril",
539
+ "maio",
540
+ "junho",
541
+ "julho",
542
+ "agosto",
543
+ "setembro",
544
+ "outubro",
545
+ "novembro",
546
+ "dezembro"
547
+ ]
548
+ }, Me = {
549
+ narrow: ["D", "S", "T", "Q", "Q", "S", "S"],
550
+ short: ["dom", "seg", "ter", "qua", "qui", "sex", "sab"],
551
+ abbreviated: [
552
+ "domingo",
553
+ "segunda",
554
+ "terça",
555
+ "quarta",
556
+ "quinta",
557
+ "sexta",
558
+ "sábado"
559
+ ],
560
+ wide: [
561
+ "domingo",
562
+ "segunda-feira",
563
+ "terça-feira",
564
+ "quarta-feira",
565
+ "quinta-feira",
566
+ "sexta-feira",
567
+ "sábado"
568
+ ]
569
+ }, Se = {
570
+ narrow: {
571
+ am: "a",
572
+ pm: "p",
573
+ midnight: "mn",
574
+ noon: "md",
575
+ morning: "manhã",
576
+ afternoon: "tarde",
577
+ evening: "tarde",
578
+ night: "noite"
579
+ },
580
+ abbreviated: {
581
+ am: "AM",
582
+ pm: "PM",
583
+ midnight: "meia-noite",
584
+ noon: "meio-dia",
585
+ morning: "manhã",
586
+ afternoon: "tarde",
587
+ evening: "tarde",
588
+ night: "noite"
589
+ },
590
+ wide: {
591
+ am: "a.m.",
592
+ pm: "p.m.",
593
+ midnight: "meia-noite",
594
+ noon: "meio-dia",
595
+ morning: "manhã",
596
+ afternoon: "tarde",
597
+ evening: "tarde",
598
+ night: "noite"
599
+ }
600
+ }, Oe = {
601
+ narrow: {
602
+ am: "a",
603
+ pm: "p",
604
+ midnight: "mn",
605
+ noon: "md",
606
+ morning: "da manhã",
607
+ afternoon: "da tarde",
608
+ evening: "da tarde",
609
+ night: "da noite"
610
+ },
611
+ abbreviated: {
612
+ am: "AM",
613
+ pm: "PM",
614
+ midnight: "meia-noite",
615
+ noon: "meio-dia",
616
+ morning: "da manhã",
617
+ afternoon: "da tarde",
618
+ evening: "da tarde",
619
+ night: "da noite"
620
+ },
621
+ wide: {
622
+ am: "a.m.",
623
+ pm: "p.m.",
624
+ midnight: "meia-noite",
625
+ noon: "meio-dia",
626
+ morning: "da manhã",
627
+ afternoon: "da tarde",
628
+ evening: "da tarde",
629
+ night: "da noite"
630
+ }
631
+ }, Re = (e, a) => {
632
+ const t = Number(e);
633
+ return (a == null ? void 0 : a.unit) === "week" ? t + "ª" : t + "º";
634
+ }, $e = {
635
+ ordinalNumber: Re,
636
+ era: q({
637
+ values: Ce,
638
+ defaultWidth: "wide"
639
+ }),
640
+ quarter: q({
641
+ values: ke,
642
+ defaultWidth: "wide",
643
+ argumentCallback: (e) => e - 1
644
+ }),
645
+ month: q({
646
+ values: xe,
647
+ defaultWidth: "wide"
648
+ }),
649
+ day: q({
650
+ values: Me,
651
+ defaultWidth: "wide"
652
+ }),
653
+ dayPeriod: q({
654
+ values: Se,
655
+ defaultWidth: "wide",
656
+ formattingValues: Oe,
657
+ defaultFormattingWidth: "wide"
658
+ })
659
+ }, Ve = /^(\d+)[ºªo]?/i, We = /\d+/i, je = {
660
+ narrow: /^(ac|dc|a|d)/i,
661
+ abbreviated: /^(a\.?\s?c\.?|d\.?\s?c\.?)/i,
662
+ wide: /^(antes de cristo|depois de cristo)/i
663
+ }, De = {
664
+ any: [/^ac/i, /^dc/i],
665
+ wide: [/^antes de cristo/i, /^depois de cristo/i]
666
+ }, He = {
667
+ narrow: /^[1234]/i,
668
+ abbreviated: /^T[1234]/i,
669
+ wide: /^[1234](º)? trimestre/i
670
+ }, Fe = {
671
+ any: [/1/i, /2/i, /3/i, /4/i]
672
+ }, qe = {
673
+ narrow: /^[jfmajsond]/i,
674
+ abbreviated: /^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,
675
+ wide: /^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i
676
+ }, Te = {
677
+ narrow: [
678
+ /^j/i,
679
+ /^f/i,
680
+ /^m/i,
681
+ /^a/i,
682
+ /^m/i,
683
+ /^j/i,
684
+ /^j/i,
685
+ /^a/i,
686
+ /^s/i,
687
+ /^o/i,
688
+ /^n/i,
689
+ /^d/i
690
+ ],
691
+ any: [
692
+ /^ja/i,
693
+ /^fev/i,
694
+ /^mar/i,
695
+ /^abr/i,
696
+ /^mai/i,
697
+ /^jun/i,
698
+ /^jul/i,
699
+ /^ago/i,
700
+ /^set/i,
701
+ /^out/i,
702
+ /^nov/i,
703
+ /^dez/i
704
+ ]
705
+ }, Ae = {
706
+ narrow: /^(dom|[23456]ª?|s[aá]b)/i,
707
+ short: /^(dom|[23456]ª?|s[aá]b)/i,
708
+ abbreviated: /^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,
709
+ wide: /^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i
710
+ }, Be = {
711
+ short: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],
712
+ narrow: [/^d/i, /^2/i, /^3/i, /^4/i, /^5/i, /^6/i, /^s[aá]/i],
713
+ any: [/^d/i, /^seg/i, /^t/i, /^qua/i, /^qui/i, /^sex/i, /^s[aá]b/i]
714
+ }, ze = {
715
+ narrow: /^(a|p|mn|md|(da) (manhã|tarde|noite))/i,
716
+ any: /^([ap]\.?\s?m\.?|meia[-\s]noite|meio[-\s]dia|(da) (manhã|tarde|noite))/i
717
+ }, Le = {
718
+ any: {
719
+ am: /^a/i,
720
+ pm: /^p/i,
721
+ midnight: /^mn|^meia[-\s]noite/i,
722
+ noon: /^md|^meio[-\s]dia/i,
723
+ morning: /manhã/i,
724
+ afternoon: /tarde/i,
725
+ evening: /tarde/i,
726
+ night: /noite/i
727
+ }
728
+ }, Ie = {
729
+ ordinalNumber: fe({
730
+ matchPattern: Ve,
731
+ parsePattern: We,
732
+ valueCallback: (e) => parseInt(e, 10)
733
+ }),
734
+ era: T({
735
+ matchPatterns: je,
736
+ defaultMatchWidth: "wide",
737
+ parsePatterns: De,
738
+ defaultParseWidth: "any"
739
+ }),
740
+ quarter: T({
741
+ matchPatterns: He,
742
+ defaultMatchWidth: "wide",
743
+ parsePatterns: Fe,
744
+ defaultParseWidth: "any",
745
+ valueCallback: (e) => e + 1
746
+ }),
747
+ month: T({
748
+ matchPatterns: qe,
749
+ defaultMatchWidth: "wide",
750
+ parsePatterns: Te,
751
+ defaultParseWidth: "any"
752
+ }),
753
+ day: T({
754
+ matchPatterns: Ae,
755
+ defaultMatchWidth: "wide",
756
+ parsePatterns: Be,
757
+ defaultParseWidth: "any"
758
+ }),
759
+ dayPeriod: T({
760
+ matchPatterns: ze,
761
+ defaultMatchWidth: "any",
762
+ parsePatterns: Le,
763
+ defaultParseWidth: "any"
764
+ })
765
+ }, Ee = {
766
+ code: "pt-BR",
767
+ formatDistance: be,
768
+ formatLong: we,
769
+ formatRelative: Pe,
770
+ localize: $e,
771
+ match: Ie,
772
+ options: {
773
+ weekStartsOn: 0,
774
+ firstWeekContainsDate: 1
775
+ }
776
+ };
777
+ ne("pt-BR", Ee);
778
+ const _ = "dd/MM/yyyy", _e = (e) => {
779
+ if (!e) return null;
780
+ const a = re(e, _, /* @__PURE__ */ new Date());
781
+ return oe(a) ? a : null;
782
+ }, Xe = (e) => e ? ie(e, _) : "", Ye = K(
783
+ ({ shimRef: e, className: a, name: t, ...i }, r) => /* @__PURE__ */ n(
784
+ "input",
785
+ {
786
+ name: t,
787
+ ...i,
788
+ className: a,
789
+ ref: (d) => {
790
+ typeof r == "function" ? r(d) : r && (r.current = d), e && e(d);
791
+ }
792
+ }
793
+ )
794
+ ), Qe = ({
795
+ name: e,
796
+ label: a = "",
797
+ placeholder: t = "dd/mm/aaaa",
798
+ className: i = "",
799
+ forceReadOnly: r = !1,
800
+ forceHidden: d = !1
801
+ }) => {
802
+ const { control: s } = D(), { isView: c } = V(), { isReadOnly: P, isHidden: f } = H(), g = r || !!P(e), b = d || !!f(e), {
803
+ field: { onChange: M, onBlur: S, value: m, ref: p },
804
+ fieldState: { error: h }
805
+ } = z({
806
+ name: e,
807
+ control: s
808
+ }), C = W(() => _e(m), [m]), k = B(
809
+ (o) => {
810
+ M(o ? Xe(o) : "");
811
+ },
812
+ [M]
813
+ ), x = B(
814
+ (o) => {
815
+ var w, y;
816
+ if (p(o), o && ((y = (w = s._fields) == null ? void 0 : w[e]) != null && y._f)) {
817
+ const $ = s._fields[e];
818
+ $._f.ref = {
819
+ focus: () => {
820
+ var l;
821
+ return (l = o.focus) == null ? void 0 : l.call(o);
822
+ },
823
+ select: () => {
824
+ var l;
825
+ return (l = o.select) == null ? void 0 : l.call(o);
826
+ },
827
+ setCustomValidity: (l) => {
828
+ var N;
829
+ return (N = o.setCustomValidity) == null ? void 0 : N.call(o, l);
830
+ },
831
+ reportValidity: () => {
832
+ var l;
833
+ return (l = o.reportValidity) == null ? void 0 : l.call(o);
834
+ }
835
+ };
836
+ }
837
+ },
838
+ [p, s, e]
839
+ );
840
+ return b ? null : c ? /* @__PURE__ */ v("div", { className: "form-group", children: [
841
+ /* @__PURE__ */ n("label", { children: a }),
842
+ /* @__PURE__ */ n("span", { className: "form-control", children: m || "-" })
843
+ ] }) : /* @__PURE__ */ v("div", { className: `form-group fluig-style-guide ${i}`, children: [
844
+ a && /* @__PURE__ */ n("label", { className: "control-label", htmlFor: e, children: a }),
845
+ /* @__PURE__ */ n("div", { className: `${h ? "border-red" : ""}`, children: /* @__PURE__ */ n(
846
+ ae,
847
+ {
848
+ id: e,
849
+ name: e,
850
+ selected: C,
851
+ onChange: k,
852
+ onBlur: S,
853
+ dateFormat: _,
854
+ placeholderText: t,
855
+ disabled: g,
856
+ readOnly: g,
857
+ locale: "pt-BR",
858
+ className: `form-control ${h ? "border-red" : ""}`,
859
+ wrapperClassName: "w-100",
860
+ showMonthDropdown: !0,
861
+ showYearDropdown: !0,
862
+ dropdownMode: "select",
863
+ isClearable: !g && !!m,
864
+ autoComplete: "off",
865
+ customInput: /* @__PURE__ */ n(Ye, { name: e, shimRef: x })
866
+ }
867
+ ) }),
868
+ h && /* @__PURE__ */ n("span", { className: "help-block text-danger", children: String(h.message) })
869
+ ] });
870
+ }, dt = j(Qe);
871
+ function Ge({
872
+ mapping: e = {},
873
+ defaultLabel: a = "Não reconhecido",
874
+ className: t = "",
875
+ hidden: i = !1,
876
+ label: r
877
+ }) {
878
+ const { activityId: d } = V(), s = W(() => !e || d === null || d === void 0 ? null : e[d], [d, e]);
879
+ if (!s)
880
+ return /* @__PURE__ */ v("div", { className: `form-group ${i ? "hidden" : ""}`, children: [
881
+ r && /* @__PURE__ */ n("label", { children: r }),
882
+ /* @__PURE__ */ n("div", { className: `status-badge default ${t}`, children: a })
883
+ ] });
884
+ const c = {
885
+ "--customColor": s.color
886
+ };
887
+ return /* @__PURE__ */ v("div", { className: `form-group ${i ? "hidden" : ""}`, children: [
888
+ r && /* @__PURE__ */ n("label", { children: r }),
889
+ /* @__PURE__ */ v("div", { className: `status-badge ${t}`, style: c, children: [
890
+ s.icon && /* @__PURE__ */ n("i", { className: s.icon }),
891
+ /* @__PURE__ */ n("span", { children: s.label })
892
+ ] })
893
+ ] });
894
+ }
895
+ const ct = j(Ge);
896
+ export {
897
+ ot as Checkbox,
898
+ dt as DatePicker,
899
+ nt as Input,
900
+ it as RadioBtn,
901
+ rt as Select,
902
+ ct as StatusBadge,
903
+ st as TextArea
904
+ };
@@ -0,0 +1 @@
1
+ (function(b,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("react/jsx-runtime"),require("react"),require("react-hook-form"),require("react-imask"),require("@fluig-kit/ecm"),require("react-datepicker"),require("date-fns")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","react-hook-form","react-imask","@fluig-kit/ecm","react-datepicker","date-fns"],t):(b=typeof globalThis<"u"?globalThis:b||self,t(b.TechDiefraFluigUI={},b.jsxRuntime,b.React,b.ReactHookForm,b.ReactIMask,b.FluigKitECM,b.ReactDatePicker,b.dateFns))})(this,function(b,t,c,O,Y,k,L,E){"use strict";const Q={cpf:"000.000.000-00",cnpj:"00.000.000/0000-00",telefone:"(00) 00000-0000",cep:"00000-000"};function G({name:e,label:n="",placeholder:a="",type:o="text",mask:r,className:d="",forceReadOnly:i=!1,forceHidden:l=!1}){const{isReadOnly:P,isHidden:g}=k.useSection(),y=i||!!P(e),p=l||!!g(e),{control:$}=O.useFormContext(),{isView:V}=k.useFluigRuntime(),{field:h}=O.useController({name:e,control:$}),{errors:v}=O.useFormState({name:e}),m=v==null?void 0:v[e],x=c.useMemo(()=>r?Q[r]??r:null,[r]),M=c.useCallback(s=>{if(!s)return"";const C=s.replace(/\D/g,"");return(Number(C)/100).toLocaleString("pt-BR",{style:"currency",currency:"BRL"})},[]),S=c.useCallback(s=>o==="monetary"?M(s):s,[o,M]);return V?t.jsxs("div",{className:"form-group",children:[t.jsx("label",{children:n}),t.jsx("span",{className:"form-control",children:h.value||"-"})]}):t.jsxs("div",{className:`form-group ${p?"hidden":""}`,children:[t.jsx("label",{children:n}),x?t.jsx(Y.IMaskInput,{name:e,mask:x,value:String(h.value??""),unmask:!1,onAccept:s=>h.onChange(S(s)),placeholder:a,readOnly:y,className:`form-control ${m?"border-red":""} ${d}`,inputRef:h.ref,onBlur:h.onBlur}):t.jsx("input",{...h,type:"text",value:h.value??"",onChange:s=>h.onChange(S(s.target.value)),placeholder:a,readOnly:y,className:`form-control ${m?"border-red":""} ${d}`}),m&&t.jsx("p",{className:"text-danger",children:String(m.message)})]})}const U=c.memo(G);function J({name:e,label:n="",options:a=[],placeholder:o="",labelKey:r="label",valueKey:d="value",enableSearch:i=!1,searchPlaceholder:l="Buscar...",loading:P=!1,onSearchChange:g,debounceTime:y=300,onSelect:p,forceReadOnly:$=!1,forceHidden:V=!1}){const{isReadOnly:h,isHidden:v}=k.useSection(),m=$||!!h(e),x=V||!!v(e),{control:M,clearErrors:S}=O.useFormContext(),{isView:s}=k.useFluigRuntime(),{field:{onChange:C,value:w,ref:D},fieldState:{error:u}}=O.useController({name:e,control:M}),[N,W]=c.useState(!1),[j,H]=c.useState(""),I=c.useRef(null),z=c.useRef(g);c.useEffect(()=>{z.current=g},[g]),c.useEffect(()=>{const f=T=>{I.current&&!I.current.contains(T.target)&&W(!1)};return document.addEventListener("mousedown",f),()=>document.removeEventListener("mousedown",f)},[]),c.useEffect(()=>{N||H("")},[N]),c.useEffect(()=>{if(!i)return;const f=setTimeout(()=>{z.current&&z.current(j)},y);return()=>clearTimeout(f)},[j,i,y]);const _=c.useMemo(()=>i&&!g&&j.trim()?a.filter(f=>String((f==null?void 0:f[r])??"").toLowerCase().includes(j.toLowerCase())):a??[],[a,i,g,j,r]),X=c.useMemo(()=>{if(w==null)return"";if(typeof w=="object")return String(w[d]??"");const f=(a||[]).find(T=>String(T==null?void 0:T[d])===String(w));return String(f?(f==null?void 0:f[r])??"":w)},[w,a,d,r]),Le=f=>{m||(C(f[d]),p&&p(f),S(e),W(!1))};return t.jsxs("div",{className:`select-wrapper form-group ${x?"hidden":""}`,ref:I,children:[t.jsx("label",{className:"control-label",children:n}),s?t.jsx("span",{className:"form-control",children:X||"-"}):t.jsxs(t.Fragment,{children:[t.jsxs("div",{className:`select-control ${u?"border-red":""} ${m?"readOnly":""}`,onClick:()=>!m&&W(f=>!f),ref:D,children:[t.jsx("span",{className:`select-display ${m?"readOnly":""}`,children:X||o}),t.jsx("i",{className:"flaticon flaticon-chevron-down select-icon"})]}),N&&!m&&t.jsxs("div",{className:"select-dropdown",children:[i&&t.jsx("div",{className:"select-search",children:t.jsx("input",{type:"text",className:"select-search-input",value:j,onChange:f=>H(f.target.value),placeholder:P?"Carregando...":l,autoFocus:!0,onClick:f=>f.stopPropagation()})}),t.jsx("ul",{className:"select-options",children:P?t.jsx("li",{className:"select-option readOnly",children:"Carregando..."}):_.length>0?_.map(f=>t.jsx("li",{onClick:()=>Le(f),className:"select-option handleHover",children:f[r]},f[d])):t.jsx("li",{className:"select-option readOnly",children:"Sem resultados"})})]})]}),t.jsx("input",{type:"hidden",name:e,value:w||""}),u&&t.jsx("p",{className:"text-danger",children:String(u.message)})]})}const Z=c.memo(J);function K({name:e,options:n=[],label:a="",valueKey:o="value",labelKey:r="label",forceReadOnly:d=!1,forceHidden:i=!1}){var w,D;const l=O.useFormContext(),{isView:P,isReadOnly:g}=k.useFluigRuntime(),{isReadOnly:y,isHidden:p}=k.useSection(),$=y?y(e):!1,V=p?p(e):!1,h=d||$,v=i||V,m=h||g||P;if(!l||!e)return console.error("Checkbox requer contexto de formulário e nome."),null;const x=()=>!n||!l?{}:n.reduce((u,N)=>{const W=N[o],j=l.getValues(W);return u[W]=j==="on",u},{}),M=l.watch(e),S=c.useMemo(()=>M&&typeof M=="object"?M:x(),[M,n,o]);c.useEffect(()=>{const u=l.getValues(e);(!u||typeof u!="object")&&l.setValue(e,S,{shouldDirty:!1,shouldValidate:!1})},[S,e,l]);const s=(u,N)=>{if(m)return;const W={...S,[u]:N};l.setValue(e,W,{shouldDirty:!0,shouldValidate:!0}),l.setValue(u,N?"on":"",{shouldValidate:!1})},C=(D=(w=l.formState)==null?void 0:w.errors)==null?void 0:D[e];return t.jsxs("div",{className:`form-group ${v?"hidden":""}`,children:[a&&t.jsx("label",{children:a}),t.jsx("div",{className:`checkbox-group-custom ${m?"readOnly":""}`,children:n.map(u=>{const N=String(u[o]),W=S[N]===!0;return t.jsxs("div",{children:[t.jsx("input",{type:"hidden",...l.register(N)}),t.jsxs("label",{className:`custom-checkbox ${W?"checked":""} ${m?"readOnly":""}`,children:[t.jsx("input",{type:"checkbox",checked:W,disabled:m,onChange:j=>s(N,j.target.checked)}),t.jsx("span",{className:"checkmark"}),t.jsx("span",{children:u[r]})]})]},N)})}),C&&t.jsx("p",{className:"text-danger",children:String(C.message)})]})}function R({name:e,label:n="",options:a=[],valueKey:o="value",labelKey:r="label",iconKey:d="icon",forceReadOnly:i=!1,forceHidden:l=!1}){const{isReadOnly:P,isHidden:g}=k.useSection(),y=i||!!P(e),p=l||!!g(e),{control:$}=O.useFormContext(),{isView:V,isReadOnly:h}=k.useFluigRuntime(),{field:v,fieldState:{error:m}}=O.useController({name:e,control:$}),x=y||h||V,M=v.value??"",S=c.useCallback(s=>{x||v.onChange(s)},[x,v]);return t.jsxs("div",{className:`form-group column ${p?"hidden":""}`,children:[n&&t.jsx("label",{className:"control-label",children:n}),t.jsx("div",{className:`btn-group ${x?"view-mode":""}`,"data-field-name":e,children:a.map(s=>{const C=s[o],w=M===C,D=s.color?{"--customColor":s.color}:void 0;return t.jsxs("label",{htmlFor:`${e}_${C}`,style:D,className:`btn fs-ellipsis ${w?"active":""}`,children:[t.jsx("input",{type:"radio",id:`${e}_${C}`,name:e,value:C,checked:w,className:"hidden",onChange:()=>S(C),disabled:x}),s[d]&&t.jsx("i",{className:`${s[d]} icon-sm`})," ",s[r]]},C)})}),m&&t.jsx("p",{className:"text-danger",children:String(m.message)})]})}const ee=c.memo(R),te=({name:e,label:n="",placeholder:a="",className:o="",rows:r=4,maxLength:d,forceReadOnly:i=!1,forceHidden:l=!1})=>{const{isReadOnly:P,isHidden:g}=k.useSection(),y=i||!!P(e),p=l||!!g(e),{control:$}=O.useFormContext(),{isView:V}=k.useFluigRuntime(),{field:h,fieldState:{error:v}}=O.useController({name:e,control:$});return V?t.jsxs("div",{className:`form-group ${p?"hidden":""}`,children:[t.jsx("label",{children:n}),t.jsx("span",{className:"form-control",children:h.value||"-"})]}):t.jsxs("div",{className:`form-group ${p?"hidden":""}`,children:[t.jsx("label",{children:n}),t.jsx("textarea",{...h,rows:r,maxLength:d,value:h.value||"",placeholder:a,readOnly:y,className:`form-control ${v?"border-red":""} ${o}`}),v&&t.jsx("p",{className:"text-danger",children:String(v.message)})]})},ae=c.memo(te);function A(e){return(n={})=>{const a=n.width?String(n.width):e.defaultWidth;return e.formats[a]||e.formats[e.defaultWidth]}}function q(e){return(n,a)=>{const o=a!=null&&a.context?String(a.context):"standalone";let r;if(o==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,l=a!=null&&a.width?String(a.width):i;r=e.formattingValues[l]||e.formattingValues[i]}else{const i=e.defaultWidth,l=a!=null&&a.width?String(a.width):e.defaultWidth;r=e.values[l]||e.values[i]}const d=e.argumentCallback?e.argumentCallback(n):n;return r[d]}}function F(e){return(n,a={})=>{const o=a.width,r=o&&e.matchPatterns[o]||e.matchPatterns[e.defaultMatchWidth],d=n.match(r);if(!d)return null;const i=d[0],l=o&&e.parsePatterns[o]||e.parsePatterns[e.defaultParseWidth],P=Array.isArray(l)?re(l,p=>p.test(i)):ne(l,p=>p.test(i));let g;g=e.valueCallback?e.valueCallback(P):P,g=a.valueCallback?a.valueCallback(g):g;const y=n.slice(i.length);return{value:g,rest:y}}}function ne(e,n){for(const a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&n(e[a]))return a}function re(e,n){for(let a=0;a<e.length;a++)if(n(e[a]))return a}function se(e){return(n,a={})=>{const o=n.match(e.matchPattern);if(!o)return null;const r=o[0],d=n.match(e.parsePattern);if(!d)return null;let i=e.valueCallback?e.valueCallback(d[0]):d[0];i=a.valueCallback?a.valueCallback(i):i;const l=n.slice(r.length);return{value:i,rest:l}}}const oe={lessThanXSeconds:{one:"menos de um segundo",other:"menos de {{count}} segundos"},xSeconds:{one:"1 segundo",other:"{{count}} segundos"},halfAMinute:"meio minuto",lessThanXMinutes:{one:"menos de um minuto",other:"menos de {{count}} minutos"},xMinutes:{one:"1 minuto",other:"{{count}} minutos"},aboutXHours:{one:"cerca de 1 hora",other:"cerca de {{count}} horas"},xHours:{one:"1 hora",other:"{{count}} horas"},xDays:{one:"1 dia",other:"{{count}} dias"},aboutXWeeks:{one:"cerca de 1 semana",other:"cerca de {{count}} semanas"},xWeeks:{one:"1 semana",other:"{{count}} semanas"},aboutXMonths:{one:"cerca de 1 mês",other:"cerca de {{count}} meses"},xMonths:{one:"1 mês",other:"{{count}} meses"},aboutXYears:{one:"cerca de 1 ano",other:"cerca de {{count}} anos"},xYears:{one:"1 ano",other:"{{count}} anos"},overXYears:{one:"mais de 1 ano",other:"mais de {{count}} anos"},almostXYears:{one:"quase 1 ano",other:"quase {{count}} anos"}},ie=(e,n,a)=>{let o;const r=oe[e];return typeof r=="string"?o=r:n===1?o=r.one:o=r.other.replace("{{count}}",String(n)),a!=null&&a.addSuffix?a.comparison&&a.comparison>0?"em "+o:"há "+o:o},de={full:"EEEE, d 'de' MMMM 'de' y",long:"d 'de' MMMM 'de' y",medium:"d MMM y",short:"dd/MM/yyyy"},le={full:"HH:mm:ss zzzz",long:"HH:mm:ss z",medium:"HH:mm:ss",short:"HH:mm"},ce={full:"{{date}} 'às' {{time}}",long:"{{date}} 'às' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},ue={date:A({formats:de,defaultWidth:"full"}),time:A({formats:le,defaultWidth:"full"}),dateTime:A({formats:ce,defaultWidth:"full"})},fe={lastWeek:e=>{const n=e.getDay();return"'"+(n===0||n===6?"último":"última")+"' eeee 'às' p"},yesterday:"'ontem às' p",today:"'hoje às' p",tomorrow:"'amanhã às' p",nextWeek:"eeee 'às' p",other:"P"},he=(e,n,a,o)=>{const r=fe[e];return typeof r=="function"?r(n):r},me={narrow:["AC","DC"],abbreviated:["AC","DC"],wide:["antes de cristo","depois de cristo"]},ge={narrow:["1","2","3","4"],abbreviated:["T1","T2","T3","T4"],wide:["1º trimestre","2º trimestre","3º trimestre","4º trimestre"]},be={narrow:["j","f","m","a","m","j","j","a","s","o","n","d"],abbreviated:["jan","fev","mar","abr","mai","jun","jul","ago","set","out","nov","dez"],wide:["janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro"]},ye={narrow:["D","S","T","Q","Q","S","S"],short:["dom","seg","ter","qua","qui","sex","sab"],abbreviated:["domingo","segunda","terça","quarta","quinta","sexta","sábado"],wide:["domingo","segunda-feira","terça-feira","quarta-feira","quinta-feira","sexta-feira","sábado"]},pe={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"manhã",afternoon:"tarde",evening:"tarde",night:"noite"}},ve={narrow:{am:"a",pm:"p",midnight:"mn",noon:"md",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},abbreviated:{am:"AM",pm:"PM",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"},wide:{am:"a.m.",pm:"p.m.",midnight:"meia-noite",noon:"meio-dia",morning:"da manhã",afternoon:"da tarde",evening:"da tarde",night:"da noite"}},we={ordinalNumber:(e,n)=>{const a=Number(e);return(n==null?void 0:n.unit)==="week"?a+"ª":a+"º"},era:q({values:me,defaultWidth:"wide"}),quarter:q({values:ge,defaultWidth:"wide",argumentCallback:e=>e-1}),month:q({values:be,defaultWidth:"wide"}),day:q({values:ye,defaultWidth:"wide"}),dayPeriod:q({values:pe,defaultWidth:"wide",formattingValues:ve,defaultFormattingWidth:"wide"})},Ce=/^(\d+)[ºªo]?/i,Ne=/\d+/i,Pe={narrow:/^(ac|dc|a|d)/i,abbreviated:/^(a\.?\s?c\.?|d\.?\s?c\.?)/i,wide:/^(antes de cristo|depois de cristo)/i},ke={any:[/^ac/i,/^dc/i],wide:[/^antes de cristo/i,/^depois de cristo/i]},xe={narrow:/^[1234]/i,abbreviated:/^T[1234]/i,wide:/^[1234](º)? trimestre/i},Me={any:[/1/i,/2/i,/3/i,/4/i]},Se={narrow:/^[jfmajsond]/i,abbreviated:/^(jan|fev|mar|abr|mai|jun|jul|ago|set|out|nov|dez)/i,wide:/^(janeiro|fevereiro|março|abril|maio|junho|julho|agosto|setembro|outubro|novembro|dezembro)/i},Oe={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^fev/i,/^mar/i,/^abr/i,/^mai/i,/^jun/i,/^jul/i,/^ago/i,/^set/i,/^out/i,/^nov/i,/^dez/i]},$e={narrow:/^(dom|[23456]ª?|s[aá]b)/i,short:/^(dom|[23456]ª?|s[aá]b)/i,abbreviated:/^(dom|seg|ter|qua|qui|sex|s[aá]b)/i,wide:/^(domingo|(segunda|ter[cç]a|quarta|quinta|sexta)([- ]feira)?|s[aá]bado)/i},Ve={short:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],narrow:[/^d/i,/^2/i,/^3/i,/^4/i,/^5/i,/^6/i,/^s[aá]/i],any:[/^d/i,/^seg/i,/^t/i,/^qua/i,/^qui/i,/^sex/i,/^s[aá]b/i]},We={narrow:/^(a|p|mn|md|(da) (manhã|tarde|noite))/i,any:/^([ap]\.?\s?m\.?|meia[-\s]noite|meio[-\s]dia|(da) (manhã|tarde|noite))/i},je={any:{am:/^a/i,pm:/^p/i,midnight:/^mn|^meia[-\s]noite/i,noon:/^md|^meio[-\s]dia/i,morning:/manhã/i,afternoon:/tarde/i,evening:/tarde/i,night:/noite/i}},De={ordinalNumber:se({matchPattern:Ce,parsePattern:Ne,valueCallback:e=>parseInt(e,10)}),era:F({matchPatterns:Pe,defaultMatchWidth:"wide",parsePatterns:ke,defaultParseWidth:"any"}),quarter:F({matchPatterns:xe,defaultMatchWidth:"wide",parsePatterns:Me,defaultParseWidth:"any",valueCallback:e=>e+1}),month:F({matchPatterns:Se,defaultMatchWidth:"wide",parsePatterns:Oe,defaultParseWidth:"any"}),day:F({matchPatterns:$e,defaultMatchWidth:"wide",parsePatterns:Ve,defaultParseWidth:"any"}),dayPeriod:F({matchPatterns:We,defaultMatchWidth:"any",parsePatterns:je,defaultParseWidth:"any"})},qe={code:"pt-BR",formatDistance:ie,formatLong:ue,formatRelative:he,localize:we,match:De,options:{weekStartsOn:0,firstWeekContainsDate:1}};L.registerLocale("pt-BR",qe);const B="dd/MM/yyyy",Fe=e=>{if(!e)return null;const n=E.parse(e,B,new Date);return E.isValid(n)?n:null},Te=e=>e?E.format(e,B):"",Ee=c.forwardRef(({shimRef:e,className:n,name:a,...o},r)=>t.jsx("input",{name:a,...o,className:n,ref:d=>{typeof r=="function"?r(d):r&&(r.current=d),e&&e(d)}})),Ae=({name:e,label:n="",placeholder:a="dd/mm/aaaa",className:o="",forceReadOnly:r=!1,forceHidden:d=!1})=>{const{control:i}=O.useFormContext(),{isView:l}=k.useFluigRuntime(),{isReadOnly:P,isHidden:g}=k.useSection(),y=r||!!P(e),p=d||!!g(e),{field:{onChange:$,onBlur:V,value:h,ref:v},fieldState:{error:m}}=O.useController({name:e,control:i}),x=c.useMemo(()=>Fe(h),[h]),M=c.useCallback(s=>{$(s?Te(s):"")},[$]),S=c.useCallback(s=>{var C,w;if(v(s),s&&((w=(C=i._fields)==null?void 0:C[e])!=null&&w._f)){const D=i._fields[e];D._f.ref={focus:()=>{var u;return(u=s.focus)==null?void 0:u.call(s)},select:()=>{var u;return(u=s.select)==null?void 0:u.call(s)},setCustomValidity:u=>{var N;return(N=s.setCustomValidity)==null?void 0:N.call(s,u)},reportValidity:()=>{var u;return(u=s.reportValidity)==null?void 0:u.call(s)}}}},[v,i,e]);return p?null:l?t.jsxs("div",{className:"form-group",children:[t.jsx("label",{children:n}),t.jsx("span",{className:"form-control",children:h||"-"})]}):t.jsxs("div",{className:`form-group fluig-style-guide ${o}`,children:[n&&t.jsx("label",{className:"control-label",htmlFor:e,children:n}),t.jsx("div",{className:`${m?"border-red":""}`,children:t.jsx(L,{id:e,name:e,selected:x,onChange:M,onBlur:V,dateFormat:B,placeholderText:a,disabled:y,readOnly:y,locale:"pt-BR",className:`form-control ${m?"border-red":""}`,wrapperClassName:"w-100",showMonthDropdown:!0,showYearDropdown:!0,dropdownMode:"select",isClearable:!y&&!!h,autoComplete:"off",customInput:t.jsx(Ee,{name:e,shimRef:S})})}),m&&t.jsx("span",{className:"help-block text-danger",children:String(m.message)})]})},Be=c.memo(Ae);function Ie({mapping:e={},defaultLabel:n="Não reconhecido",className:a="",hidden:o=!1,label:r}){const{activityId:d}=k.useFluigRuntime(),i=c.useMemo(()=>!e||d===null||d===void 0?null:e[d],[d,e]);if(!i)return t.jsxs("div",{className:`form-group ${o?"hidden":""}`,children:[r&&t.jsx("label",{children:r}),t.jsx("div",{className:`status-badge default ${a}`,children:n})]});const l={"--customColor":i.color};return t.jsxs("div",{className:`form-group ${o?"hidden":""}`,children:[r&&t.jsx("label",{children:r}),t.jsxs("div",{className:`status-badge ${a}`,style:l,children:[i.icon&&t.jsx("i",{className:i.icon}),t.jsx("span",{children:i.label})]})]})}const ze=c.memo(Ie);b.Checkbox=K,b.DatePicker=Be,b.Input=U,b.RadioBtn=ee,b.Select=Z,b.StatusBadge=ze,b.TextArea=ae,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
package/package.json ADDED
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "@tech-diefra/fluig-ui",
3
+ "version": "1.0.0",
4
+ "type": "module",
5
+ "main": "./dist/tech-diefra-fluig-ui.umd.js",
6
+ "module": "./dist/tech-diefra-fluig-ui.es.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/tech-diefra-fluig-ui.es.js",
12
+ "require": "./dist/tech-diefra-fluig-ui.umd.js"
13
+ },
14
+ "./dist/style.css": "./dist/style.css"
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "scripts": {
20
+ "build": "vite build && tsc"
21
+ },
22
+ "peerDependencies": {
23
+ "react": "^18.0.0 || ^19.0.0",
24
+ "react-dom": "^18.0.0 || ^19.0.0",
25
+ "react-hook-form": "^7.0.0",
26
+ "@fluig-kit/core": "^1.0.2",
27
+ "@fluig-kit/ecm": "^1.0.2"
28
+ },
29
+ "dependencies": {
30
+ "date-fns": "^2.30.0 || ^3.0.0 || ^4.0.0",
31
+ "react-datepicker": "^4.0.0 || ^6.0.0 || ^7.0.0",
32
+ "react-imask": "^7.0.0"
33
+ },
34
+ "devDependencies": {
35
+ "@types/node": "^25.0.9",
36
+ "@types/react": "^18.2.0",
37
+ "@types/react-datepicker": "^6.0.0",
38
+ "@types/react-dom": "^18.2.0",
39
+ "@vitejs/plugin-react": "^4.2.0",
40
+ "typescript": "^5.0.0",
41
+ "vite": "^5.0.0",
42
+ "vite-plugin-dts": "^3.0.0"
43
+ }
44
+ }