@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
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react"),i=require("primereact/utils");exports.Loading=({opacity:t="0.5",...a})=>{const s={justify:void 0===a.justify?"justify-content-center":Array.isArray(a.justify)?a.justify?.join(" "):a.justify,align:void 0===a.align?"align-items-center":Array.isArray(a.align)?a.align?.join(" "):a.align},r={className:i.classNames([s.align,s.justify,a.className,"box-loading",`text-${a.color??"white"}`]),style:{zIndex:a.zindex??1,background:"rgba(0,0,0, "+t+")",...a.css??{}}};return a.visible&&e.createElement("div",{...r},e.createElement("div",{className:`spinner-${a.type??"border"}`},e.createElement("span",{className:"visually-hidden"},"Loading...")),a.text??e.createElement("p",{className:"mt-1"},a.text))};
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/loading/loading.tsx"],"sourcesContent":["import { LoadingProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Loading`\r\n *\r\n * Um componente versátil que pode ser utilizado para exibir informação de carregando.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const Loading = ({ opacity = \"0.5\", ...props }: LoadingProps) => {\r\n const css = {\r\n justify: props.justify === undefined ? \"justify-content-center\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"align-items-center\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align,\r\n };\r\n const attr: HTMLAttributes<\"div\"> = {\r\n className: classNames([\r\n css.align,\r\n css.justify,\r\n props.className,\r\n \"box-loading\",\r\n `text-${props.color ?? \"white\"}`,\r\n ]),\r\n style: {\r\n zIndex: props.zindex ?? 1,\r\n background: \"rgba(0,0,0, \" + opacity + \")\", ...props.css ?? {}\r\n }\r\n };\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return props.visible && (\r\n <div {...attr as any}>\r\n <div className={`spinner-${props.type ?? \"border\"}`}>\r\n <span className=\"visually-hidden\">Loading...</span>\r\n </div>\r\n {props.text ?? <p className=\"mt-1\">{props.text}</p>}\r\n </div>\r\n );\r\n};"],"names":["opacity","props","css","justify","undefined","Array","isArray","join","align","attr","className","classNames","color","style","zIndex","zindex","background","visible","React","createElement","type","text"],"mappings":"kFAUuB,EAAGA,UAAU,SAAUC,MAC1C,MAAMC,EAAM,CACRC,aAA2BC,IAAlBH,EAAME,QAAwB,yBAA2BE,MAAMC,QAAQL,EAAME,SAAWF,EAAME,SAASI,KAAK,KAAON,EAAME,QAClIK,WAAuBJ,IAAhBH,EAAMO,MAAsB,qBAAuBH,MAAMC,QAAQL,EAAMO,OAASP,EAAMO,OAAOD,KAAK,KAAON,EAAMO,OAEpHC,EAA8B,CAChCC,UAAWC,EAAAA,WAAW,CAClBT,EAAIM,MACJN,EAAIC,QACJF,EAAMS,UACN,cACA,QAAQT,EAAMW,OAAS,YAE3BC,MAAO,CACHC,OAAQb,EAAMc,QAAU,EACxBC,WAAY,eAAiBhB,EAAU,OAAQC,EAAMC,KAAO,CAAA,IASpE,OAAOD,EAAMgB,SACTC,0BAAST,GACLS,EAAKC,cAAA,MAAA,CAAAT,UAAW,WAAWT,EAAMmB,MAAQ,YACrCF,EAAAC,cAAA,OAAA,CAAMT,UAAU,mBAAiB,eAEpCT,EAAMoB,MAAQH,EAAAC,cAAA,IAAA,CAAGT,UAAU,QAAQT,EAAMoB,MAEjD"}
@@ -0,0 +1,172 @@
1
+ import React, { CSSProperties } from 'react';
2
+
3
+ /**
4
+ * Realiza o mapeamento dos valores da propriedades css `align-items`
5
+ */
6
+ type AlignItemsProps =
7
+ | "align-items-start"
8
+ | "align-items-end"
9
+ | "align-items-center"
10
+ | "align-items-baseline"
11
+ | "align-items-stretch"
12
+ | "align-items-sm-start"
13
+ | "align-items-sm-end"
14
+ | "align-items-sm-center"
15
+ | "align-items-sm-baseline"
16
+ | "align-items-sm-stretch"
17
+ | "align-items-md-start"
18
+ | "align-items-md-end"
19
+ | "align-items-md-center"
20
+ | "align-items-md-baseline"
21
+ | "align-items-md-stretch"
22
+ | "align-items-lg-start"
23
+ | "align-items-lg-end"
24
+ | "align-items-lg-center"
25
+ | "align-items-lg-baseline"
26
+ | "align-items-lg-stretch"
27
+ | "align-items-xl-start"
28
+ | "align-items-xl-end"
29
+ | "align-items-xl-center"
30
+ | "align-items-xl-baseline"
31
+ | "align-items-xl-stretch"
32
+ | "align-items-xxl-start"
33
+ | "align-items-xxl-end"
34
+ | "align-items-xxl-center"
35
+ | "align-items-xxl-baseline"
36
+ | "align-items-xxl-stretch";
37
+
38
+ /**
39
+ * Realiza o mapeamento dos valores da propriedades css `justify-content`
40
+ */
41
+ type JustifyContentProps =
42
+ | "justify-content-start"
43
+ | "justify-content-end"
44
+ | "justify-content-center"
45
+ | "justify-content-between"
46
+ | "justify-content-around"
47
+ | "justify-content-evenly"
48
+ | "justify-content-sm-start"
49
+ | "justify-content-sm-end"
50
+ | "justify-content-sm-center"
51
+ | "justify-content-sm-between"
52
+ | "justify-content-sm-around"
53
+ | "justify-content-sm-evenly"
54
+ | "justify-content-md-start"
55
+ | "justify-content-md-end"
56
+ | "justify-content-md-center"
57
+ | "justify-content-md-between"
58
+ | "justify-content-md-around"
59
+ | "justify-content-md-evenly"
60
+ | "justify-content-lg-start"
61
+ | "justify-content-lg-end"
62
+ | "justify-content-lg-center"
63
+ | "justify-content-lg-between"
64
+ | "justify-content-lg-around"
65
+ | "justify-content-lg-evenly"
66
+ | "justify-content-xl-start"
67
+ | "justify-content-xl-end"
68
+ | "justify-content-xl-center"
69
+ | "justify-content-xl-between"
70
+ | "justify-content-xl-around"
71
+ | "justify-content-xl-evenly"
72
+ | "justify-content-xxl-start"
73
+ | "justify-content-xxl-end"
74
+ | "justify-content-xxl-center"
75
+ | "justify-content-xxl-between"
76
+ | "justify-content-xxl-around"
77
+ | "justify-content-xxl-evenly";
78
+
79
+ /**
80
+ * Define as tipagens `default` de todos os componentes do pacote
81
+ */
82
+ interface ApiComponentProps {
83
+
84
+ /**
85
+ * Propriedade para identificar o id do elemento
86
+ */
87
+ id?: string
88
+
89
+ /**
90
+ * Adiciona no atributo `class` do componente o valor atribuido nessa propriedade
91
+ */
92
+ className?: string
93
+
94
+ /**
95
+ * Define o tamanho da box do componente de acordo com o valores abaixo
96
+ */
97
+ 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"
98
+
99
+ /**
100
+ * Define as propriedades css do component `style`
101
+ */
102
+ css?: CSSProperties
103
+ }
104
+
105
+ /**
106
+ * Define as cores padrão as UI de componentes
107
+ */
108
+ type ApiColorProps =
109
+ "primary" |
110
+ "secondary" |
111
+ "success" |
112
+ "danger" |
113
+ "light" |
114
+ "warning" |
115
+ "gray" |
116
+ "info" |
117
+ "dark" |
118
+ "white";
119
+
120
+ interface LoadingProps extends Omit<ApiComponentProps, "size" | "id"> {
121
+ /**
122
+ * Define se o loading vai se exibido
123
+ */
124
+ visible: boolean
125
+
126
+ /**
127
+ * A propriedade `align` determina o alinhamento do conteúdo base na propriedade `direction`.
128
+ * Essa propriedade ajusta os estilos CSS `align-items`, permitindo um controle preciso do layout.
129
+ */
130
+ align?: AlignItemsProps | AlignItemsProps[]
131
+
132
+ /**
133
+ * A propriedade `justify` determina o alinhamento do conteúdo base na propriedade `direction`.
134
+ * Essa propriedade ajusta os estilos CSS `justify-content`, permitindo um controle preciso do layout.
135
+ */
136
+ justify?: JustifyContentProps | JustifyContentProps[]
137
+
138
+ /**
139
+ * Define a opacidade do fundo da box de carregamento
140
+ */
141
+ opacity?: string
142
+
143
+ /**
144
+ * Define o tipo do loading
145
+ */
146
+ type?: "border" | "grow"
147
+
148
+ /**
149
+ * Define a mensagem do load
150
+ */
151
+ text?: string
152
+
153
+ /**
154
+ * Define as cores padrão do component
155
+ */
156
+ color?: ApiColorProps
157
+
158
+ /**
159
+ * Personaliza a propriedade zindex do componente de loading
160
+ */
161
+ zindex?: number
162
+ }
163
+
164
+ /**
165
+ * Componente - `Loading`
166
+ *
167
+ * Um componente versátil que pode ser utilizado para exibir informação de carregando.
168
+ * Permite personalizar o estilo e o conteúdo através de propriedades.
169
+ */
170
+ declare const Loading: ({ opacity, ...props }: LoadingProps) => false | React.JSX.Element;
171
+
172
+ export { Loading };
@@ -0,0 +1,2 @@
1
+ import e from"react";import{classNames as t}from"primereact/utils";const i=({opacity:i="0.5",...a})=>{const r={justify:void 0===a.justify?"justify-content-center":Array.isArray(a.justify)?a.justify?.join(" "):a.justify,align:void 0===a.align?"align-items-center":Array.isArray(a.align)?a.align?.join(" "):a.align},s={className:t([r.align,r.justify,a.className,"box-loading",`text-${a.color??"white"}`]),style:{zIndex:a.zindex??1,background:"rgba(0,0,0, "+i+")",...a.css??{}}};return a.visible&&e.createElement("div",{...s},e.createElement("div",{className:`spinner-${a.type??"border"}`},e.createElement("span",{className:"visually-hidden"},"Loading...")),a.text??e.createElement("p",{className:"mt-1"},a.text))};export{i as Loading};
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../src/loading/loading.tsx"],"sourcesContent":["import { LoadingProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Loading`\r\n *\r\n * Um componente versátil que pode ser utilizado para exibir informação de carregando.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const Loading = ({ opacity = \"0.5\", ...props }: LoadingProps) => {\r\n const css = {\r\n justify: props.justify === undefined ? \"justify-content-center\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"align-items-center\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align,\r\n };\r\n const attr: HTMLAttributes<\"div\"> = {\r\n className: classNames([\r\n css.align,\r\n css.justify,\r\n props.className,\r\n \"box-loading\",\r\n `text-${props.color ?? \"white\"}`,\r\n ]),\r\n style: {\r\n zIndex: props.zindex ?? 1,\r\n background: \"rgba(0,0,0, \" + opacity + \")\", ...props.css ?? {}\r\n }\r\n };\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return props.visible && (\r\n <div {...attr as any}>\r\n <div className={`spinner-${props.type ?? \"border\"}`}>\r\n <span className=\"visually-hidden\">Loading...</span>\r\n </div>\r\n {props.text ?? <p className=\"mt-1\">{props.text}</p>}\r\n </div>\r\n );\r\n};"],"names":["Loading","opacity","props","css","justify","undefined","Array","isArray","join","align","attr","className","classNames","color","style","zIndex","zindex","background","visible","React","createElement","type","text"],"mappings":"mEAUO,MAAMA,EAAU,EAAGC,UAAU,SAAUC,MAC1C,MAAMC,EAAM,CACRC,aAA2BC,IAAlBH,EAAME,QAAwB,yBAA2BE,MAAMC,QAAQL,EAAME,SAAWF,EAAME,SAASI,KAAK,KAAON,EAAME,QAClIK,WAAuBJ,IAAhBH,EAAMO,MAAsB,qBAAuBH,MAAMC,QAAQL,EAAMO,OAASP,EAAMO,OAAOD,KAAK,KAAON,EAAMO,OAEpHC,EAA8B,CAChCC,UAAWC,EAAW,CAClBT,EAAIM,MACJN,EAAIC,QACJF,EAAMS,UACN,cACA,QAAQT,EAAMW,OAAS,YAE3BC,MAAO,CACHC,OAAQb,EAAMc,QAAU,EACxBC,WAAY,eAAiBhB,EAAU,OAAQC,EAAMC,KAAO,CAAA,IASpE,OAAOD,EAAMgB,SACTC,0BAAST,GACLS,EAAKC,cAAA,MAAA,CAAAT,UAAW,WAAWT,EAAMmB,MAAQ,YACrCF,EAAAC,cAAA,OAAA,CAAMT,UAAU,mBAAiB,eAEpCT,EAAMoB,MAAQH,EAAAC,cAAA,IAAA,CAAGT,UAAU,QAAQT,EAAMoB,MAEjD"}
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "./index.cjs.js",
3
+ "module": "./index.esm.js",
4
+ "types": "./index.d.ts"
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react"),i=require("primereact/utils"),a=require("primereact/dialog"),s=require("primereact/button");const n=({children:a,...s})=>{const n={size:`box-size-${s.size??"100"}`,direction:`box-direction-${s.direction??"row"}`,justify:void 0===s.justify?"":Array.isArray(s.justify)?s.justify?.join(" "):s.justify,align:void 0===s.align?"":Array.isArray(s.align)?s.align?.join(" "):s.align},o={className:i.classNames(["box",s.className??"",n.size,n.direction,n.justify,n.align]),style:s.css,id:s.id};return e.createElement("div",{...o},a)};function o(i){const a=void 0!==i.icon?e.createElement("h5",{className:"fw-semibold"},e.createElement("i",{className:"me-1 "+(i.iconPrefix??"bi bi-")+i.icon}),i.header):i.header;return{appendTo:"self",visible:i.visible,onHide(){i.onVisible(!i.visible)},modal:void 0===i.background||i.background,dismissableMask:void 0===i.backdrop||!i.backdrop,maximizable:i.maximizable,draggable:i.draggable,closable:void 0===i.closable||i.closable,baseZIndex:i.zIndex??1e3,position:i.position,header:a,footer:i.footer,showHeader:!(!1===i.header)}}function l(i){let s=i.sizes?"small"===i.sizes?"300px":"medium"===i.sizes?"500px":"large"===i.sizes?"800px":"80%":void 0;const[n,l]=e.useState(i.maximized??!1);return e.createElement(a.Dialog,{style:n?{}:{width:s},...o(i),breakpoints:{"768px":"80%","576px":"90%"},className:i.className,maximized:n,onMaximize:()=>l(!n)},i.children)}const r=({...i})=>e.createElement(s.Button,{badge:i.badge,badgeClassName:i.badgeClassName,className:i.className,disabled:i.disabled,icon:void 0!==i.icon?`${i.iconPrefix??"bi bi-"}${i.icon??""} ${i.label?"me-1":""}`:void 0,iconPos:i.iconPos,id:i.id,label:i.label,link:i.isLink,loading:i.isLoading,pt:{loadingIcon:{className:"me-1"}},ref:i.ref,severity:i.color,size:i.size,style:i.css,type:i.type,onClick:i.onClick});function c({confirm:i=!0,cancel:a=!0,...s}){return e.createElement(l,{className:"message",header:s.title??"Confirmação",icon:s.modalIcon??"cone-striped",iconPrefix:s.modalIconPrefix??"bi bi-",sizes:"medium",visible:s.visible,onVisible:s.onVisible},e.createElement(n,{direction:"column",size:"100"},e.createElement("div",{dangerouslySetInnerHTML:{__html:s.message??""}}),e.createElement(n,{className:"gap-2",justify:"justify-content-"+(s.modalOptionsPosition??"end"),size:"100"},i&&e.createElement(r,{color:"success",icon:"check2-circle",isLoading:s.isLoading??!1,label:s.confirmLabel??"Confirmar",onClick:()=>{s.onConfirm&&s.onConfirm()}}),a&&e.createElement(r,{color:"danger",icon:"slash-circle",label:s.cancelarLabel??"Cancelar",onClick:()=>{s.onCancel?s.onCancel():s.onVisible(!1)}}))))}function t(i){return e.createElement(e.Fragment,null,i.type&&"modal"!==i.type?null:e.createElement(c,{...i}))}t.displayName="Message",exports.Message=t;
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/box/box.tsx","../../src/modal/core/core.tsx","../../src/modal/modal.tsx","../../src/button/button.tsx","../../src/message/core/modal.tsx","../../src/message/message.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 { ModalProps } from \"../types\";\r\nimport { DialogProps } from \"primereact/dialog\";\r\n\r\n/**\r\n * `Core`\r\n * Define as propriedades base para funcionamento da Modal\r\n */\r\nexport function modalCore(\r\n props: ModalProps\r\n): DialogProps {\r\n const title = props.icon !== undefined\r\n ? <h5 className=\"fw-semibold\">\r\n <i className={\"me-1 \" + (props.iconPrefix ?? \"bi bi-\") + props.icon}/>{props.header}</h5>\r\n : props.header;\r\n\r\n return {\r\n appendTo: \"self\",\r\n visible: props.visible,\r\n onHide() {\r\n props.onVisible(!props.visible);\r\n },\r\n modal: props.background === undefined || props.background,\r\n dismissableMask: props.backdrop === undefined || !props.backdrop,\r\n\r\n maximizable: props.maximizable,\r\n draggable: props.draggable,\r\n closable: props.closable === undefined || props.closable,\r\n baseZIndex: props.zIndex ?? 1000,\r\n\r\n position: props.position,\r\n header: title,\r\n footer: props.footer,\r\n showHeader: !(props.header === false),\r\n };\r\n}","import React, { useState } from \"react\";\r\nimport { ModalProps } from \"./types\";\r\nimport { modalCore } from \"./core/core\";\r\nimport { Dialog } from \"primereact/dialog\";\r\n\r\n/**\r\n * Componente - `Modal`\r\n *\r\n * Um componente versátil que é utilizado exibir dados em forma de janela suspensa.\r\n */\r\nexport function Modal(props: ModalProps) {\r\n let sizes = !props.sizes ? undefined\r\n : props.sizes === \"small\" ? \"300px\"\r\n : props.sizes === \"medium\" ? \"500px\"\r\n : props.sizes === \"large\" ? \"800px\" : \"80%\";\r\n const [maximized, setMaximized] = useState(props.maximized ?? false);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Dialog style={!maximized ? { width: sizes } : {}}\r\n {...modalCore(props)}\r\n breakpoints={{\r\n \"768px\": \"80%\",\r\n \"576px\": \"90%\",\r\n }}\r\n className={props.className}\r\n maximized={maximized}\r\n onMaximize={() => setMaximized(!maximized)}>\r\n {props.children}\r\n </Dialog>\r\n );\r\n}","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};","import React from \"react\";\r\nimport { Box } from \"../../box\";\r\nimport { Modal } from \"../../modal\";\r\nimport { Button } from \"../../button\";\r\nimport { MessageProps } from \"../types\";\r\nimport { JustifyContentProps } from \"../../api/types\";\r\n\r\n/**\r\n * Core - `ModalMessage`\r\n * Define o componente do tipo modal\r\n */\r\nexport function ModalMessage({ confirm = true, cancel = true, ...props }: MessageProps<\"modal\">) {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Modal className=\"message\"\r\n header={props.title ?? \"Confirmação\"}\r\n icon={props.modalIcon ?? \"cone-striped\"}\r\n iconPrefix={props.modalIconPrefix ?? \"bi bi-\"}\r\n sizes=\"medium\"\r\n visible={props.visible}\r\n onVisible={props.onVisible}>\r\n <Box direction=\"column\"\r\n size=\"100\">\r\n <div dangerouslySetInnerHTML={{ __html: props.message ?? \"\" }}/>\r\n <Box className=\"gap-2\"\r\n justify={\"justify-content-\" + (props.modalOptionsPosition ?? \"end\") as JustifyContentProps}\r\n size=\"100\">\r\n {confirm && <Button color=\"success\"\r\n icon=\"check2-circle\"\r\n isLoading={props.isLoading ?? false}\r\n label={props.confirmLabel ?? \"Confirmar\"}\r\n onClick={() => {\r\n if (props.onConfirm) {\r\n props.onConfirm();\r\n }\r\n }}/>}\r\n {cancel && <Button color=\"danger\"\r\n icon=\"slash-circle\"\r\n label={props.cancelarLabel ?? \"Cancelar\"}\r\n onClick={() => {\r\n if (props.onCancel) {\r\n props.onCancel();\r\n } else {\r\n props.onVisible(false);\r\n }\r\n }}/>}\r\n </Box>\r\n </Box>\r\n </Modal>\r\n );\r\n}","import React from \"react\";\r\nimport { ModalMessage } from \"./core/modal\";\r\nimport { MessageModeProps, MessageProps } from \"./types\";\r\n\r\n/**\r\n * Componente - `Message`\r\n *\r\n * Um componente versátil que é utilizado emitir messagens no sistema.\r\n */\r\nexport function Message<T extends MessageModeProps = \"modal\">(props: MessageProps<T> & { type?: T }) {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <>\r\n {!props.type || props.type === \"modal\"\r\n ? <ModalMessage {...props}/>\r\n : null}\r\n </>\r\n );\r\n}\r\n\r\nMessage.displayName = \"Message\";"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","modalCore","title","icon","iconPrefix","header","appendTo","visible","onHide","onVisible","modal","background","dismissableMask","backdrop","maximizable","draggable","closable","baseZIndex","zIndex","position","footer","showHeader","Modal","sizes","maximized","setMaximized","useState","Dialog","width","breakpoints","onMaximize","Button","ButtonPrimeReact","badge","badgeClassName","disabled","label","iconPos","link","isLink","loading","isLoading","pt","loadingIcon","ref","severity","color","type","onClick","ModalMessage","confirm","cancel","modalIcon","modalIconPrefix","dangerouslySetInnerHTML","__html","message","modalOptionsPosition","confirmLabel","onConfirm","cancelarLabel","onCancel","Message","Fragment","displayName"],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import React from 'react';
2
+
3
+ /**
4
+ * Define o tipo de message
5
+ */
6
+ type MessageModeProps = "modal";
7
+
8
+ /**
9
+ * Define as propriedades padrão do component
10
+ */
11
+ interface MessageBaseProps {
12
+
13
+ /**
14
+ * Determina se messagem está visivel
15
+ */
16
+ visible: boolean
17
+
18
+ /**
19
+ * Define o conteúdo da message
20
+ */
21
+ message: string
22
+
23
+ /**
24
+ * Define se componente está no estado de carregando
25
+ */
26
+ isLoading?: boolean
27
+
28
+ /**
29
+ * Define o titulo da message
30
+ */
31
+ title?: string
32
+
33
+ /**
34
+ * Define se vai ter a opção de confirmação
35
+ */
36
+ confirm?: boolean
37
+
38
+ /**
39
+ * Define se vai ter a opção de cancelar
40
+ */
41
+ cancel?: boolean
42
+
43
+ /**
44
+ * Define o label do botão de confirmação
45
+ */
46
+ confirmLabel?: string
47
+
48
+ /**
49
+ * Define o label do botão de cancelar
50
+ */
51
+ cancelarLabel?: string
52
+
53
+ /**
54
+ * Define o metodo de confirmação
55
+ */
56
+ onConfirm?: () => void
57
+
58
+ /**
59
+ * Define o metodo no cancelamento
60
+ */
61
+ onCancel?: () => void
62
+
63
+ /**
64
+ * Metodo responsável por atualizar state do message
65
+ */
66
+ onVisible(value: boolean): void;
67
+ }
68
+
69
+ /**
70
+ * Define as propriedades do component do tipo MODAL
71
+ */
72
+ interface MessageModalProps {
73
+ /**
74
+ * Define o icone do campo
75
+ */
76
+ modalIcon?: string
77
+
78
+ /**
79
+ * Define o prefixo dos icones do pacote
80
+ */
81
+ modalIconPrefix?: "bi bi-" | "pi pi-"
82
+
83
+ /**
84
+ * Define o posicionamento das opções da message
85
+ */
86
+ modalOptionsPosition?: "center" | "start" | "end"
87
+ }
88
+
89
+ /**
90
+ * Define a propriedade para ser exportada
91
+ */
92
+ type MessageProps<T extends MessageModeProps> = T extends "modal"
93
+ ? MessageBaseProps & MessageModalProps
94
+ : MessageBaseProps;
95
+
96
+ /**
97
+ * Componente - `Message`
98
+ *
99
+ * Um componente versátil que é utilizado emitir messagens no sistema.
100
+ */
101
+ declare function Message<T extends MessageModeProps = "modal">(props: MessageProps<T> & {
102
+ type?: T;
103
+ }): React.JSX.Element;
104
+ declare namespace Message {
105
+ var displayName: string;
106
+ }
107
+
108
+ export { Message };
@@ -0,0 +1,2 @@
1
+ import e,{useState as i}from"react";import{classNames as a}from"primereact/utils";import{Dialog as o}from"primereact/dialog";import{Button as n}from"primereact/button";const s=({children:i,...o})=>{const n={size:`box-size-${o.size??"100"}`,direction:`box-direction-${o.direction??"row"}`,justify:void 0===o.justify?"":Array.isArray(o.justify)?o.justify?.join(" "):o.justify,align:void 0===o.align?"":Array.isArray(o.align)?o.align?.join(" "):o.align},s={className:a(["box",o.className??"",n.size,n.direction,n.justify,n.align]),style:o.css,id:o.id};return e.createElement("div",{...s},i)};function l(i){const a=void 0!==i.icon?e.createElement("h5",{className:"fw-semibold"},e.createElement("i",{className:"me-1 "+(i.iconPrefix??"bi bi-")+i.icon}),i.header):i.header;return{appendTo:"self",visible:i.visible,onHide(){i.onVisible(!i.visible)},modal:void 0===i.background||i.background,dismissableMask:void 0===i.backdrop||!i.backdrop,maximizable:i.maximizable,draggable:i.draggable,closable:void 0===i.closable||i.closable,baseZIndex:i.zIndex??1e3,position:i.position,header:a,footer:i.footer,showHeader:!(!1===i.header)}}function r(a){let n=a.sizes?"small"===a.sizes?"300px":"medium"===a.sizes?"500px":"large"===a.sizes?"800px":"80%":void 0;const[s,r]=i(a.maximized??!1);return e.createElement(o,{style:s?{}:{width:n},...l(a),breakpoints:{"768px":"80%","576px":"90%"},className:a.className,maximized:s,onMaximize:()=>r(!s)},a.children)}const c=({...i})=>e.createElement(n,{badge:i.badge,badgeClassName:i.badgeClassName,className:i.className,disabled:i.disabled,icon:void 0!==i.icon?`${i.iconPrefix??"bi bi-"}${i.icon??""} ${i.label?"me-1":""}`:void 0,iconPos:i.iconPos,id:i.id,label:i.label,link:i.isLink,loading:i.isLoading,pt:{loadingIcon:{className:"me-1"}},ref:i.ref,severity:i.color,size:i.size,style:i.css,type:i.type,onClick:i.onClick});function t({confirm:i=!0,cancel:a=!0,...o}){return e.createElement(r,{className:"message",header:o.title??"Confirmação",icon:o.modalIcon??"cone-striped",iconPrefix:o.modalIconPrefix??"bi bi-",sizes:"medium",visible:o.visible,onVisible:o.onVisible},e.createElement(s,{direction:"column",size:"100"},e.createElement("div",{dangerouslySetInnerHTML:{__html:o.message??""}}),e.createElement(s,{className:"gap-2",justify:"justify-content-"+(o.modalOptionsPosition??"end"),size:"100"},i&&e.createElement(c,{color:"success",icon:"check2-circle",isLoading:o.isLoading??!1,label:o.confirmLabel??"Confirmar",onClick:()=>{o.onConfirm&&o.onConfirm()}}),a&&e.createElement(c,{color:"danger",icon:"slash-circle",label:o.cancelarLabel??"Cancelar",onClick:()=>{o.onCancel?o.onCancel():o.onVisible(!1)}}))))}function m(i){return e.createElement(e.Fragment,null,i.type&&"modal"!==i.type?null:e.createElement(t,{...i}))}m.displayName="Message";export{m as Message};
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../src/box/box.tsx","../../src/modal/core/core.tsx","../../src/modal/modal.tsx","../../src/button/button.tsx","../../src/message/core/modal.tsx","../../src/message/message.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 { ModalProps } from \"../types\";\r\nimport { DialogProps } from \"primereact/dialog\";\r\n\r\n/**\r\n * `Core`\r\n * Define as propriedades base para funcionamento da Modal\r\n */\r\nexport function modalCore(\r\n props: ModalProps\r\n): DialogProps {\r\n const title = props.icon !== undefined\r\n ? <h5 className=\"fw-semibold\">\r\n <i className={\"me-1 \" + (props.iconPrefix ?? \"bi bi-\") + props.icon}/>{props.header}</h5>\r\n : props.header;\r\n\r\n return {\r\n appendTo: \"self\",\r\n visible: props.visible,\r\n onHide() {\r\n props.onVisible(!props.visible);\r\n },\r\n modal: props.background === undefined || props.background,\r\n dismissableMask: props.backdrop === undefined || !props.backdrop,\r\n\r\n maximizable: props.maximizable,\r\n draggable: props.draggable,\r\n closable: props.closable === undefined || props.closable,\r\n baseZIndex: props.zIndex ?? 1000,\r\n\r\n position: props.position,\r\n header: title,\r\n footer: props.footer,\r\n showHeader: !(props.header === false),\r\n };\r\n}","import React, { useState } from \"react\";\r\nimport { ModalProps } from \"./types\";\r\nimport { modalCore } from \"./core/core\";\r\nimport { Dialog } from \"primereact/dialog\";\r\n\r\n/**\r\n * Componente - `Modal`\r\n *\r\n * Um componente versátil que é utilizado exibir dados em forma de janela suspensa.\r\n */\r\nexport function Modal(props: ModalProps) {\r\n let sizes = !props.sizes ? undefined\r\n : props.sizes === \"small\" ? \"300px\"\r\n : props.sizes === \"medium\" ? \"500px\"\r\n : props.sizes === \"large\" ? \"800px\" : \"80%\";\r\n const [maximized, setMaximized] = useState(props.maximized ?? false);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Dialog style={!maximized ? { width: sizes } : {}}\r\n {...modalCore(props)}\r\n breakpoints={{\r\n \"768px\": \"80%\",\r\n \"576px\": \"90%\",\r\n }}\r\n className={props.className}\r\n maximized={maximized}\r\n onMaximize={() => setMaximized(!maximized)}>\r\n {props.children}\r\n </Dialog>\r\n );\r\n}","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};","import React from \"react\";\r\nimport { Box } from \"../../box\";\r\nimport { Modal } from \"../../modal\";\r\nimport { Button } from \"../../button\";\r\nimport { MessageProps } from \"../types\";\r\nimport { JustifyContentProps } from \"../../api/types\";\r\n\r\n/**\r\n * Core - `ModalMessage`\r\n * Define o componente do tipo modal\r\n */\r\nexport function ModalMessage({ confirm = true, cancel = true, ...props }: MessageProps<\"modal\">) {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Modal className=\"message\"\r\n header={props.title ?? \"Confirmação\"}\r\n icon={props.modalIcon ?? \"cone-striped\"}\r\n iconPrefix={props.modalIconPrefix ?? \"bi bi-\"}\r\n sizes=\"medium\"\r\n visible={props.visible}\r\n onVisible={props.onVisible}>\r\n <Box direction=\"column\"\r\n size=\"100\">\r\n <div dangerouslySetInnerHTML={{ __html: props.message ?? \"\" }}/>\r\n <Box className=\"gap-2\"\r\n justify={\"justify-content-\" + (props.modalOptionsPosition ?? \"end\") as JustifyContentProps}\r\n size=\"100\">\r\n {confirm && <Button color=\"success\"\r\n icon=\"check2-circle\"\r\n isLoading={props.isLoading ?? false}\r\n label={props.confirmLabel ?? \"Confirmar\"}\r\n onClick={() => {\r\n if (props.onConfirm) {\r\n props.onConfirm();\r\n }\r\n }}/>}\r\n {cancel && <Button color=\"danger\"\r\n icon=\"slash-circle\"\r\n label={props.cancelarLabel ?? \"Cancelar\"}\r\n onClick={() => {\r\n if (props.onCancel) {\r\n props.onCancel();\r\n } else {\r\n props.onVisible(false);\r\n }\r\n }}/>}\r\n </Box>\r\n </Box>\r\n </Modal>\r\n );\r\n}","import React from \"react\";\r\nimport { ModalMessage } from \"./core/modal\";\r\nimport { MessageModeProps, MessageProps } from \"./types\";\r\n\r\n/**\r\n * Componente - `Message`\r\n *\r\n * Um componente versátil que é utilizado emitir messagens no sistema.\r\n */\r\nexport function Message<T extends MessageModeProps = \"modal\">(props: MessageProps<T> & { type?: T }) {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <>\r\n {!props.type || props.type === \"modal\"\r\n ? <ModalMessage {...props}/>\r\n : null}\r\n </>\r\n );\r\n}\r\n\r\nMessage.displayName = \"Message\";"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","modalCore","title","icon","iconPrefix","header","appendTo","visible","onHide","onVisible","modal","background","dismissableMask","backdrop","maximizable","draggable","closable","baseZIndex","zIndex","position","footer","showHeader","Modal","sizes","maximized","setMaximized","useState","Dialog","width","breakpoints","onMaximize","Button","ButtonPrimeReact","badge","badgeClassName","disabled","label","iconPos","link","isLink","loading","isLoading","pt","loadingIcon","ref","severity","color","type","onClick","ModalMessage","confirm","cancel","modalIcon","modalIconPrefix","dangerouslySetInnerHTML","__html","message","modalOptionsPosition","confirmLabel","onConfirm","cancelarLabel","onCancel","Message","Fragment","displayName"],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "./index.cjs.js",
3
+ "module": "./index.esm.js",
4
+ "types": "./index.d.ts"
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react"),i=require("primereact/dialog");function a(i){const a=void 0!==i.icon?e.createElement("h5",{className:"fw-semibold"},e.createElement("i",{className:"me-1 "+(i.iconPrefix??"bi bi-")+i.icon}),i.header):i.header;return{appendTo:"self",visible:i.visible,onHide(){i.onVisible(!i.visible)},modal:void 0===i.background||i.background,dismissableMask:void 0===i.backdrop||!i.backdrop,maximizable:i.maximizable,draggable:i.draggable,closable:void 0===i.closable||i.closable,baseZIndex:i.zIndex??1e3,position:i.position,header:a,footer:i.footer,showHeader:!(!1===i.header)}}exports.Modal=function(s){let o=s.sizes?"small"===s.sizes?"300px":"medium"===s.sizes?"500px":"large"===s.sizes?"800px":"80%":void 0;const[l,r]=e.useState(s.maximized??!1);return e.createElement(i.Dialog,{style:l?{}:{width:o},...a(s),breakpoints:{"768px":"80%","576px":"90%"},className:s.className,maximized:l,onMaximize:()=>r(!l)},s.children)};
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/modal/core/core.tsx","../../src/modal/modal.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { ModalProps } from \"../types\";\r\nimport { DialogProps } from \"primereact/dialog\";\r\n\r\n/**\r\n * `Core`\r\n * Define as propriedades base para funcionamento da Modal\r\n */\r\nexport function modalCore(\r\n props: ModalProps\r\n): DialogProps {\r\n const title = props.icon !== undefined\r\n ? <h5 className=\"fw-semibold\">\r\n <i className={\"me-1 \" + (props.iconPrefix ?? \"bi bi-\") + props.icon}/>{props.header}</h5>\r\n : props.header;\r\n\r\n return {\r\n appendTo: \"self\",\r\n visible: props.visible,\r\n onHide() {\r\n props.onVisible(!props.visible);\r\n },\r\n modal: props.background === undefined || props.background,\r\n dismissableMask: props.backdrop === undefined || !props.backdrop,\r\n\r\n maximizable: props.maximizable,\r\n draggable: props.draggable,\r\n closable: props.closable === undefined || props.closable,\r\n baseZIndex: props.zIndex ?? 1000,\r\n\r\n position: props.position,\r\n header: title,\r\n footer: props.footer,\r\n showHeader: !(props.header === false),\r\n };\r\n}","import React, { useState } from \"react\";\r\nimport { ModalProps } from \"./types\";\r\nimport { modalCore } from \"./core/core\";\r\nimport { Dialog } from \"primereact/dialog\";\r\n\r\n/**\r\n * Componente - `Modal`\r\n *\r\n * Um componente versátil que é utilizado exibir dados em forma de janela suspensa.\r\n */\r\nexport function Modal(props: ModalProps) {\r\n let sizes = !props.sizes ? undefined\r\n : props.sizes === \"small\" ? \"300px\"\r\n : props.sizes === \"medium\" ? \"500px\"\r\n : props.sizes === \"large\" ? \"800px\" : \"80%\";\r\n const [maximized, setMaximized] = useState(props.maximized ?? false);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Dialog style={!maximized ? { width: sizes } : {}}\r\n {...modalCore(props)}\r\n breakpoints={{\r\n \"768px\": \"80%\",\r\n \"576px\": \"90%\",\r\n }}\r\n className={props.className}\r\n maximized={maximized}\r\n onMaximize={() => setMaximized(!maximized)}>\r\n {props.children}\r\n </Dialog>\r\n );\r\n}"],"names":["modalCore","props","title","undefined","icon","React","createElement","className","iconPrefix","header","appendTo","visible","onHide","onVisible","modal","background","dismissableMask","backdrop","maximizable","draggable","closable","baseZIndex","zIndex","position","footer","showHeader","sizes","maximized","setMaximized","useState","Dialog","style","width","breakpoints","onMaximize","children"],"mappings":"mEAQM,SAAUA,EACZC,GAEA,MAAMC,OAAuBC,IAAfF,EAAMG,KACdC,EAAAC,cAAA,KAAA,CAAIC,UAAU,eACZF,EAAAC,cAAA,IAAA,CAAGC,UAAW,SAAWN,EAAMO,YAAc,UAAYP,EAAMG,OAAQH,EAAMQ,QAC/ER,EAAMQ,OAEZ,MAAO,CACHC,SAAU,OACVC,QAASV,EAAMU,QACf,MAAAC,GACIX,EAAMY,WAAWZ,EAAMU,QAC1B,EACDG,WAA4BX,IAArBF,EAAMc,YAA4Bd,EAAMc,WAC/CC,qBAAoCb,IAAnBF,EAAMgB,WAA2BhB,EAAMgB,SAExDC,YAAajB,EAAMiB,YACnBC,UAAWlB,EAAMkB,UACjBC,cAA6BjB,IAAnBF,EAAMmB,UAA0BnB,EAAMmB,SAChDC,WAAYpB,EAAMqB,QAAU,IAE5BC,SAAUtB,EAAMsB,SAChBd,OAAQP,EACRsB,OAAQvB,EAAMuB,OACdC,cAA+B,IAAjBxB,EAAMQ,QAE5B,eCzBM,SAAgBR,GAClB,IAAIyB,EAASzB,EAAMyB,MACG,UAAhBzB,EAAMyB,MAAoB,QACN,WAAhBzB,EAAMyB,MAAqB,QACP,UAAhBzB,EAAMyB,MAAoB,QAAU,WAHvBvB,EAI3B,MAAOwB,EAAWC,GAAgBC,EAAQA,SAAC5B,EAAM0B,YAAa,GAO9D,OACItB,EAACC,cAAAwB,EAAAA,OAAO,CAAAC,MAAQJ,EAA+B,CAAA,EAAnB,CAAEK,MAAON,MACzB1B,EAAUC,GACdgC,YAAa,CACT,QAAS,MACT,QAAS,OAEb1B,UAAWN,EAAMM,UACjBoB,UAAWA,EACXO,WAAY,IAAMN,GAAcD,IACnC1B,EAAMkC,SAGnB"}
@@ -0,0 +1,73 @@
1
+ import React from 'react';
2
+ import { DialogProps } from 'primereact/dialog';
3
+
4
+ interface ModalProps extends Pick<DialogProps, "maximizable" | "maximized" | "draggable" | "closable" | "position"> {
5
+ /**
6
+ * Conteúdo que será exibido dentro da modal
7
+ */
8
+ children: React.ReactNode;
9
+
10
+ /**
11
+ * Define a classe de personalização da modal
12
+ */
13
+ className?: string
14
+
15
+ /**
16
+ * Define o state da modal aberta ou fechada
17
+ */
18
+ visible: boolean;
19
+
20
+ /**
21
+ * Define se vai ser exibido o fundo da modal
22
+ */
23
+ background?: boolean;
24
+
25
+ /**
26
+ * Define se a modal vai ser fechada clicando no fundo
27
+ */
28
+ backdrop?: boolean
29
+
30
+ /**
31
+ * Define o cabeçalho da modal
32
+ */
33
+ header?: React.ReactNode | string | false;
34
+
35
+ /**
36
+ * Define o rodapé da modal
37
+ */
38
+ footer?: React.ReactNode | string;
39
+
40
+ /**
41
+ * Define o tamanho da modal
42
+ */
43
+ sizes?: "small" | "medium" | "large" | "extra-large";
44
+
45
+ /**
46
+ * Define o icone do campo
47
+ */
48
+ icon?: string
49
+
50
+ /**
51
+ * Define o prefixo dos icones do pacote
52
+ */
53
+ iconPrefix?: "bi bi-" | "pi pi-"
54
+
55
+ /**
56
+ * Define a propriedade css `zindex` da modal
57
+ */
58
+ zIndex?: number;
59
+
60
+ /**
61
+ * Metodo responsável por atualizar state do modal
62
+ */
63
+ onVisible(value: boolean): void;
64
+ }
65
+
66
+ /**
67
+ * Componente - `Modal`
68
+ *
69
+ * Um componente versátil que é utilizado exibir dados em forma de janela suspensa.
70
+ */
71
+ declare function Modal(props: ModalProps): React.JSX.Element;
72
+
73
+ export { Modal };
@@ -0,0 +1,2 @@
1
+ import e,{useState as i}from"react";import{Dialog as a}from"primereact/dialog";function o(i){const a=void 0!==i.icon?e.createElement("h5",{className:"fw-semibold"},e.createElement("i",{className:"me-1 "+(i.iconPrefix??"bi bi-")+i.icon}),i.header):i.header;return{appendTo:"self",visible:i.visible,onHide(){i.onVisible(!i.visible)},modal:void 0===i.background||i.background,dismissableMask:void 0===i.backdrop||!i.backdrop,maximizable:i.maximizable,draggable:i.draggable,closable:void 0===i.closable||i.closable,baseZIndex:i.zIndex??1e3,position:i.position,header:a,footer:i.footer,showHeader:!(!1===i.header)}}function s(s){let l=s.sizes?"small"===s.sizes?"300px":"medium"===s.sizes?"500px":"large"===s.sizes?"800px":"80%":void 0;const[r,d]=i(s.maximized??!1);return e.createElement(a,{style:r?{}:{width:l},...o(s),breakpoints:{"768px":"80%","576px":"90%"},className:s.className,maximized:r,onMaximize:()=>d(!r)},s.children)}export{s as Modal};
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../../src/modal/core/core.tsx","../../src/modal/modal.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { ModalProps } from \"../types\";\r\nimport { DialogProps } from \"primereact/dialog\";\r\n\r\n/**\r\n * `Core`\r\n * Define as propriedades base para funcionamento da Modal\r\n */\r\nexport function modalCore(\r\n props: ModalProps\r\n): DialogProps {\r\n const title = props.icon !== undefined\r\n ? <h5 className=\"fw-semibold\">\r\n <i className={\"me-1 \" + (props.iconPrefix ?? \"bi bi-\") + props.icon}/>{props.header}</h5>\r\n : props.header;\r\n\r\n return {\r\n appendTo: \"self\",\r\n visible: props.visible,\r\n onHide() {\r\n props.onVisible(!props.visible);\r\n },\r\n modal: props.background === undefined || props.background,\r\n dismissableMask: props.backdrop === undefined || !props.backdrop,\r\n\r\n maximizable: props.maximizable,\r\n draggable: props.draggable,\r\n closable: props.closable === undefined || props.closable,\r\n baseZIndex: props.zIndex ?? 1000,\r\n\r\n position: props.position,\r\n header: title,\r\n footer: props.footer,\r\n showHeader: !(props.header === false),\r\n };\r\n}","import React, { useState } from \"react\";\r\nimport { ModalProps } from \"./types\";\r\nimport { modalCore } from \"./core/core\";\r\nimport { Dialog } from \"primereact/dialog\";\r\n\r\n/**\r\n * Componente - `Modal`\r\n *\r\n * Um componente versátil que é utilizado exibir dados em forma de janela suspensa.\r\n */\r\nexport function Modal(props: ModalProps) {\r\n let sizes = !props.sizes ? undefined\r\n : props.sizes === \"small\" ? \"300px\"\r\n : props.sizes === \"medium\" ? \"500px\"\r\n : props.sizes === \"large\" ? \"800px\" : \"80%\";\r\n const [maximized, setMaximized] = useState(props.maximized ?? false);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Dialog style={!maximized ? { width: sizes } : {}}\r\n {...modalCore(props)}\r\n breakpoints={{\r\n \"768px\": \"80%\",\r\n \"576px\": \"90%\",\r\n }}\r\n className={props.className}\r\n maximized={maximized}\r\n onMaximize={() => setMaximized(!maximized)}>\r\n {props.children}\r\n </Dialog>\r\n );\r\n}"],"names":["modalCore","props","title","undefined","icon","React","createElement","className","iconPrefix","header","appendTo","visible","onHide","onVisible","modal","background","dismissableMask","backdrop","maximizable","draggable","closable","baseZIndex","zIndex","position","footer","showHeader","Modal","sizes","maximized","setMaximized","useState","Dialog","style","width","breakpoints","onMaximize","children"],"mappings":"+EAQM,SAAUA,EACZC,GAEA,MAAMC,OAAuBC,IAAfF,EAAMG,KACdC,EAAAC,cAAA,KAAA,CAAIC,UAAU,eACZF,EAAAC,cAAA,IAAA,CAAGC,UAAW,SAAWN,EAAMO,YAAc,UAAYP,EAAMG,OAAQH,EAAMQ,QAC/ER,EAAMQ,OAEZ,MAAO,CACHC,SAAU,OACVC,QAASV,EAAMU,QACf,MAAAC,GACIX,EAAMY,WAAWZ,EAAMU,QAC1B,EACDG,WAA4BX,IAArBF,EAAMc,YAA4Bd,EAAMc,WAC/CC,qBAAoCb,IAAnBF,EAAMgB,WAA2BhB,EAAMgB,SAExDC,YAAajB,EAAMiB,YACnBC,UAAWlB,EAAMkB,UACjBC,cAA6BjB,IAAnBF,EAAMmB,UAA0BnB,EAAMmB,SAChDC,WAAYpB,EAAMqB,QAAU,IAE5BC,SAAUtB,EAAMsB,SAChBd,OAAQP,EACRsB,OAAQvB,EAAMuB,OACdC,cAA+B,IAAjBxB,EAAMQ,QAE5B,CCzBM,SAAUiB,EAAMzB,GAClB,IAAI0B,EAAS1B,EAAM0B,MACG,UAAhB1B,EAAM0B,MAAoB,QACN,WAAhB1B,EAAM0B,MAAqB,QACP,UAAhB1B,EAAM0B,MAAoB,QAAU,WAHvBxB,EAI3B,MAAOyB,EAAWC,GAAgBC,EAAS7B,EAAM2B,YAAa,GAO9D,OACIvB,EAACC,cAAAyB,EAAO,CAAAC,MAAQJ,EAA+B,CAAA,EAAnB,CAAEK,MAAON,MACzB3B,EAAUC,GACdiC,YAAa,CACT,QAAS,MACT,QAAS,OAEb3B,UAAWN,EAAMM,UACjBqB,UAAWA,EACXO,WAAY,IAAMN,GAAcD,IACnC3B,EAAMmC,SAGnB"}
@@ -0,0 +1,5 @@
1
+ {
2
+ "main": "./index.cjs.js",
3
+ "module": "./index.esm.js",
4
+ "types": "./index.d.ts"
5
+ }
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@orangesix/react",
3
- "version": "1.1.1",
3
+ "version": "1.3.1",
4
4
  "private": false,
5
5
  "author": "Luiz Fernando Bernardes de Paula",
6
- "description": "Biblioteca de components React UI pronto para uso.",
6
+ "description": "Biblioteca de components React UI.",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "https://github.com/Nandovga/orangesix-react.git"
@@ -13,25 +13,29 @@
13
13
  "url": "https://github.com/Nandovga/orangesix-react/issues"
14
14
  },
15
15
  "dependencies": {
16
- "@tiptap/extension-color": "^2.11.5",
17
- "@tiptap/extension-highlight": "^2.11.5",
18
- "@tiptap/extension-image": "^2.11.5",
19
- "@tiptap/extension-link": "^2.11.5",
20
- "@tiptap/extension-text-style": "^2.11.5",
21
- "@tiptap/extension-underline": "^2.11.5",
22
- "@tiptap/pm": "^2.11.5",
23
- "@tiptap/react": "^2.11.5",
24
- "@tiptap/starter-kit": "^2.11.5",
25
- "@webdatarocks/react-webdatarocks": "^1.4.15",
26
- "axios": "^1.7.9",
27
- "bootstrap": "^5.3.3",
28
- "bootstrap-icons": "^1.11.3",
16
+ "@tiptap/extension-color": "^2.12.0",
17
+ "@tiptap/extension-highlight": "^2.12.0",
18
+ "@tiptap/extension-image": "^2.12.0",
19
+ "@tiptap/extension-link": "^2.12.0",
20
+ "@tiptap/extension-text-style": "^2.12.0",
21
+ "@tiptap/extension-underline": "^2.12.0",
22
+ "@tiptap/pm": "^2.12.0",
23
+ "@tiptap/react": "^2.12.0",
24
+ "@tiptap/starter-kit": "^2.12.0",
25
+ "@webdatarocks/react-webdatarocks": "^1.4.18",
26
+ "animate.css": "^4.1.1",
27
+ "axios": "^1.9.0",
28
+ "bootstrap": "^5.3.6",
29
+ "bootstrap-icons": "^1.12.1",
29
30
  "jquery": "^3.7.1",
30
31
  "node-snackbar": "^0.1.16",
31
32
  "primeicons": "^7.0.0",
32
- "primereact": "^10.9.2",
33
- "react": "^19.0.0",
34
- "react-dom": "^19.0.0",
35
- "sweetalert2": "^11.15.10"
33
+ "primereact": "^10.9.5",
34
+ "react": "^19.1.0",
35
+ "react-dom": "^19.1.0",
36
+ "react-hook-form": "^7.56.3",
37
+ "sweetalert2": "^11.21.0",
38
+ "sweetalert2-react-content": "^5.1.0",
39
+ "tippy.js": "^6.3.7"
36
40
  }
37
41
  }
@@ -0,0 +1,2 @@
1
+ "use strict";var e=require("react"),t=require("primereact/utils"),a=require("primereact/checkbox"),i=require("primereact/picklist");const r=({children:a,...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},s={className:t.classNames(["box",i.className??"",r.size,r.direction,r.justify,r.align]),style:i.css,id:i.id};return e.createElement("div",{...s},a)};function s(t){return e.createElement("div",{className:"w-100 d-flex px-2 align-items-center"},e.createElement(a.Checkbox,{checked:t.selected??!1,className:"me-2",defaultChecked:t.selected}),e.createElement("p",{className:"m-0"},t.label))}function c(e){return{dataKey:e.dataKey??"id",showSourceControls:!1,showTargetControls:!1,sourceHeader:e.sourceHeader,targetHeader:e.targetHeader,itemTemplate:s,filter:e.filter??void 0,filterBy:e.filter?e.filterBy??"label":void 0,sourceFilterPlaceholder:"Pesquisa pelo nome",targetFilterPlaceholder:"Pesquisa pelo nome"}}exports.PickList=function(t){const[a,s]=e.useState([]),[l,o]=e.useState([]);return e.useEffect((()=>{s(t.data.filter((e=>void 0===e.active||!e.active))),o(t.data.filter((e=>e.active)))}),[t.data]),e.createElement(r,{className:t.className,css:t.css,size:t.size??"100"},e.createElement(i.PickList,{className:"w-100",source:a,target:l,onChange:e=>{let a=e.target.map((e=>(delete e.selected,{...e,active:!0}))),i=e.source.map((e=>(delete e.selected,{...e,active:!1})));o(a),s(i),t.onChange([...i,...a])},onSourceSelectionChange:e=>s(a.map((t=>({...t,selected:e.value?.some((e=>e.id===t.id))})))),onTargetSelectionChange:e=>o(l.map((t=>({...t,selected:e.value?.some((e=>e.id===t.id))})))),...c(t)}))};
2
+ //# sourceMappingURL=index.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/box/box.tsx","../../src/picklist/core/core.tsx","../../src/picklist/picklist.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 { Checkbox } from \"primereact/checkbox\";\r\nimport { PickListDataProps, PickListProps } from \"../types\";\r\nimport { PickListProps as PickListPrimeProps } from \"primereact/picklist\";\r\n\r\n/**\r\n * `Template`\r\n * Define o template padrão dos item do PickList\r\n */\r\nfunction pickListItemTemplate(\r\n item: PickListDataProps & { selected?: boolean }\r\n) {\r\n return (\r\n <div className=\"w-100 d-flex px-2 align-items-center\">\r\n <Checkbox checked={item.selected ?? false}\r\n className=\"me-2\"\r\n defaultChecked={item.selected}/>\r\n <p className=\"m-0\">{item.label}</p>\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * `Core`\r\n * Define as propriedades base para funcionamento do picklist\r\n */\r\nexport function pickListCore(\r\n props: PickListProps\r\n): PickListPrimeProps {\r\n return {\r\n dataKey: props.dataKey ?? \"id\",\r\n showSourceControls: false,\r\n showTargetControls: false,\r\n sourceHeader: props.sourceHeader,\r\n targetHeader: props.targetHeader,\r\n itemTemplate: pickListItemTemplate,\r\n\r\n filter: props.filter ?? undefined,\r\n filterBy: props.filter ? (props.filterBy ?? \"label\") : undefined,\r\n sourceFilterPlaceholder: \"Pesquisa pelo nome\",\r\n targetFilterPlaceholder: \"Pesquisa pelo nome\",\r\n };\r\n}","import { Box } from \"../box\";\r\nimport { PickListProps } from \"./types\";\r\nimport { pickListCore } from \"./core/core\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { PickList as PickListPrime } from \"primereact/picklist\";\r\n\r\n/**\r\n * Componente - `PickList`\r\n *\r\n * Um componente versátil que é utilizado para reordenar itens entre listas diferentes.\r\n */\r\nexport function PickList(props: PickListProps) {\r\n const [source, setSource] = useState<any>([]);\r\n const [target, setTarget] = useState<any>([]);\r\n\r\n useEffect(() => {\r\n setSource(props.data.filter(item => item.active === undefined || !item.active));\r\n setTarget(props.data.filter(item => item.active));\r\n }, [props.data]);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Box className={props.className}\r\n css={props.css}\r\n size={props.size ?? \"100\"}>\r\n <PickListPrime className=\"w-100\"\r\n source={source}\r\n target={target}\r\n onChange={event => {\r\n let target = event.target.map((item: any) => {\r\n delete item.selected;\r\n return { ...item, active: true };\r\n });\r\n let source = event.source.map((item: any) => {\r\n delete item.selected;\r\n return { ...item, active: false };\r\n });\r\n setTarget(target);\r\n setSource(source);\r\n props.onChange([...source, ...target]);\r\n }}\r\n onSourceSelectionChange={event => setSource(source.map((item: any) => {\r\n return { ...item, selected: event.value?.some((obj: any) => obj.id === item.id) };\r\n }))}\r\n onTargetSelectionChange={event => setTarget(target.map((item: any) => {\r\n return { ...item, selected: event.value?.some((obj: any) => obj.id === item.id) };\r\n }))}\r\n {...pickListCore(props)}/>\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","pickListItemTemplate","item","Checkbox","checked","selected","defaultChecked","label","pickListCore","dataKey","showSourceControls","showTargetControls","sourceHeader","targetHeader","itemTemplate","filter","filterBy","sourceFilterPlaceholder","targetFilterPlaceholder","source","setSource","useState","target","setTarget","useEffect","data","active","PickListPrime","onChange","event","map","onSourceSelectionChange","value","some","obj","onTargetSelectionChange"],"mappings":"oIAmBO,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,EChC9C,SAASkB,EACLC,GAEA,OACIH,EAAAC,cAAA,MAAA,CAAKL,UAAU,wCACXI,EAAAC,cAACG,EAAAA,SAAS,CAAAC,QAASF,EAAKG,WAAY,EAC1BV,UAAU,OACVW,eAAgBJ,EAAKG,WAC/BN,EAAGC,cAAA,IAAA,CAAAL,UAAU,OAAOO,EAAKK,OAGrC,CAMM,SAAUC,EACZxB,GAEA,MAAO,CACHyB,QAASzB,EAAMyB,SAAW,KAC1BC,oBAAoB,EACpBC,oBAAoB,EACpBC,aAAc5B,EAAM4B,aACpBC,aAAc7B,EAAM6B,aACpBC,aAAcb,EAEdc,OAAQ/B,EAAM+B,aAAU1B,EACxB2B,SAAUhC,EAAM+B,OAAU/B,EAAMgC,UAAY,aAAW3B,EACvD4B,wBAAyB,qBACzBC,wBAAyB,qBAEjC,kBC/BM,SAAmBlC,GACrB,MAAOmC,EAAQC,GAAaC,EAAAA,SAAc,KACnCC,EAAQC,GAAaF,EAAAA,SAAc,IAY1C,OAVAG,EAAAA,WAAU,KACNJ,EAAUpC,EAAMyC,KAAKV,QAAOb,QAAwBb,IAAhBa,EAAKwB,SAAyBxB,EAAKwB,UACvEH,EAAUvC,EAAMyC,KAAKV,QAAOb,GAAQA,EAAKwB,SAAQ,GAClD,CAAC1C,EAAMyC,OAQN1B,gBAACjB,EAAG,CAACa,UAAWX,EAAMW,UACjBV,IAAKD,EAAMC,IACXC,KAAMF,EAAME,MAAQ,OACrBa,EAAAC,cAAC2B,WAAc,CAAAhC,UAAU,QACVwB,OAAQA,EACRG,OAAQA,EACRM,SAAUC,IACN,IAAIP,EAASO,EAAMP,OAAOQ,KAAK5B,WACpBA,EAAKG,SACL,IAAKH,EAAMwB,QAAQ,MAE1BP,EAASU,EAAMV,OAAOW,KAAK5B,WACpBA,EAAKG,SACL,IAAKH,EAAMwB,QAAQ,MAE9BH,EAAUD,GACVF,EAAUD,GACVnC,EAAM4C,SAAS,IAAIT,KAAWG,GAAQ,EAE1CS,wBAAyBF,GAAST,EAAUD,EAAOW,KAAK5B,IAC7C,IAAKA,EAAMG,SAAUwB,EAAMG,OAAOC,MAAMC,GAAaA,EAAIpC,KAAOI,EAAKJ,UAEhFqC,wBAAyBN,GAASN,EAAUD,EAAOQ,KAAK5B,IAC7C,IAAKA,EAAMG,SAAUwB,EAAMG,OAAOC,MAAMC,GAAaA,EAAIpC,KAAOI,EAAKJ,aAE5EU,EAAaxB,KAG5C"}