@orangesix/react 1.1.1 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/api/index.cjs.js +1 -1
  2. package/api/index.cjs.js.map +1 -1
  3. package/api/index.d.ts +144 -3
  4. package/api/index.esm.js +1 -1
  5. package/api/index.esm.js.map +1 -1
  6. package/autocomplete/index.cjs.js +1 -1
  7. package/autocomplete/index.cjs.js.map +1 -1
  8. package/autocomplete/index.d.ts +29 -2
  9. package/autocomplete/index.esm.js +1 -1
  10. package/autocomplete/index.esm.js.map +1 -1
  11. package/button/_button.scss +56 -0
  12. package/button/index.cjs.js +2 -0
  13. package/button/index.cjs.js.map +1 -0
  14. package/button/index.d.ts +109 -0
  15. package/button/index.esm.js +2 -0
  16. package/button/index.esm.js.map +1 -0
  17. package/button/package.json +5 -0
  18. package/editor/index.cjs.js +1 -1
  19. package/editor/index.cjs.js.map +1 -1
  20. package/editor/index.d.ts +22 -1
  21. package/editor/index.esm.js +1 -1
  22. package/editor/index.esm.js.map +1 -1
  23. package/input/index.cjs.js +2 -0
  24. package/input/index.cjs.js.map +1 -0
  25. package/input/index.d.ts +253 -0
  26. package/input/index.esm.js +2 -0
  27. package/input/index.esm.js.map +1 -0
  28. package/input/package.json +5 -0
  29. package/inputfilter/index.cjs.js +1 -1
  30. package/inputfilter/index.cjs.js.map +1 -1
  31. package/inputfilter/index.d.ts +22 -1
  32. package/inputfilter/index.esm.js +1 -1
  33. package/inputfilter/index.esm.js.map +1 -1
  34. package/loading/_loading.scss +10 -0
  35. package/loading/index.cjs.js +2 -0
  36. package/loading/index.cjs.js.map +1 -0
  37. package/loading/index.d.ts +172 -0
  38. package/loading/index.esm.js +2 -0
  39. package/loading/index.esm.js.map +1 -0
  40. package/loading/package.json +5 -0
  41. package/message/index.cjs.js +2 -0
  42. package/message/index.cjs.js.map +1 -0
  43. package/message/index.d.ts +108 -0
  44. package/message/index.esm.js +2 -0
  45. package/message/index.esm.js.map +1 -0
  46. package/message/package.json +5 -0
  47. package/modal/index.cjs.js +2 -0
  48. package/modal/index.cjs.js.map +1 -0
  49. package/modal/index.d.ts +73 -0
  50. package/modal/index.esm.js +2 -0
  51. package/modal/index.esm.js.map +1 -0
  52. package/modal/package.json +5 -0
  53. package/package.json +23 -19
  54. package/picklist/index.cjs.js +2 -0
  55. package/picklist/index.cjs.js.map +1 -0
  56. package/picklist/index.d.ts +74 -0
  57. package/picklist/index.esm.js +2 -0
  58. package/picklist/index.esm.js.map +1 -0
  59. package/picklist/package.json +5 -0
  60. package/radio/index.cjs.js +2 -0
  61. package/radio/index.cjs.js.map +1 -0
  62. package/radio/index.d.ts +231 -0
  63. package/radio/index.esm.js +2 -0
  64. package/radio/index.esm.js.map +1 -0
  65. package/radio/package.json +5 -0
  66. package/select/index.cjs.js +2 -0
  67. package/select/index.cjs.js.map +1 -0
  68. package/select/index.d.ts +239 -0
  69. package/select/index.esm.js +2 -0
  70. package/select/index.esm.js.map +1 -0
  71. package/select/package.json +5 -0
  72. package/style/index.d.ts +1 -1
  73. package/style/scss/_variables.scss +4 -0
  74. package/style/scss/bootstrap.scss +1 -0
  75. package/style/scss/components/button/_button.scss +494 -494
  76. package/style/scss/components/data/_datatable.scss +1 -0
  77. package/style/scss/components/data/_picklist.scss +61 -61
  78. package/style/scss/components/input/_iconfield.scss +5 -4
  79. package/style/scss/components/input/_inputswitch.scss +80 -70
  80. package/style/scss/core/_mixins.scss +195 -195
  81. package/style/scss/core/_reset.scss +75 -74
  82. package/switch/index.cjs.js +2 -0
  83. package/switch/index.cjs.js.map +1 -0
  84. package/switch/index.d.ts +212 -0
  85. package/switch/index.esm.js +2 -0
  86. package/switch/index.esm.js.map +1 -0
  87. package/switch/package.json +5 -0
  88. package/table/index.cjs.js +1 -1
  89. package/table/index.cjs.js.map +1 -1
  90. package/table/index.d.ts +51 -4
  91. package/table/index.esm.js +1 -1
  92. package/table/index.esm.js.map +1 -1
  93. package/tablepivot/index.d.ts +2 -1
  94. package/tabview/index.cjs.js +1 -1
  95. package/tabview/index.cjs.js.map +1 -1
  96. package/tabview/index.d.ts +29 -2
  97. package/tabview/index.esm.js +1 -1
  98. package/tabview/index.esm.js.map +1 -1
  99. package/textarea/index.cjs.js +2 -0
  100. package/textarea/index.cjs.js.map +1 -0
  101. package/textarea/index.d.ts +208 -0
  102. package/textarea/index.esm.js +2 -0
  103. package/textarea/index.esm.js.map +1 -0
  104. package/textarea/package.json +5 -0
  105. package/utils/index.cjs.js +1 -1
  106. package/utils/index.cjs.js.map +1 -1
  107. package/utils/index.d.ts +10 -2
  108. package/utils/index.esm.js +1 -1
  109. package/utils/index.esm.js.map +1 -1
package/api/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var e=require("react");exports.InputLabel=({iconPrefix:a="bi bi-",...r})=>r.label&&e.createElement("p",{className:"form-label"},r.icon&&e.createElement("i",{className:a+r.icon+" me-1"}),r.label,r.required&&e.createElement("span",{className:"text-danger"},"*"));
1
+ "use strict";var e=require("react");exports.InputFeedback=({errors:a,name:r,...l})=>l.mode&&"Controlled"!==l.mode?e.createElement("div",{className:a[r??""]?"invalid-feedback is-invalid":"","data-name":r??"",id:"j_feedback",style:{display:a[r??""]?"block":"none"}},a[r??""]?a[r??""].message:""):e.createElement("div",{"data-name":r,id:"j_feedback"}),exports.InputLabel=({iconPrefix:a="bi bi-",...r})=>r.label&&e.createElement("p",{className:"form-label"},r.icon&&e.createElement("i",{className:a+r.icon+" me-1"}),r.label,r.required&&e.createElement("span",{className:"text-danger"},"*")),exports.InputProps=function(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}};
2
2
  //# sourceMappingURL=index.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/api/input.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { 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 campo 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};"],"names":["iconPrefix","props","label","React","createElement","className","icon","required"],"mappings":"uDAS0B,EAAGA,aAAa,YAAaC,KAM5CA,EAAMC,OACNC,EAAGC,cAAA,IAAA,CAAAC,UAAU,cACXJ,EAAMK,MAAQH,EAAAC,cAAA,IAAA,CAAGC,UAAWL,EAAaC,EAAMK,KAAO,UACtDL,EAAMC,MACND,EAAMM,UAAYJ,EAAAC,cAAA,OAAA,CAAMC,UAAU,eAAsB"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/api/input.tsx"],"sourcesContent":["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}"],"names":["errors","name","props","mode","React","createElement","className","id","style","display","message","iconPrefix","label","icon","required","ref","disabled","placeholder","width","keyfilter"],"mappings":"0DA6B6B,EAAGA,SAAQC,UAASC,KAMrCA,EAAMC,MAAuB,eAAfD,EAAMC,KAGtBC,EAAAC,cAAA,MAAA,CAAKC,UAAaN,EAAOC,GAAQ,IAAW,8BAAL,GAAmC,YAC1DA,GAAQ,GACnBM,GAAG,aACHC,MAAO,CAAEC,QAAST,EAAOC,GAAQ,IAAM,QAAU,SAAYD,EAAOC,GAAQ,IAAWD,EAAOC,GAAQ,IAAIS,QAAxB,IALvFN,EAAgBC,cAAA,MAAA,CAAA,YAAAJ,EACXM,GAAG,kCA5BQ,EAAGI,aAAa,YAAaT,KAM5CA,EAAMU,OACNR,EAAGC,cAAA,IAAA,CAAAC,UAAU,cACXJ,EAAMW,MAAQT,EAAAC,cAAA,IAAA,CAAGC,UAAWK,EAAaT,EAAMW,KAAO,UACtDX,EAAMU,MACNV,EAAMY,UAAYV,EAAAC,cAAA,OAAA,CAAMC,UAAU,eAAsB,yBA8B/D,SAA0FJ,GAC5F,MAAO,CACHa,IAAKb,EAAMa,IAEXR,GAAIL,EAAMK,GACVN,KAAMC,EAAMD,KACZa,SAAUZ,EAAMY,SAChBE,SAAUd,EAAMc,SAChBC,YAAaf,EAAMe,YAEnBX,UAAWJ,EAAMI,UACjBE,MAAO,CAAEU,MAAO,QAEhBC,UAAWjB,EAAMiB,UAEzB"}
package/api/index.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import React, { CSSProperties } from 'react';
2
+ import { Control } from 'react-hook-form';
3
+ import * as primereact_keyfilter from 'primereact/keyfilter';
4
+ import { KeyFilterType } from 'primereact/keyfilter';
2
5
 
3
6
  /**
4
7
  * Realiza o mapeamento dos valores da propriedades css `align-items`
@@ -103,7 +106,12 @@ interface ApiComponentProps {
103
106
  }
104
107
 
105
108
  /**
106
- * Define as tipagens ´default´ de tidos os componente de entrada de dados do pacote
109
+ * Define o modo do componente de entrada de dados
110
+ */
111
+ type ApiFieldModeProps = "Controlled" | "HookForm";
112
+
113
+ /**
114
+ * Define os tipos `default` para componente de entrada de dados
107
115
  */
108
116
  interface ApiFieldComponentProps {
109
117
 
@@ -146,19 +154,152 @@ interface ApiFieldComponentProps {
146
154
  * Desabilita a entrada de dados no campo
147
155
  */
148
156
  disabled?: boolean
157
+
158
+ /**
159
+ * Define o modo do componente de entrada de dados
160
+ */
161
+ mode?: ApiFieldModeProps
162
+
163
+ /**
164
+ * Define a opção de filtro de dados do componente
165
+ */
166
+ keyfilter?: KeyFilterType;
167
+
168
+ /**
169
+ * Determina se campo é apenas de leitura
170
+ */
171
+ readonly?: boolean
172
+ }
173
+
174
+ /**
175
+ * Define os tipos `default` para componente de entrada de dados controlled
176
+ * quando a propriedade `Readonly` estiver habilitada
177
+ */
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
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 {
205
+ /**
206
+ * Define o valor do componente controlado
207
+ */
208
+ value: any
209
+
210
+ /**
211
+ * Determina se campo é apenas de leitura
212
+ */
213
+ readonly?: false
214
+
215
+ /**
216
+ * Função para alterar o valor do componente controlado
217
+ */
218
+ onChange(value: any): void
219
+
220
+ /**
221
+ * Função quando um usuário sai de um componente controlado
222
+ */
223
+ onBlur?: (value: any) => void
224
+ }
225
+
226
+ /**
227
+ * Define os tipos `default` para componente de entrada de dados controlled
228
+ */
229
+ type ApiFieldControlledProps =
230
+ | ApiFieldReadonlyControlledProps
231
+ | ApiFieldWritableControlledProps;
232
+
233
+ /**
234
+ * Define os tipos `default` para componente de entrada de dados HookFomr
235
+ */
236
+ interface ApiFieldHookFormProps {
237
+
238
+ /**
239
+ * Define o nome do campo
240
+ */
241
+ name: string
242
+
243
+ /**
244
+ * Objeto de controle do HookForm
245
+ */
246
+ control: Control<any>
247
+
248
+ /**
249
+ * Função executada quando o valor é modificado
250
+ */
251
+ onChange?: (value: any) => void
252
+
253
+ /**
254
+ * Função executada quando um usuário sai de um componente
255
+ */
256
+ onBlur?: (value: any) => void
149
257
  }
150
258
 
151
259
  /**
152
260
  * API - `InputLabel`
153
261
  *
154
- * Um componente utilizado como label em todos os componente de campo do pacote.
262
+ * Um componente utilizado como label em todos os componente de entrada de dados do pacote.
155
263
  * Permite personalizar o estilo e o conteúdo através de propriedades.
156
264
  */
157
265
  declare const InputLabel: ({ iconPrefix, ...props }: ApiFieldComponentProps) => "" | React.JSX.Element | undefined;
266
+ /**
267
+ * API - `InputFeedback`
268
+ *
269
+ * Um componente utilizado como container de feedback em todos os componente de entrada de dados do pacote.
270
+ * Permite personalizar o estilo e o conteúdo através de propriedades.
271
+ */
272
+ declare const InputFeedback: ({ errors, name, ...props }: ApiFieldComponentProps & {
273
+ errors?: any;
274
+ }) => React.JSX.Element;
275
+ /**
276
+ * API - `InputProps`
277
+ *
278
+ * Retorna o objeto com as `Props` do core dos componentes de entrada de dados
279
+ */
280
+ declare function InputProps<T extends ApiComponentProps & ApiFieldComponentProps & {
281
+ ref: any;
282
+ }>(props: T): {
283
+ ref: any;
284
+ id: string | undefined;
285
+ name: string | undefined;
286
+ required: boolean | undefined;
287
+ disabled: boolean | undefined;
288
+ placeholder: string | undefined;
289
+ className: string | undefined;
290
+ style: {
291
+ width: string;
292
+ };
293
+ keyfilter: primereact_keyfilter.KeyFilterType | undefined;
294
+ };
158
295
 
159
296
  type IAlignItemsProps = AlignItemsProps;
160
297
  type IAPIComponentProps = ApiComponentProps;
161
298
  type IJustifyContentProps = JustifyContentProps;
299
+ type TApiFieldModeProps = ApiFieldModeProps;
300
+ type TApiFieldHookFormProps = ApiFieldHookFormProps;
162
301
  type IApiFieldComponentProps = ApiFieldComponentProps;
302
+ type IApiFieldControlledProps = ApiFieldControlledProps;
163
303
 
164
- export { type IAPIComponentProps, type IAlignItemsProps, type IApiFieldComponentProps, type IJustifyContentProps, InputLabel };
304
+ export { InputFeedback, InputLabel, InputProps };
305
+ export type { IAPIComponentProps, IAlignItemsProps, IApiFieldComponentProps, IApiFieldControlledProps, IJustifyContentProps, TApiFieldHookFormProps, TApiFieldModeProps };
package/api/index.esm.js CHANGED
@@ -1,2 +1,2 @@
1
- import e from"react";const a=({iconPrefix:a="bi bi-",...l})=>l.label&&e.createElement("p",{className:"form-label"},l.icon&&e.createElement("i",{className:a+l.icon+" me-1"}),l.label,l.required&&e.createElement("span",{className:"text-danger"},"*"));export{a as InputLabel};
1
+ import e from"react";const a=({iconPrefix:a="bi bi-",...l})=>l.label&&e.createElement("p",{className:"form-label"},l.icon&&e.createElement("i",{className:a+l.icon+" me-1"}),l.label,l.required&&e.createElement("span",{className:"text-danger"},"*")),l=({errors:a,name:l,...r})=>r.mode&&"Controlled"!==r.mode?e.createElement("div",{className:a[l??""]?"invalid-feedback is-invalid":"","data-name":l??"",id:"j_feedback",style:{display:a[l??""]?"block":"none"}},a[l??""]?a[l??""].message:""):e.createElement("div",{"data-name":l,id:"j_feedback"});function r(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}}export{l as InputFeedback,a as InputLabel,r as InputProps};
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../src/api/input.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { 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 campo 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};"],"names":["InputLabel","iconPrefix","props","label","React","createElement","className","icon","required"],"mappings":"qBASO,MAAMA,EAAa,EAAGC,aAAa,YAAaC,KAM5CA,EAAMC,OACNC,EAAGC,cAAA,IAAA,CAAAC,UAAU,cACXJ,EAAMK,MAAQH,EAAAC,cAAA,IAAA,CAAGC,UAAWL,EAAaC,EAAMK,KAAO,UACtDL,EAAMC,MACND,EAAMM,UAAYJ,EAAAC,cAAA,OAAA,CAAMC,UAAU,eAAsB"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../src/api/input.tsx"],"sourcesContent":["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}"],"names":["InputLabel","iconPrefix","props","label","React","createElement","className","icon","required","InputFeedback","errors","name","mode","id","style","display","message","InputProps","ref","disabled","placeholder","width","keyfilter"],"mappings":"qBASO,MAAMA,EAAa,EAAGC,aAAa,YAAaC,KAM5CA,EAAMC,OACNC,EAAGC,cAAA,IAAA,CAAAC,UAAU,cACXJ,EAAMK,MAAQH,EAAAC,cAAA,IAAA,CAAGC,UAAWL,EAAaC,EAAMK,KAAO,UACtDL,EAAMC,MACND,EAAMM,UAAYJ,EAAAC,cAAA,OAAA,CAAMC,UAAU,eAAsB,MAUxDG,EAAgB,EAAGC,SAAQC,UAAST,KAMrCA,EAAMU,MAAuB,eAAfV,EAAMU,KAGtBR,EAAAC,cAAA,MAAA,CAAKC,UAAaI,EAAOC,GAAQ,IAAW,8BAAL,GAAmC,YAC1DA,GAAQ,GACnBE,GAAG,aACHC,MAAO,CAAEC,QAASL,EAAOC,GAAQ,IAAM,QAAU,SAAYD,EAAOC,GAAQ,IAAWD,EAAOC,GAAQ,IAAIK,QAAxB,IALvFZ,EAAgBC,cAAA,MAAA,CAAA,YAAAM,EACXE,GAAG,eAYZ,SAAUI,EAAgFf,GAC5F,MAAO,CACHgB,IAAKhB,EAAMgB,IAEXL,GAAIX,EAAMW,GACVF,KAAMT,EAAMS,KACZH,SAAUN,EAAMM,SAChBW,SAAUjB,EAAMiB,SAChBC,YAAalB,EAAMkB,YAEnBd,UAAWJ,EAAMI,UACjBQ,MAAO,CAAEO,MAAO,QAEhBC,UAAWpB,EAAMoB,UAEzB"}
@@ -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:!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"}));
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 { 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 campo 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};","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,gBAAgB,EAChBd,MAAOb,EAAMC,KAAO,CAAE,EACtB2B,SAAU5B,EAAM4B,SAChBP,SAAUrB,EAAMqB,SAChBQ,YAAa7B,EAAM6B,YACnBC,eAAgB,eAChBC,SAAU/B,EAAM+B,UAAY,OAC5BpB,UAAW,mCACRY,EAEX,CCjBM,SAAUS,EAAkBhC,GAC9B,MAAO,CACH,cAAAiC,CAAeC,GACXlC,EAAMmC,SAASD,EAAME,MACxB,EACD,QAAAC,CAASH,GACLlC,EAAMqC,SAASH,EAAMI,MACxB,EACD,QAAAC,CAASL,GACDlC,EAAMuC,UACNvC,EAAMuC,SAASL,EAAMI,QAIrC,sBCb4B,KAAMtC,KAE1Be,EAAAC,cAAClB,EAAG,CAACa,UAAW,gBAAkBX,EAAMW,WAAa,IAChDV,IAAKD,EAAMC,IACXC,KAAMF,EAAME,MAAQ,OACrBa,EAACC,cAAAC,EAAe,IAAAjB,IAChBe,EAACC,cAAAwB,EAAAA,cAAuBC,MAAOzC,EAAM0C,aAAe,IAC5BC,UAAW3C,EAAM4C,UACjBC,UAAW7C,EAAM8C,WAAa,EAC9BC,YAAa/C,EAAMgD,MAAQ,GAC3BV,MAAOtC,EAAMsC,SACThB,EAAetB,MACfgC,EAAkBhC,KAC9Ce,EAAgBC,cAAA,MAAA,CAAA,YAAAhB,EAAM0B,KACjBZ,GAAG"}
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"}
@@ -1,4 +1,5 @@
1
1
  import React, { CSSProperties } from 'react';
2
+ import { KeyFilterType } from 'primereact/keyfilter';
2
3
 
3
4
  /**
4
5
  * Define as tipagens `default` de todos os componentes do pacote
@@ -27,7 +28,12 @@ interface ApiComponentProps {
27
28
  }
28
29
 
29
30
  /**
30
- * Define as tipagens ´default´ de tidos os componente de entrada de dados do pacote
31
+ * Define o modo do componente de entrada de dados
32
+ */
33
+ type ApiFieldModeProps = "Controlled" | "HookForm";
34
+
35
+ /**
36
+ * Define os tipos `default` para componente de entrada de dados
31
37
  */
32
38
  interface ApiFieldComponentProps {
33
39
 
@@ -70,6 +76,21 @@ interface ApiFieldComponentProps {
70
76
  * Desabilita a entrada de dados no campo
71
77
  */
72
78
  disabled?: boolean
79
+
80
+ /**
81
+ * Define o modo do componente de entrada de dados
82
+ */
83
+ mode?: ApiFieldModeProps
84
+
85
+ /**
86
+ * Define a opção de filtro de dados do componente
87
+ */
88
+ keyfilter?: KeyFilterType;
89
+
90
+ /**
91
+ * Determina se campo é apenas de leitura
92
+ */
93
+ readonly?: boolean
73
94
  }
74
95
 
75
96
  interface AutocompleteDataProps {
@@ -106,6 +127,11 @@ interface AutocompleteProps extends ApiComponentProps, ApiFieldComponentProps {
106
127
  */
107
128
  appendTo?: "self" | HTMLElement;
108
129
 
130
+ /**
131
+ * Determina se é obrigatório a seleção do elemento
132
+ */
133
+ forceSelect?: boolean
134
+
109
135
  /**
110
136
  * Define o tempo para realizar a pesquisa da sugestão de dados.
111
137
  */
@@ -146,4 +172,5 @@ declare const Autocomplete: ({ ...props }: AutocompleteProps) => React.JSX.Eleme
146
172
 
147
173
  type IAutocompleteDataProps = AutocompleteDataProps;
148
174
 
149
- export { Autocomplete, type IAutocompleteDataProps };
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},n={className:a(["box",i.className??"",r.size,r.direction,r.justify,r.align]),style:i.css,id:i.id};return e.createElement("div",{...n},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 n(e){const a=e.dataTemplate?{itemTemplate:e.dataTemplate}:{};return{id:e.id,field:"name",name:e.name,forceSelection:!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 l(e){return{completeMethod(a){e.onSearch(a.query)},onChange(a){e.onChange(a.value)},onSelect(a){e.onSelect&&e.onSelect(a.value)}}}const s=({...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,...n(a),...l(a)}),e.createElement("div",{"data-name":a.name,id:"j_feedback"}));export{s as Autocomplete};
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 { 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 campo 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};","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,gBAAgB,EAChBd,MAAOb,EAAMC,KAAO,CAAE,EACtB2B,SAAU5B,EAAM4B,SAChBP,SAAUrB,EAAMqB,SAChBQ,YAAa7B,EAAM6B,YACnBC,eAAgB,eAChBC,SAAU/B,EAAM+B,UAAY,OAC5BpB,UAAW,mCACRY,EAEX,CCjBM,SAAUS,EAAkBhC,GAC9B,MAAO,CACH,cAAAiC,CAAeC,GACXlC,EAAMmC,SAASD,EAAME,MACxB,EACD,QAAAC,CAASH,GACLlC,EAAMqC,SAASH,EAAMI,MACxB,EACD,QAAAC,CAASL,GACDlC,EAAMuC,UACNvC,EAAMuC,SAASL,EAAMI,QAIrC,CCba,MAAAE,EAAe,KAAMxC,KAE1Be,EAAAC,cAAClB,EAAG,CAACa,UAAW,gBAAkBX,EAAMW,WAAa,IAChDV,IAAKD,EAAMC,IACXC,KAAMF,EAAME,MAAQ,OACrBa,EAACC,cAAAC,EAAe,IAAAjB,IAChBe,EAACC,cAAAyB,GAAuBC,MAAO1C,EAAM2C,aAAe,IAC5BC,UAAW5C,EAAM6C,UACjBC,UAAW9C,EAAM+C,WAAa,EAC9BC,YAAahD,EAAMiD,MAAQ,GAC3BX,MAAOtC,EAAMsC,SACThB,EAAetB,MACfgC,EAAkBhC,KAC9Ce,EAAgBC,cAAA,MAAA,CAAA,YAAAhB,EAAM0B,KACjBZ,GAAG"}
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"}
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "./index.cjs.js",
3
+ "module": "./index.esm.js",
4
+ "types": "./index.d.ts"
5
+ }