@orangesix/react 1.2.2 → 1.3.3
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/api/index.d.ts +46 -2
- package/autocomplete/index.cjs.js +1 -1
- package/autocomplete/index.cjs.js.map +1 -1
- package/autocomplete/index.d.ts +12 -1
- package/autocomplete/index.esm.js +1 -1
- package/autocomplete/index.esm.js.map +1 -1
- package/button/_button.scss +56 -0
- package/button/index.cjs.js +2 -0
- package/button/index.cjs.js.map +1 -0
- package/button/index.d.ts +109 -0
- package/button/index.esm.js +2 -0
- package/button/index.esm.js.map +1 -0
- package/button/package.json +5 -0
- package/editor/index.d.ts +5 -0
- package/input/index.cjs.js +1 -1
- package/input/index.cjs.js.map +1 -1
- package/input/index.d.ts +44 -1
- package/input/index.esm.js +1 -1
- package/input/index.esm.js.map +1 -1
- package/inputfilter/index.cjs.js +1 -1
- package/inputfilter/index.cjs.js.map +1 -1
- package/inputfilter/index.d.ts +5 -0
- package/inputfilter/index.esm.js +1 -1
- package/inputfilter/index.esm.js.map +1 -1
- package/loading/index.d.ts +16 -16
- package/loading/package.json +5 -5
- package/message/index.cjs.js +2 -0
- package/message/index.cjs.js.map +1 -0
- package/message/index.d.ts +108 -0
- package/message/index.esm.js +2 -0
- package/message/index.esm.js.map +1 -0
- package/message/package.json +5 -0
- package/modal/index.cjs.js +1 -1
- package/modal/index.cjs.js.map +1 -1
- package/modal/index.d.ts +5 -0
- package/modal/index.esm.js +1 -1
- package/modal/index.esm.js.map +1 -1
- package/package.json +23 -28
- package/picklist/index.d.ts +2 -1
- package/radio/index.cjs.js +1 -1
- package/radio/index.cjs.js.map +1 -1
- package/radio/index.d.ts +44 -1
- package/radio/index.esm.js +1 -1
- package/radio/index.esm.js.map +1 -1
- package/select/index.cjs.js +1 -1
- package/select/index.cjs.js.map +1 -1
- package/select/index.d.ts +46 -2
- package/select/index.esm.js +1 -1
- package/select/index.esm.js.map +1 -1
- package/style/index.d.ts +1 -1
- package/switch/index.cjs.js +1 -1
- package/switch/index.cjs.js.map +1 -1
- package/switch/index.d.ts +44 -1
- package/switch/index.esm.js +1 -1
- package/switch/index.esm.js.map +1 -1
- package/table/index.cjs.js +1 -1
- package/table/index.cjs.js.map +1 -1
- package/table/index.d.ts +38 -4
- package/table/index.esm.js +1 -1
- package/table/index.esm.js.map +1 -1
- package/tablepivot/index.d.ts +2 -1
- package/tabview/index.cjs.js +1 -1
- package/tabview/index.cjs.js.map +1 -1
- package/tabview/index.d.ts +12 -1
- package/tabview/index.esm.js +1 -1
- package/tabview/index.esm.js.map +1 -1
- package/textarea/index.cjs.js +1 -1
- package/textarea/index.cjs.js.map +1 -1
- package/textarea/index.d.ts +44 -1
- package/textarea/index.esm.js +1 -1
- package/textarea/index.esm.js.map +1 -1
- package/utils/index.cjs.js +1 -1
- package/utils/index.cjs.js.map +1 -1
- package/utils/index.d.ts +10 -2
- package/utils/index.esm.js +1 -1
- package/utils/index.esm.js.map +1 -1
package/api/index.d.ts
CHANGED
|
@@ -164,18 +164,54 @@ interface ApiFieldComponentProps {
|
|
|
164
164
|
* Define a opção de filtro de dados do componente
|
|
165
165
|
*/
|
|
166
166
|
keyfilter?: KeyFilterType;
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Determina se campo é apenas de leitura
|
|
170
|
+
*/
|
|
171
|
+
readonly?: boolean
|
|
167
172
|
}
|
|
168
173
|
|
|
169
174
|
/**
|
|
170
175
|
* Define os tipos `default` para componente de entrada de dados controlled
|
|
176
|
+
* quando a propriedade `Readonly` estiver habilitada
|
|
171
177
|
*/
|
|
172
|
-
interface
|
|
178
|
+
interface ApiFieldReadonlyControlledProps {
|
|
179
|
+
/**
|
|
180
|
+
* Define o valor do componente controlado
|
|
181
|
+
*/
|
|
182
|
+
value: any
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Determina se campo é apenas de leitura
|
|
186
|
+
*/
|
|
187
|
+
readonly: true
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Função para alterar o valor do componente controlado
|
|
191
|
+
*/
|
|
192
|
+
onChange?: (value: any) => void
|
|
173
193
|
|
|
194
|
+
/**
|
|
195
|
+
* Função quando um usuário sai de um componente controlado
|
|
196
|
+
*/
|
|
197
|
+
onBlur?: (value: any) => void
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
Define os tipos `default` para componente de entrada de dados controlled
|
|
202
|
+
quando a propriedade `Readonly` estiver desabilitada
|
|
203
|
+
*/
|
|
204
|
+
interface ApiFieldWritableControlledProps {
|
|
174
205
|
/**
|
|
175
206
|
* Define o valor do componente controlado
|
|
176
207
|
*/
|
|
177
208
|
value: any
|
|
178
209
|
|
|
210
|
+
/**
|
|
211
|
+
* Determina se campo é apenas de leitura
|
|
212
|
+
*/
|
|
213
|
+
readonly?: false
|
|
214
|
+
|
|
179
215
|
/**
|
|
180
216
|
* Função para alterar o valor do componente controlado
|
|
181
217
|
*/
|
|
@@ -187,6 +223,13 @@ interface ApiFieldControlledProps {
|
|
|
187
223
|
onBlur?: (value: any) => void
|
|
188
224
|
}
|
|
189
225
|
|
|
226
|
+
/**
|
|
227
|
+
* Define os tipos `default` para componente de entrada de dados controlled
|
|
228
|
+
*/
|
|
229
|
+
type ApiFieldControlledProps =
|
|
230
|
+
| ApiFieldReadonlyControlledProps
|
|
231
|
+
| ApiFieldWritableControlledProps;
|
|
232
|
+
|
|
190
233
|
/**
|
|
191
234
|
* Define os tipos `default` para componente de entrada de dados HookFomr
|
|
192
235
|
*/
|
|
@@ -258,4 +301,5 @@ type TApiFieldHookFormProps = ApiFieldHookFormProps;
|
|
|
258
301
|
type IApiFieldComponentProps = ApiFieldComponentProps;
|
|
259
302
|
type IApiFieldControlledProps = ApiFieldControlledProps;
|
|
260
303
|
|
|
261
|
-
export {
|
|
304
|
+
export { InputFeedback, InputLabel, InputProps };
|
|
305
|
+
export type { IAPIComponentProps, IAlignItemsProps, IApiFieldComponentProps, IApiFieldControlledProps, IJustifyContentProps, TApiFieldHookFormProps, TApiFieldModeProps };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react"),a=require("primereact/utils"),t=require("primereact/autocomplete");const i=({children:t,...i})=>{const r={size:`box-size-${i.size??"100"}`,direction:`box-direction-${i.direction??"row"}`,justify:void 0===i.justify?"":Array.isArray(i.justify)?i.justify?.join(" "):i.justify,align:void 0===i.align?"":Array.isArray(i.align)?i.align?.join(" "):i.align},l={className:a.classNames(["box",i.className??"",r.size,r.direction,r.justify,r.align]),style:i.css,id:i.id};return e.createElement("div",{...l},t)},r=({iconPrefix:a="bi bi-",...t})=>t.label&&e.createElement("p",{className:"form-label"},t.icon&&e.createElement("i",{className:a+t.icon+" me-1"}),t.label,t.required&&e.createElement("span",{className:"text-danger"},"*"));function l(e){const a=e.dataTemplate?{itemTemplate:e.dataTemplate}:{};return{id:e.id,field:"name",name:e.name,forceSelection
|
|
1
|
+
"use strict";var e=require("react"),a=require("primereact/utils"),t=require("primereact/autocomplete");const i=({children:t,...i})=>{const r={size:`box-size-${i.size??"100"}`,direction:`box-direction-${i.direction??"row"}`,justify:void 0===i.justify?"":Array.isArray(i.justify)?i.justify?.join(" "):i.justify,align:void 0===i.align?"":Array.isArray(i.align)?i.align?.join(" "):i.align},l={className:a.classNames(["box",i.className??"",r.size,r.direction,r.justify,r.align]),style:i.css,id:i.id};return e.createElement("div",{...l},t)},r=({iconPrefix:a="bi bi-",...t})=>t.label&&e.createElement("p",{className:"form-label"},t.icon&&e.createElement("i",{className:a+t.icon+" me-1"}),t.label,t.required&&e.createElement("span",{className:"text-danger"},"*"));function l(e){const a=e.dataTemplate?{itemTemplate:e.dataTemplate}:{};return{id:e.id,field:"name",name:e.name,forceSelection:e.forceSelect??!0,style:e.css??{},disabled:e.disabled,required:e.required,placeholder:e.placeholder,inputClassName:"form-control",appendTo:e.appendTo??"self",className:"autocomplete-primereact w-100",...a}}function s(e){return{completeMethod(a){e.onSearch(a.query)},onChange(a){e.onChange(a.value)},onSelect(a){e.onSelect&&e.onSelect(a.value)}}}exports.Autocomplete=({...a})=>e.createElement(i,{className:"autocomplete"+(a.className??""),css:a.css,size:a.size??"100"},e.createElement(r,{...a}),e.createElement(t.AutoComplete,{delay:a.searchDelay??500,maxLength:a.searchMax,minLength:a.searchMin??1,suggestions:a.data??[],value:a.value,...l(a),...s(a)}),e.createElement("div",{"data-name":a.name,id:"j_feedback"}));
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../src/box/box.tsx","../../src/api/input.tsx","../../src/autocomplete/core/core.tsx","../../src/autocomplete/core/event.tsx","../../src/autocomplete/autocomplete.tsx"],"sourcesContent":["import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","import React from \"react\";\r\nimport { ApiComponentProps, ApiFieldComponentProps } from \"./types\";\r\n\r\n/**\r\n * API - `InputLabel`\r\n *\r\n * Um componente utilizado como label em todos os componente de entrada de dados do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputLabel = ({ iconPrefix = \"bi bi-\", ...props }: ApiFieldComponentProps) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return props.label\r\n && <p className='form-label'>\r\n {props.icon && <i className={iconPrefix + props.icon + \" me-1\"}/>}\r\n {props.label}\r\n {props.required && <span className=\"text-danger\">*</span>}\r\n </p>;\r\n};\r\n\r\n/**\r\n * API - `InputFeedback`\r\n *\r\n * Um componente utilizado como container de feedback em todos os componente de entrada de dados do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputFeedback = ({ errors, name, ...props }: ApiFieldComponentProps & { errors?: any }) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return !props.mode || props.mode === \"Controlled\"\r\n ? <div data-name={name}\r\n id=\"j_feedback\"/>\r\n : <div className={(!errors[name ?? \"\"] ? \"\" : \"invalid-feedback is-invalid\")}\r\n data-name={name ?? \"\"}\r\n id=\"j_feedback\"\r\n style={{ display: errors[name ?? \"\"] ? \"block\" : \"none\" }}>{!errors[name ?? \"\"] ? \"\" : errors[name ?? \"\"].message}</div>;\r\n};\r\n\r\n/**\r\n * API - `InputProps`\r\n *\r\n * Retorna o objeto com as `Props` do core dos componentes de entrada de dados\r\n */\r\nexport function InputProps<T extends ApiComponentProps & ApiFieldComponentProps & { ref: any }>(props: T) {\r\n return {\r\n ref: props.ref,\r\n\r\n id: props.id,\r\n name: props.name,\r\n required: props.required,\r\n disabled: props.disabled,\r\n placeholder: props.placeholder,\r\n\r\n className: props.className,\r\n style: { width: \"100%\" },\r\n\r\n keyfilter: props.keyfilter,\r\n };\r\n}","import { AutocompleteProps } from \"../types\";\r\nimport { AutoCompleteProps as AutoCompletePropsPrimeReact } from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * Define as configurações do modo principal do autocomplete.\r\n */\r\nexport function autocompleCore(\r\n props: AutocompleteProps\r\n): Partial<AutoCompletePropsPrimeReact> {\r\n\r\n const itemTemplate: Partial<AutoCompletePropsPrimeReact> = props.dataTemplate\r\n ? { itemTemplate: props.dataTemplate }\r\n : {};\r\n return {\r\n id: props.id,\r\n field: \"name\",\r\n name: props.name,\r\n forceSelection: true,\r\n style: props.css ?? {},\r\n disabled: props.disabled,\r\n required: props.required,\r\n placeholder: props.placeholder,\r\n inputClassName: \"form-control\",\r\n appendTo: props.appendTo ?? \"self\",\r\n className: \"autocomplete-primereact w-100\",\r\n ...itemTemplate\r\n };\r\n}","import { AutocompleteProps } from \"../types\";\r\nimport {\r\n AutoCompleteChangeEvent,\r\n AutoCompleteCompleteEvent,\r\n AutoCompleteProps as AutoCompletePropsPrimeReact, AutoCompleteSelectEvent\r\n} from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * Define as configuração de evento do componente\r\n */\r\nexport function autocompleteEvent(props: AutocompleteProps): Partial<AutoCompletePropsPrimeReact> {\r\n return {\r\n completeMethod(event: AutoCompleteCompleteEvent) {\r\n props.onSearch(event.query);\r\n },\r\n onChange(event: AutoCompleteChangeEvent) {\r\n props.onChange(event.value);\r\n },\r\n onSelect(event: AutoCompleteSelectEvent) {\r\n if (props.onSelect) {\r\n props.onSelect(event.value);\r\n }\r\n }\r\n };\r\n}","import React from \"react\";\r\nimport { Box } from \"../box\";\r\nimport { InputLabel } from \"../api\";\r\nimport { AutocompleteProps } from \"./types\";\r\nimport { autocompleCore } from \"./core/core\";\r\nimport { autocompleteEvent } from \"./core/event\";\r\nimport { AutoComplete as AutoCompletePrimeReact } from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * AutoComplete é um componente de entrada que fornece sugestões em tempo real enquanto é digitado\r\n */\r\nexport const Autocomplete = ({ ...props }: AutocompleteProps) => {\r\n return (\r\n <Box className={\"autocomplete\" + (props.className ?? \"\")}\r\n css={props.css}\r\n size={props.size ?? \"100\"}>\r\n <InputLabel {...props}/>\r\n <AutoCompletePrimeReact delay={props.searchDelay ?? 500}\r\n maxLength={props.searchMax}\r\n minLength={props.searchMin ?? 1}\r\n suggestions={props.data ?? []}\r\n value={props.value}\r\n {...autocompleCore(props)}\r\n {...autocompleteEvent(props)}/>\r\n <div data-name={props.name}\r\n id=\"j_feedback\"/>\r\n </Box>\r\n );\r\n};"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","InputLabel","iconPrefix","label","icon","required","autocompleCore","itemTemplate","dataTemplate","field","name","forceSelection","disabled","placeholder","inputClassName","appendTo","autocompleteEvent","completeMethod","event","onSearch","query","onChange","value","onSelect","AutoCompletePrimeReact","delay","searchDelay","maxLength","searchMax","minLength","searchMin","suggestions","data"],"mappings":"uGAmBO,MAAMA,EAAM,EAAGC,cAAaC,MAC/B,MAAMC,EAAM,CACRC,KAAM,YAAaF,EAAME,MAAQ,QACjCC,UAAW,iBAAiBH,EAAMG,WAAa,QAC/CC,aAA2BC,IAAlBL,EAAMI,QAAwB,GAAKE,MAAMC,QAAQP,EAAMI,SAAWJ,EAAMI,SAASI,KAAK,KAAOR,EAAMI,QAC5GK,WAAuBJ,IAAhBL,EAAMS,MAAsB,GAAKH,MAAMC,QAAQP,EAAMS,OAAST,EAAMS,OAAOD,KAAK,KAAOR,EAAMS,OAGlGC,EAA2D,CAC7DC,UAAWC,EAAAA,WAAW,CAClB,MACAZ,EAAMW,WAAa,GACnBV,EAAIC,KACJD,EAAIE,UACJF,EAAIG,QACJH,EAAIQ,QAERI,MAAOb,EAAMC,IACba,GAAId,EAAMc,IAGd,OACIC,EAASC,cAAA,MAAA,IAAAN,GAAcX,EAAe,EChCjCkB,EAAa,EAAGC,aAAa,YAAalB,KAM5CA,EAAMmB,OACNJ,EAAGC,cAAA,IAAA,CAAAL,UAAU,cACXX,EAAMoB,MAAQL,EAAAC,cAAA,IAAA,CAAGL,UAAWO,EAAalB,EAAMoB,KAAO,UACtDpB,EAAMmB,MACNnB,EAAMqB,UAAYN,EAAAC,cAAA,OAAA,CAAML,UAAU,eAAsB,MCX/D,SAAUW,EACZtB,GAGA,MAAMuB,EAAqDvB,EAAMwB,aAC3D,CAAED,aAAcvB,EAAMwB,cACtB,CAAE,EACR,MAAO,CACHV,GAAId,EAAMc,GACVW,MAAO,OACPC,KAAM1B,EAAM0B,KACZC,
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/box/box.tsx","../../src/api/input.tsx","../../src/autocomplete/core/core.tsx","../../src/autocomplete/core/event.tsx","../../src/autocomplete/autocomplete.tsx"],"sourcesContent":["import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","import React from \"react\";\r\nimport { ApiComponentProps, ApiFieldComponentProps } from \"./types\";\r\n\r\n/**\r\n * API - `InputLabel`\r\n *\r\n * Um componente utilizado como label em todos os componente de entrada de dados do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputLabel = ({ iconPrefix = \"bi bi-\", ...props }: ApiFieldComponentProps) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return props.label\r\n && <p className='form-label'>\r\n {props.icon && <i className={iconPrefix + props.icon + \" me-1\"}/>}\r\n {props.label}\r\n {props.required && <span className=\"text-danger\">*</span>}\r\n </p>;\r\n};\r\n\r\n/**\r\n * API - `InputFeedback`\r\n *\r\n * Um componente utilizado como container de feedback em todos os componente de entrada de dados do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputFeedback = ({ errors, name, ...props }: ApiFieldComponentProps & { errors?: any }) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return !props.mode || props.mode === \"Controlled\"\r\n ? <div data-name={name}\r\n id=\"j_feedback\"/>\r\n : <div className={(!errors[name ?? \"\"] ? \"\" : \"invalid-feedback is-invalid\")}\r\n data-name={name ?? \"\"}\r\n id=\"j_feedback\"\r\n style={{ display: errors[name ?? \"\"] ? \"block\" : \"none\" }}>{!errors[name ?? \"\"] ? \"\" : errors[name ?? \"\"].message}</div>;\r\n};\r\n\r\n/**\r\n * API - `InputProps`\r\n *\r\n * Retorna o objeto com as `Props` do core dos componentes de entrada de dados\r\n */\r\nexport function InputProps<T extends ApiComponentProps & ApiFieldComponentProps & { ref: any }>(props: T) {\r\n return {\r\n ref: props.ref,\r\n\r\n id: props.id,\r\n name: props.name,\r\n required: props.required,\r\n disabled: props.disabled,\r\n placeholder: props.placeholder,\r\n\r\n className: props.className,\r\n style: { width: \"100%\" },\r\n\r\n keyfilter: props.keyfilter,\r\n };\r\n}","import { AutocompleteProps } from \"../types\";\r\nimport { AutoCompleteProps as AutoCompletePropsPrimeReact } from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * Define as configurações do modo principal do autocomplete.\r\n */\r\nexport function autocompleCore(\r\n props: AutocompleteProps\r\n): Partial<AutoCompletePropsPrimeReact> {\r\n\r\n const itemTemplate: Partial<AutoCompletePropsPrimeReact> = props.dataTemplate\r\n ? { itemTemplate: props.dataTemplate }\r\n : {};\r\n return {\r\n id: props.id,\r\n field: \"name\",\r\n name: props.name,\r\n forceSelection: props.forceSelect ?? true,\r\n style: props.css ?? {},\r\n disabled: props.disabled,\r\n required: props.required,\r\n placeholder: props.placeholder,\r\n inputClassName: \"form-control\",\r\n appendTo: props.appendTo ?? \"self\",\r\n className: \"autocomplete-primereact w-100\",\r\n ...itemTemplate\r\n };\r\n}","import { AutocompleteProps } from \"../types\";\r\nimport {\r\n AutoCompleteChangeEvent,\r\n AutoCompleteCompleteEvent,\r\n AutoCompleteProps as AutoCompletePropsPrimeReact, AutoCompleteSelectEvent\r\n} from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * Define as configuração de evento do componente\r\n */\r\nexport function autocompleteEvent(props: AutocompleteProps): Partial<AutoCompletePropsPrimeReact> {\r\n return {\r\n completeMethod(event: AutoCompleteCompleteEvent) {\r\n props.onSearch(event.query);\r\n },\r\n onChange(event: AutoCompleteChangeEvent) {\r\n props.onChange(event.value);\r\n },\r\n onSelect(event: AutoCompleteSelectEvent) {\r\n if (props.onSelect) {\r\n props.onSelect(event.value);\r\n }\r\n }\r\n };\r\n}","import React from \"react\";\r\nimport { Box } from \"../box\";\r\nimport { InputLabel } from \"../api\";\r\nimport { AutocompleteProps } from \"./types\";\r\nimport { autocompleCore } from \"./core/core\";\r\nimport { autocompleteEvent } from \"./core/event\";\r\nimport { AutoComplete as AutoCompletePrimeReact } from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * AutoComplete é um componente de entrada que fornece sugestões em tempo real enquanto é digitado\r\n */\r\nexport const Autocomplete = ({ ...props }: AutocompleteProps) => {\r\n return (\r\n <Box className={\"autocomplete\" + (props.className ?? \"\")}\r\n css={props.css}\r\n size={props.size ?? \"100\"}>\r\n <InputLabel {...props}/>\r\n <AutoCompletePrimeReact delay={props.searchDelay ?? 500}\r\n maxLength={props.searchMax}\r\n minLength={props.searchMin ?? 1}\r\n suggestions={props.data ?? []}\r\n value={props.value}\r\n {...autocompleCore(props)}\r\n {...autocompleteEvent(props)}/>\r\n <div data-name={props.name}\r\n id=\"j_feedback\"/>\r\n </Box>\r\n );\r\n};"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","InputLabel","iconPrefix","label","icon","required","autocompleCore","itemTemplate","dataTemplate","field","name","forceSelection","forceSelect","disabled","placeholder","inputClassName","appendTo","autocompleteEvent","completeMethod","event","onSearch","query","onChange","value","onSelect","AutoCompletePrimeReact","delay","searchDelay","maxLength","searchMax","minLength","searchMin","suggestions","data"],"mappings":"uGAmBO,MAAMA,EAAM,EAAGC,cAAaC,MAC/B,MAAMC,EAAM,CACRC,KAAM,YAAaF,EAAME,MAAQ,QACjCC,UAAW,iBAAiBH,EAAMG,WAAa,QAC/CC,aAA2BC,IAAlBL,EAAMI,QAAwB,GAAKE,MAAMC,QAAQP,EAAMI,SAAWJ,EAAMI,SAASI,KAAK,KAAOR,EAAMI,QAC5GK,WAAuBJ,IAAhBL,EAAMS,MAAsB,GAAKH,MAAMC,QAAQP,EAAMS,OAAST,EAAMS,OAAOD,KAAK,KAAOR,EAAMS,OAGlGC,EAA2D,CAC7DC,UAAWC,EAAAA,WAAW,CAClB,MACAZ,EAAMW,WAAa,GACnBV,EAAIC,KACJD,EAAIE,UACJF,EAAIG,QACJH,EAAIQ,QAERI,MAAOb,EAAMC,IACba,GAAId,EAAMc,IAGd,OACIC,EAASC,cAAA,MAAA,IAAAN,GAAcX,EAAe,EChCjCkB,EAAa,EAAGC,aAAa,YAAalB,KAM5CA,EAAMmB,OACNJ,EAAGC,cAAA,IAAA,CAAAL,UAAU,cACXX,EAAMoB,MAAQL,EAAAC,cAAA,IAAA,CAAGL,UAAWO,EAAalB,EAAMoB,KAAO,UACtDpB,EAAMmB,MACNnB,EAAMqB,UAAYN,EAAAC,cAAA,OAAA,CAAML,UAAU,eAAsB,MCX/D,SAAUW,EACZtB,GAGA,MAAMuB,EAAqDvB,EAAMwB,aAC3D,CAAED,aAAcvB,EAAMwB,cACtB,CAAE,EACR,MAAO,CACHV,GAAId,EAAMc,GACVW,MAAO,OACPC,KAAM1B,EAAM0B,KACZC,eAAgB3B,EAAM4B,cAAe,EACrCf,MAAOb,EAAMC,KAAO,CAAE,EACtB4B,SAAU7B,EAAM6B,SAChBR,SAAUrB,EAAMqB,SAChBS,YAAa9B,EAAM8B,YACnBC,eAAgB,eAChBC,SAAUhC,EAAMgC,UAAY,OAC5BrB,UAAW,mCACRY,EAEX,CCjBM,SAAUU,EAAkBjC,GAC9B,MAAO,CACH,cAAAkC,CAAeC,GACXnC,EAAMoC,SAASD,EAAME,MACxB,EACD,QAAAC,CAASH,GACLnC,EAAMsC,SAASH,EAAMI,MACxB,EACD,QAAAC,CAASL,GACDnC,EAAMwC,UACNxC,EAAMwC,SAASL,EAAMI,QAIrC,sBCb4B,KAAMvC,KAE1Be,EAAAC,cAAClB,EAAG,CAACa,UAAW,gBAAkBX,EAAMW,WAAa,IAChDV,IAAKD,EAAMC,IACXC,KAAMF,EAAME,MAAQ,OACrBa,EAACC,cAAAC,EAAe,IAAAjB,IAChBe,EAACC,cAAAyB,EAAAA,cAAuBC,MAAO1C,EAAM2C,aAAe,IAC5BC,UAAW5C,EAAM6C,UACjBC,UAAW9C,EAAM+C,WAAa,EAC9BC,YAAahD,EAAMiD,MAAQ,GAC3BV,MAAOvC,EAAMuC,SACTjB,EAAetB,MACfiC,EAAkBjC,KAC9Ce,EAAgBC,cAAA,MAAA,CAAA,YAAAhB,EAAM0B,KACjBZ,GAAG"}
|
package/autocomplete/index.d.ts
CHANGED
|
@@ -86,6 +86,11 @@ interface ApiFieldComponentProps {
|
|
|
86
86
|
* Define a opção de filtro de dados do componente
|
|
87
87
|
*/
|
|
88
88
|
keyfilter?: KeyFilterType;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Determina se campo é apenas de leitura
|
|
92
|
+
*/
|
|
93
|
+
readonly?: boolean
|
|
89
94
|
}
|
|
90
95
|
|
|
91
96
|
interface AutocompleteDataProps {
|
|
@@ -122,6 +127,11 @@ interface AutocompleteProps extends ApiComponentProps, ApiFieldComponentProps {
|
|
|
122
127
|
*/
|
|
123
128
|
appendTo?: "self" | HTMLElement;
|
|
124
129
|
|
|
130
|
+
/**
|
|
131
|
+
* Determina se é obrigatório a seleção do elemento
|
|
132
|
+
*/
|
|
133
|
+
forceSelect?: boolean
|
|
134
|
+
|
|
125
135
|
/**
|
|
126
136
|
* Define o tempo para realizar a pesquisa da sugestão de dados.
|
|
127
137
|
*/
|
|
@@ -162,4 +172,5 @@ declare const Autocomplete: ({ ...props }: AutocompleteProps) => React.JSX.Eleme
|
|
|
162
172
|
|
|
163
173
|
type IAutocompleteDataProps = AutocompleteDataProps;
|
|
164
174
|
|
|
165
|
-
export { Autocomplete
|
|
175
|
+
export { Autocomplete };
|
|
176
|
+
export type { IAutocompleteDataProps };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"react";import{classNames as a}from"primereact/utils";import{AutoComplete as t}from"primereact/autocomplete";const i=({children:t,...i})=>{const r={size:`box-size-${i.size??"100"}`,direction:`box-direction-${i.direction??"row"}`,justify:void 0===i.justify?"":Array.isArray(i.justify)?i.justify?.join(" "):i.justify,align:void 0===i.align?"":Array.isArray(i.align)?i.align?.join(" "):i.align},
|
|
1
|
+
import e from"react";import{classNames as a}from"primereact/utils";import{AutoComplete as t}from"primereact/autocomplete";const i=({children:t,...i})=>{const r={size:`box-size-${i.size??"100"}`,direction:`box-direction-${i.direction??"row"}`,justify:void 0===i.justify?"":Array.isArray(i.justify)?i.justify?.join(" "):i.justify,align:void 0===i.align?"":Array.isArray(i.align)?i.align?.join(" "):i.align},l={className:a(["box",i.className??"",r.size,r.direction,r.justify,r.align]),style:i.css,id:i.id};return e.createElement("div",{...l},t)},r=({iconPrefix:a="bi bi-",...t})=>t.label&&e.createElement("p",{className:"form-label"},t.icon&&e.createElement("i",{className:a+t.icon+" me-1"}),t.label,t.required&&e.createElement("span",{className:"text-danger"},"*"));function l(e){const a=e.dataTemplate?{itemTemplate:e.dataTemplate}:{};return{id:e.id,field:"name",name:e.name,forceSelection:e.forceSelect??!0,style:e.css??{},disabled:e.disabled,required:e.required,placeholder:e.placeholder,inputClassName:"form-control",appendTo:e.appendTo??"self",className:"autocomplete-primereact w-100",...a}}function n(e){return{completeMethod(a){e.onSearch(a.query)},onChange(a){e.onChange(a.value)},onSelect(a){e.onSelect&&e.onSelect(a.value)}}}const c=({...a})=>e.createElement(i,{className:"autocomplete"+(a.className??""),css:a.css,size:a.size??"100"},e.createElement(r,{...a}),e.createElement(t,{delay:a.searchDelay??500,maxLength:a.searchMax,minLength:a.searchMin??1,suggestions:a.data??[],value:a.value,...l(a),...n(a)}),e.createElement("div",{"data-name":a.name,id:"j_feedback"}));export{c as Autocomplete};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../src/box/box.tsx","../../src/api/input.tsx","../../src/autocomplete/core/core.tsx","../../src/autocomplete/core/event.tsx","../../src/autocomplete/autocomplete.tsx"],"sourcesContent":["import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","import React from \"react\";\r\nimport { ApiComponentProps, ApiFieldComponentProps } from \"./types\";\r\n\r\n/**\r\n * API - `InputLabel`\r\n *\r\n * Um componente utilizado como label em todos os componente de entrada de dados do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputLabel = ({ iconPrefix = \"bi bi-\", ...props }: ApiFieldComponentProps) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return props.label\r\n && <p className='form-label'>\r\n {props.icon && <i className={iconPrefix + props.icon + \" me-1\"}/>}\r\n {props.label}\r\n {props.required && <span className=\"text-danger\">*</span>}\r\n </p>;\r\n};\r\n\r\n/**\r\n * API - `InputFeedback`\r\n *\r\n * Um componente utilizado como container de feedback em todos os componente de entrada de dados do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputFeedback = ({ errors, name, ...props }: ApiFieldComponentProps & { errors?: any }) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return !props.mode || props.mode === \"Controlled\"\r\n ? <div data-name={name}\r\n id=\"j_feedback\"/>\r\n : <div className={(!errors[name ?? \"\"] ? \"\" : \"invalid-feedback is-invalid\")}\r\n data-name={name ?? \"\"}\r\n id=\"j_feedback\"\r\n style={{ display: errors[name ?? \"\"] ? \"block\" : \"none\" }}>{!errors[name ?? \"\"] ? \"\" : errors[name ?? \"\"].message}</div>;\r\n};\r\n\r\n/**\r\n * API - `InputProps`\r\n *\r\n * Retorna o objeto com as `Props` do core dos componentes de entrada de dados\r\n */\r\nexport function InputProps<T extends ApiComponentProps & ApiFieldComponentProps & { ref: any }>(props: T) {\r\n return {\r\n ref: props.ref,\r\n\r\n id: props.id,\r\n name: props.name,\r\n required: props.required,\r\n disabled: props.disabled,\r\n placeholder: props.placeholder,\r\n\r\n className: props.className,\r\n style: { width: \"100%\" },\r\n\r\n keyfilter: props.keyfilter,\r\n };\r\n}","import { AutocompleteProps } from \"../types\";\r\nimport { AutoCompleteProps as AutoCompletePropsPrimeReact } from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * Define as configurações do modo principal do autocomplete.\r\n */\r\nexport function autocompleCore(\r\n props: AutocompleteProps\r\n): Partial<AutoCompletePropsPrimeReact> {\r\n\r\n const itemTemplate: Partial<AutoCompletePropsPrimeReact> = props.dataTemplate\r\n ? { itemTemplate: props.dataTemplate }\r\n : {};\r\n return {\r\n id: props.id,\r\n field: \"name\",\r\n name: props.name,\r\n forceSelection: true,\r\n style: props.css ?? {},\r\n disabled: props.disabled,\r\n required: props.required,\r\n placeholder: props.placeholder,\r\n inputClassName: \"form-control\",\r\n appendTo: props.appendTo ?? \"self\",\r\n className: \"autocomplete-primereact w-100\",\r\n ...itemTemplate\r\n };\r\n}","import { AutocompleteProps } from \"../types\";\r\nimport {\r\n AutoCompleteChangeEvent,\r\n AutoCompleteCompleteEvent,\r\n AutoCompleteProps as AutoCompletePropsPrimeReact, AutoCompleteSelectEvent\r\n} from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * Define as configuração de evento do componente\r\n */\r\nexport function autocompleteEvent(props: AutocompleteProps): Partial<AutoCompletePropsPrimeReact> {\r\n return {\r\n completeMethod(event: AutoCompleteCompleteEvent) {\r\n props.onSearch(event.query);\r\n },\r\n onChange(event: AutoCompleteChangeEvent) {\r\n props.onChange(event.value);\r\n },\r\n onSelect(event: AutoCompleteSelectEvent) {\r\n if (props.onSelect) {\r\n props.onSelect(event.value);\r\n }\r\n }\r\n };\r\n}","import React from \"react\";\r\nimport { Box } from \"../box\";\r\nimport { InputLabel } from \"../api\";\r\nimport { AutocompleteProps } from \"./types\";\r\nimport { autocompleCore } from \"./core/core\";\r\nimport { autocompleteEvent } from \"./core/event\";\r\nimport { AutoComplete as AutoCompletePrimeReact } from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * AutoComplete é um componente de entrada que fornece sugestões em tempo real enquanto é digitado\r\n */\r\nexport const Autocomplete = ({ ...props }: AutocompleteProps) => {\r\n return (\r\n <Box className={\"autocomplete\" + (props.className ?? \"\")}\r\n css={props.css}\r\n size={props.size ?? \"100\"}>\r\n <InputLabel {...props}/>\r\n <AutoCompletePrimeReact delay={props.searchDelay ?? 500}\r\n maxLength={props.searchMax}\r\n minLength={props.searchMin ?? 1}\r\n suggestions={props.data ?? []}\r\n value={props.value}\r\n {...autocompleCore(props)}\r\n {...autocompleteEvent(props)}/>\r\n <div data-name={props.name}\r\n id=\"j_feedback\"/>\r\n </Box>\r\n );\r\n};"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","InputLabel","iconPrefix","label","icon","required","autocompleCore","itemTemplate","dataTemplate","field","name","forceSelection","disabled","placeholder","inputClassName","appendTo","autocompleteEvent","completeMethod","event","onSearch","query","onChange","value","onSelect","Autocomplete","AutoCompletePrimeReact","delay","searchDelay","maxLength","searchMax","minLength","searchMin","suggestions","data"],"mappings":"0HAmBO,MAAMA,EAAM,EAAGC,cAAaC,MAC/B,MAAMC,EAAM,CACRC,KAAM,YAAaF,EAAME,MAAQ,QACjCC,UAAW,iBAAiBH,EAAMG,WAAa,QAC/CC,aAA2BC,IAAlBL,EAAMI,QAAwB,GAAKE,MAAMC,QAAQP,EAAMI,SAAWJ,EAAMI,SAASI,KAAK,KAAOR,EAAMI,QAC5GK,WAAuBJ,IAAhBL,EAAMS,MAAsB,GAAKH,MAAMC,QAAQP,EAAMS,OAAST,EAAMS,OAAOD,KAAK,KAAOR,EAAMS,OAGlGC,EAA2D,CAC7DC,UAAWC,EAAW,CAClB,MACAZ,EAAMW,WAAa,GACnBV,EAAIC,KACJD,EAAIE,UACJF,EAAIG,QACJH,EAAIQ,QAERI,MAAOb,EAAMC,IACba,GAAId,EAAMc,IAGd,OACIC,EAASC,cAAA,MAAA,IAAAN,GAAcX,EAAe,EChCjCkB,EAAa,EAAGC,aAAa,YAAalB,KAM5CA,EAAMmB,OACNJ,EAAGC,cAAA,IAAA,CAAAL,UAAU,cACXX,EAAMoB,MAAQL,EAAAC,cAAA,IAAA,CAAGL,UAAWO,EAAalB,EAAMoB,KAAO,UACtDpB,EAAMmB,MACNnB,EAAMqB,UAAYN,EAAAC,cAAA,OAAA,CAAML,UAAU,eAAsB,MCX/D,SAAUW,EACZtB,GAGA,MAAMuB,EAAqDvB,EAAMwB,aAC3D,CAAED,aAAcvB,EAAMwB,cACtB,CAAE,EACR,MAAO,CACHV,GAAId,EAAMc,GACVW,MAAO,OACPC,KAAM1B,EAAM0B,KACZC,
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../src/box/box.tsx","../../src/api/input.tsx","../../src/autocomplete/core/core.tsx","../../src/autocomplete/core/event.tsx","../../src/autocomplete/autocomplete.tsx"],"sourcesContent":["import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","import React from \"react\";\r\nimport { ApiComponentProps, ApiFieldComponentProps } from \"./types\";\r\n\r\n/**\r\n * API - `InputLabel`\r\n *\r\n * Um componente utilizado como label em todos os componente de entrada de dados do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputLabel = ({ iconPrefix = \"bi bi-\", ...props }: ApiFieldComponentProps) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return props.label\r\n && <p className='form-label'>\r\n {props.icon && <i className={iconPrefix + props.icon + \" me-1\"}/>}\r\n {props.label}\r\n {props.required && <span className=\"text-danger\">*</span>}\r\n </p>;\r\n};\r\n\r\n/**\r\n * API - `InputFeedback`\r\n *\r\n * Um componente utilizado como container de feedback em todos os componente de entrada de dados do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputFeedback = ({ errors, name, ...props }: ApiFieldComponentProps & { errors?: any }) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return !props.mode || props.mode === \"Controlled\"\r\n ? <div data-name={name}\r\n id=\"j_feedback\"/>\r\n : <div className={(!errors[name ?? \"\"] ? \"\" : \"invalid-feedback is-invalid\")}\r\n data-name={name ?? \"\"}\r\n id=\"j_feedback\"\r\n style={{ display: errors[name ?? \"\"] ? \"block\" : \"none\" }}>{!errors[name ?? \"\"] ? \"\" : errors[name ?? \"\"].message}</div>;\r\n};\r\n\r\n/**\r\n * API - `InputProps`\r\n *\r\n * Retorna o objeto com as `Props` do core dos componentes de entrada de dados\r\n */\r\nexport function InputProps<T extends ApiComponentProps & ApiFieldComponentProps & { ref: any }>(props: T) {\r\n return {\r\n ref: props.ref,\r\n\r\n id: props.id,\r\n name: props.name,\r\n required: props.required,\r\n disabled: props.disabled,\r\n placeholder: props.placeholder,\r\n\r\n className: props.className,\r\n style: { width: \"100%\" },\r\n\r\n keyfilter: props.keyfilter,\r\n };\r\n}","import { AutocompleteProps } from \"../types\";\r\nimport { AutoCompleteProps as AutoCompletePropsPrimeReact } from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * Define as configurações do modo principal do autocomplete.\r\n */\r\nexport function autocompleCore(\r\n props: AutocompleteProps\r\n): Partial<AutoCompletePropsPrimeReact> {\r\n\r\n const itemTemplate: Partial<AutoCompletePropsPrimeReact> = props.dataTemplate\r\n ? { itemTemplate: props.dataTemplate }\r\n : {};\r\n return {\r\n id: props.id,\r\n field: \"name\",\r\n name: props.name,\r\n forceSelection: props.forceSelect ?? true,\r\n style: props.css ?? {},\r\n disabled: props.disabled,\r\n required: props.required,\r\n placeholder: props.placeholder,\r\n inputClassName: \"form-control\",\r\n appendTo: props.appendTo ?? \"self\",\r\n className: \"autocomplete-primereact w-100\",\r\n ...itemTemplate\r\n };\r\n}","import { AutocompleteProps } from \"../types\";\r\nimport {\r\n AutoCompleteChangeEvent,\r\n AutoCompleteCompleteEvent,\r\n AutoCompleteProps as AutoCompletePropsPrimeReact, AutoCompleteSelectEvent\r\n} from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * Define as configuração de evento do componente\r\n */\r\nexport function autocompleteEvent(props: AutocompleteProps): Partial<AutoCompletePropsPrimeReact> {\r\n return {\r\n completeMethod(event: AutoCompleteCompleteEvent) {\r\n props.onSearch(event.query);\r\n },\r\n onChange(event: AutoCompleteChangeEvent) {\r\n props.onChange(event.value);\r\n },\r\n onSelect(event: AutoCompleteSelectEvent) {\r\n if (props.onSelect) {\r\n props.onSelect(event.value);\r\n }\r\n }\r\n };\r\n}","import React from \"react\";\r\nimport { Box } from \"../box\";\r\nimport { InputLabel } from \"../api\";\r\nimport { AutocompleteProps } from \"./types\";\r\nimport { autocompleCore } from \"./core/core\";\r\nimport { autocompleteEvent } from \"./core/event\";\r\nimport { AutoComplete as AutoCompletePrimeReact } from \"primereact/autocomplete\";\r\n\r\n/**\r\n * Componente - `Autocomplete`\r\n *\r\n * AutoComplete é um componente de entrada que fornece sugestões em tempo real enquanto é digitado\r\n */\r\nexport const Autocomplete = ({ ...props }: AutocompleteProps) => {\r\n return (\r\n <Box className={\"autocomplete\" + (props.className ?? \"\")}\r\n css={props.css}\r\n size={props.size ?? \"100\"}>\r\n <InputLabel {...props}/>\r\n <AutoCompletePrimeReact delay={props.searchDelay ?? 500}\r\n maxLength={props.searchMax}\r\n minLength={props.searchMin ?? 1}\r\n suggestions={props.data ?? []}\r\n value={props.value}\r\n {...autocompleCore(props)}\r\n {...autocompleteEvent(props)}/>\r\n <div data-name={props.name}\r\n id=\"j_feedback\"/>\r\n </Box>\r\n );\r\n};"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","InputLabel","iconPrefix","label","icon","required","autocompleCore","itemTemplate","dataTemplate","field","name","forceSelection","forceSelect","disabled","placeholder","inputClassName","appendTo","autocompleteEvent","completeMethod","event","onSearch","query","onChange","value","onSelect","Autocomplete","AutoCompletePrimeReact","delay","searchDelay","maxLength","searchMax","minLength","searchMin","suggestions","data"],"mappings":"0HAmBO,MAAMA,EAAM,EAAGC,cAAaC,MAC/B,MAAMC,EAAM,CACRC,KAAM,YAAaF,EAAME,MAAQ,QACjCC,UAAW,iBAAiBH,EAAMG,WAAa,QAC/CC,aAA2BC,IAAlBL,EAAMI,QAAwB,GAAKE,MAAMC,QAAQP,EAAMI,SAAWJ,EAAMI,SAASI,KAAK,KAAOR,EAAMI,QAC5GK,WAAuBJ,IAAhBL,EAAMS,MAAsB,GAAKH,MAAMC,QAAQP,EAAMS,OAAST,EAAMS,OAAOD,KAAK,KAAOR,EAAMS,OAGlGC,EAA2D,CAC7DC,UAAWC,EAAW,CAClB,MACAZ,EAAMW,WAAa,GACnBV,EAAIC,KACJD,EAAIE,UACJF,EAAIG,QACJH,EAAIQ,QAERI,MAAOb,EAAMC,IACba,GAAId,EAAMc,IAGd,OACIC,EAASC,cAAA,MAAA,IAAAN,GAAcX,EAAe,EChCjCkB,EAAa,EAAGC,aAAa,YAAalB,KAM5CA,EAAMmB,OACNJ,EAAGC,cAAA,IAAA,CAAAL,UAAU,cACXX,EAAMoB,MAAQL,EAAAC,cAAA,IAAA,CAAGL,UAAWO,EAAalB,EAAMoB,KAAO,UACtDpB,EAAMmB,MACNnB,EAAMqB,UAAYN,EAAAC,cAAA,OAAA,CAAML,UAAU,eAAsB,MCX/D,SAAUW,EACZtB,GAGA,MAAMuB,EAAqDvB,EAAMwB,aAC3D,CAAED,aAAcvB,EAAMwB,cACtB,CAAE,EACR,MAAO,CACHV,GAAId,EAAMc,GACVW,MAAO,OACPC,KAAM1B,EAAM0B,KACZC,eAAgB3B,EAAM4B,cAAe,EACrCf,MAAOb,EAAMC,KAAO,CAAE,EACtB4B,SAAU7B,EAAM6B,SAChBR,SAAUrB,EAAMqB,SAChBS,YAAa9B,EAAM8B,YACnBC,eAAgB,eAChBC,SAAUhC,EAAMgC,UAAY,OAC5BrB,UAAW,mCACRY,EAEX,CCjBM,SAAUU,EAAkBjC,GAC9B,MAAO,CACH,cAAAkC,CAAeC,GACXnC,EAAMoC,SAASD,EAAME,MACxB,EACD,QAAAC,CAASH,GACLnC,EAAMsC,SAASH,EAAMI,MACxB,EACD,QAAAC,CAASL,GACDnC,EAAMwC,UACNxC,EAAMwC,SAASL,EAAMI,QAIrC,CCba,MAAAE,EAAe,KAAMzC,KAE1Be,EAAAC,cAAClB,EAAG,CAACa,UAAW,gBAAkBX,EAAMW,WAAa,IAChDV,IAAKD,EAAMC,IACXC,KAAMF,EAAME,MAAQ,OACrBa,EAACC,cAAAC,EAAe,IAAAjB,IAChBe,EAACC,cAAA0B,GAAuBC,MAAO3C,EAAM4C,aAAe,IAC5BC,UAAW7C,EAAM8C,UACjBC,UAAW/C,EAAMgD,WAAa,EAC9BC,YAAajD,EAAMkD,MAAQ,GAC3BX,MAAOvC,EAAMuC,SACTjB,EAAetB,MACfiC,EAAkBjC,KAC9Ce,EAAgBC,cAAA,MAAA,CAAA,YAAAhB,EAAM0B,KACjBZ,GAAG"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
$box-sizes: (
|
|
2
|
+
'5': 5%,
|
|
3
|
+
'10': 10%,
|
|
4
|
+
'12-5':12.5%,
|
|
5
|
+
'15': 15%,
|
|
6
|
+
'17-5':17.5%,
|
|
7
|
+
'20': 20%,
|
|
8
|
+
'22-5':25.5%,
|
|
9
|
+
'25': 25%,
|
|
10
|
+
'30': 30%,
|
|
11
|
+
'33': 33%,
|
|
12
|
+
'35': 35%,
|
|
13
|
+
'40': 40%,
|
|
14
|
+
'45': 45%,
|
|
15
|
+
'50': 50%,
|
|
16
|
+
'55': 55%,
|
|
17
|
+
'60': 60%,
|
|
18
|
+
'65': 65%,
|
|
19
|
+
'70': 70%,
|
|
20
|
+
'75': 75%,
|
|
21
|
+
'80': 80%,
|
|
22
|
+
'85': 85%,
|
|
23
|
+
'90': 90%,
|
|
24
|
+
'95': 95%,
|
|
25
|
+
'100': 100%
|
|
26
|
+
) !default;
|
|
27
|
+
|
|
28
|
+
$box-space-margin: .5rem !default;
|
|
29
|
+
$box-space-padding: .5rem !default;
|
|
30
|
+
|
|
31
|
+
.box {
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-wrap: wrap;
|
|
34
|
+
position: relative;
|
|
35
|
+
|
|
36
|
+
@each $key, $value in $box-sizes {
|
|
37
|
+
&.box-size-#{$key} {
|
|
38
|
+
width: calc(var(--box-size-#{$key}, #{$value}) - #{$box-space-margin});
|
|
39
|
+
margin: calc(#{$box-space-margin} / 2) calc(#{$box-space-margin} / 2);
|
|
40
|
+
padding: #{$box-space-padding};
|
|
41
|
+
|
|
42
|
+
@media (max-width: 576px) {
|
|
43
|
+
width: calc(100% - #{$box-space-margin});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&.box-direction-row {
|
|
49
|
+
flex-direction: row;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
&.box-direction-column {
|
|
53
|
+
flex-direction: column;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react"),i=require("primereact/button");exports.Button=({...a})=>e.createElement(i.Button,{badge:a.badge,badgeClassName:a.badgeClassName,className:a.className,disabled:a.disabled,icon:void 0!==a.icon?`${a.iconPrefix??"bi bi-"}${a.icon??""} ${a.label?"me-1":""}`:void 0,iconPos:a.iconPos,id:a.id,label:a.label,link:a.isLink,loading:a.isLoading,pt:{loadingIcon:{className:"me-1"}},ref:a.ref,severity:a.color,size:a.size,style:a.css,type:a.type,onClick:a.onClick});
|
|
2
|
+
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/button/button.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { ButtonProps } from \"./types\";\r\nimport { Button as ButtonPrimeReact } from \"primereact/button\";\r\n\r\n/**\r\n * Componente - `Button`\r\n *\r\n * Um componente versátil que pode ser utilizado para realizar ações por exemplo em formulários de dados.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const Button = ({ ...props }: ButtonProps) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <ButtonPrimeReact badge={props.badge}\r\n badgeClassName={props.badgeClassName}\r\n className={props.className}\r\n disabled={props.disabled}\r\n icon={props.icon !== undefined ? `${props.iconPrefix ?? \"bi bi-\"}${props.icon ?? \"\"} ${props.label ? \"me-1\" : \"\"}` : undefined}\r\n iconPos={props.iconPos}\r\n id={props.id}\r\n label={props.label}\r\n link={props.isLink}\r\n loading={props.isLoading}\r\n pt={{ loadingIcon: { className: \"me-1\" } }}\r\n ref={props.ref}\r\n severity={props.color}\r\n size={props.size}\r\n style={props.css}\r\n type={props.type}\r\n onClick={props.onClick}/>\r\n );\r\n};"],"names":["props","React","createElement","ButtonPrimeReact","Button","badge","badgeClassName","className","disabled","icon","undefined","iconPrefix","label","iconPos","id","link","isLink","loading","isLoading","pt","loadingIcon","ref","severity","color","size","style","css","type","onClick"],"mappings":"kFAUsB,KAAMA,KAOpBC,EAAAC,cAACC,EAAgBC,OAAA,CAACC,MAAOL,EAAMK,MACbC,eAAgBN,EAAMM,eACtBC,UAAWP,EAAMO,UACjBC,SAAUR,EAAMQ,SAChBC,UAAqBC,IAAfV,EAAMS,KAAqB,GAAGT,EAAMW,YAAc,WAAWX,EAAMS,MAAQ,MAAMT,EAAMY,MAAQ,OAAS,UAAOF,EACrHG,QAASb,EAAMa,QACfC,GAAId,EAAMc,GACVF,MAAOZ,EAAMY,MACbG,KAAMf,EAAMgB,OACZC,QAASjB,EAAMkB,UACfC,GAAI,CAAEC,YAAa,CAAEb,UAAW,SAChCc,IAAKrB,EAAMqB,IACXC,SAAUtB,EAAMuB,MAChBC,KAAMxB,EAAMwB,KACZC,MAAOzB,EAAM0B,IACbC,KAAM3B,EAAM2B,KACZC,QAAS5B,EAAM4B"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import React, { CSSProperties, Ref } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Define as tipagens `default` de todos os componentes do pacote
|
|
5
|
+
*/
|
|
6
|
+
interface ApiComponentProps {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Propriedade para identificar o id do elemento
|
|
10
|
+
*/
|
|
11
|
+
id?: string
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Adiciona no atributo `class` do componente o valor atribuido nessa propriedade
|
|
15
|
+
*/
|
|
16
|
+
className?: string
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Define o tamanho da box do componente de acordo com o valores abaixo
|
|
20
|
+
*/
|
|
21
|
+
size?: "5" | "10" | "12-5" | "15" | "17-5" | "20" | "22-5" | "25" | "30" | "33" | "35" | "40" | "45" | "50" | "55" | "60" | "65" | "70" | "75" | "80" | "85" | "90" | "95" | "100"
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Define as propriedades css do component `style`
|
|
25
|
+
*/
|
|
26
|
+
css?: CSSProperties
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
interface ButtonProps extends Omit<ApiComponentProps, "size"> {
|
|
30
|
+
/**
|
|
31
|
+
* Define o objeto de referência do botão
|
|
32
|
+
*/
|
|
33
|
+
ref?: Ref<any>
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Define o tipo do botão
|
|
37
|
+
*/
|
|
38
|
+
type?: "submit" | "reset" | "button";
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Define o legenda do botão
|
|
42
|
+
*/
|
|
43
|
+
label?: string
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Desabilita a ação no botão
|
|
47
|
+
*/
|
|
48
|
+
disabled?: boolean
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Define o tamanho do botão
|
|
52
|
+
*/
|
|
53
|
+
size?: "small" | "large";
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Define o conteúdo do badge dentro do botão
|
|
57
|
+
*/
|
|
58
|
+
badge?: string
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Define a classe de estilização do badge de do botão
|
|
62
|
+
*/
|
|
63
|
+
badgeClassName?: string
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Define se o botão vai ser do tipo link
|
|
67
|
+
*/
|
|
68
|
+
isLink?: boolean
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Define se botão está estado de loading
|
|
72
|
+
*/
|
|
73
|
+
isLoading?: boolean
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Define o prefixo dos icones do pacote
|
|
77
|
+
*/
|
|
78
|
+
iconPrefix?: "bi bi-" | "pi pi-"
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Define o icone que vai ser utilizando no botão
|
|
82
|
+
*/
|
|
83
|
+
icon?: string
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Define a posição do icone dentro do botão
|
|
87
|
+
*/
|
|
88
|
+
iconPos?: "top" | "bottom" | "left" | "right";
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Define a cor do botão
|
|
92
|
+
*/
|
|
93
|
+
color?: "secondary" | "success" | "info" | "warning" | "danger" | "help" | "contrast";
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Evento de click dentro do botão
|
|
97
|
+
*/
|
|
98
|
+
onClick?: () => void
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Componente - `Button`
|
|
103
|
+
*
|
|
104
|
+
* Um componente versátil que pode ser utilizado para realizar ações por exemplo em formulários de dados.
|
|
105
|
+
* Permite personalizar o estilo e o conteúdo através de propriedades.
|
|
106
|
+
*/
|
|
107
|
+
declare const Button: ({ ...props }: ButtonProps) => React.JSX.Element;
|
|
108
|
+
|
|
109
|
+
export { Button };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from"react";import{Button as i}from"primereact/button";const a=({...a})=>e.createElement(i,{badge:a.badge,badgeClassName:a.badgeClassName,className:a.className,disabled:a.disabled,icon:void 0!==a.icon?`${a.iconPrefix??"bi bi-"}${a.icon??""} ${a.label?"me-1":""}`:void 0,iconPos:a.iconPos,id:a.id,label:a.label,link:a.isLink,loading:a.isLoading,pt:{loadingIcon:{className:"me-1"}},ref:a.ref,severity:a.color,size:a.size,style:a.css,type:a.type,onClick:a.onClick});export{a as Button};
|
|
2
|
+
//# sourceMappingURL=index.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../src/button/button.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { ButtonProps } from \"./types\";\r\nimport { Button as ButtonPrimeReact } from \"primereact/button\";\r\n\r\n/**\r\n * Componente - `Button`\r\n *\r\n * Um componente versátil que pode ser utilizado para realizar ações por exemplo em formulários de dados.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const Button = ({ ...props }: ButtonProps) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <ButtonPrimeReact badge={props.badge}\r\n badgeClassName={props.badgeClassName}\r\n className={props.className}\r\n disabled={props.disabled}\r\n icon={props.icon !== undefined ? `${props.iconPrefix ?? \"bi bi-\"}${props.icon ?? \"\"} ${props.label ? \"me-1\" : \"\"}` : undefined}\r\n iconPos={props.iconPos}\r\n id={props.id}\r\n label={props.label}\r\n link={props.isLink}\r\n loading={props.isLoading}\r\n pt={{ loadingIcon: { className: \"me-1\" } }}\r\n ref={props.ref}\r\n severity={props.color}\r\n size={props.size}\r\n style={props.css}\r\n type={props.type}\r\n onClick={props.onClick}/>\r\n );\r\n};"],"names":["Button","props","React","createElement","ButtonPrimeReact","badge","badgeClassName","className","disabled","icon","undefined","iconPrefix","label","iconPos","id","link","isLink","loading","isLoading","pt","loadingIcon","ref","severity","color","size","style","css","type","onClick"],"mappings":"gEAUa,MAAAA,EAAS,KAAMC,KAOpBC,EAAAC,cAACC,EAAgB,CAACC,MAAOJ,EAAMI,MACbC,eAAgBL,EAAMK,eACtBC,UAAWN,EAAMM,UACjBC,SAAUP,EAAMO,SAChBC,UAAqBC,IAAfT,EAAMQ,KAAqB,GAAGR,EAAMU,YAAc,WAAWV,EAAMQ,MAAQ,MAAMR,EAAMW,MAAQ,OAAS,UAAOF,EACrHG,QAASZ,EAAMY,QACfC,GAAIb,EAAMa,GACVF,MAAOX,EAAMW,MACbG,KAAMd,EAAMe,OACZC,QAAShB,EAAMiB,UACfC,GAAI,CAAEC,YAAa,CAAEb,UAAW,SAChCc,IAAKpB,EAAMoB,IACXC,SAAUrB,EAAMsB,MAChBC,KAAMvB,EAAMuB,KACZC,MAAOxB,EAAMyB,IACbC,KAAM1B,EAAM0B,KACZC,QAAS3B,EAAM2B"}
|
package/editor/index.d.ts
CHANGED
|
@@ -86,6 +86,11 @@ interface ApiFieldComponentProps {
|
|
|
86
86
|
* Define a opção de filtro de dados do componente
|
|
87
87
|
*/
|
|
88
88
|
keyfilter?: KeyFilterType;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Determina se campo é apenas de leitura
|
|
92
|
+
*/
|
|
93
|
+
readonly?: boolean
|
|
89
94
|
}
|
|
90
95
|
|
|
91
96
|
interface EditorProps extends ApiComponentProps, ApiFieldComponentProps {
|
package/input/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react"),
|
|
1
|
+
"use strict";var e=require("react"),r=require("primereact/utils"),t=require("primereact/inputtext"),a=require("primereact/password"),n=require("primereact/inputmask");function o(e){var r=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})}})),r.default=e,Object.freeze(r)}var s=o(e);const l=({children:t,...a})=>{const n={size:`box-size-${a.size??"100"}`,direction:`box-direction-${a.direction??"row"}`,justify:void 0===a.justify?"":Array.isArray(a.justify)?a.justify?.join(" "):a.justify,align:void 0===a.align?"":Array.isArray(a.align)?a.align?.join(" "):a.align},o={className:r.classNames(["box",a.className??"",n.size,n.direction,n.justify,n.align]),style:a.css,id:a.id};return e.createElement("div",{...o},t)},i=({iconPrefix:r="bi bi-",...t})=>t.label&&e.createElement("p",{className:"form-label"},t.icon&&e.createElement("i",{className:r+t.icon+" me-1"}),t.label,t.required&&e.createElement("span",{className:"text-danger"},"*")),u=({errors:r,name:t,...a})=>a.mode&&"Controlled"!==a.mode?e.createElement("div",{className:r[t??""]?"invalid-feedback is-invalid":"","data-name":t??"",id:"j_feedback",style:{display:r[t??""]?"block":"none"}},r[t??""]?r[t??""].message:""):e.createElement("div",{"data-name":t,id:"j_feedback"});function d(e){return{ref:e.ref,id:e.id,name:e.name,required:e.required,disabled:e.disabled,placeholder:e.placeholder,className:e.className,style:{width:"100%"},keyfilter:e.keyfilter}}var c=e=>null==e;var m=e=>!c(e)&&!Array.isArray(e)&&(e=>"object"==typeof e)(e)&&!(e=>e instanceof Date)(e),f=e=>m(e)&&e.target?"checkbox"===e.target.type?e.target.checked:e.target.value:e,p="undefined"!=typeof window&&void 0!==window.HTMLElement&&"undefined"!=typeof document;function g(e){let r;const t=Array.isArray(e),a="undefined"!=typeof FileList&&e instanceof FileList;if(e instanceof Date)r=new Date(e);else if(e instanceof Set)r=new Set(e);else{if(p&&(e instanceof Blob||a)||!t&&!m(e))return e;if(r=t?[]:{},t||(e=>{const r=e.constructor&&e.constructor.prototype;return m(r)&&r.hasOwnProperty("isPrototypeOf")})(e))for(const t in e)e.hasOwnProperty(t)&&(r[t]=g(e[t]));else r=e}return r}var y=e=>Array.isArray(e)?e.filter(Boolean):[],b=e=>void 0===e,v=(e,r,t)=>{if(!r||!m(e))return t;const a=y(r.split(/[,[\].]+?/)).reduce(((e,r)=>c(e)?e:e[r]),e);return b(a)||a===e?b(e[r])?t:e[r]:a},h=e=>"boolean"==typeof e,C=(e,r,t)=>{let a=-1;const n=(e=>/^\w*$/.test(e))(r)?[r]:y(r.replace(/["|']|\]/g,"").split(/\.|\[/));const o=n.length,s=o-1;for(;++a<o;){const r=n[a];let o=t;if(a!==s){const t=e[r];o=m(t)||Array.isArray(t)?t:isNaN(+n[a+1])?{}:[]}if("__proto__"===r||"constructor"===r||"prototype"===r)return;e[r]=o,e=e[r]}};const _="blur",w="change",k="all",E=e.createContext(null),B=()=>e.useContext(E);const x="undefined"!=typeof window?s.useLayoutEffect:s.useEffect;function V(r){const t=B(),{control:a=t.control,disabled:n,name:o,exact:s}=r||{},[l,i]=e.useState(a._formState),u=e.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return x((()=>a._subscribe({name:o,formState:u.current,exact:s,callback:e=>{!n&&i({...a._formState,...e})}})),[o,n,s]),e.useEffect((()=>{u.current.isValid&&a._setValid(!0)}),[a]),e.useMemo((()=>((e,r,t,a=!0)=>{const n={defaultValues:r._defaultValues};for(const o in e)Object.defineProperty(n,o,{get:()=>{const n=o;return r._proxyFormState[n]!==k&&(r._proxyFormState[n]=!a||k),t&&(t[n]=!0),e[n]}});return n})(l,a,u.current,!1)),[l,a])}function j(r){const t=B(),{control:a=t.control,name:n,defaultValue:o,disabled:s,exact:l}=r||{},i=e.useRef(o),[u,d]=e.useState(a._getWatch(n,i.current));return x((()=>a._subscribe({name:n,formState:{values:!0},exact:l,callback:e=>!s&&d(((e,r,t,a,n)=>"string"==typeof e?v(t,e,n):Array.isArray(e)?e.map((e=>v(t,e))):t)(n,a._names,e.values||a._formValues,0,i.current))})),[n,a,s,l]),e.useEffect((()=>a._removeUnmounted())),u}const F=r=>r.render(function(r){const t=B(),{name:a,disabled:n,control:o=t.control,shouldUnregister:s}=r,l=((e,r)=>e.has((e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e)(r)))(o._names.array,a),i=j({control:o,name:a,defaultValue:v(o._formValues,a,v(o._defaultValues,a,r.defaultValue)),exact:!0}),u=V({control:o,name:a,exact:!0}),d=e.useRef(r),c=e.useRef(o.register(a,{...r.rules,value:i,...h(r.disabled)?{disabled:r.disabled}:{}})),m=e.useMemo((()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!v(u.errors,a)},isDirty:{enumerable:!0,get:()=>!!v(u.dirtyFields,a)},isTouched:{enumerable:!0,get:()=>!!v(u.touchedFields,a)},isValidating:{enumerable:!0,get:()=>!!v(u.validatingFields,a)},error:{enumerable:!0,get:()=>v(u.errors,a)}})),[u,a]),p=e.useCallback((e=>c.current.onChange({target:{value:f(e),name:a},type:w})),[a]),y=e.useCallback((()=>c.current.onBlur({target:{value:v(o._formValues,a),name:a},type:_})),[a,o._formValues]),k=e.useCallback((e=>{const r=v(o._fields,a);r&&e&&(r._f.ref={focus:()=>e.focus(),select:()=>e.select(),setCustomValidity:r=>e.setCustomValidity(r),reportValidity:()=>e.reportValidity()})}),[o._fields,a]),E=e.useMemo((()=>({name:a,value:i,...h(n)||u.disabled?{disabled:u.disabled||n}:{},onChange:p,onBlur:y,ref:k})),[a,n,u.disabled,p,y,k,i]);return e.useEffect((()=>{const e=o._options.shouldUnregister||s;o.register(a,{...d.current.rules,...h(d.current.disabled)?{disabled:d.current.disabled}:{}});const r=(e,r)=>{const t=v(o._fields,e);t&&t._f&&(t._f.mount=r)};if(r(a,!0),e){const e=g(v(o._options.defaultValues,a));C(o._defaultValues,a,e),b(v(o._formValues,a))&&C(o._formValues,a,e)}return!l&&o.register(a),()=>{(l?e&&!o._state.action:e)?o.unregister(a):r(a,!1)}}),[a,o,l,s]),e.useEffect((()=>{o._setDisabledField({disabled:n,name:a})}),[n,a,o]),e.useMemo((()=>({field:E,formState:u,fieldState:m})),[E,u,m])}(r));function O({core:r,password:o,masker:s,...l}){return e.createElement(F,{render:({field:i,formState:{errors:d}})=>e.createElement(e.Fragment,null,void 0!==l.mask?e.createElement(n.InputMask,{...r,...i,...s,invalid:!!d[l.name],readOnly:l.readonly,required:l.required,onBlur:e=>l.onBlur?l.onBlur(e.target.value):i.onBlur(),onChange:e=>void 0!==l.onChange?l.onChange(e.target.value):i.onChange(e)}):"password"===l.type?e.createElement(a.Password,{...r,...i,...o,autoComplete:"current-password",invalid:!!d[l.name],readOnly:l.readonly,required:l.required,onBlur:e=>l.onBlur?l.onBlur(e.target.value):i.onBlur(),onChange:e=>void 0!==l.onChange?l.onChange(e.target.value):i.onChange(e)}):e.createElement(t.InputText,{...r,...i,invalid:!!d[l.name],readOnly:l.readonly,ref:l.ref,required:l.required,onBlur:e=>l.onBlur?l.onBlur(e.target.value):i.onBlur(),onChange:e=>void 0!==l.onChange?l.onChange(e.target.value):i.onChange(e)}),e.createElement(u,{...l,errors:d})),control:l.control,name:l.name,rules:{required:!!l.required&&"Campo obrigatório"}})}function q({core:r,password:o,masker:s,...l}){return e.createElement(e.Fragment,null,void 0!==l.mask?e.createElement(n.InputMask,{...r,...s,readOnly:l.readonly,value:l.value,onBlur:e=>{l.onBlur&&l.onBlur(e.target.value)},onChange:e=>{l.onChange&&l.onChange(e.target.value)}}):"password"===l.type?e.createElement(a.Password,{...r,...o,autoComplete:"current-password",readOnly:l.readonly,value:l.value,onBlur:e=>{l.onBlur&&l.onBlur(e.target.value)},onChange:e=>{l.onChange&&l.onChange(e.target.value)}}):e.createElement(t.InputText,{...r,readOnly:l.readonly,ref:l.ref,value:l.value,onBlur:e=>{l.onBlur&&l.onBlur(e.target.value)},onChange:e=>{l.onChange&&l.onChange(e.target.value)}}),e.createElement(u,{...l}))}exports.Input=function(r){let t=r,a="small"===r.sizes?"p-inputtext-sm":"large"===r.sizes?"p-inputtext-lg":"",n={...d(t),className:a,type:r.type??"text"},o={appendTo:"self",feedback:r.passwordFeedback,footer:r.passwordFooterTemplate,header:r.passwordHeaderTemplate,mediumLabel:"Média",promptLabel:"Por favor, insira uma senha",pt:{input:{className:"w-100"}},strongLabel:"Forte",toggleMask:r.passwordShow,weakLabel:"Fraca",content:r.passwordTemplate},s={mask:"cpf"===r.mask?"999.999.999-99":"cnpj"===r.mask?"99.999.999/9999-99":r.mask,autoClear:r.maskAutoClear};return e.createElement(l,{className:r.className,css:r.css,size:r.size??"100"},e.createElement(i,{...r}),r.mode&&"Controlled"!==r.mode?e.createElement(O,{core:n,masker:s,password:o,...t}):e.createElement(q,{core:n,masker:s,password:o,...t}))};
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|