@snksergio/design-system 0.5.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (819) hide show
  1. package/README.md +345 -293
  2. package/dist-lib/chunks/{app-shell-BdVam01i.cjs → app-shell-CPx9X7zP.cjs} +417 -307
  3. package/dist-lib/chunks/app-shell-CPx9X7zP.cjs.map +1 -0
  4. package/dist-lib/chunks/{app-shell-C_enrPD8.mjs → app-shell-Cy9be0Zx.mjs} +449 -340
  5. package/dist-lib/chunks/app-shell-Cy9be0Zx.mjs.map +1 -0
  6. package/dist-lib/chunks/app-shell-mocks-kWIVSzLs.mjs.map +1 -1
  7. package/dist-lib/chunks/app-shell-mocks-oO_IV3Gw.cjs.map +1 -1
  8. package/dist-lib/chunks/{badge-B0D_PRxn.mjs → badge-DBdk74KN.mjs} +89 -46
  9. package/dist-lib/chunks/badge-DBdk74KN.mjs.map +1 -0
  10. package/dist-lib/chunks/{badge-CUttkO1X.cjs → badge-gU2wtxrn.cjs} +88 -45
  11. package/dist-lib/chunks/badge-gU2wtxrn.cjs.map +1 -0
  12. package/dist-lib/chunks/chat-v2-mocks-BV9Wha_Z.cjs.map +1 -1
  13. package/dist-lib/chunks/chat-v2-mocks-DvZRkhmz.mjs.map +1 -1
  14. package/dist-lib/chunks/chip-group-2-f_Yo7Y.cjs.map +1 -1
  15. package/dist-lib/chunks/chip-group-_e-yh1Zq.mjs.map +1 -1
  16. package/dist-lib/chunks/{clientes-showcase-mocks-CPNOhx1G.cjs → clientes-showcase-mocks-DygUqkkh.cjs} +2 -2
  17. package/dist-lib/chunks/clientes-showcase-mocks-DygUqkkh.cjs.map +1 -0
  18. package/dist-lib/chunks/{clientes-showcase-mocks-DEHCKxMK.mjs → clientes-showcase-mocks-ayU1SDOA.mjs} +2 -2
  19. package/dist-lib/chunks/clientes-showcase-mocks-ayU1SDOA.mjs.map +1 -0
  20. package/dist-lib/chunks/{page-header-qOywgRWy.cjs → page-header-BZ-WrxV2.cjs} +4 -2
  21. package/dist-lib/chunks/page-header-BZ-WrxV2.cjs.map +1 -0
  22. package/dist-lib/chunks/{page-header-DM2G1mdi.mjs → page-header-CQbTGWQ8.mjs} +4 -2
  23. package/dist-lib/chunks/page-header-CQbTGWQ8.mjs.map +1 -0
  24. package/dist-lib/chunks/{panel-CCYNbXJR.mjs → panel-DZvENJfF.mjs} +6663 -4978
  25. package/dist-lib/chunks/panel-DZvENJfF.mjs.map +1 -0
  26. package/dist-lib/chunks/{panel-CSuFQHMl.cjs → panel-awQFDYLz.cjs} +6644 -4960
  27. package/dist-lib/chunks/panel-awQFDYLz.cjs.map +1 -0
  28. package/dist-lib/chunks/useTheme-BUPLZBMs.mjs.map +1 -1
  29. package/dist-lib/chunks/useTheme-Dee4mo-A.cjs.map +1 -1
  30. package/dist-lib/index.cjs +3592 -626
  31. package/dist-lib/index.cjs.map +1 -1
  32. package/dist-lib/index.mjs +3667 -717
  33. package/dist-lib/index.mjs.map +1 -1
  34. package/dist-lib/preview/chat.cjs +1 -1
  35. package/dist-lib/preview/chat.cjs.map +1 -1
  36. package/dist-lib/preview/chat.mjs +1 -1
  37. package/dist-lib/preview/chat.mjs.map +1 -1
  38. package/dist-lib/preview/clientes.cjs +10 -9
  39. package/dist-lib/preview/clientes.cjs.map +1 -1
  40. package/dist-lib/preview/clientes.mjs +10 -9
  41. package/dist-lib/preview/clientes.mjs.map +1 -1
  42. package/dist-lib/preview/dashboard.cjs +4 -4
  43. package/dist-lib/preview/dashboard.cjs.map +1 -1
  44. package/dist-lib/preview/dashboard.mjs +4 -4
  45. package/dist-lib/preview/dashboard.mjs.map +1 -1
  46. package/dist-lib/preview/mocks.cjs +1 -1
  47. package/dist-lib/preview/mocks.mjs +1 -1
  48. package/dist-lib/src/components/index.d.ts +46 -0
  49. package/dist-lib/src/components/index.d.ts.map +1 -0
  50. package/dist-lib/src/components/shadcn/accordion.d.ts +8 -0
  51. package/dist-lib/src/components/shadcn/accordion.d.ts.map +1 -0
  52. package/dist-lib/src/components/shadcn/alert-dialog.d.ts +34 -0
  53. package/dist-lib/src/components/shadcn/alert-dialog.d.ts.map +1 -0
  54. package/dist-lib/src/components/shadcn/alert.d.ts +9 -0
  55. package/dist-lib/src/components/shadcn/alert.d.ts.map +1 -0
  56. package/dist-lib/src/components/shadcn/aspect-ratio.d.ts +4 -0
  57. package/dist-lib/src/components/shadcn/aspect-ratio.d.ts.map +1 -0
  58. package/dist-lib/src/components/shadcn/avatar.d.ts +15 -0
  59. package/dist-lib/src/components/shadcn/avatar.d.ts.map +1 -0
  60. package/dist-lib/src/components/shadcn/badge.d.ts +96 -0
  61. package/dist-lib/src/components/shadcn/badge.d.ts.map +1 -0
  62. package/dist-lib/src/components/shadcn/breadcrumb.d.ts +20 -0
  63. package/dist-lib/src/components/shadcn/breadcrumb.d.ts.map +1 -0
  64. package/dist-lib/src/components/shadcn/calendar.d.ts +6 -0
  65. package/dist-lib/src/components/shadcn/calendar.d.ts.map +1 -0
  66. package/dist-lib/src/components/shadcn/card.d.ts +9 -0
  67. package/dist-lib/src/components/shadcn/card.d.ts.map +1 -0
  68. package/dist-lib/src/components/shadcn/carousel.d.ts +19 -0
  69. package/dist-lib/src/components/shadcn/carousel.d.ts.map +1 -0
  70. package/dist-lib/src/components/shadcn/checkbox.d.ts +16 -0
  71. package/dist-lib/src/components/shadcn/checkbox.d.ts.map +1 -0
  72. package/dist-lib/src/components/shadcn/collapsible.d.ts +6 -0
  73. package/dist-lib/src/components/shadcn/collapsible.d.ts.map +1 -0
  74. package/dist-lib/src/components/shadcn/command.d.ts +93 -0
  75. package/dist-lib/src/components/shadcn/command.d.ts.map +1 -0
  76. package/dist-lib/src/components/shadcn/context-menu.d.ts +28 -0
  77. package/dist-lib/src/components/shadcn/context-menu.d.ts.map +1 -0
  78. package/dist-lib/src/components/shadcn/dialog.d.ts +23 -0
  79. package/dist-lib/src/components/shadcn/dialog.d.ts.map +1 -0
  80. package/dist-lib/src/components/shadcn/drawer.d.ts +23 -0
  81. package/dist-lib/src/components/shadcn/drawer.d.ts.map +1 -0
  82. package/dist-lib/src/components/shadcn/dropdown-menu.d.ts +62 -0
  83. package/dist-lib/src/components/shadcn/dropdown-menu.d.ts.map +1 -0
  84. package/dist-lib/src/components/shadcn/hover-card.d.ts +8 -0
  85. package/dist-lib/src/components/shadcn/hover-card.d.ts.map +1 -0
  86. package/dist-lib/src/components/shadcn/index.d.ts +7 -0
  87. package/dist-lib/src/components/shadcn/index.d.ts.map +1 -0
  88. package/dist-lib/src/components/shadcn/input-group.d.ts +54 -0
  89. package/dist-lib/src/components/shadcn/input-group.d.ts.map +1 -0
  90. package/dist-lib/src/components/shadcn/input-otp.d.ts +40 -0
  91. package/dist-lib/src/components/shadcn/input-otp.d.ts.map +1 -0
  92. package/dist-lib/src/components/shadcn/input.d.ts +26 -0
  93. package/dist-lib/src/components/shadcn/input.d.ts.map +1 -0
  94. package/dist-lib/src/components/shadcn/label.d.ts +6 -0
  95. package/dist-lib/src/components/shadcn/label.d.ts.map +1 -0
  96. package/dist-lib/src/components/shadcn/menubar.d.ts +29 -0
  97. package/dist-lib/src/components/shadcn/menubar.d.ts.map +1 -0
  98. package/dist-lib/src/components/shadcn/navigation-menu.d.ts +13 -0
  99. package/dist-lib/src/components/shadcn/navigation-menu.d.ts.map +1 -0
  100. package/dist-lib/src/components/shadcn/pagination.d.ts +53 -0
  101. package/dist-lib/src/components/shadcn/pagination.d.ts.map +1 -0
  102. package/dist-lib/src/components/shadcn/popover.d.ts +35 -0
  103. package/dist-lib/src/components/shadcn/popover.d.ts.map +1 -0
  104. package/dist-lib/src/components/shadcn/progress.d.ts +12 -0
  105. package/dist-lib/src/components/shadcn/progress.d.ts.map +1 -0
  106. package/dist-lib/src/components/shadcn/radio-group.d.ts +16 -0
  107. package/dist-lib/src/components/shadcn/radio-group.d.ts.map +1 -0
  108. package/dist-lib/src/components/shadcn/scroll-area.d.ts +11 -0
  109. package/dist-lib/src/components/shadcn/scroll-area.d.ts.map +1 -0
  110. package/dist-lib/src/components/shadcn/select.d.ts +17 -0
  111. package/dist-lib/src/components/shadcn/select.d.ts.map +1 -0
  112. package/dist-lib/src/components/shadcn/separator.d.ts +5 -0
  113. package/dist-lib/src/components/shadcn/separator.d.ts.map +1 -0
  114. package/dist-lib/src/components/shadcn/sheet.d.ts +28 -0
  115. package/dist-lib/src/components/shadcn/sheet.d.ts.map +1 -0
  116. package/dist-lib/src/components/shadcn/skeleton.d.ts +9 -0
  117. package/dist-lib/src/components/shadcn/skeleton.d.ts.map +1 -0
  118. package/dist-lib/src/components/shadcn/slider.d.ts +5 -0
  119. package/dist-lib/src/components/shadcn/slider.d.ts.map +1 -0
  120. package/dist-lib/src/components/shadcn/sonner.d.ts +15 -0
  121. package/dist-lib/src/components/shadcn/sonner.d.ts.map +1 -0
  122. package/dist-lib/src/components/shadcn/switch.d.ts +16 -0
  123. package/dist-lib/src/components/shadcn/switch.d.ts.map +1 -0
  124. package/dist-lib/src/components/shadcn/tabs.d.ts +16 -0
  125. package/dist-lib/src/components/shadcn/tabs.d.ts.map +1 -0
  126. package/dist-lib/src/components/shadcn/textarea.d.ts +22 -0
  127. package/dist-lib/src/components/shadcn/textarea.d.ts.map +1 -0
  128. package/dist-lib/src/components/shadcn/toggle-group.d.ts +13 -0
  129. package/dist-lib/src/components/shadcn/toggle-group.d.ts.map +1 -0
  130. package/dist-lib/src/components/shadcn/toggle.d.ts +13 -0
  131. package/dist-lib/src/components/shadcn/toggle.d.ts.map +1 -0
  132. package/dist-lib/src/components/shadcn/tooltip.d.ts +14 -0
  133. package/dist-lib/src/components/shadcn/tooltip.d.ts.map +1 -0
  134. package/dist-lib/src/components/ui/AlertModal/alert-modal.d.ts +3 -0
  135. package/dist-lib/src/components/ui/AlertModal/alert-modal.d.ts.map +1 -0
  136. package/dist-lib/src/components/ui/AlertModal/alert-modal.styles.d.ts +30 -0
  137. package/dist-lib/src/components/ui/AlertModal/alert-modal.styles.d.ts.map +1 -0
  138. package/dist-lib/src/components/ui/AlertModal/alert-modal.types.d.ts +29 -0
  139. package/dist-lib/src/components/ui/AlertModal/alert-modal.types.d.ts.map +1 -0
  140. package/dist-lib/src/components/ui/AlertModal/index.d.ts +3 -0
  141. package/dist-lib/src/components/ui/AlertModal/index.d.ts.map +1 -0
  142. package/dist-lib/src/components/ui/AppShell/app-shell.d.ts +26 -0
  143. package/dist-lib/src/components/ui/AppShell/app-shell.d.ts.map +1 -0
  144. package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts +84 -0
  145. package/dist-lib/src/components/ui/AppShell/app-shell.styles.d.ts.map +1 -0
  146. package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts +111 -0
  147. package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts.map +1 -0
  148. package/dist-lib/src/components/ui/AppShell/index.d.ts +5 -0
  149. package/dist-lib/src/components/ui/AppShell/index.d.ts.map +1 -0
  150. package/dist-lib/src/components/ui/AppShell/user-menu.d.ts +30 -0
  151. package/dist-lib/src/components/ui/AppShell/user-menu.d.ts.map +1 -0
  152. package/dist-lib/src/components/ui/Button/button.d.ts +3 -0
  153. package/dist-lib/src/components/ui/Button/button.d.ts.map +1 -0
  154. package/dist-lib/src/components/ui/Button/button.styles.d.ts +147 -0
  155. package/dist-lib/src/components/ui/Button/button.styles.d.ts.map +1 -0
  156. package/dist-lib/src/components/ui/Button/button.types.d.ts +7 -0
  157. package/dist-lib/src/components/ui/Button/button.types.d.ts.map +1 -0
  158. package/dist-lib/src/components/ui/Button/index.d.ts +4 -0
  159. package/dist-lib/src/components/ui/Button/index.d.ts.map +1 -0
  160. package/dist-lib/src/components/ui/ButtonGroup/button-group.d.ts +10 -0
  161. package/dist-lib/src/components/ui/ButtonGroup/button-group.d.ts.map +1 -0
  162. package/dist-lib/src/components/ui/ButtonGroup/button-group.styles.d.ts +77 -0
  163. package/dist-lib/src/components/ui/ButtonGroup/button-group.styles.d.ts.map +1 -0
  164. package/dist-lib/src/components/ui/ButtonGroup/button-group.types.d.ts +43 -0
  165. package/dist-lib/src/components/ui/ButtonGroup/button-group.types.d.ts.map +1 -0
  166. package/dist-lib/src/components/ui/ButtonGroup/index.d.ts +3 -0
  167. package/dist-lib/src/components/ui/ButtonGroup/index.d.ts.map +1 -0
  168. package/dist-lib/src/components/ui/CardCheckbox/card-checkbox.d.ts +42 -0
  169. package/dist-lib/src/components/ui/CardCheckbox/card-checkbox.d.ts.map +1 -0
  170. package/dist-lib/src/components/ui/CardCheckbox/card-checkbox.styles.d.ts +72 -0
  171. package/dist-lib/src/components/ui/CardCheckbox/card-checkbox.styles.d.ts.map +1 -0
  172. package/dist-lib/src/components/ui/CardCheckbox/index.d.ts +5 -0
  173. package/dist-lib/src/components/ui/CardCheckbox/index.d.ts.map +1 -0
  174. package/dist-lib/src/components/ui/Chart/chart.d.ts +80 -0
  175. package/dist-lib/src/components/ui/Chart/chart.d.ts.map +1 -0
  176. package/dist-lib/src/components/ui/Chart/index.d.ts +3 -0
  177. package/dist-lib/src/components/ui/Chart/index.d.ts.map +1 -0
  178. package/dist-lib/src/components/ui/Chip/chip-group.d.ts +68 -0
  179. package/dist-lib/src/components/ui/Chip/chip-group.d.ts.map +1 -0
  180. package/dist-lib/src/components/ui/Chip/chip.d.ts +39 -0
  181. package/dist-lib/src/components/ui/Chip/chip.d.ts.map +1 -0
  182. package/dist-lib/src/components/ui/Chip/chip.styles.d.ts +130 -0
  183. package/dist-lib/src/components/ui/Chip/chip.styles.d.ts.map +1 -0
  184. package/dist-lib/src/components/ui/Chip/index.d.ts +7 -0
  185. package/dist-lib/src/components/ui/Chip/index.d.ts.map +1 -0
  186. package/dist-lib/src/components/ui/Combobox/combobox.d.ts +15 -0
  187. package/dist-lib/src/components/ui/Combobox/combobox.d.ts.map +1 -0
  188. package/dist-lib/src/components/ui/Combobox/combobox.styles.d.ts +62 -0
  189. package/dist-lib/src/components/ui/Combobox/combobox.styles.d.ts.map +1 -0
  190. package/dist-lib/src/components/ui/Combobox/combobox.types.d.ts +36 -0
  191. package/dist-lib/src/components/ui/Combobox/combobox.types.d.ts.map +1 -0
  192. package/dist-lib/src/components/ui/Combobox/index.d.ts +3 -0
  193. package/dist-lib/src/components/ui/Combobox/index.d.ts.map +1 -0
  194. package/dist-lib/src/components/ui/DataList/data-list.d.ts +9 -0
  195. package/dist-lib/src/components/ui/DataList/data-list.d.ts.map +1 -0
  196. package/dist-lib/src/components/ui/DataList/data-list.types.d.ts +106 -0
  197. package/dist-lib/src/components/ui/DataList/data-list.types.d.ts.map +1 -0
  198. package/dist-lib/src/components/ui/DataList/hooks/use-data-list.d.ts +36 -0
  199. package/dist-lib/src/components/ui/DataList/hooks/use-data-list.d.ts.map +1 -0
  200. package/dist-lib/src/components/ui/DataList/index.d.ts +3 -0
  201. package/dist-lib/src/components/ui/DataList/index.d.ts.map +1 -0
  202. package/dist-lib/src/components/ui/DataList/parts/data-list-infinite.d.ts +16 -0
  203. package/dist-lib/src/components/ui/DataList/parts/data-list-infinite.d.ts.map +1 -0
  204. package/dist-lib/src/components/ui/DataList/parts/data-list-toolbar.d.ts +32 -0
  205. package/dist-lib/src/components/ui/DataList/parts/data-list-toolbar.d.ts.map +1 -0
  206. package/dist-lib/src/components/ui/DataList/parts/data-list-virtualized.d.ts +23 -0
  207. package/dist-lib/src/components/ui/DataList/parts/data-list-virtualized.d.ts.map +1 -0
  208. package/dist-lib/src/components/ui/DataList/utils/apply-filter-model.d.ts +12 -0
  209. package/dist-lib/src/components/ui/DataList/utils/apply-filter-model.d.ts.map +1 -0
  210. package/dist-lib/src/components/ui/DataTable/builders/column-builders.d.ts +52 -0
  211. package/dist-lib/src/components/ui/DataTable/builders/column-builders.d.ts.map +1 -0
  212. package/dist-lib/src/components/ui/DataTable/builders/preset-view.d.ts +81 -0
  213. package/dist-lib/src/components/ui/DataTable/builders/preset-view.d.ts.map +1 -0
  214. package/dist-lib/src/components/ui/DataTable/column-types/_filter-field.d.ts +40 -0
  215. package/dist-lib/src/components/ui/DataTable/column-types/_filter-field.d.ts.map +1 -0
  216. package/dist-lib/src/components/ui/DataTable/column-types/_shared.d.ts +24 -0
  217. package/dist-lib/src/components/ui/DataTable/column-types/_shared.d.ts.map +1 -0
  218. package/dist-lib/src/components/ui/DataTable/column-types/column-type-registry.d.ts +22 -0
  219. package/dist-lib/src/components/ui/DataTable/column-types/column-type-registry.d.ts.map +1 -0
  220. package/dist-lib/src/components/ui/DataTable/column-types/column-types.types.d.ts +117 -0
  221. package/dist-lib/src/components/ui/DataTable/column-types/column-types.types.d.ts.map +1 -0
  222. package/dist-lib/src/components/ui/DataTable/column-types/definitions/badge-column-type.d.ts +6 -0
  223. package/dist-lib/src/components/ui/DataTable/column-types/definitions/badge-column-type.d.ts.map +1 -0
  224. package/dist-lib/src/components/ui/DataTable/column-types/definitions/boolean-column-type.d.ts +3 -0
  225. package/dist-lib/src/components/ui/DataTable/column-types/definitions/boolean-column-type.d.ts.map +1 -0
  226. package/dist-lib/src/components/ui/DataTable/column-types/definitions/currency-column-type.d.ts +3 -0
  227. package/dist-lib/src/components/ui/DataTable/column-types/definitions/currency-column-type.d.ts.map +1 -0
  228. package/dist-lib/src/components/ui/DataTable/column-types/definitions/date-column-type.d.ts +3 -0
  229. package/dist-lib/src/components/ui/DataTable/column-types/definitions/date-column-type.d.ts.map +1 -0
  230. package/dist-lib/src/components/ui/DataTable/column-types/definitions/datetime-column-type.d.ts +3 -0
  231. package/dist-lib/src/components/ui/DataTable/column-types/definitions/datetime-column-type.d.ts.map +1 -0
  232. package/dist-lib/src/components/ui/DataTable/column-types/definitions/email-column-type.d.ts +3 -0
  233. package/dist-lib/src/components/ui/DataTable/column-types/definitions/email-column-type.d.ts.map +1 -0
  234. package/dist-lib/src/components/ui/DataTable/column-types/definitions/multi-select-column-type.d.ts +3 -0
  235. package/dist-lib/src/components/ui/DataTable/column-types/definitions/multi-select-column-type.d.ts.map +1 -0
  236. package/dist-lib/src/components/ui/DataTable/column-types/definitions/number-column-type.d.ts +3 -0
  237. package/dist-lib/src/components/ui/DataTable/column-types/definitions/number-column-type.d.ts.map +1 -0
  238. package/dist-lib/src/components/ui/DataTable/column-types/definitions/percentage-column-type.d.ts +3 -0
  239. package/dist-lib/src/components/ui/DataTable/column-types/definitions/percentage-column-type.d.ts.map +1 -0
  240. package/dist-lib/src/components/ui/DataTable/column-types/definitions/phone-column-type.d.ts +3 -0
  241. package/dist-lib/src/components/ui/DataTable/column-types/definitions/phone-column-type.d.ts.map +1 -0
  242. package/dist-lib/src/components/ui/DataTable/column-types/definitions/select-column-type.d.ts +3 -0
  243. package/dist-lib/src/components/ui/DataTable/column-types/definitions/select-column-type.d.ts.map +1 -0
  244. package/dist-lib/src/components/ui/DataTable/column-types/definitions/tags-column-type.d.ts +3 -0
  245. package/dist-lib/src/components/ui/DataTable/column-types/definitions/tags-column-type.d.ts.map +1 -0
  246. package/dist-lib/src/components/ui/DataTable/column-types/definitions/text-column-type.d.ts +3 -0
  247. package/dist-lib/src/components/ui/DataTable/column-types/definitions/text-column-type.d.ts.map +1 -0
  248. package/dist-lib/src/components/ui/DataTable/column-types/definitions/url-column-type.d.ts +3 -0
  249. package/dist-lib/src/components/ui/DataTable/column-types/definitions/url-column-type.d.ts.map +1 -0
  250. package/dist-lib/src/components/ui/DataTable/column-types/definitions/user-column-type.d.ts +3 -0
  251. package/dist-lib/src/components/ui/DataTable/column-types/definitions/user-column-type.d.ts.map +1 -0
  252. package/dist-lib/src/components/ui/DataTable/column-types/index.d.ts +33 -0
  253. package/dist-lib/src/components/ui/DataTable/column-types/index.d.ts.map +1 -0
  254. package/dist-lib/src/components/ui/DataTable/context/data-table-context.d.ts +43 -0
  255. package/dist-lib/src/components/ui/DataTable/context/data-table-context.d.ts.map +1 -0
  256. package/dist-lib/src/components/ui/DataTable/data-table.constants.d.ts +21 -0
  257. package/dist-lib/src/components/ui/DataTable/data-table.constants.d.ts.map +1 -0
  258. package/dist-lib/src/components/ui/DataTable/data-table.d.ts +8 -0
  259. package/dist-lib/src/components/ui/DataTable/data-table.d.ts.map +1 -0
  260. package/dist-lib/src/components/ui/DataTable/data-table.styles.d.ts +67 -0
  261. package/dist-lib/src/components/ui/DataTable/data-table.styles.d.ts.map +1 -0
  262. package/dist-lib/src/components/ui/DataTable/data-table.types.d.ts +724 -0
  263. package/dist-lib/src/components/ui/DataTable/data-table.types.d.ts.map +1 -0
  264. package/dist-lib/src/components/ui/DataTable/hooks/state-persistence-utils.d.ts +42 -0
  265. package/dist-lib/src/components/ui/DataTable/hooks/state-persistence-utils.d.ts.map +1 -0
  266. package/dist-lib/src/components/ui/DataTable/hooks/use-cols-popover-adapter.d.ts +35 -0
  267. package/dist-lib/src/components/ui/DataTable/hooks/use-cols-popover-adapter.d.ts.map +1 -0
  268. package/dist-lib/src/components/ui/DataTable/hooks/use-column-auto-width.d.ts +29 -0
  269. package/dist-lib/src/components/ui/DataTable/hooks/use-column-auto-width.d.ts.map +1 -0
  270. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-columns.d.ts +49 -0
  271. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-columns.d.ts.map +1 -0
  272. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-controller.d.ts +48 -0
  273. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-controller.d.ts.map +1 -0
  274. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-density.d.ts +14 -0
  275. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-density.d.ts.map +1 -0
  276. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-export.d.ts +27 -0
  277. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-export.d.ts.map +1 -0
  278. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-filters.d.ts +13 -0
  279. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-filters.d.ts.map +1 -0
  280. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-pagination.d.ts +21 -0
  281. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-pagination.d.ts.map +1 -0
  282. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-processor.d.ts +25 -0
  283. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-processor.d.ts.map +1 -0
  284. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-query.d.ts +41 -0
  285. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-query.d.ts.map +1 -0
  286. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-saved-views.d.ts +27 -0
  287. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-saved-views.d.ts.map +1 -0
  288. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-search.d.ts +26 -0
  289. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-search.d.ts.map +1 -0
  290. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-selection.d.ts +35 -0
  291. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-selection.d.ts.map +1 -0
  292. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-sort.d.ts +37 -0
  293. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-sort.d.ts.map +1 -0
  294. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-state-persistence.d.ts +15 -0
  295. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-state-persistence.d.ts.map +1 -0
  296. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-view-mode.d.ts +42 -0
  297. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-view-mode.d.ts.map +1 -0
  298. package/dist-lib/src/components/ui/DataTable/hooks/use-filter-popover-adapter.d.ts +51 -0
  299. package/dist-lib/src/components/ui/DataTable/hooks/use-filter-popover-adapter.d.ts.map +1 -0
  300. package/dist-lib/src/components/ui/DataTable/hooks/use-grab-to-scroll.d.ts +24 -0
  301. package/dist-lib/src/components/ui/DataTable/hooks/use-grab-to-scroll.d.ts.map +1 -0
  302. package/dist-lib/src/components/ui/DataTable/hooks/use-sort-popover-adapter.d.ts +24 -0
  303. package/dist-lib/src/components/ui/DataTable/hooks/use-sort-popover-adapter.d.ts.map +1 -0
  304. package/dist-lib/src/components/ui/DataTable/index.d.ts +23 -0
  305. package/dist-lib/src/components/ui/DataTable/index.d.ts.map +1 -0
  306. package/dist-lib/src/components/ui/DataTable/parts/data-table-actions-cell.d.ts +20 -0
  307. package/dist-lib/src/components/ui/DataTable/parts/data-table-actions-cell.d.ts.map +1 -0
  308. package/dist-lib/src/components/ui/DataTable/parts/data-table-cell-addons.d.ts +41 -0
  309. package/dist-lib/src/components/ui/DataTable/parts/data-table-cell-addons.d.ts.map +1 -0
  310. package/dist-lib/src/components/ui/DataTable/parts/data-table-cell-addons.styles.d.ts +81 -0
  311. package/dist-lib/src/components/ui/DataTable/parts/data-table-cell-addons.styles.d.ts.map +1 -0
  312. package/dist-lib/src/components/ui/DataTable/parts/data-table-column-menu.d.ts +35 -0
  313. package/dist-lib/src/components/ui/DataTable/parts/data-table-column-menu.d.ts.map +1 -0
  314. package/dist-lib/src/components/ui/DataTable/parts/data-table-edit-cell.d.ts +29 -0
  315. package/dist-lib/src/components/ui/DataTable/parts/data-table-edit-cell.d.ts.map +1 -0
  316. package/dist-lib/src/components/ui/DataTable/parts/data-table-empty.d.ts +20 -0
  317. package/dist-lib/src/components/ui/DataTable/parts/data-table-empty.d.ts.map +1 -0
  318. package/dist-lib/src/components/ui/DataTable/parts/data-table-floating-bulk-bar.d.ts +14 -0
  319. package/dist-lib/src/components/ui/DataTable/parts/data-table-floating-bulk-bar.d.ts.map +1 -0
  320. package/dist-lib/src/components/ui/DataTable/parts/data-table-group-content-row.d.ts +33 -0
  321. package/dist-lib/src/components/ui/DataTable/parts/data-table-group-content-row.d.ts.map +1 -0
  322. package/dist-lib/src/components/ui/DataTable/parts/data-table-group-header-row.d.ts +40 -0
  323. package/dist-lib/src/components/ui/DataTable/parts/data-table-group-header-row.d.ts.map +1 -0
  324. package/dist-lib/src/components/ui/DataTable/parts/data-table-loading.d.ts +16 -0
  325. package/dist-lib/src/components/ui/DataTable/parts/data-table-loading.d.ts.map +1 -0
  326. package/dist-lib/src/components/ui/DataTable/parts/data-table-no-results.d.ts +24 -0
  327. package/dist-lib/src/components/ui/DataTable/parts/data-table-no-results.d.ts.map +1 -0
  328. package/dist-lib/src/components/ui/DataTable/parts/data-table-row-expansion.d.ts +28 -0
  329. package/dist-lib/src/components/ui/DataTable/parts/data-table-row-expansion.d.ts.map +1 -0
  330. package/dist-lib/src/components/ui/DataTable/parts/data-table-row.d.ts +76 -0
  331. package/dist-lib/src/components/ui/DataTable/parts/data-table-row.d.ts.map +1 -0
  332. package/dist-lib/src/components/ui/DataTable/parts/data-table-totalizer-row.d.ts +34 -0
  333. package/dist-lib/src/components/ui/DataTable/parts/data-table-totalizer-row.d.ts.map +1 -0
  334. package/dist-lib/src/components/ui/DataTable/parts/data-table-tree-toggle.d.ts +35 -0
  335. package/dist-lib/src/components/ui/DataTable/parts/data-table-tree-toggle.d.ts.map +1 -0
  336. package/dist-lib/src/components/ui/DataTable/parts/sortable-head-cell.d.ts +24 -0
  337. package/dist-lib/src/components/ui/DataTable/parts/sortable-head-cell.d.ts.map +1 -0
  338. package/dist-lib/src/components/ui/DataTable/services/saved-views-mock-service.d.ts +7 -0
  339. package/dist-lib/src/components/ui/DataTable/services/saved-views-mock-service.d.ts.map +1 -0
  340. package/dist-lib/src/components/ui/DataTable/services/saved-views.types.d.ts +69 -0
  341. package/dist-lib/src/components/ui/DataTable/services/saved-views.types.d.ts.map +1 -0
  342. package/dist-lib/src/components/ui/DataTable/utils/aggregate.d.ts +23 -0
  343. package/dist-lib/src/components/ui/DataTable/utils/aggregate.d.ts.map +1 -0
  344. package/dist-lib/src/components/ui/DataTable/utils/calculate-column-widths.d.ts +28 -0
  345. package/dist-lib/src/components/ui/DataTable/utils/calculate-column-widths.d.ts.map +1 -0
  346. package/dist-lib/src/components/ui/DataTable/utils/expand-rows.d.ts +27 -0
  347. package/dist-lib/src/components/ui/DataTable/utils/expand-rows.d.ts.map +1 -0
  348. package/dist-lib/src/components/ui/DataTable/utils/filter-ops.d.ts +41 -0
  349. package/dist-lib/src/components/ui/DataTable/utils/filter-ops.d.ts.map +1 -0
  350. package/dist-lib/src/components/ui/DataTable/utils/group-rows.d.ts +59 -0
  351. package/dist-lib/src/components/ui/DataTable/utils/group-rows.d.ts.map +1 -0
  352. package/dist-lib/src/components/ui/DataTable/utils/measure-text.d.ts +19 -0
  353. package/dist-lib/src/components/ui/DataTable/utils/measure-text.d.ts.map +1 -0
  354. package/dist-lib/src/components/ui/DataTable/utils/resolve-value.d.ts +19 -0
  355. package/dist-lib/src/components/ui/DataTable/utils/resolve-value.d.ts.map +1 -0
  356. package/dist-lib/src/components/ui/DataTable/utils/tree-rows.d.ts +75 -0
  357. package/dist-lib/src/components/ui/DataTable/utils/tree-rows.d.ts.map +1 -0
  358. package/dist-lib/src/components/ui/DatePicker/datepicker.d.ts +22 -0
  359. package/dist-lib/src/components/ui/DatePicker/datepicker.d.ts.map +1 -0
  360. package/dist-lib/src/components/ui/DatePicker/index.d.ts +3 -0
  361. package/dist-lib/src/components/ui/DatePicker/index.d.ts.map +1 -0
  362. package/dist-lib/src/components/ui/FloatingPanel/floating-panel-parts.d.ts +18 -0
  363. package/dist-lib/src/components/ui/FloatingPanel/floating-panel-parts.d.ts.map +1 -0
  364. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.d.ts +45 -0
  365. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.d.ts.map +1 -0
  366. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.styles.d.ts +119 -0
  367. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.styles.d.ts.map +1 -0
  368. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.types.d.ts +63 -0
  369. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.types.d.ts.map +1 -0
  370. package/dist-lib/src/components/ui/FloatingPanel/index.d.ts +8 -0
  371. package/dist-lib/src/components/ui/FloatingPanel/index.d.ts.map +1 -0
  372. package/dist-lib/src/components/ui/FloatingPanel/use-floating-panel-resize.d.ts +31 -0
  373. package/dist-lib/src/components/ui/FloatingPanel/use-floating-panel-resize.d.ts.map +1 -0
  374. package/dist-lib/src/components/ui/FooterTable/footer-table.d.ts +29 -0
  375. package/dist-lib/src/components/ui/FooterTable/footer-table.d.ts.map +1 -0
  376. package/dist-lib/src/components/ui/FooterTable/footer-table.types.d.ts +29 -0
  377. package/dist-lib/src/components/ui/FooterTable/footer-table.types.d.ts.map +1 -0
  378. package/dist-lib/src/components/ui/FooterTable/index.d.ts +4 -0
  379. package/dist-lib/src/components/ui/FooterTable/index.d.ts.map +1 -0
  380. package/dist-lib/src/components/ui/FormField/form-field-checkbox.d.ts +23 -0
  381. package/dist-lib/src/components/ui/FormField/form-field-checkbox.d.ts.map +1 -0
  382. package/dist-lib/src/components/ui/FormField/form-field-input.d.ts +27 -0
  383. package/dist-lib/src/components/ui/FormField/form-field-input.d.ts.map +1 -0
  384. package/dist-lib/src/components/ui/FormField/form-field-select.d.ts +34 -0
  385. package/dist-lib/src/components/ui/FormField/form-field-select.d.ts.map +1 -0
  386. package/dist-lib/src/components/ui/FormField/form-field-switch.d.ts +25 -0
  387. package/dist-lib/src/components/ui/FormField/form-field-switch.d.ts.map +1 -0
  388. package/dist-lib/src/components/ui/FormField/form-field-textarea.d.ts +9 -0
  389. package/dist-lib/src/components/ui/FormField/form-field-textarea.d.ts.map +1 -0
  390. package/dist-lib/src/components/ui/FormField/form-field.d.ts +26 -0
  391. package/dist-lib/src/components/ui/FormField/form-field.d.ts.map +1 -0
  392. package/dist-lib/src/components/ui/FormField/form-field.styles.d.ts +43 -0
  393. package/dist-lib/src/components/ui/FormField/form-field.styles.d.ts.map +1 -0
  394. package/dist-lib/src/components/ui/FormField/form-field.types.d.ts +27 -0
  395. package/dist-lib/src/components/ui/FormField/form-field.types.d.ts.map +1 -0
  396. package/dist-lib/src/components/ui/FormField/index.d.ts +14 -0
  397. package/dist-lib/src/components/ui/FormField/index.d.ts.map +1 -0
  398. package/dist-lib/src/components/ui/Header/header-breadcrumb.d.ts +17 -0
  399. package/dist-lib/src/components/ui/Header/header-breadcrumb.d.ts.map +1 -0
  400. package/dist-lib/src/components/ui/Header/header-messages.d.ts +7 -0
  401. package/dist-lib/src/components/ui/Header/header-messages.d.ts.map +1 -0
  402. package/dist-lib/src/components/ui/Header/header-notifications.d.ts +7 -0
  403. package/dist-lib/src/components/ui/Header/header-notifications.d.ts.map +1 -0
  404. package/dist-lib/src/components/ui/Header/header-search.d.ts +21 -0
  405. package/dist-lib/src/components/ui/Header/header-search.d.ts.map +1 -0
  406. package/dist-lib/src/components/ui/Header/header-theme-switcher.d.ts +9 -0
  407. package/dist-lib/src/components/ui/Header/header-theme-switcher.d.ts.map +1 -0
  408. package/dist-lib/src/components/ui/Header/header.d.ts +18 -0
  409. package/dist-lib/src/components/ui/Header/header.d.ts.map +1 -0
  410. package/dist-lib/src/components/ui/Header/header.styles.d.ts +141 -0
  411. package/dist-lib/src/components/ui/Header/header.styles.d.ts.map +1 -0
  412. package/dist-lib/src/components/ui/Header/header.types.d.ts +128 -0
  413. package/dist-lib/src/components/ui/Header/header.types.d.ts.map +1 -0
  414. package/dist-lib/src/components/ui/Header/index.d.ts +13 -0
  415. package/dist-lib/src/components/ui/Header/index.d.ts.map +1 -0
  416. package/dist-lib/src/components/ui/Icon/icon.d.ts +11 -0
  417. package/dist-lib/src/components/ui/Icon/icon.d.ts.map +1 -0
  418. package/dist-lib/src/components/ui/Icon/icon.styles.d.ts +60 -0
  419. package/dist-lib/src/components/ui/Icon/icon.styles.d.ts.map +1 -0
  420. package/dist-lib/src/components/ui/Icon/icon.types.d.ts +21 -0
  421. package/dist-lib/src/components/ui/Icon/icon.types.d.ts.map +1 -0
  422. package/dist-lib/src/components/ui/Icon/icons.d.ts +2407 -0
  423. package/dist-lib/src/components/ui/Icon/icons.d.ts.map +1 -0
  424. package/dist-lib/src/components/ui/Icon/index.d.ts +5 -0
  425. package/dist-lib/src/components/ui/Icon/index.d.ts.map +1 -0
  426. package/dist-lib/src/components/ui/Kanban/hooks/use-kanban-dnd.d.ts +39 -0
  427. package/dist-lib/src/components/ui/Kanban/hooks/use-kanban-dnd.d.ts.map +1 -0
  428. package/dist-lib/src/components/ui/Kanban/index.d.ts +3 -0
  429. package/dist-lib/src/components/ui/Kanban/index.d.ts.map +1 -0
  430. package/dist-lib/src/components/ui/Kanban/kanban.d.ts +22 -0
  431. package/dist-lib/src/components/ui/Kanban/kanban.d.ts.map +1 -0
  432. package/dist-lib/src/components/ui/Kanban/kanban.styles.d.ts +150 -0
  433. package/dist-lib/src/components/ui/Kanban/kanban.styles.d.ts.map +1 -0
  434. package/dist-lib/src/components/ui/Kanban/kanban.types.d.ts +168 -0
  435. package/dist-lib/src/components/ui/Kanban/kanban.types.d.ts.map +1 -0
  436. package/dist-lib/src/components/ui/Kpi/index.d.ts +5 -0
  437. package/dist-lib/src/components/ui/Kpi/index.d.ts.map +1 -0
  438. package/dist-lib/src/components/ui/Kpi/kpi-delta.d.ts +11 -0
  439. package/dist-lib/src/components/ui/Kpi/kpi-delta.d.ts.map +1 -0
  440. package/dist-lib/src/components/ui/Kpi/kpi-group.d.ts +12 -0
  441. package/dist-lib/src/components/ui/Kpi/kpi-group.d.ts.map +1 -0
  442. package/dist-lib/src/components/ui/Kpi/kpi.d.ts +11 -0
  443. package/dist-lib/src/components/ui/Kpi/kpi.d.ts.map +1 -0
  444. package/dist-lib/src/components/ui/Kpi/kpi.styles.d.ts +159 -0
  445. package/dist-lib/src/components/ui/Kpi/kpi.styles.d.ts.map +1 -0
  446. package/dist-lib/src/components/ui/Kpi/kpi.types.d.ts +46 -0
  447. package/dist-lib/src/components/ui/Kpi/kpi.types.d.ts.map +1 -0
  448. package/dist-lib/src/components/ui/List/hooks/use-disclosure-set.d.ts +17 -0
  449. package/dist-lib/src/components/ui/List/hooks/use-disclosure-set.d.ts.map +1 -0
  450. package/dist-lib/src/components/ui/List/hooks/use-selection-set.d.ts +18 -0
  451. package/dist-lib/src/components/ui/List/hooks/use-selection-set.d.ts.map +1 -0
  452. package/dist-lib/src/components/ui/List/index.d.ts +4 -0
  453. package/dist-lib/src/components/ui/List/index.d.ts.map +1 -0
  454. package/dist-lib/src/components/ui/List/layouts/_sortable-item.d.ts +24 -0
  455. package/dist-lib/src/components/ui/List/layouts/_sortable-item.d.ts.map +1 -0
  456. package/dist-lib/src/components/ui/List/layouts/grouped-layout.d.ts +24 -0
  457. package/dist-lib/src/components/ui/List/layouts/grouped-layout.d.ts.map +1 -0
  458. package/dist-lib/src/components/ui/List/layouts/hierarchical-layout.d.ts +28 -0
  459. package/dist-lib/src/components/ui/List/layouts/hierarchical-layout.d.ts.map +1 -0
  460. package/dist-lib/src/components/ui/List/layouts/standard-layout.d.ts +19 -0
  461. package/dist-lib/src/components/ui/List/layouts/standard-layout.d.ts.map +1 -0
  462. package/dist-lib/src/components/ui/List/list-item.d.ts +29 -0
  463. package/dist-lib/src/components/ui/List/list-item.d.ts.map +1 -0
  464. package/dist-lib/src/components/ui/List/list.d.ts +15 -0
  465. package/dist-lib/src/components/ui/List/list.d.ts.map +1 -0
  466. package/dist-lib/src/components/ui/List/list.styles.d.ts +207 -0
  467. package/dist-lib/src/components/ui/List/list.styles.d.ts.map +1 -0
  468. package/dist-lib/src/components/ui/List/list.types.d.ts +126 -0
  469. package/dist-lib/src/components/ui/List/list.types.d.ts.map +1 -0
  470. package/dist-lib/src/components/ui/List/utils/flatten-tree.d.ts +23 -0
  471. package/dist-lib/src/components/ui/List/utils/flatten-tree.d.ts.map +1 -0
  472. package/dist-lib/src/components/ui/List/utils/group-items.d.ts +13 -0
  473. package/dist-lib/src/components/ui/List/utils/group-items.d.ts.map +1 -0
  474. package/dist-lib/src/components/ui/MenuSidebar/index.d.ts +16 -0
  475. package/dist-lib/src/components/ui/MenuSidebar/index.d.ts.map +1 -0
  476. package/dist-lib/src/components/ui/MenuSidebar/menu-sidebar.d.ts +25 -0
  477. package/dist-lib/src/components/ui/MenuSidebar/menu-sidebar.d.ts.map +1 -0
  478. package/dist-lib/src/components/ui/MenuSidebar/sidebar-brand.d.ts +8 -0
  479. package/dist-lib/src/components/ui/MenuSidebar/sidebar-brand.d.ts.map +1 -0
  480. package/dist-lib/src/components/ui/MenuSidebar/sidebar-item.d.ts +19 -0
  481. package/dist-lib/src/components/ui/MenuSidebar/sidebar-item.d.ts.map +1 -0
  482. package/dist-lib/src/components/ui/MenuSidebar/sidebar-panel.d.ts +22 -0
  483. package/dist-lib/src/components/ui/MenuSidebar/sidebar-panel.d.ts.map +1 -0
  484. package/dist-lib/src/components/ui/MenuSidebar/sidebar-rail.d.ts +14 -0
  485. package/dist-lib/src/components/ui/MenuSidebar/sidebar-rail.d.ts.map +1 -0
  486. package/dist-lib/src/components/ui/MenuSidebar/sidebar-section.d.ts +10 -0
  487. package/dist-lib/src/components/ui/MenuSidebar/sidebar-section.d.ts.map +1 -0
  488. package/dist-lib/src/components/ui/MenuSidebar/sidebar-subgroup.d.ts +13 -0
  489. package/dist-lib/src/components/ui/MenuSidebar/sidebar-subgroup.d.ts.map +1 -0
  490. package/dist-lib/src/components/ui/MenuSidebar/sidebar.styles.d.ts +299 -0
  491. package/dist-lib/src/components/ui/MenuSidebar/sidebar.styles.d.ts.map +1 -0
  492. package/dist-lib/src/components/ui/MenuSidebar/sidebar.types.d.ts +104 -0
  493. package/dist-lib/src/components/ui/MenuSidebar/sidebar.types.d.ts.map +1 -0
  494. package/dist-lib/src/components/ui/MenuSidebar/use-media-query.d.ts +11 -0
  495. package/dist-lib/src/components/ui/MenuSidebar/use-media-query.d.ts.map +1 -0
  496. package/dist-lib/src/components/ui/MenuSidebar/use-sidebar-state.d.ts +7 -0
  497. package/dist-lib/src/components/ui/MenuSidebar/use-sidebar-state.d.ts.map +1 -0
  498. package/dist-lib/src/components/ui/Modal/index.d.ts +3 -0
  499. package/dist-lib/src/components/ui/Modal/index.d.ts.map +1 -0
  500. package/dist-lib/src/components/ui/Modal/modal.d.ts +78 -0
  501. package/dist-lib/src/components/ui/Modal/modal.d.ts.map +1 -0
  502. package/dist-lib/src/components/ui/Modal/modal.styles.d.ts +74 -0
  503. package/dist-lib/src/components/ui/Modal/modal.styles.d.ts.map +1 -0
  504. package/dist-lib/src/components/ui/PageHeader/index.d.ts +4 -0
  505. package/dist-lib/src/components/ui/PageHeader/index.d.ts.map +1 -0
  506. package/dist-lib/src/components/ui/PageHeader/page-header.d.ts +41 -0
  507. package/dist-lib/src/components/ui/PageHeader/page-header.d.ts.map +1 -0
  508. package/dist-lib/src/components/ui/PageHeader/page-header.styles.d.ts +96 -0
  509. package/dist-lib/src/components/ui/PageHeader/page-header.styles.d.ts.map +1 -0
  510. package/dist-lib/src/components/ui/PageHeader/page-header.types.d.ts +38 -0
  511. package/dist-lib/src/components/ui/PageHeader/page-header.types.d.ts.map +1 -0
  512. package/dist-lib/src/components/ui/Panel/index.d.ts +12 -0
  513. package/dist-lib/src/components/ui/Panel/index.d.ts.map +1 -0
  514. package/dist-lib/src/components/ui/Panel/panel-body.d.ts +10 -0
  515. package/dist-lib/src/components/ui/Panel/panel-body.d.ts.map +1 -0
  516. package/dist-lib/src/components/ui/Panel/panel-footer.d.ts +11 -0
  517. package/dist-lib/src/components/ui/Panel/panel-footer.d.ts.map +1 -0
  518. package/dist-lib/src/components/ui/Panel/panel-header.d.ts +12 -0
  519. package/dist-lib/src/components/ui/Panel/panel-header.d.ts.map +1 -0
  520. package/dist-lib/src/components/ui/Panel/panel.d.ts +16 -0
  521. package/dist-lib/src/components/ui/Panel/panel.d.ts.map +1 -0
  522. package/dist-lib/src/components/ui/Panel/panel.styles.d.ts +47 -0
  523. package/dist-lib/src/components/ui/Panel/panel.styles.d.ts.map +1 -0
  524. package/dist-lib/src/components/ui/Panel/panel.types.d.ts +33 -0
  525. package/dist-lib/src/components/ui/Panel/panel.types.d.ts.map +1 -0
  526. package/dist-lib/src/components/ui/SingleMenuSidebar/category.d.ts +6 -0
  527. package/dist-lib/src/components/ui/SingleMenuSidebar/category.d.ts.map +1 -0
  528. package/dist-lib/src/components/ui/SingleMenuSidebar/command.d.ts +23 -0
  529. package/dist-lib/src/components/ui/SingleMenuSidebar/command.d.ts.map +1 -0
  530. package/dist-lib/src/components/ui/SingleMenuSidebar/footer.d.ts +6 -0
  531. package/dist-lib/src/components/ui/SingleMenuSidebar/footer.d.ts.map +1 -0
  532. package/dist-lib/src/components/ui/SingleMenuSidebar/header.d.ts +6 -0
  533. package/dist-lib/src/components/ui/SingleMenuSidebar/header.d.ts.map +1 -0
  534. package/dist-lib/src/components/ui/SingleMenuSidebar/index.d.ts +3 -0
  535. package/dist-lib/src/components/ui/SingleMenuSidebar/index.d.ts.map +1 -0
  536. package/dist-lib/src/components/ui/SingleMenuSidebar/menu-item.d.ts +6 -0
  537. package/dist-lib/src/components/ui/SingleMenuSidebar/menu-item.d.ts.map +1 -0
  538. package/dist-lib/src/components/ui/SingleMenuSidebar/module-selector.d.ts +6 -0
  539. package/dist-lib/src/components/ui/SingleMenuSidebar/module-selector.d.ts.map +1 -0
  540. package/dist-lib/src/components/ui/SingleMenuSidebar/search.d.ts +15 -0
  541. package/dist-lib/src/components/ui/SingleMenuSidebar/search.d.ts.map +1 -0
  542. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.d.ts +6 -0
  543. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.d.ts.map +1 -0
  544. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.styles.d.ts +204 -0
  545. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.styles.d.ts.map +1 -0
  546. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.types.d.ts +181 -0
  547. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.types.d.ts.map +1 -0
  548. package/dist-lib/src/components/ui/SingleMenuSidebar/use-single-menu-sidebar.d.ts +22 -0
  549. package/dist-lib/src/components/ui/SingleMenuSidebar/use-single-menu-sidebar.d.ts.map +1 -0
  550. package/dist-lib/src/components/ui/TabelaTeste/index.d.ts +2 -0
  551. package/dist-lib/src/components/ui/TabelaTeste/index.d.ts.map +1 -0
  552. package/dist-lib/src/components/ui/TabelaTeste/mock-data.d.ts +90 -0
  553. package/dist-lib/src/components/ui/TabelaTeste/mock-data.d.ts.map +1 -0
  554. package/dist-lib/src/components/ui/TabelaTeste/tabela-teste.d.ts +12 -0
  555. package/dist-lib/src/components/ui/TabelaTeste/tabela-teste.d.ts.map +1 -0
  556. package/dist-lib/src/components/ui/TabelaTeste/tabela-teste.styles.d.ts +184 -0
  557. package/dist-lib/src/components/ui/TabelaTeste/tabela-teste.styles.d.ts.map +1 -0
  558. package/dist-lib/src/components/ui/Table/index.d.ts +10 -0
  559. package/dist-lib/src/components/ui/Table/index.d.ts.map +1 -0
  560. package/dist-lib/src/components/ui/Table/table-card-row.d.ts +39 -0
  561. package/dist-lib/src/components/ui/Table/table-card-row.d.ts.map +1 -0
  562. package/dist-lib/src/components/ui/Table/table.constants.d.ts +14 -0
  563. package/dist-lib/src/components/ui/Table/table.constants.d.ts.map +1 -0
  564. package/dist-lib/src/components/ui/Table/table.d.ts +9 -0
  565. package/dist-lib/src/components/ui/Table/table.d.ts.map +1 -0
  566. package/dist-lib/src/components/ui/Table/table.styles.d.ts +374 -0
  567. package/dist-lib/src/components/ui/Table/table.styles.d.ts.map +1 -0
  568. package/dist-lib/src/components/ui/Table/table.types.d.ts +138 -0
  569. package/dist-lib/src/components/ui/Table/table.types.d.ts.map +1 -0
  570. package/dist-lib/src/components/ui/Table/use-column-resize.d.ts +24 -0
  571. package/dist-lib/src/components/ui/Table/use-column-resize.d.ts.map +1 -0
  572. package/dist-lib/src/components/ui/Table/use-column-widths.d.ts +36 -0
  573. package/dist-lib/src/components/ui/Table/use-column-widths.d.ts.map +1 -0
  574. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-filter-control.d.ts +40 -0
  575. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-filter-control.d.ts.map +1 -0
  576. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-filters.d.ts +53 -0
  577. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-filters.d.ts.map +1 -0
  578. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-sort.d.ts +41 -0
  579. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-sort.d.ts.map +1 -0
  580. package/dist-lib/src/components/ui/TableToolbar/index.d.ts +58 -0
  581. package/dist-lib/src/components/ui/TableToolbar/index.d.ts.map +1 -0
  582. package/dist-lib/src/components/ui/TableToolbar/parts/bulk-actions-bar.d.ts +56 -0
  583. package/dist-lib/src/components/ui/TableToolbar/parts/bulk-actions-bar.d.ts.map +1 -0
  584. package/dist-lib/src/components/ui/TableToolbar/parts/table-toolbar-views.d.ts +82 -0
  585. package/dist-lib/src/components/ui/TableToolbar/parts/table-toolbar-views.d.ts.map +1 -0
  586. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-actions.d.ts +60 -0
  587. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-actions.d.ts.map +1 -0
  588. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-applied.d.ts +51 -0
  589. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-applied.d.ts.map +1 -0
  590. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-divider.d.ts +6 -0
  591. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-divider.d.ts.map +1 -0
  592. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-filter-button.d.ts +18 -0
  593. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-filter-button.d.ts.map +1 -0
  594. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-filter-control.d.ts +63 -0
  595. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-filter-control.d.ts.map +1 -0
  596. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-mobile-sheet.d.ts +82 -0
  597. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-mobile-sheet.d.ts.map +1 -0
  598. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-search.d.ts +21 -0
  599. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-search.d.ts.map +1 -0
  600. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-segmented.d.ts +21 -0
  601. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-segmented.d.ts.map +1 -0
  602. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-settings-menu.d.ts +54 -0
  603. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-settings-menu.d.ts.map +1 -0
  604. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-simple-filter-drawer.d.ts +47 -0
  605. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-simple-filter-drawer.d.ts.map +1 -0
  606. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-tabs.d.ts +20 -0
  607. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-tabs.d.ts.map +1 -0
  608. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-tool-button.d.ts +47 -0
  609. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-tool-button.d.ts.map +1 -0
  610. package/dist-lib/src/components/ui/TableToolbar/popovers/add-view-modal.d.ts +23 -0
  611. package/dist-lib/src/components/ui/TableToolbar/popovers/add-view-modal.d.ts.map +1 -0
  612. package/dist-lib/src/components/ui/TableToolbar/popovers/add-view-modal.styles.d.ts +53 -0
  613. package/dist-lib/src/components/ui/TableToolbar/popovers/add-view-modal.styles.d.ts.map +1 -0
  614. package/dist-lib/src/components/ui/TableToolbar/popovers/cols-popover.d.ts +45 -0
  615. package/dist-lib/src/components/ui/TableToolbar/popovers/cols-popover.d.ts.map +1 -0
  616. package/dist-lib/src/components/ui/TableToolbar/popovers/filter-popover.d.ts +83 -0
  617. package/dist-lib/src/components/ui/TableToolbar/popovers/filter-popover.d.ts.map +1 -0
  618. package/dist-lib/src/components/ui/TableToolbar/popovers/filter-sql-parser.d.ts +37 -0
  619. package/dist-lib/src/components/ui/TableToolbar/popovers/filter-sql-parser.d.ts.map +1 -0
  620. package/dist-lib/src/components/ui/TableToolbar/popovers/more-menu.d.ts +49 -0
  621. package/dist-lib/src/components/ui/TableToolbar/popovers/more-menu.d.ts.map +1 -0
  622. package/dist-lib/src/components/ui/TableToolbar/popovers/sort-popover.d.ts +48 -0
  623. package/dist-lib/src/components/ui/TableToolbar/popovers/sort-popover.d.ts.map +1 -0
  624. package/dist-lib/src/components/ui/TableToolbar/popovers/views-popover.d.ts +65 -0
  625. package/dist-lib/src/components/ui/TableToolbar/popovers/views-popover.d.ts.map +1 -0
  626. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.d.ts +47 -0
  627. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.d.ts.map +1 -0
  628. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.styles.d.ts +232 -0
  629. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.styles.d.ts.map +1 -0
  630. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.types.d.ts +48 -0
  631. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.types.d.ts.map +1 -0
  632. package/dist-lib/src/components/ui/Toast/index.d.ts +4 -0
  633. package/dist-lib/src/components/ui/Toast/index.d.ts.map +1 -0
  634. package/dist-lib/src/components/ui/Toast/toast-card.d.ts +35 -0
  635. package/dist-lib/src/components/ui/Toast/toast-card.d.ts.map +1 -0
  636. package/dist-lib/src/components/ui/Toast/toast.styles.d.ts +102 -0
  637. package/dist-lib/src/components/ui/Toast/toast.styles.d.ts.map +1 -0
  638. package/dist-lib/src/components/ui/avatar-ig/avatar.d.ts +23 -0
  639. package/dist-lib/src/components/ui/avatar-ig/avatar.d.ts.map +1 -0
  640. package/dist-lib/src/components/ui/avatar-ig/avatar.styles.d.ts +74 -0
  641. package/dist-lib/src/components/ui/avatar-ig/avatar.styles.d.ts.map +1 -0
  642. package/dist-lib/src/components/ui/avatar-ig/avatar.types.d.ts +16 -0
  643. package/dist-lib/src/components/ui/avatar-ig/avatar.types.d.ts.map +1 -0
  644. package/dist-lib/src/components/ui/avatar-ig/index.d.ts +4 -0
  645. package/dist-lib/src/components/ui/avatar-ig/index.d.ts.map +1 -0
  646. package/dist-lib/src/hooks/useTheme.d.ts +19 -0
  647. package/dist-lib/src/hooks/useTheme.d.ts.map +1 -0
  648. package/dist-lib/src/lib/lucide-types.d.ts +9 -0
  649. package/dist-lib/src/lib/lucide-types.d.ts.map +1 -0
  650. package/dist-lib/src/lib/utils.d.ts +3 -0
  651. package/dist-lib/src/lib/utils.d.ts.map +1 -0
  652. package/dist-lib/src/preview/mocks/app-shell-mocks.d.ts +16 -0
  653. package/dist-lib/src/preview/mocks/app-shell-mocks.d.ts.map +1 -0
  654. package/dist-lib/src/preview/mocks/index.d.ts +13 -0
  655. package/dist-lib/src/preview/mocks/index.d.ts.map +1 -0
  656. package/dist-lib/src/preview/pages/ChatV2/ChatV2.d.ts +2 -0
  657. package/dist-lib/src/preview/pages/ChatV2/ChatV2.d.ts.map +1 -0
  658. package/dist-lib/src/preview/pages/ChatV2/chat-v2-mocks.d.ts +22 -0
  659. package/dist-lib/src/preview/pages/ChatV2/chat-v2-mocks.d.ts.map +1 -0
  660. package/dist-lib/src/preview/pages/ChatV2/chat-v2.styles.d.ts +50 -0
  661. package/dist-lib/src/preview/pages/ChatV2/chat-v2.styles.d.ts.map +1 -0
  662. package/dist-lib/src/preview/pages/ChatV2/chat-v2.types.d.ts +54 -0
  663. package/dist-lib/src/preview/pages/ChatV2/chat-v2.types.d.ts.map +1 -0
  664. package/dist-lib/src/preview/pages/ChatV2/components/ChannelDot/channel-dot.d.ts +12 -0
  665. package/dist-lib/src/preview/pages/ChatV2/components/ChannelDot/channel-dot.d.ts.map +1 -0
  666. package/dist-lib/src/preview/pages/ChatV2/components/ConversationActionsMenu/conversation-actions-menu.d.ts +16 -0
  667. package/dist-lib/src/preview/pages/ChatV2/components/ConversationActionsMenu/conversation-actions-menu.d.ts.map +1 -0
  668. package/dist-lib/src/preview/pages/ChatV2/components/ConversationActionsMenu/index.d.ts +2 -0
  669. package/dist-lib/src/preview/pages/ChatV2/components/ConversationActionsMenu/index.d.ts.map +1 -0
  670. package/dist-lib/src/preview/pages/ChatV2/components/ConversationColumn/conversation-column.d.ts +8 -0
  671. package/dist-lib/src/preview/pages/ChatV2/components/ConversationColumn/conversation-column.d.ts.map +1 -0
  672. package/dist-lib/src/preview/pages/ChatV2/components/ConversationColumn/conversation-column.styles.d.ts +86 -0
  673. package/dist-lib/src/preview/pages/ChatV2/components/ConversationColumn/conversation-column.styles.d.ts.map +1 -0
  674. package/dist-lib/src/preview/pages/ChatV2/components/ConversationColumn/conversation-column.types.d.ts +10 -0
  675. package/dist-lib/src/preview/pages/ChatV2/components/ConversationColumn/conversation-column.types.d.ts.map +1 -0
  676. package/dist-lib/src/preview/pages/ChatV2/components/ConversationColumn/index.d.ts +3 -0
  677. package/dist-lib/src/preview/pages/ChatV2/components/ConversationColumn/index.d.ts.map +1 -0
  678. package/dist-lib/src/preview/pages/ChatV2/components/ConversationListItem/conversation-list-item.d.ts +7 -0
  679. package/dist-lib/src/preview/pages/ChatV2/components/ConversationListItem/conversation-list-item.d.ts.map +1 -0
  680. package/dist-lib/src/preview/pages/ChatV2/components/ConversationListItem/conversation-list-item.styles.d.ts +100 -0
  681. package/dist-lib/src/preview/pages/ChatV2/components/ConversationListItem/conversation-list-item.styles.d.ts.map +1 -0
  682. package/dist-lib/src/preview/pages/ChatV2/components/ConversationListItem/conversation-list-item.types.d.ts +7 -0
  683. package/dist-lib/src/preview/pages/ChatV2/components/ConversationListItem/conversation-list-item.types.d.ts.map +1 -0
  684. package/dist-lib/src/preview/pages/ChatV2/components/ConversationListItem/index.d.ts +3 -0
  685. package/dist-lib/src/preview/pages/ChatV2/components/ConversationListItem/index.d.ts.map +1 -0
  686. package/dist-lib/src/preview/pages/ChatV2/components/DateSeparator/date-separator.d.ts +10 -0
  687. package/dist-lib/src/preview/pages/ChatV2/components/DateSeparator/date-separator.d.ts.map +1 -0
  688. package/dist-lib/src/preview/pages/ChatV2/components/DetailField/detail-field.d.ts +13 -0
  689. package/dist-lib/src/preview/pages/ChatV2/components/DetailField/detail-field.d.ts.map +1 -0
  690. package/dist-lib/src/preview/pages/ChatV2/components/DetailSection/detail-section.d.ts +13 -0
  691. package/dist-lib/src/preview/pages/ChatV2/components/DetailSection/detail-section.d.ts.map +1 -0
  692. package/dist-lib/src/preview/pages/ChatV2/components/DetailSection/index.d.ts +2 -0
  693. package/dist-lib/src/preview/pages/ChatV2/components/DetailSection/index.d.ts.map +1 -0
  694. package/dist-lib/src/preview/pages/ChatV2/components/DetailsColumn/details-column.d.ts +8 -0
  695. package/dist-lib/src/preview/pages/ChatV2/components/DetailsColumn/details-column.d.ts.map +1 -0
  696. package/dist-lib/src/preview/pages/ChatV2/components/DetailsColumn/details-column.styles.d.ts +131 -0
  697. package/dist-lib/src/preview/pages/ChatV2/components/DetailsColumn/details-column.styles.d.ts.map +1 -0
  698. package/dist-lib/src/preview/pages/ChatV2/components/DetailsColumn/details-column.types.d.ts +15 -0
  699. package/dist-lib/src/preview/pages/ChatV2/components/DetailsColumn/details-column.types.d.ts.map +1 -0
  700. package/dist-lib/src/preview/pages/ChatV2/components/DetailsColumn/index.d.ts +3 -0
  701. package/dist-lib/src/preview/pages/ChatV2/components/DetailsColumn/index.d.ts.map +1 -0
  702. package/dist-lib/src/preview/pages/ChatV2/components/FilterRow/filter-row.d.ts +12 -0
  703. package/dist-lib/src/preview/pages/ChatV2/components/FilterRow/filter-row.d.ts.map +1 -0
  704. package/dist-lib/src/preview/pages/ChatV2/components/FilterRow/filter-row.styles.d.ts +67 -0
  705. package/dist-lib/src/preview/pages/ChatV2/components/FilterRow/filter-row.styles.d.ts.map +1 -0
  706. package/dist-lib/src/preview/pages/ChatV2/components/FilterRow/index.d.ts +2 -0
  707. package/dist-lib/src/preview/pages/ChatV2/components/FilterRow/index.d.ts.map +1 -0
  708. package/dist-lib/src/preview/pages/ChatV2/components/FiltersColumn/filters-column.d.ts +7 -0
  709. package/dist-lib/src/preview/pages/ChatV2/components/FiltersColumn/filters-column.d.ts.map +1 -0
  710. package/dist-lib/src/preview/pages/ChatV2/components/FiltersColumn/filters-column.styles.d.ts +104 -0
  711. package/dist-lib/src/preview/pages/ChatV2/components/FiltersColumn/filters-column.styles.d.ts.map +1 -0
  712. package/dist-lib/src/preview/pages/ChatV2/components/FiltersColumn/filters-column.types.d.ts +12 -0
  713. package/dist-lib/src/preview/pages/ChatV2/components/FiltersColumn/filters-column.types.d.ts.map +1 -0
  714. package/dist-lib/src/preview/pages/ChatV2/components/FiltersColumn/filters-rail.d.ts +7 -0
  715. package/dist-lib/src/preview/pages/ChatV2/components/FiltersColumn/filters-rail.d.ts.map +1 -0
  716. package/dist-lib/src/preview/pages/ChatV2/components/FiltersColumn/index.d.ts +4 -0
  717. package/dist-lib/src/preview/pages/ChatV2/components/FiltersColumn/index.d.ts.map +1 -0
  718. package/dist-lib/src/preview/pages/ChatV2/components/MessageBubble/index.d.ts +3 -0
  719. package/dist-lib/src/preview/pages/ChatV2/components/MessageBubble/index.d.ts.map +1 -0
  720. package/dist-lib/src/preview/pages/ChatV2/components/MessageBubble/message-bubble.d.ts +7 -0
  721. package/dist-lib/src/preview/pages/ChatV2/components/MessageBubble/message-bubble.d.ts.map +1 -0
  722. package/dist-lib/src/preview/pages/ChatV2/components/MessageBubble/message-bubble.styles.d.ts +76 -0
  723. package/dist-lib/src/preview/pages/ChatV2/components/MessageBubble/message-bubble.styles.d.ts.map +1 -0
  724. package/dist-lib/src/preview/pages/ChatV2/components/MessageBubble/message-bubble.types.d.ts +5 -0
  725. package/dist-lib/src/preview/pages/ChatV2/components/MessageBubble/message-bubble.types.d.ts.map +1 -0
  726. package/dist-lib/src/preview/pages/ChatV2/components/PersonAvatar/index.d.ts +2 -0
  727. package/dist-lib/src/preview/pages/ChatV2/components/PersonAvatar/index.d.ts.map +1 -0
  728. package/dist-lib/src/preview/pages/ChatV2/components/PersonAvatar/person-avatar.d.ts +14 -0
  729. package/dist-lib/src/preview/pages/ChatV2/components/PersonAvatar/person-avatar.d.ts.map +1 -0
  730. package/dist-lib/src/preview/pages/ChatV2/components/QueueColumn/index.d.ts +3 -0
  731. package/dist-lib/src/preview/pages/ChatV2/components/QueueColumn/index.d.ts.map +1 -0
  732. package/dist-lib/src/preview/pages/ChatV2/components/QueueColumn/queue-column.d.ts +7 -0
  733. package/dist-lib/src/preview/pages/ChatV2/components/QueueColumn/queue-column.d.ts.map +1 -0
  734. package/dist-lib/src/preview/pages/ChatV2/components/QueueColumn/queue-column.styles.d.ts +86 -0
  735. package/dist-lib/src/preview/pages/ChatV2/components/QueueColumn/queue-column.styles.d.ts.map +1 -0
  736. package/dist-lib/src/preview/pages/ChatV2/components/QueueColumn/queue-column.types.d.ts +13 -0
  737. package/dist-lib/src/preview/pages/ChatV2/components/QueueColumn/queue-column.types.d.ts.map +1 -0
  738. package/dist-lib/src/preview/pages/ChatV2/components/RailItem/index.d.ts +2 -0
  739. package/dist-lib/src/preview/pages/ChatV2/components/RailItem/index.d.ts.map +1 -0
  740. package/dist-lib/src/preview/pages/ChatV2/components/RailItem/rail-item.d.ts +12 -0
  741. package/dist-lib/src/preview/pages/ChatV2/components/RailItem/rail-item.d.ts.map +1 -0
  742. package/dist-lib/src/preview/pages/ChatV2/components/RailItem/rail-item.styles.d.ts +49 -0
  743. package/dist-lib/src/preview/pages/ChatV2/components/RailItem/rail-item.styles.d.ts.map +1 -0
  744. package/dist-lib/src/preview/pages/ChatV2/hooks/use-resizable.d.ts +36 -0
  745. package/dist-lib/src/preview/pages/ChatV2/hooks/use-resizable.d.ts.map +1 -0
  746. package/dist-lib/src/preview/pages/ChatV2/index.d.ts +11 -0
  747. package/dist-lib/src/preview/pages/ChatV2/index.d.ts.map +1 -0
  748. package/dist-lib/src/preview/pages/ClientesShowcase/ClientesShowcase.d.ts +2 -0
  749. package/dist-lib/src/preview/pages/ClientesShowcase/ClientesShowcase.d.ts.map +1 -0
  750. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase-mocks.d.ts +35 -0
  751. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase-mocks.d.ts.map +1 -0
  752. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase.styles.d.ts +37 -0
  753. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase.styles.d.ts.map +1 -0
  754. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase.types.d.ts +16 -0
  755. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase.types.d.ts.map +1 -0
  756. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.d.ts +8 -0
  757. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.d.ts.map +1 -0
  758. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.styles.d.ts +73 -0
  759. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.styles.d.ts.map +1 -0
  760. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.types.d.ts +14 -0
  761. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.types.d.ts.map +1 -0
  762. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/index.d.ts +3 -0
  763. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/index.d.ts.map +1 -0
  764. package/dist-lib/src/preview/pages/ClientesShowcase/components/NovoClienteDrawer/index.d.ts +3 -0
  765. package/dist-lib/src/preview/pages/ClientesShowcase/components/NovoClienteDrawer/index.d.ts.map +1 -0
  766. package/dist-lib/src/preview/pages/ClientesShowcase/components/NovoClienteDrawer/novo-cliente-drawer.d.ts +22 -0
  767. package/dist-lib/src/preview/pages/ClientesShowcase/components/NovoClienteDrawer/novo-cliente-drawer.d.ts.map +1 -0
  768. package/dist-lib/src/preview/pages/ClientesShowcase/index.d.ts +11 -0
  769. package/dist-lib/src/preview/pages/ClientesShowcase/index.d.ts.map +1 -0
  770. package/dist-lib/src/preview/pages/DashboardShowcase.d.ts +2 -0
  771. package/dist-lib/src/preview/pages/DashboardShowcase.d.ts.map +1 -0
  772. package/dist-lib/src/utils/color-contrast.d.ts +48 -0
  773. package/dist-lib/src/utils/color-contrast.d.ts.map +1 -0
  774. package/dist-lib/src/utils/tv.d.ts +4 -0
  775. package/dist-lib/src/utils/tv.d.ts.map +1 -0
  776. package/dist-lib/theme.css +61 -24
  777. package/dist-lib/tokens/brands/default/components/sizing.d.ts +137 -0
  778. package/dist-lib/tokens/brands/default/components/sizing.d.ts.map +1 -0
  779. package/dist-lib/tokens/brands/default/components/spacing.d.ts +50 -0
  780. package/dist-lib/tokens/brands/default/components/spacing.d.ts.map +1 -0
  781. package/dist-lib/tokens/brands/default/primitives/color-palette.d.ts +276 -0
  782. package/dist-lib/tokens/brands/default/primitives/color-palette.d.ts.map +1 -0
  783. package/dist-lib/tokens/brands/default/primitives/fonts.d.ts +63 -0
  784. package/dist-lib/tokens/brands/default/primitives/fonts.d.ts.map +1 -0
  785. package/dist-lib/tokens/brands/default/primitives/motion.d.ts +47 -0
  786. package/dist-lib/tokens/brands/default/primitives/motion.d.ts.map +1 -0
  787. package/dist-lib/tokens/brands/default/primitives/scales.d.ts +50 -0
  788. package/dist-lib/tokens/brands/default/primitives/scales.d.ts.map +1 -0
  789. package/dist-lib/tokens/brands/default/semantic/color-dark.d.ts +207 -0
  790. package/dist-lib/tokens/brands/default/semantic/color-dark.d.ts.map +1 -0
  791. package/dist-lib/tokens/brands/default/semantic/color-light.d.ts +212 -0
  792. package/dist-lib/tokens/brands/default/semantic/color-light.d.ts.map +1 -0
  793. package/dist-lib/tokens/brands/default/semantic/elevation.d.ts +147 -0
  794. package/dist-lib/tokens/brands/default/semantic/elevation.d.ts.map +1 -0
  795. package/dist-lib/tokens/brands/default/semantic/shape.d.ts +90 -0
  796. package/dist-lib/tokens/brands/default/semantic/shape.d.ts.map +1 -0
  797. package/dist-lib/tokens/brands/default/semantic/sizing.d.ts +42 -0
  798. package/dist-lib/tokens/brands/default/semantic/sizing.d.ts.map +1 -0
  799. package/dist-lib/tokens/brands/default/semantic/spacing.d.ts +121 -0
  800. package/dist-lib/tokens/brands/default/semantic/spacing.d.ts.map +1 -0
  801. package/dist-lib/tokens/brands/default/semantic/typography.d.ts +59 -0
  802. package/dist-lib/tokens/brands/default/semantic/typography.d.ts.map +1 -0
  803. package/dist-lib/tokens/index.d.ts +22 -0
  804. package/dist-lib/tokens/index.d.ts.map +1 -0
  805. package/dist-lib/tokens.cjs +49 -4
  806. package/dist-lib/tokens.cjs.map +1 -1
  807. package/dist-lib/tokens.mjs +49 -4
  808. package/dist-lib/tokens.mjs.map +1 -1
  809. package/package.json +39 -12
  810. package/dist-lib/chunks/app-shell-BdVam01i.cjs.map +0 -1
  811. package/dist-lib/chunks/app-shell-C_enrPD8.mjs.map +0 -1
  812. package/dist-lib/chunks/badge-B0D_PRxn.mjs.map +0 -1
  813. package/dist-lib/chunks/badge-CUttkO1X.cjs.map +0 -1
  814. package/dist-lib/chunks/clientes-showcase-mocks-CPNOhx1G.cjs.map +0 -1
  815. package/dist-lib/chunks/clientes-showcase-mocks-DEHCKxMK.mjs.map +0 -1
  816. package/dist-lib/chunks/page-header-DM2G1mdi.mjs.map +0 -1
  817. package/dist-lib/chunks/page-header-qOywgRWy.cjs.map +0 -1
  818. package/dist-lib/chunks/panel-CCYNbXJR.mjs.map +0 -1
  819. package/dist-lib/chunks/panel-CSuFQHMl.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"clientes.mjs","sources":["../../src/preview/pages/ClientesShowcase/clientes-showcase.styles.ts","../../src/preview/pages/ClientesShowcase/components/NovoClienteDrawer/novo-cliente-drawer.tsx","../../src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.styles.ts","../../src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.tsx","../../src/preview/pages/ClientesShowcase/ClientesShowcase.tsx"],"sourcesContent":["import { tv } from \"@/utils/tv\";\r\n\r\n/**\r\n * Layout em grid de 2 colunas usado dentro do drawer pra pares de campos\r\n * (Email + WhatsApp, Cidade + Valor).\r\n */\r\nexport const drawerFormStyles = tv({\r\n slots: {\r\n twoCols: \"grid grid-cols-2 gap-gp-xl\",\r\n fieldLabel:\r\n \"text-body-sm font-semibold tracking-[0.01em] leading-none text-fg-default dark:text-fg-muted select-none\",\r\n statusDot: \"inline-block size-[8px] rounded-radius-full mr-gp-xs shrink-0\",\r\n },\r\n});\r\n","import { useEffect, useState } from \"react\";\nimport { Panel } from \"@/components/ui/Panel\";\nimport { Button } from \"@/components/ui/Button/button\";\nimport {\n FormField,\n FormFieldInput,\n FormFieldSelect,\n FormFieldTextarea,\n} from \"@/components/ui/FormField\";\nimport { ChipGroup, ChipGroupItem } from \"@/components/ui/Chip\";\nimport { STATUSES, CATEGORIES } from \"../../../TableDoc\";\nimport { CITIES, STATUS_DOT } from \"../../clientes-showcase-mocks\";\nimport { drawerFormStyles } from \"../../clientes-showcase.styles\";\nimport type { NovoClienteFormData } from \"../../clientes-showcase.types\";\n\nconst INITIAL_FORM: NovoClienteFormData = {\n name: \"\",\n email: \"\",\n whatsapp: \"\",\n statusId: \"active\",\n categoryId: \"lead\",\n city: \"\",\n value: 0,\n notes: \"\",\n};\n\nexport type NovoClienteDrawerProps = {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n /** Disparado ao confirmar — drawer fecha automaticamente após o submit. */\n onSubmit?: (data: NovoClienteFormData) => void;\n};\n\n/**\n * Drawer \"Novo cliente\" — replica visual do TblClientFormDrawer\n * (sandbox /design-and-table-v2), recompilado em cima dos componentes do DS:\n * Panel + FormField (Input / Select / Textarea) + ChipGroup + Button.\n *\n * Layout (top → bottom):\n * 1. Nome* — full width\n * 2. Email + WhatsApp — 2 cols\n * 3. Status — ChipGroup com dot colorido\n * 4. Categoria — ChipGroup\n * 5. Cidade + Valor R$ — 2 cols\n * 6. Notas — textarea full width\n */\nexport function NovoClienteDrawer({\n open,\n onOpenChange,\n onSubmit,\n}: NovoClienteDrawerProps) {\n const s = drawerFormStyles();\n const [form, setForm] = useState<NovoClienteFormData>(INITIAL_FORM);\n\n // Reseta form sempre que abrir\n useEffect(() => {\n if (open) setForm(INITIAL_FORM);\n }, [open]);\n\n const canSubmit = form.name.trim().length > 0;\n\n const handleSubmit = () => {\n if (!canSubmit) return;\n onSubmit?.(form);\n onOpenChange(false);\n };\n\n return (\n <Panel\n open={open}\n onOpenChange={onOpenChange}\n title=\"Novo cliente\"\n side=\"right\"\n size=\"md\"\n footer={\n <>\n <Button\n variant=\"outline\"\n color=\"secondary\"\n size=\"md\"\n onClick={() => onOpenChange(false)}\n >\n Cancelar\n </Button>\n <Button\n variant=\"filled\"\n color=\"primary\"\n size=\"md\"\n disabled={!canSubmit}\n onClick={handleSubmit}\n >\n Criar cliente\n </Button>\n </>\n }\n >\n <FormFieldInput\n label=\"Nome\"\n required\n placeholder=\"Maria Silva\"\n value={form.name}\n onChange={(e) => setForm((f) => ({ ...f, name: e.target.value }))}\n />\n\n <div className={s.twoCols()}>\n <FormFieldInput\n label=\"Email\"\n type=\"email\"\n placeholder=\"cliente@exemplo.com\"\n value={form.email}\n onChange={(e) => setForm((f) => ({ ...f, email: e.target.value }))}\n />\n <FormFieldInput\n label=\"WhatsApp\"\n type=\"tel\"\n placeholder=\"55 11 99999-9999\"\n value={form.whatsapp}\n onChange={(e) => setForm((f) => ({ ...f, whatsapp: e.target.value }))}\n />\n </div>\n\n <FormField label=\"Status\">\n {() => (\n <ChipGroup\n type=\"single\"\n value={form.statusId}\n onValueChange={(v) =>\n v &&\n setForm((f) => ({\n ...f,\n statusId: v as keyof typeof STATUSES,\n }))\n }\n size=\"md\"\n shape=\"pill\"\n ariaLabel=\"Status do cliente\"\n >\n {Object.entries(STATUSES).map(([id, st]) => (\n <ChipGroupItem key={id} value={id}>\n <span\n className={s.statusDot()}\n style={{ background: STATUS_DOT[id] ?? st.color }}\n aria-hidden\n />\n {st.label}\n </ChipGroupItem>\n ))}\n </ChipGroup>\n )}\n </FormField>\n\n <FormField label=\"Categoria\">\n {() => (\n <ChipGroup\n type=\"single\"\n value={form.categoryId}\n onValueChange={(v) =>\n v &&\n setForm((f) => ({\n ...f,\n categoryId: v as keyof typeof CATEGORIES,\n }))\n }\n size=\"md\"\n shape=\"pill\"\n ariaLabel=\"Categoria do cliente\"\n >\n {Object.entries(CATEGORIES).map(([id, cat]) => (\n <ChipGroupItem key={id} value={id}>\n {cat.label}\n </ChipGroupItem>\n ))}\n </ChipGroup>\n )}\n </FormField>\n\n <div className={s.twoCols()}>\n <FormFieldSelect\n label=\"Cidade\"\n placeholder=\"Selecionar...\"\n value={form.city || undefined}\n onValueChange={(v) => setForm((f) => ({ ...f, city: v }))}\n options={CITIES.map((c) => ({ value: c, label: c }))}\n />\n <FormFieldInput\n label=\"Valor (R$)\"\n type=\"number\"\n startAddon=\"R$\"\n value={String(form.value)}\n onChange={(e) =>\n setForm((f) => ({ ...f, value: Number(e.target.value) }))\n }\n min={0}\n step={0.01}\n />\n </div>\n\n <FormFieldTextarea\n label=\"Notas\"\n placeholder=\"Observações sobre o cliente...\"\n rows={4}\n value={form.notes}\n onChange={(e) => setForm((f) => ({ ...f, notes: e.target.value }))}\n />\n </Panel>\n );\n}\n","import { tv } from \"@/utils/tv\";\r\n\r\n/**\r\n * Styles do DetailDrawer — apenas as partes internas (sections collapsibles\r\n * + DetailField). O shell flutuante (aside, header com avatar+meta, footer\r\n * com botões) é delegado ao `<FloatingPanel>` do DS.\r\n */\r\nexport const detailDrawerStyles = tv({\r\n slots: {\r\n section: \"border-b border-border-default last:border-b-0\",\r\n sectionHead: [\r\n \"flex items-center justify-between w-full\",\r\n \"px-[18px] py-[14px]\",\r\n \"bg-transparent border-0 cursor-pointer text-left\",\r\n \"text-body-sm font-semibold text-fg-default\",\r\n \"transition-colors duration-150\",\r\n \"hover:bg-bg-muted\",\r\n \"focus-visible:outline-none focus-visible:bg-bg-muted\",\r\n ],\r\n sectionChev: \"size-[14px] text-fg-muted transition-transform duration-200\",\r\n sectionChevOpen: \"rotate-180\",\r\n sectionBody: \"flex flex-col gap-gp-md px-[18px] pb-pad-2xl\",\r\n\r\n field: \"flex items-baseline justify-between gap-gp-md text-body-sm font-normal\",\r\n fieldLabel: \"text-body-xs font-normal text-fg-muted shrink-0\",\r\n fieldValue: \"text-fg-default text-right break-words min-w-0\",\r\n },\r\n});\r\n","import { useState, type ReactNode } from \"react\";\r\nimport { ChevronDown, Pencil, Trash2 } from \"lucide-react\";\r\nimport { Avatar, AvatarFallback } from \"@/components/shadcn/avatar\";\r\nimport { Button } from \"@/components/ui/Button/button\";\r\nimport { Chip } from \"@/components/ui/Chip\";\r\nimport { FloatingPanel } from \"@/components/ui/FloatingPanel\";\r\nimport { STATUSES, CATEGORIES, AGENTS } from \"../../../TableDoc\";\r\nimport {\r\n CATEGORY_KIND,\r\n STATUS_DOT,\r\n formatBRL,\r\n formatShortDate,\r\n} from \"../../clientes-showcase-mocks\";\r\nimport { detailDrawerStyles } from \"./detail-drawer.styles\";\r\nimport type { DetailDrawerProps } from \"./detail-drawer.types\";\r\n\r\n/* ── Helpers internos ────────────────────────────────────────────── */\r\n\r\nfunction formatLongDate(ms: number): string {\r\n if (!ms) return \"—\";\r\n const d = new Date(ms);\r\n return d.toLocaleDateString(\"pt-BR\", {\r\n day: \"numeric\",\r\n month: \"long\",\r\n year: \"numeric\",\r\n });\r\n}\r\n\r\ntype SectionId = \"contact\" | \"meta\" | \"notes\";\r\n\r\n/* ── DetailField (label : value) ────────────────────────────────── */\r\n\r\ntype DetailFieldProps = {\r\n label: string;\r\n value: ReactNode;\r\n s: ReturnType<typeof detailDrawerStyles>;\r\n};\r\n\r\nfunction DetailField({ label, value, s }: DetailFieldProps) {\r\n return (\r\n <div className={s.field()}>\r\n <span className={s.fieldLabel()}>{label}</span>\r\n <span className={s.fieldValue()}>{value || \"—\"}</span>\r\n </div>\r\n );\r\n}\r\n\r\n/* ── DetailSection (collapsible) ─────────────────────────────────── */\r\n\r\ntype DetailSectionProps = {\r\n id: SectionId;\r\n title: string;\r\n open: boolean;\r\n onToggle: (id: SectionId) => void;\r\n children: ReactNode;\r\n s: ReturnType<typeof detailDrawerStyles>;\r\n};\r\n\r\nfunction DetailSection({\r\n id,\r\n title,\r\n open,\r\n onToggle,\r\n children,\r\n s,\r\n}: DetailSectionProps) {\r\n return (\r\n <section className={s.section()}>\r\n <button\r\n type=\"button\"\r\n className={s.sectionHead()}\r\n onClick={() => onToggle(id)}\r\n aria-expanded={open}\r\n >\r\n <span>{title}</span>\r\n <ChevronDown\r\n className={[s.sectionChev(), open ? s.sectionChevOpen() : \"\"].join(\" \")}\r\n />\r\n </button>\r\n {open && <div className={s.sectionBody()}>{children}</div>}\r\n </section>\r\n );\r\n}\r\n\r\n/* ── DetailDrawer ────────────────────────────────────────────────── */\r\n\r\n/**\r\n * Drawer \"Detalhes do cliente\" — usa `<FloatingPanel>` do DS (non-modal,\r\n * resizable, maximizable, responsive). Replica visual do `TblDetailsPanel`\r\n * do sandbox /design-and-table-v2.\r\n */\r\nexport function DetailDrawer({\r\n row,\r\n onClose,\r\n onEdit,\r\n onDelete,\r\n onSave,\r\n}: DetailDrawerProps) {\r\n const s = detailDrawerStyles();\r\n const [openSections, setOpenSections] = useState<Set<SectionId>>(\r\n () => new Set([\"contact\", \"meta\", \"notes\"]),\r\n );\r\n\r\n const toggle = (id: SectionId) => {\r\n setOpenSections((prev) => {\r\n const next = new Set(prev);\r\n if (next.has(id)) next.delete(id);\r\n else next.add(id);\r\n return next;\r\n });\r\n };\r\n\r\n // Mantém ordem dos hooks estável independente de `row` — depois do toggle.\r\n if (!row) return null;\r\n\r\n const status = STATUSES[row.statusId];\r\n const cat = CATEGORIES[row.categoryId as keyof typeof CATEGORIES];\r\n const agent = AGENTS[row.agentId as keyof typeof AGENTS];\r\n const agentInitials =\r\n agent?.name.split(\" \").map((p) => p[0]).join(\"\").slice(0, 2) ?? \"?\";\r\n\r\n return (\r\n <FloatingPanel\r\n open={row !== null}\r\n onOpenChange={(open) => {\r\n if (!open) onClose();\r\n }}\r\n side=\"right\"\r\n size=\"md\"\r\n resizable\r\n maximizable\r\n resizableStorageKey=\"clientes-showcase.detail-drawer.width\"\r\n titleSlot={\r\n <div className=\"flex items-center gap-gp-md min-w-0\">\r\n <Avatar\r\n className=\"size-[40px] shrink-0\"\r\n style={{ background: row.avatarColor }}\r\n >\r\n <AvatarFallback className=\"bg-transparent text-white text-body-md font-bold\">\r\n {row.initials}\r\n </AvatarFallback>\r\n </Avatar>\r\n <div className=\"flex flex-col min-w-0 flex-1\">\r\n <div className=\"text-body-md font-semibold text-fg-default whitespace-nowrap overflow-hidden text-ellipsis\">\r\n {row.name}\r\n </div>\r\n <div className=\"flex items-center gap-[6px] mt-[2px] text-body-xs font-normal text-fg-muted\">\r\n <span>{row.id}</span>\r\n <span className=\"opacity-50\">·</span>\r\n <span className=\"inline-flex items-center gap-[6px]\">\r\n <span\r\n className=\"inline-block size-[8px] rounded-radius-full shrink-0\"\r\n style={{ background: STATUS_DOT[row.statusId] ?? status?.color }}\r\n aria-hidden\r\n />\r\n {status?.label}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n headerActions={\r\n <>\r\n <Button\r\n variant=\"soft\"\r\n color=\"secondary\"\r\n size=\"icon-sm\"\r\n aria-label=\"Editar\"\r\n onClick={() => onEdit?.(row)}\r\n >\r\n <Pencil />\r\n </Button>\r\n <Button\r\n variant=\"soft\"\r\n color=\"critical\"\r\n size=\"icon-sm\"\r\n aria-label=\"Excluir\"\r\n onClick={() => onDelete?.(row)}\r\n >\r\n <Trash2 />\r\n </Button>\r\n </>\r\n }\r\n footer={\r\n <>\r\n <Button variant=\"outline\" color=\"secondary\" size=\"sm\" onClick={onClose}>\r\n Cancelar\r\n </Button>\r\n <Button\r\n variant=\"filled\"\r\n color=\"primary\"\r\n size=\"sm\"\r\n onClick={() => onSave?.(row)}\r\n >\r\n Salvar alterações\r\n </Button>\r\n </>\r\n }\r\n >\r\n <DetailSection\r\n id=\"contact\"\r\n title=\"Contato\"\r\n open={openSections.has(\"contact\")}\r\n onToggle={toggle}\r\n s={s}\r\n >\r\n <DetailField\r\n label=\"Email\"\r\n value={\r\n <a\r\n href={`mailto:${row.email}`}\r\n className=\"text-fg-brand hover:underline\"\r\n >\r\n {row.email}\r\n </a>\r\n }\r\n s={s}\r\n />\r\n <DetailField\r\n label=\"Telefone\"\r\n value={\r\n <a\r\n href={`tel:${row.phone.replace(/\\D/g, \"\")}`}\r\n className=\"text-fg-brand hover:underline\"\r\n >\r\n {row.phone}\r\n </a>\r\n }\r\n s={s}\r\n />\r\n <DetailField label=\"Localização\" value={row.location} s={s} />\r\n </DetailSection>\r\n\r\n <DetailSection\r\n id=\"meta\"\r\n title=\"Atendimento\"\r\n open={openSections.has(\"meta\")}\r\n onToggle={toggle}\r\n s={s}\r\n >\r\n <DetailField label=\"ID\" value={row.id} s={s} />\r\n <DetailField\r\n label=\"Categoria\"\r\n value={\r\n cat ? (\r\n <Chip\r\n color={CATEGORY_KIND[row.categoryId] ?? \"info\"}\r\n variant=\"soft\"\r\n size=\"sm\"\r\n shape=\"pill\"\r\n >\r\n {cat.label}\r\n </Chip>\r\n ) : (\r\n \"—\"\r\n )\r\n }\r\n s={s}\r\n />\r\n <DetailField\r\n label=\"Atribuído a\"\r\n value={\r\n agent ? (\r\n <span className=\"inline-flex items-center gap-gp-sm\">\r\n <Avatar\r\n className=\"size-[22px]\"\r\n style={{ background: agent.color }}\r\n >\r\n <AvatarFallback className=\"bg-transparent text-white text-caption-xs font-bold\">\r\n {agentInitials}\r\n </AvatarFallback>\r\n </Avatar>\r\n {agent.name}\r\n </span>\r\n ) : (\r\n \"—\"\r\n )\r\n }\r\n s={s}\r\n />\r\n <DetailField label=\"Valor\" value={formatBRL(row.value)} s={s} />\r\n <DetailField label=\"Criado em\" value={formatLongDate(row.createdAt)} s={s} />\r\n <DetailField\r\n label=\"Último contato\"\r\n value={formatShortDate(row.lastContact)}\r\n s={s}\r\n />\r\n </DetailSection>\r\n\r\n <DetailSection\r\n id=\"notes\"\r\n title=\"Anotações\"\r\n open={openSections.has(\"notes\")}\r\n onToggle={toggle}\r\n s={s}\r\n >\r\n <p className=\"text-body-xs font-normal text-fg-muted\">Sem anotações.</p>\r\n </DetailSection>\r\n </FloatingPanel>\r\n );\r\n}\r\n","import { useCallback, useMemo, useRef, useState } from \"react\";\r\nimport { useTheme, type Theme } from \"@/hooks/useTheme\";\r\nimport {\r\n Archive,\r\n Clock,\r\n Copy,\r\n Download,\r\n Maximize2,\r\n MessageSquare,\r\n MoreHorizontal,\r\n Pencil,\r\n Plus,\r\n RotateCcw,\r\n Trash2,\r\n Upload,\r\n} from \"lucide-react\";\r\nimport {\r\n CATEGORIES,\r\n AGENTS,\r\n type ClientRow,\r\n} from \"../TableDoc\";\r\nimport {\r\n DataTable,\r\n presetView,\r\n type DataTableColumnDef,\r\n type DataTableKanbanConfig,\r\n type DataTablePresetView,\r\n type DataTableRef,\r\n type DataTableViewMode,\r\n type FilterModel,\r\n} from \"@/components/ui/DataTable\";\r\nimport { AppShell } from \"@/components/ui/AppShell\";\r\nimport { Button } from \"@/components/ui/Button/button\";\r\nimport { Chip } from \"@/components/ui/Chip\";\r\nimport { PageHeader } from \"@/components/ui/PageHeader\";\r\nimport { BulkActionButton } from \"@/components/ui/TableToolbar\";\r\nimport { Avatar, AvatarFallback } from \"@/components/shadcn/avatar\";\r\nimport {\r\n APP_SHELL_CONTEXTS,\r\n APP_SHELL_COMMANDS,\r\n APP_SHELL_NOTIFICATIONS,\r\n APP_SHELL_MESSAGES,\r\n APP_SHELL_THEME_OPTIONS,\r\n APP_SHELL_LAYOUT_OPTIONS,\r\n APP_SHELL_USER,\r\n} from \"../../mocks/app-shell-mocks\";\r\nimport {\r\n CLIENTS_87,\r\n STATUS_OPTIONS,\r\n CATEGORY_OPTIONS,\r\n AGENT_OPTIONS,\r\n AGENTS_LOOKUP,\r\n KANBAN_COLUMNS,\r\n CATEGORY_KIND,\r\n formatBRL,\r\n formatShortDate,\r\n} from \"./clientes-showcase-mocks\";\r\nimport { NovoClienteDrawer } from \"./components/NovoClienteDrawer\";\r\nimport { DetailDrawer } from \"./components/DetailDrawer\";\r\nimport { AlertModal } from \"@/components/ui/AlertModal\";\r\n\r\n/* ── Columns declarativas (type-based) ─────────────────────────── */\r\n\r\ntype ColumnHandlers = {\r\n /** Pede confirmação de exclusão (abre o AlertModal). */\r\n onAskDelete: (row: ClientRow) => void;\r\n};\r\n\r\nfunction buildColumns(handlers: ColumnHandlers): DataTableColumnDef<ClientRow>[] {\r\n return [\r\n { field: \"id\", headerName: \"ID\", type: \"text\", width: 130 },\r\n {\r\n field: \"name\",\r\n headerName: \"Nome\",\r\n type: \"user\",\r\n sortable: true,\r\n width: 220,\r\n typeOptions: {\r\n users: Object.fromEntries(\r\n CLIENTS_87.map((c) => [\r\n c.name,\r\n {\r\n name: c.name,\r\n initials: c.initials,\r\n color: c.avatarColor,\r\n },\r\n ]),\r\n ),\r\n },\r\n valueGetter: (row) => row.name,\r\n },\r\n {\r\n field: \"email\",\r\n headerName: \"Email\",\r\n type: \"email\",\r\n enableColumnFilter: true,\r\n filterType: \"text\",\r\n },\r\n {\r\n field: \"phone\",\r\n headerName: \"Telefone\",\r\n type: \"phone\",\r\n },\r\n {\r\n field: \"statusId\",\r\n headerName: \"Status\",\r\n type: \"status\",\r\n enableColumnFilter: true,\r\n filterType: \"multiSelect\",\r\n filterOptions: STATUS_OPTIONS,\r\n },\r\n {\r\n field: \"categoryId\",\r\n headerName: \"Categoria\",\r\n type: \"badge\",\r\n enableColumnFilter: true,\r\n filterType: \"multiSelect\",\r\n filterOptions: CATEGORY_OPTIONS,\r\n },\r\n {\r\n field: \"agentId\",\r\n headerName: \"Atribuído\",\r\n type: \"user\",\r\n enableColumnFilter: true,\r\n filterType: \"select\",\r\n filterOptions: AGENT_OPTIONS,\r\n typeOptions: { users: AGENTS_LOOKUP },\r\n },\r\n {\r\n field: \"value\",\r\n headerName: \"Valor\",\r\n type: \"currency\",\r\n sortable: true,\r\n enableColumnFilter: true,\r\n filterType: \"number\",\r\n aggregate: \"sum\",\r\n aggregateFormatter: (v) =>\r\n new Intl.NumberFormat(\"pt-BR\", { style: \"currency\", currency: \"BRL\" }).format(v),\r\n },\r\n {\r\n field: \"createdAt\",\r\n headerName: \"Criado em\",\r\n type: \"date\",\r\n sortable: true,\r\n enableColumnFilter: true,\r\n filterType: \"date\",\r\n width: 130,\r\n },\r\n {\r\n field: \"lastContact\",\r\n headerName: \"Último contato\",\r\n type: \"date\",\r\n sortable: true,\r\n width: 150,\r\n },\r\n {\r\n field: \"location\",\r\n headerName: \"Localização\",\r\n type: \"text\",\r\n minWidth: 150,\r\n },\r\n {\r\n field: \"_actions\",\r\n headerName: \"\",\r\n type: \"actions\",\r\n width: 64,\r\n pinned: \"right\",\r\n getActions: ({ row }) => [\r\n {\r\n id: \"edit\",\r\n label: \"Editar\",\r\n icon: <Pencil />,\r\n showInMenu: true,\r\n onClick: () => console.log(\"Editar\", row.id),\r\n },\r\n {\r\n id: \"whatsapp\",\r\n label: \"Abrir atendimento (WhatsApp)\",\r\n icon: <MessageSquare />,\r\n showInMenu: true,\r\n onClick: () => console.log(\"Atendimento\", row.id),\r\n },\r\n {\r\n id: \"archive\",\r\n label: \"Arquivar\",\r\n icon: <Archive />,\r\n showInMenu: true,\r\n onClick: () => console.log(\"Arquivar\", row.id),\r\n },\r\n {\r\n id: \"delete\",\r\n label: \"Excluir cliente\",\r\n icon: <Trash2 />,\r\n showInMenu: true,\r\n destructive: true,\r\n onClick: () => handlers.onAskDelete(row),\r\n },\r\n ],\r\n },\r\n ];\r\n}\r\n\r\n/* ── Saved views / Presets — tabs do toolbar ───────────────────── */\r\n\r\nconst DEFAULT_VIEWS: DataTablePresetView[] = [\r\n presetView({\r\n id: \"preset:meus\",\r\n name: \"Meus\",\r\n filters: [{ field: \"agentId\", value: \"you\" }],\r\n }),\r\n presetView({\r\n id: \"preset:ativos\",\r\n name: \"Ativos\",\r\n filters: [{ field: \"statusId\", value: \"active\" }],\r\n }),\r\n presetView({\r\n id: \"preset:royals\",\r\n name: \"Royals\",\r\n filters: [{ field: \"categoryId\", value: \"royal\" }],\r\n }),\r\n presetView({\r\n id: \"preset:ultimos-7-dias\",\r\n name: \"Últimos 7 dias\",\r\n sort: [{ field: \"createdAt\", direction: \"desc\" }],\r\n }),\r\n];\r\n\r\n/* ── Filtros iniciais (Status=Ativo + Categoria=Royal — print) ─── */\r\n\r\nconst INITIAL_FILTERS: FilterModel = {\r\n items: [\r\n { id: \"filter-status-ativo\", field: \"statusId\", operator: \"equals\", value: \"active\" },\r\n { id: \"filter-categoria-royal\", field: \"categoryId\", operator: \"equals\", value: \"royal\" },\r\n ],\r\n logicOperator: \"AND\",\r\n};\r\n\r\n/* ── Kanban config (renderCard com JSX) ────────────────────────── */\r\n\r\nconst KANBAN_CONFIG: DataTableKanbanConfig<ClientRow> = {\r\n groupByField: \"statusId\",\r\n columns: KANBAN_COLUMNS,\r\n renderCard: ({ row }) => {\r\n const cat = CATEGORIES[row.categoryId as keyof typeof CATEGORIES];\r\n const agent = AGENTS[row.agentId as keyof typeof AGENTS];\r\n const agentInitials = agent?.name.split(\" \").map((s) => s[0]).join(\"\").slice(0, 2) ?? \"?\";\r\n return {\r\n title: row.name,\r\n subtitle: row.id,\r\n avatar: (\r\n <Avatar className=\"size-[28px]\" style={{ background: row.avatarColor }}>\r\n <AvatarFallback className=\"bg-transparent text-white text-caption-sm font-bold\">\r\n {row.initials}\r\n </AvatarFallback>\r\n </Avatar>\r\n ),\r\n chip: cat ? (\r\n <Chip\r\n color={CATEGORY_KIND[row.categoryId] ?? \"info\"}\r\n variant=\"soft\"\r\n size=\"sm\"\r\n shape=\"pill\"\r\n >\r\n {cat.label}\r\n </Chip>\r\n ) : null,\r\n value: formatBRL(row.value),\r\n footerLeft: agent ? (\r\n <span className=\"inline-flex items-center gap-gp-sm min-w-0 flex-1\">\r\n <Avatar className=\"size-[22px]\" style={{ background: agent.color }}>\r\n <AvatarFallback className=\"bg-transparent text-white text-caption-xs font-bold\">\r\n {agentInitials}\r\n </AvatarFallback>\r\n </Avatar>\r\n <span className=\"text-body-xs font-normal text-fg-muted whitespace-nowrap overflow-hidden text-ellipsis\">\r\n {agent.name}\r\n </span>\r\n </span>\r\n ) : null,\r\n footerRight: (\r\n <span className=\"inline-flex items-center gap-[4px] text-caption-sm text-fg-muted [font-variant-numeric:tabular-nums] shrink-0\">\r\n <Clock size={11} strokeWidth={1.8} aria-hidden />\r\n {formatShortDate(row.lastContact)}\r\n </span>\r\n ),\r\n };\r\n },\r\n};\r\n\r\n/* ═══════════════════════════════════════════════════════════════════════════\r\n Page — Clientes (showcase usando AppShell + DataTable real)\r\n ═══════════════════════════════════════════════════════════════════════════ */\r\n\r\ntype ConfirmDeleteState = {\r\n ids: string[];\r\n label: string;\r\n /** Callback opcional após confirmar — usado pelo bulk pra limpar seleção. */\r\n onAfter?: () => void;\r\n} | null;\r\n\r\nexport default function ClientesShowcase() {\r\n const { theme, setTheme } = useTheme();\r\n const [rows, setRows] = useState<ClientRow[]>(() => CLIENTS_87);\r\n const [layout, setLayout] = useState<string>(\"fluid\");\r\n const [filterModel, setFilterModel] = useState<FilterModel>(INITIAL_FILTERS);\r\n const [viewMode, setViewMode] = useState<DataTableViewMode>(\"table\");\r\n const [novoClienteOpen, setNovoClienteOpen] = useState(false);\r\n const [detailRowId, setDetailRowId] = useState<string | null>(null);\r\n const [confirmDelete, setConfirmDelete] = useState<ConfirmDeleteState>(null);\r\n const detailRow = detailRowId ? rows.find((r) => r.id === detailRowId) ?? null : null;\r\n const tableRef = useRef<DataTableRef>(null);\r\n\r\n const askDelete = useCallback(\r\n (row: ClientRow) =>\r\n setConfirmDelete({ ids: [row.id], label: row.name }),\r\n [],\r\n );\r\n\r\n const askBulkDelete = useCallback(\r\n (ids: string[], onAfter: () => void) =>\r\n setConfirmDelete({\r\n ids,\r\n label: `${ids.length} cliente${ids.length === 1 ? \"\" : \"s\"}`,\r\n onAfter,\r\n }),\r\n [],\r\n );\r\n\r\n const handleConfirmDelete = useCallback(() => {\r\n if (!confirmDelete) return;\r\n const ids = new Set(confirmDelete.ids);\r\n setRows((prev) => prev.filter((r) => !ids.has(r.id)));\r\n if (detailRowId && ids.has(detailRowId)) setDetailRowId(null);\r\n confirmDelete.onAfter?.();\r\n setConfirmDelete(null);\r\n }, [confirmDelete, detailRowId]);\r\n\r\n const columns = useMemo(\r\n () => buildColumns({ onAskDelete: askDelete }),\r\n [askDelete],\r\n );\r\n\r\n return (\r\n <AppShell\r\n contexts={APP_SHELL_CONTEXTS}\r\n defaultActiveContextId=\"inbox\"\r\n defaultActiveItemHref=\"#atendimentos\"\r\n breadcrumb={[{ label: \"Atendimentos\" }]}\r\n commandGroups={APP_SHELL_COMMANDS}\r\n notifications={{\r\n items: APP_SHELL_NOTIFICATIONS,\r\n onMarkAllRead: () => alert(\"Marcar todas como lidas\"),\r\n onMoreActions: () => alert(\"Mais ações\"),\r\n onViewAll: () => alert(\"Ver todas\"),\r\n }}\r\n messages={{\r\n items: APP_SHELL_MESSAGES,\r\n onNewMessage: () => alert(\"Nova mensagem\"),\r\n onExpand: () => alert(\"Expandir\"),\r\n onViewAll: () => alert(\"Ver todas\"),\r\n }}\r\n theme={theme}\r\n onThemeChange={(id) => setTheme(id as Theme)}\r\n themeOptions={APP_SHELL_THEME_OPTIONS}\r\n user={APP_SHELL_USER}\r\n layout={layout}\r\n onLayoutChange={setLayout}\r\n layoutOptions={APP_SHELL_LAYOUT_OPTIONS}\r\n onSettings={() => alert(\"Abrir Configurações\")}\r\n onLogout={() => alert(\"Sair (mock)\")}\r\n >\r\n <PageHeader\r\n title=\"Clientes\"\r\n description=\"Gerencie sua base de clientes, acompanhe status de cadastro e abra atendimentos diretos pelo WhatsApp.\"\r\n badge={\r\n <Chip color=\"primary\" variant=\"soft\" size=\"sm\" shape=\"rounded\">\r\n {rows.length.toLocaleString(\"pt-BR\")} registros\r\n </Chip>\r\n }\r\n actions={\r\n <>\r\n <Button\r\n variant=\"outline\"\r\n color=\"secondary\"\r\n size=\"icon-md\"\r\n aria-label=\"Mais ações\"\r\n onClick={() => alert(\"Mais ações\")}\r\n >\r\n <MoreHorizontal />\r\n </Button>\r\n <Button\r\n variant=\"filled\"\r\n color=\"primary\"\r\n size=\"md\"\r\n iconLeft={<Plus />}\r\n onClick={() => setNovoClienteOpen(true)}\r\n >\r\n Novo cliente\r\n </Button>\r\n </>\r\n }\r\n />\r\n\r\n {/* DataTable — ocupa o resto do body ──────────────────────── */}\r\n <DataTable<ClientRow>\r\n ref={tableRef}\r\n rows={rows}\r\n columns={columns}\r\n getRowId={(r) => r.id}\r\n persistId=\"showcase-clientes-crud\"\r\n defaultViews={DEFAULT_VIEWS}\r\n filterModel={filterModel}\r\n onFilterModelChange={setFilterModel}\r\n viewMode={viewMode}\r\n onViewModeChange={setViewMode}\r\n kanbanConfig={KANBAN_CONFIG}\r\n toolbar={{\r\n enableSearch: true,\r\n enableFilters: true,\r\n enableColumns: true,\r\n enableDensity: true,\r\n enableExport: true,\r\n moreMenu: {\r\n items: [\r\n {\r\n id: \"fullscreen\",\r\n label: \"Tela cheia\",\r\n icon: <Maximize2 />,\r\n onSelect: () => alert(\"Tela cheia\"),\r\n },\r\n {\r\n id: \"duplicate\",\r\n label: \"Duplicar visualização\",\r\n icon: <Copy />,\r\n onSelect: () => alert(\"Duplicar visualização\"),\r\n },\r\n {\r\n id: \"import\",\r\n label: \"Importar CSV\",\r\n icon: <Upload />,\r\n onSelect: () => alert(\"Importar CSV\"),\r\n },\r\n {\r\n id: \"reset\",\r\n label: \"Resetar visualização\",\r\n icon: <RotateCcw />,\r\n destructive: true,\r\n onSelect: () => tableRef.current?.resetPersistedState(),\r\n },\r\n ],\r\n },\r\n }}\r\n paginationConfig={{\r\n enabled: true,\r\n initialPageSize: 10,\r\n pageSizeOptions: [10, 25, 50, 100],\r\n }}\r\n selectionConfig={{\r\n enabled: true,\r\n enableGlobal: true,\r\n actions: (selectedIds, clearSelection) => (\r\n <>\r\n <BulkActionButton\r\n icon={<Download />}\r\n onClick={() => tableRef.current?.exportCsv(\"selected\")}\r\n >\r\n Exportar\r\n </BulkActionButton>\r\n <BulkActionButton\r\n icon={<Trash2 />}\r\n variant=\"danger\"\r\n onClick={() => askBulkDelete(selectedIds.map(String), clearSelection)}\r\n >\r\n Excluir\r\n </BulkActionButton>\r\n </>\r\n ),\r\n }}\r\n onCellEditCommit={async ({ id, field, value }) => {\r\n await new Promise((res) => setTimeout(res, 400));\r\n setRows((prev) =>\r\n prev.map((r) => (r.id === id ? { ...r, [field]: value } : r)),\r\n );\r\n }}\r\n onRowClick={(row) => setDetailRowId(row.id)}\r\n className=\"flex-1 min-h-0\"\r\n />\r\n\r\n {/* Drawer \"Novo cliente\" — controlado pelo botão do header */}\r\n <NovoClienteDrawer\r\n open={novoClienteOpen}\r\n onOpenChange={setNovoClienteOpen}\r\n onSubmit={(data) => {\r\n console.log(\"Novo cliente:\", data);\r\n alert(`Cliente \"${data.name}\" criado (mock)`);\r\n }}\r\n />\r\n\r\n {/* DetailDrawer — abre ao clicar numa row, slide-in da direita SEM\r\n backdrop modal (tabela continua interativa atrás). */}\r\n <DetailDrawer\r\n row={detailRow}\r\n onClose={() => setDetailRowId(null)}\r\n onEdit={(r) => console.log(\"Editar\", r.id)}\r\n onDelete={(r) => askDelete(r)}\r\n onSave={(r) => alert(`Salvar alterações em ${r.name} (mock)`)}\r\n />\r\n\r\n {/* AlertModal de confirmação de exclusão — compartilhado entre\r\n row action menu, bulk action e DetailDrawer.onDelete. */}\r\n <AlertModal\r\n open={confirmDelete !== null}\r\n onOpenChange={(open) => {\r\n if (!open) setConfirmDelete(null);\r\n }}\r\n tone=\"danger\"\r\n title={\r\n confirmDelete && confirmDelete.ids.length > 1\r\n ? `Excluir ${confirmDelete.label}?`\r\n : \"Excluir cliente?\"\r\n }\r\n description={\r\n confirmDelete\r\n ? confirmDelete.ids.length > 1\r\n ? `Esta ação não pode ser desfeita. ${confirmDelete.label} serão removidos permanentemente.`\r\n : `Esta ação não pode ser desfeita. \"${confirmDelete.label}\" será removido permanentemente.`\r\n : null\r\n }\r\n confirmLabel=\"Excluir\"\r\n cancelLabel=\"Cancelar\"\r\n onConfirm={handleConfirmDelete}\r\n />\r\n </AppShell>\r\n );\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientes.mjs","sources":["../../src/preview/pages/ClientesShowcase/clientes-showcase.styles.ts","../../src/preview/pages/ClientesShowcase/components/NovoClienteDrawer/novo-cliente-drawer.tsx","../../src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.styles.ts","../../src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.tsx","../../src/preview/pages/ClientesShowcase/ClientesShowcase.tsx"],"sourcesContent":["import { tv } from \"@/utils/tv\";\r\n\r\n/**\r\n * Layout em grid de 2 colunas usado dentro do drawer pra pares de campos\r\n * (Email + WhatsApp, Cidade + Valor).\r\n * `gap-form-gap` (20px) = token DS pra spacing entre FormField units (L-024).\r\n */\r\nexport const drawerFormStyles = tv({\r\n slots: {\r\n twoCols: \"grid grid-cols-2 gap-form-gap\",\r\n statusDot: \"inline-block size-[8px] rounded-radius-full mr-gp-xs shrink-0\",\r\n },\r\n});\r\n","import { useEffect, useState } from \"react\";\r\nimport { Panel } from \"@/components/ui/Panel\";\r\nimport { Button } from \"@/components/ui/Button/button\";\r\nimport {\r\n FormField,\r\n FormFieldInput,\r\n FormFieldSelect,\r\n FormFieldTextarea,\r\n} from \"@/components/ui/FormField\";\r\nimport { ChipGroup, ChipGroupItem } from \"@/components/ui/Chip\";\r\nimport { STATUSES, CATEGORIES } from \"../../../TableDoc\";\r\nimport { CITIES, STATUS_DOT } from \"../../clientes-showcase-mocks\";\r\nimport { drawerFormStyles } from \"../../clientes-showcase.styles\";\r\nimport type { NovoClienteFormData } from \"../../clientes-showcase.types\";\r\n\r\nconst INITIAL_FORM: NovoClienteFormData = {\r\n name: \"\",\r\n email: \"\",\r\n whatsapp: \"\",\r\n statusId: \"active\",\r\n categoryId: \"lead\",\r\n city: \"\",\r\n value: 0,\r\n notes: \"\",\r\n};\r\n\r\nexport type NovoClienteDrawerProps = {\r\n open: boolean;\r\n onOpenChange: (open: boolean) => void;\r\n /** Disparado ao confirmar — drawer fecha automaticamente após o submit. */\r\n onSubmit?: (data: NovoClienteFormData) => void;\r\n};\r\n\r\n/**\r\n * Drawer \"Novo cliente\" — replica visual do TblClientFormDrawer\r\n * (sandbox /design-and-table-v2), recompilado em cima dos componentes do DS:\r\n * Panel + FormField (Input / Select / Textarea) + ChipGroup + Button.\r\n *\r\n * Layout (top → bottom):\r\n * 1. Nome* — full width\r\n * 2. Email + WhatsApp — 2 cols\r\n * 3. Status — ChipGroup com dot colorido\r\n * 4. Categoria — ChipGroup\r\n * 5. Cidade + Valor R$ — 2 cols\r\n * 6. Notas — textarea full width\r\n */\r\nexport function NovoClienteDrawer({\r\n open,\r\n onOpenChange,\r\n onSubmit,\r\n}: NovoClienteDrawerProps) {\r\n const s = drawerFormStyles();\r\n const [form, setForm] = useState<NovoClienteFormData>(INITIAL_FORM);\r\n\r\n // Reseta form sempre que abrir\r\n useEffect(() => {\r\n if (open) setForm(INITIAL_FORM);\r\n }, [open]);\r\n\r\n const canSubmit = form.name.trim().length > 0;\r\n\r\n const handleSubmit = () => {\r\n if (!canSubmit) return;\r\n onSubmit?.(form);\r\n onOpenChange(false);\r\n };\r\n\r\n return (\r\n <Panel\r\n open={open}\r\n onOpenChange={onOpenChange}\r\n title=\"Novo cliente\"\r\n side=\"right\"\r\n size=\"md\"\r\n footer={\r\n <>\r\n <Button\r\n variant=\"outline\"\r\n color=\"secondary\"\r\n size=\"md\"\r\n onClick={() => onOpenChange(false)}\r\n >\r\n Cancelar\r\n </Button>\r\n <Button\r\n variant=\"filled\"\r\n color=\"primary\"\r\n size=\"md\"\r\n disabled={!canSubmit}\r\n onClick={handleSubmit}\r\n >\r\n Criar cliente\r\n </Button>\r\n </>\r\n }\r\n >\r\n <FormFieldInput\r\n label=\"Nome\"\r\n required\r\n placeholder=\"Maria Silva\"\r\n value={form.name}\r\n onChange={(e) => setForm((f) => ({ ...f, name: e.target.value }))}\r\n />\r\n\r\n <div className={s.twoCols()}>\r\n <FormFieldInput\r\n label=\"Email\"\r\n type=\"email\"\r\n placeholder=\"cliente@exemplo.com\"\r\n value={form.email}\r\n onChange={(e) => setForm((f) => ({ ...f, email: e.target.value }))}\r\n />\r\n <FormFieldInput\r\n label=\"WhatsApp\"\r\n type=\"tel\"\r\n placeholder=\"55 11 99999-9999\"\r\n value={form.whatsapp}\r\n onChange={(e) => setForm((f) => ({ ...f, whatsapp: e.target.value }))}\r\n />\r\n </div>\r\n\r\n <FormField label=\"Status\">\r\n {() => (\r\n <ChipGroup\r\n type=\"single\"\r\n value={form.statusId}\r\n onValueChange={(v) =>\r\n v &&\r\n setForm((f) => ({\r\n ...f,\r\n statusId: v as keyof typeof STATUSES,\r\n }))\r\n }\r\n size=\"md\"\r\n shape=\"pill\"\r\n ariaLabel=\"Status do cliente\"\r\n >\r\n {Object.entries(STATUSES).map(([id, st]) => (\r\n <ChipGroupItem key={id} value={id}>\r\n <span\r\n className={s.statusDot()}\r\n style={{ background: STATUS_DOT[id] ?? st.color }}\r\n aria-hidden\r\n />\r\n {st.label}\r\n </ChipGroupItem>\r\n ))}\r\n </ChipGroup>\r\n )}\r\n </FormField>\r\n\r\n <FormField label=\"Categoria\">\r\n {() => (\r\n <ChipGroup\r\n type=\"single\"\r\n value={form.categoryId}\r\n onValueChange={(v) =>\r\n v &&\r\n setForm((f) => ({\r\n ...f,\r\n categoryId: v as keyof typeof CATEGORIES,\r\n }))\r\n }\r\n size=\"md\"\r\n shape=\"pill\"\r\n ariaLabel=\"Categoria do cliente\"\r\n >\r\n {Object.entries(CATEGORIES).map(([id, cat]) => (\r\n <ChipGroupItem key={id} value={id}>\r\n {cat.label}\r\n </ChipGroupItem>\r\n ))}\r\n </ChipGroup>\r\n )}\r\n </FormField>\r\n\r\n <div className={s.twoCols()}>\r\n <FormFieldSelect\r\n label=\"Cidade\"\r\n placeholder=\"Selecionar...\"\r\n value={form.city || undefined}\r\n onValueChange={(v) => setForm((f) => ({ ...f, city: v }))}\r\n options={CITIES.map((c) => ({ value: c, label: c }))}\r\n />\r\n <FormFieldInput\r\n label=\"Valor (R$)\"\r\n type=\"number\"\r\n startAddon=\"R$\"\r\n value={String(form.value)}\r\n onChange={(e) =>\r\n setForm((f) => ({ ...f, value: Number(e.target.value) }))\r\n }\r\n min={0}\r\n step={0.01}\r\n />\r\n </div>\r\n\r\n <FormFieldTextarea\r\n label=\"Notas\"\r\n placeholder=\"Observações sobre o cliente...\"\r\n rows={4}\r\n value={form.notes}\r\n onChange={(e) => setForm((f) => ({ ...f, notes: e.target.value }))}\r\n />\r\n </Panel>\r\n );\r\n}\r\n","import { tv } from \"@/utils/tv\";\r\n\r\n/**\r\n * Styles do DetailDrawer — apenas as partes internas (sections collapsibles\r\n * + DetailField). O shell flutuante (aside, header com avatar+meta, footer\r\n * com botões) é delegado ao `<FloatingPanel>` do DS.\r\n */\r\nexport const detailDrawerStyles = tv({\r\n slots: {\r\n section: \"border-b border-border-default last:border-b-0\",\r\n sectionHead: [\r\n \"flex items-center justify-between w-full\",\r\n \"px-[18px] py-[14px]\",\r\n \"bg-transparent border-0 cursor-pointer text-left\",\r\n \"text-body-sm font-semibold text-fg-default\",\r\n \"transition-colors duration-150\",\r\n \"hover:bg-bg-muted\",\r\n \"focus-visible:outline-none focus-visible:bg-bg-muted\",\r\n ],\r\n sectionChev: \"size-[14px] text-fg-muted transition-transform duration-200\",\r\n sectionChevOpen: \"rotate-180\",\r\n sectionBody: \"flex flex-col gap-gp-md px-[18px] pb-pad-2xl\",\r\n\r\n field: \"flex items-baseline justify-between gap-gp-md text-body-sm font-normal\",\r\n fieldLabel: \"text-body-xs font-normal text-fg-muted shrink-0\",\r\n fieldValue: \"text-fg-default text-right break-words min-w-0\",\r\n },\r\n});\r\n","import { useState, type ReactNode } from \"react\";\r\nimport { ChevronDown, Pencil, Trash2 } from \"lucide-react\";\r\nimport { Avatar, AvatarFallback } from \"@/components/shadcn/avatar\";\r\nimport { Button } from \"@/components/ui/Button/button\";\r\nimport { Chip } from \"@/components/ui/Chip\";\r\nimport { FloatingPanel } from \"@/components/ui/FloatingPanel\";\r\nimport { STATUSES, CATEGORIES, AGENTS } from \"../../../TableDoc\";\r\nimport {\r\n CATEGORY_KIND,\r\n STATUS_DOT,\r\n formatBRL,\r\n formatShortDate,\r\n} from \"../../clientes-showcase-mocks\";\r\nimport { detailDrawerStyles } from \"./detail-drawer.styles\";\r\nimport type { DetailDrawerProps } from \"./detail-drawer.types\";\r\n\r\n/* ── Helpers internos ────────────────────────────────────────────── */\r\n\r\nfunction formatLongDate(ms: number): string {\r\n if (!ms) return \"—\";\r\n const d = new Date(ms);\r\n return d.toLocaleDateString(\"pt-BR\", {\r\n day: \"numeric\",\r\n month: \"long\",\r\n year: \"numeric\",\r\n });\r\n}\r\n\r\ntype SectionId = \"contact\" | \"meta\" | \"notes\";\r\n\r\n/* ── DetailField (label : value) ────────────────────────────────── */\r\n\r\ntype DetailFieldProps = {\r\n label: string;\r\n value: ReactNode;\r\n s: ReturnType<typeof detailDrawerStyles>;\r\n};\r\n\r\nfunction DetailField({ label, value, s }: DetailFieldProps) {\r\n return (\r\n <div className={s.field()}>\r\n <span className={s.fieldLabel()}>{label}</span>\r\n <span className={s.fieldValue()}>{value || \"—\"}</span>\r\n </div>\r\n );\r\n}\r\n\r\n/* ── DetailSection (collapsible) ─────────────────────────────────── */\r\n\r\ntype DetailSectionProps = {\r\n id: SectionId;\r\n title: string;\r\n open: boolean;\r\n onToggle: (id: SectionId) => void;\r\n children: ReactNode;\r\n s: ReturnType<typeof detailDrawerStyles>;\r\n};\r\n\r\nfunction DetailSection({\r\n id,\r\n title,\r\n open,\r\n onToggle,\r\n children,\r\n s,\r\n}: DetailSectionProps) {\r\n return (\r\n <section className={s.section()}>\r\n <button\r\n type=\"button\"\r\n className={s.sectionHead()}\r\n onClick={() => onToggle(id)}\r\n aria-expanded={open}\r\n >\r\n <span>{title}</span>\r\n <ChevronDown\r\n className={[s.sectionChev(), open ? s.sectionChevOpen() : \"\"].join(\" \")}\r\n />\r\n </button>\r\n {open && <div className={s.sectionBody()}>{children}</div>}\r\n </section>\r\n );\r\n}\r\n\r\n/* ── DetailDrawer ────────────────────────────────────────────────── */\r\n\r\n/**\r\n * Drawer \"Detalhes do cliente\" — usa `<FloatingPanel>` do DS (non-modal,\r\n * resizable, maximizable, responsive). Replica visual do `TblDetailsPanel`\r\n * do sandbox /design-and-table-v2.\r\n */\r\nexport function DetailDrawer({\r\n row,\r\n onClose,\r\n onEdit,\r\n onDelete,\r\n onSave,\r\n}: DetailDrawerProps) {\r\n const s = detailDrawerStyles();\r\n const [openSections, setOpenSections] = useState<Set<SectionId>>(\r\n () => new Set([\"contact\", \"meta\", \"notes\"]),\r\n );\r\n\r\n const toggle = (id: SectionId) => {\r\n setOpenSections((prev) => {\r\n const next = new Set(prev);\r\n if (next.has(id)) next.delete(id);\r\n else next.add(id);\r\n return next;\r\n });\r\n };\r\n\r\n // Mantém ordem dos hooks estável independente de `row` — depois do toggle.\r\n if (!row) return null;\r\n\r\n const status = STATUSES[row.statusId];\r\n const cat = CATEGORIES[row.categoryId as keyof typeof CATEGORIES];\r\n const agent = AGENTS[row.agentId as keyof typeof AGENTS];\r\n const agentInitials =\r\n agent?.name.split(\" \").map((p) => p[0]).join(\"\").slice(0, 2) ?? \"?\";\r\n\r\n return (\r\n <FloatingPanel\r\n open={row !== null}\r\n onOpenChange={(open) => {\r\n if (!open) onClose();\r\n }}\r\n side=\"right\"\r\n size=\"md\"\r\n resizable\r\n maximizable\r\n // Sections internas (DetailSection) gerenciam o próprio padding edge-to-edge.\r\n bodyPadded={false}\r\n resizableStorageKey=\"clientes-showcase.detail-drawer.width\"\r\n titleSlot={\r\n <div className=\"flex items-center gap-gp-md min-w-0\">\r\n <Avatar\r\n className=\"size-[40px] shrink-0\"\r\n style={{ background: row.avatarColor }}\r\n >\r\n <AvatarFallback className=\"bg-transparent text-white text-body-md font-bold\">\r\n {row.initials}\r\n </AvatarFallback>\r\n </Avatar>\r\n <div className=\"flex flex-col min-w-0 flex-1\">\r\n <div className=\"text-body-md font-semibold text-fg-default whitespace-nowrap overflow-hidden text-ellipsis\">\r\n {row.name}\r\n </div>\r\n <div className=\"flex items-center gap-[6px] mt-[2px] text-body-xs font-normal text-fg-muted\">\r\n <span>{row.id}</span>\r\n <span className=\"opacity-50\">·</span>\r\n <span className=\"inline-flex items-center gap-[6px]\">\r\n <span\r\n className=\"inline-block size-[8px] rounded-radius-full shrink-0\"\r\n style={{ background: STATUS_DOT[row.statusId] ?? status?.color }}\r\n aria-hidden\r\n />\r\n {status?.label}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n headerActions={\r\n <>\r\n <Button\r\n variant=\"soft\"\r\n color=\"secondary\"\r\n size=\"icon-sm\"\r\n aria-label=\"Editar\"\r\n onClick={() => onEdit?.(row)}\r\n >\r\n <Pencil />\r\n </Button>\r\n <Button\r\n variant=\"soft\"\r\n color=\"critical\"\r\n size=\"icon-sm\"\r\n aria-label=\"Excluir\"\r\n onClick={() => onDelete?.(row)}\r\n >\r\n <Trash2 />\r\n </Button>\r\n </>\r\n }\r\n footer={\r\n <>\r\n <Button variant=\"outline\" color=\"secondary\" size=\"sm\" onClick={onClose}>\r\n Cancelar\r\n </Button>\r\n <Button\r\n variant=\"filled\"\r\n color=\"primary\"\r\n size=\"sm\"\r\n onClick={() => onSave?.(row)}\r\n >\r\n Salvar alterações\r\n </Button>\r\n </>\r\n }\r\n >\r\n <DetailSection\r\n id=\"contact\"\r\n title=\"Contato\"\r\n open={openSections.has(\"contact\")}\r\n onToggle={toggle}\r\n s={s}\r\n >\r\n <DetailField\r\n label=\"Email\"\r\n value={\r\n <a\r\n href={`mailto:${row.email}`}\r\n className=\"text-fg-brand hover:underline\"\r\n >\r\n {row.email}\r\n </a>\r\n }\r\n s={s}\r\n />\r\n <DetailField\r\n label=\"Telefone\"\r\n value={\r\n <a\r\n href={`tel:${row.phone.replace(/\\D/g, \"\")}`}\r\n className=\"text-fg-brand hover:underline\"\r\n >\r\n {row.phone}\r\n </a>\r\n }\r\n s={s}\r\n />\r\n <DetailField label=\"Localização\" value={row.location} s={s} />\r\n </DetailSection>\r\n\r\n <DetailSection\r\n id=\"meta\"\r\n title=\"Atendimento\"\r\n open={openSections.has(\"meta\")}\r\n onToggle={toggle}\r\n s={s}\r\n >\r\n <DetailField label=\"ID\" value={row.id} s={s} />\r\n <DetailField\r\n label=\"Categoria\"\r\n value={\r\n cat ? (\r\n <Chip\r\n color={CATEGORY_KIND[row.categoryId] ?? \"info\"}\r\n variant=\"soft\"\r\n size=\"sm\"\r\n shape=\"pill\"\r\n >\r\n {cat.label}\r\n </Chip>\r\n ) : (\r\n \"—\"\r\n )\r\n }\r\n s={s}\r\n />\r\n <DetailField\r\n label=\"Atribuído a\"\r\n value={\r\n agent ? (\r\n <span className=\"inline-flex items-center gap-gp-sm\">\r\n <Avatar\r\n className=\"size-[22px]\"\r\n style={{ background: agent.color }}\r\n >\r\n <AvatarFallback className=\"bg-transparent text-white text-caption-xs font-bold\">\r\n {agentInitials}\r\n </AvatarFallback>\r\n </Avatar>\r\n {agent.name}\r\n </span>\r\n ) : (\r\n \"—\"\r\n )\r\n }\r\n s={s}\r\n />\r\n <DetailField label=\"Valor\" value={formatBRL(row.value)} s={s} />\r\n <DetailField label=\"Criado em\" value={formatLongDate(row.createdAt)} s={s} />\r\n <DetailField\r\n label=\"Último contato\"\r\n value={formatShortDate(row.lastContact)}\r\n s={s}\r\n />\r\n </DetailSection>\r\n\r\n <DetailSection\r\n id=\"notes\"\r\n title=\"Anotações\"\r\n open={openSections.has(\"notes\")}\r\n onToggle={toggle}\r\n s={s}\r\n >\r\n <p className=\"text-body-xs font-normal text-fg-muted\">Sem anotações.</p>\r\n </DetailSection>\r\n </FloatingPanel>\r\n );\r\n}\r\n","import { useCallback, useMemo, useRef, useState } from \"react\";\r\nimport { useTheme, type Theme } from \"@/hooks/useTheme\";\r\nimport {\r\n Archive,\r\n Clock,\r\n Copy,\r\n Download,\r\n Maximize2,\r\n MessageSquare,\r\n MoreHorizontal,\r\n Pencil,\r\n Plus,\r\n RotateCcw,\r\n Trash2,\r\n Upload,\r\n} from \"lucide-react\";\r\nimport {\r\n CATEGORIES,\r\n AGENTS,\r\n type ClientRow,\r\n} from \"../TableDoc\";\r\nimport {\r\n DataTable,\r\n presetView,\r\n type DataTableColumnDef,\r\n type DataTableKanbanConfig,\r\n type DataTablePresetView,\r\n type DataTableRef,\r\n type DataTableViewMode,\r\n type FilterModel,\r\n} from \"@/components/ui/DataTable\";\r\nimport { AppShell } from \"@/components/ui/AppShell\";\r\nimport { Button } from \"@/components/ui/Button/button\";\r\nimport { Chip } from \"@/components/ui/Chip\";\r\nimport { PageHeader } from \"@/components/ui/PageHeader\";\r\nimport { BulkActionButton } from \"@/components/ui/TableToolbar\";\r\nimport { Avatar, AvatarFallback } from \"@/components/shadcn/avatar\";\r\nimport {\r\n APP_SHELL_CONTEXTS,\r\n APP_SHELL_COMMANDS,\r\n APP_SHELL_NOTIFICATIONS,\r\n APP_SHELL_MESSAGES,\r\n APP_SHELL_THEME_OPTIONS,\r\n APP_SHELL_LAYOUT_OPTIONS,\r\n APP_SHELL_USER,\r\n} from \"../../mocks/app-shell-mocks\";\r\nimport {\r\n CLIENTS_87,\r\n STATUS_OPTIONS,\r\n CATEGORY_OPTIONS,\r\n AGENT_OPTIONS,\r\n AGENTS_LOOKUP,\r\n KANBAN_COLUMNS,\r\n CATEGORY_KIND,\r\n formatBRL,\r\n formatShortDate,\r\n} from \"./clientes-showcase-mocks\";\r\nimport { NovoClienteDrawer } from \"./components/NovoClienteDrawer\";\r\nimport { DetailDrawer } from \"./components/DetailDrawer\";\r\nimport { AlertModal } from \"@/components/ui/AlertModal\";\r\n\r\n/* ── Columns declarativas (type-based) ─────────────────────────── */\r\n\r\ntype ColumnHandlers = {\r\n /** Pede confirmação de exclusão (abre o AlertModal). */\r\n onAskDelete: (row: ClientRow) => void;\r\n};\r\n\r\nfunction buildColumns(handlers: ColumnHandlers): DataTableColumnDef<ClientRow>[] {\r\n return [\r\n { field: \"id\", headerName: \"ID\", type: \"text\", width: 130 },\r\n {\r\n field: \"name\",\r\n headerName: \"Nome\",\r\n type: \"user\",\r\n sortable: true,\r\n width: 220,\r\n typeOptions: {\r\n users: Object.fromEntries(\r\n CLIENTS_87.map((c) => [\r\n c.name,\r\n {\r\n name: c.name,\r\n initials: c.initials,\r\n color: c.avatarColor,\r\n },\r\n ]),\r\n ),\r\n },\r\n valueGetter: (row) => row.name,\r\n },\r\n {\r\n field: \"email\",\r\n headerName: \"Email\",\r\n type: \"email\",\r\n enableColumnFilter: true,\r\n filterType: \"text\",\r\n },\r\n {\r\n field: \"phone\",\r\n headerName: \"Telefone\",\r\n type: \"phone\",\r\n },\r\n {\r\n field: \"statusId\",\r\n headerName: \"Status\",\r\n type: \"status\",\r\n enableColumnFilter: true,\r\n filterType: \"multiSelect\",\r\n filterOptions: STATUS_OPTIONS,\r\n },\r\n {\r\n field: \"categoryId\",\r\n headerName: \"Categoria\",\r\n type: \"badge\",\r\n enableColumnFilter: true,\r\n filterType: \"multiSelect\",\r\n filterOptions: CATEGORY_OPTIONS,\r\n },\r\n {\r\n field: \"agentId\",\r\n headerName: \"Atribuído\",\r\n type: \"user\",\r\n enableColumnFilter: true,\r\n filterType: \"select\",\r\n filterOptions: AGENT_OPTIONS,\r\n typeOptions: { users: AGENTS_LOOKUP },\r\n },\r\n {\r\n field: \"value\",\r\n headerName: \"Valor\",\r\n type: \"currency\",\r\n sortable: true,\r\n enableColumnFilter: true,\r\n filterType: \"number\",\r\n aggregate: \"sum\",\r\n aggregateFormatter: (v) =>\r\n new Intl.NumberFormat(\"pt-BR\", { style: \"currency\", currency: \"BRL\" }).format(v),\r\n },\r\n {\r\n field: \"createdAt\",\r\n headerName: \"Criado em\",\r\n type: \"date\",\r\n sortable: true,\r\n enableColumnFilter: true,\r\n filterType: \"date\",\r\n width: 130,\r\n },\r\n {\r\n field: \"lastContact\",\r\n headerName: \"Último contato\",\r\n type: \"date\",\r\n sortable: true,\r\n width: 150,\r\n },\r\n {\r\n field: \"location\",\r\n headerName: \"Localização\",\r\n type: \"text\",\r\n minWidth: 150,\r\n },\r\n {\r\n field: \"_actions\",\r\n headerName: \"\",\r\n type: \"actions\",\r\n width: 64,\r\n pinned: \"right\",\r\n getActions: ({ row }) => [\r\n {\r\n id: \"edit\",\r\n label: \"Editar\",\r\n icon: <Pencil />,\r\n showInMenu: true,\r\n onClick: () => console.log(\"Editar\", row.id),\r\n },\r\n {\r\n id: \"whatsapp\",\r\n label: \"Abrir atendimento (WhatsApp)\",\r\n icon: <MessageSquare />,\r\n showInMenu: true,\r\n onClick: () => console.log(\"Atendimento\", row.id),\r\n },\r\n {\r\n id: \"archive\",\r\n label: \"Arquivar\",\r\n icon: <Archive />,\r\n showInMenu: true,\r\n onClick: () => console.log(\"Arquivar\", row.id),\r\n },\r\n {\r\n id: \"delete\",\r\n label: \"Excluir cliente\",\r\n icon: <Trash2 />,\r\n showInMenu: true,\r\n destructive: true,\r\n onClick: () => handlers.onAskDelete(row),\r\n },\r\n ],\r\n },\r\n ];\r\n}\r\n\r\n/* ── Saved views / Presets — tabs do toolbar ───────────────────── */\r\n\r\nconst DEFAULT_VIEWS: DataTablePresetView[] = [\r\n presetView({\r\n id: \"preset:meus\",\r\n name: \"Meus\",\r\n filters: [{ field: \"agentId\", value: \"you\" }],\r\n }),\r\n presetView({\r\n id: \"preset:ativos\",\r\n name: \"Ativos\",\r\n filters: [{ field: \"statusId\", value: \"active\" }],\r\n }),\r\n presetView({\r\n id: \"preset:royals\",\r\n name: \"Royals\",\r\n filters: [{ field: \"categoryId\", value: \"royal\" }],\r\n }),\r\n presetView({\r\n id: \"preset:ultimos-7-dias\",\r\n name: \"Últimos 7 dias\",\r\n sort: [{ field: \"createdAt\", direction: \"desc\" }],\r\n }),\r\n];\r\n\r\n/* ── Filtros iniciais (Status=Ativo + Categoria=Royal — print) ─── */\r\n\r\n// statusId e categoryId são filterType=\"multiSelect\" — operator correto é \"isAnyOf\"\r\n// (not \"equals\"). Sem isso, o popover Filtros mostrava o Select de operador VAZIO\r\n// porque \"equals\" não está nos operators de MultiSelectColumnType.\r\nconst INITIAL_FILTERS: FilterModel = {\r\n items: [\r\n { id: \"filter-status-ativo\", field: \"statusId\", operator: \"isAnyOf\", value: \"active\" },\r\n { id: \"filter-categoria-royal\", field: \"categoryId\", operator: \"isAnyOf\", value: \"royal\" },\r\n ],\r\n logicOperator: \"AND\",\r\n};\r\n\r\n/* ── Kanban config (renderCard com JSX) ────────────────────────── */\r\n\r\nconst KANBAN_CONFIG: DataTableKanbanConfig<ClientRow> = {\r\n groupByField: \"statusId\",\r\n columns: KANBAN_COLUMNS,\r\n renderCard: ({ row }) => {\r\n const cat = CATEGORIES[row.categoryId as keyof typeof CATEGORIES];\r\n const agent = AGENTS[row.agentId as keyof typeof AGENTS];\r\n const agentInitials = agent?.name.split(\" \").map((s) => s[0]).join(\"\").slice(0, 2) ?? \"?\";\r\n return {\r\n title: row.name,\r\n subtitle: row.id,\r\n avatar: (\r\n <Avatar className=\"size-[28px]\" style={{ background: row.avatarColor }}>\r\n <AvatarFallback className=\"bg-transparent text-white text-caption-sm font-bold\">\r\n {row.initials}\r\n </AvatarFallback>\r\n </Avatar>\r\n ),\r\n chip: cat ? (\r\n <Chip\r\n color={CATEGORY_KIND[row.categoryId] ?? \"info\"}\r\n variant=\"soft\"\r\n size=\"sm\"\r\n shape=\"pill\"\r\n >\r\n {cat.label}\r\n </Chip>\r\n ) : null,\r\n value: formatBRL(row.value),\r\n footerLeft: agent ? (\r\n <span className=\"inline-flex items-center gap-gp-sm min-w-0 flex-1\">\r\n <Avatar className=\"size-[22px]\" style={{ background: agent.color }}>\r\n <AvatarFallback className=\"bg-transparent text-white text-caption-xs font-bold\">\r\n {agentInitials}\r\n </AvatarFallback>\r\n </Avatar>\r\n <span className=\"text-body-xs font-normal text-fg-muted whitespace-nowrap overflow-hidden text-ellipsis\">\r\n {agent.name}\r\n </span>\r\n </span>\r\n ) : null,\r\n footerRight: (\r\n <span className=\"inline-flex items-center gap-[4px] text-caption-sm text-fg-muted [font-variant-numeric:tabular-nums] shrink-0\">\r\n <Clock size={11} strokeWidth={1.8} aria-hidden />\r\n {formatShortDate(row.lastContact)}\r\n </span>\r\n ),\r\n };\r\n },\r\n};\r\n\r\n/* ═══════════════════════════════════════════════════════════════════════════\r\n Page — Clientes (showcase usando AppShell + DataTable real)\r\n ═══════════════════════════════════════════════════════════════════════════ */\r\n\r\ntype ConfirmDeleteState = {\r\n ids: string[];\r\n label: string;\r\n /** Callback opcional após confirmar — usado pelo bulk pra limpar seleção. */\r\n onAfter?: () => void;\r\n} | null;\r\n\r\nexport default function ClientesShowcase() {\r\n const { theme, setTheme } = useTheme();\r\n const [rows, setRows] = useState<ClientRow[]>(() => CLIENTS_87);\r\n const [layout, setLayout] = useState<string>(\"fluid\");\r\n const [filterModel, setFilterModel] = useState<FilterModel>(INITIAL_FILTERS);\r\n const [viewMode, setViewMode] = useState<DataTableViewMode>(\"table\");\r\n const [novoClienteOpen, setNovoClienteOpen] = useState(false);\r\n const [detailRowId, setDetailRowId] = useState<string | null>(null);\r\n const [confirmDelete, setConfirmDelete] = useState<ConfirmDeleteState>(null);\r\n const detailRow = detailRowId ? rows.find((r) => r.id === detailRowId) ?? null : null;\r\n const tableRef = useRef<DataTableRef>(null);\r\n\r\n const askDelete = useCallback(\r\n (row: ClientRow) =>\r\n setConfirmDelete({ ids: [row.id], label: row.name }),\r\n [],\r\n );\r\n\r\n const askBulkDelete = useCallback(\r\n (ids: string[], onAfter: () => void) =>\r\n setConfirmDelete({\r\n ids,\r\n label: `${ids.length} cliente${ids.length === 1 ? \"\" : \"s\"}`,\r\n onAfter,\r\n }),\r\n [],\r\n );\r\n\r\n const handleConfirmDelete = useCallback(() => {\r\n if (!confirmDelete) return;\r\n const ids = new Set(confirmDelete.ids);\r\n setRows((prev) => prev.filter((r) => !ids.has(r.id)));\r\n if (detailRowId && ids.has(detailRowId)) setDetailRowId(null);\r\n confirmDelete.onAfter?.();\r\n setConfirmDelete(null);\r\n }, [confirmDelete, detailRowId]);\r\n\r\n const columns = useMemo(\r\n () => buildColumns({ onAskDelete: askDelete }),\r\n [askDelete],\r\n );\r\n\r\n return (\r\n <AppShell\r\n contexts={APP_SHELL_CONTEXTS}\r\n defaultActiveContextId=\"inbox\"\r\n defaultActiveItemHref=\"#atendimentos\"\r\n breadcrumb={[{ label: \"Atendimentos\" }]}\r\n commandGroups={APP_SHELL_COMMANDS}\r\n notifications={{\r\n items: APP_SHELL_NOTIFICATIONS,\r\n onMarkAllRead: () => alert(\"Marcar todas como lidas\"),\r\n onMoreActions: () => alert(\"Mais ações\"),\r\n onViewAll: () => alert(\"Ver todas\"),\r\n }}\r\n messages={{\r\n items: APP_SHELL_MESSAGES,\r\n onNewMessage: () => alert(\"Nova mensagem\"),\r\n onExpand: () => alert(\"Expandir\"),\r\n onViewAll: () => alert(\"Ver todas\"),\r\n }}\r\n theme={theme}\r\n onThemeChange={(id) => setTheme(id as Theme)}\r\n themeOptions={APP_SHELL_THEME_OPTIONS}\r\n user={APP_SHELL_USER}\r\n layout={layout}\r\n onLayoutChange={setLayout}\r\n layoutOptions={APP_SHELL_LAYOUT_OPTIONS}\r\n onSettings={() => alert(\"Abrir Configurações\")}\r\n onLogout={() => alert(\"Sair (mock)\")}\r\n >\r\n <PageHeader\r\n title=\"Clientes\"\r\n description=\"Gerencie sua base de clientes, acompanhe status de cadastro e abra atendimentos diretos pelo WhatsApp.\"\r\n badge={\r\n <Chip color=\"primary\" variant=\"soft\" size=\"sm\" shape=\"rounded\">\r\n {rows.length.toLocaleString(\"pt-BR\")} registros\r\n </Chip>\r\n }\r\n actions={\r\n <>\r\n <Button\r\n variant=\"outline\"\r\n color=\"secondary\"\r\n size=\"icon-md\"\r\n aria-label=\"Mais ações\"\r\n onClick={() => alert(\"Mais ações\")}\r\n >\r\n <MoreHorizontal />\r\n </Button>\r\n <Button\r\n variant=\"filled\"\r\n color=\"primary\"\r\n size=\"md\"\r\n iconLeft={<Plus />}\r\n onClick={() => setNovoClienteOpen(true)}\r\n >\r\n Novo cliente\r\n </Button>\r\n </>\r\n }\r\n />\r\n\r\n {/* DataTable — ocupa o resto do body ──────────────────────── */}\r\n <DataTable<ClientRow>\r\n ref={tableRef}\r\n rows={rows}\r\n columns={columns}\r\n getRowId={(r) => r.id}\r\n persistId=\"showcase-clientes-crud\"\r\n defaultViews={DEFAULT_VIEWS}\r\n filterModel={filterModel}\r\n onFilterModelChange={setFilterModel}\r\n viewMode={viewMode}\r\n onViewModeChange={setViewMode}\r\n kanbanConfig={KANBAN_CONFIG}\r\n toolbar={{\r\n enableSearch: true,\r\n enableFilters: true,\r\n enableColumns: true,\r\n enableDensity: true,\r\n enableExport: true,\r\n moreMenu: {\r\n items: [\r\n {\r\n id: \"fullscreen\",\r\n label: \"Tela cheia\",\r\n icon: <Maximize2 />,\r\n onSelect: () => alert(\"Tela cheia\"),\r\n },\r\n {\r\n id: \"duplicate\",\r\n label: \"Duplicar visualização\",\r\n icon: <Copy />,\r\n onSelect: () => alert(\"Duplicar visualização\"),\r\n },\r\n {\r\n id: \"import\",\r\n label: \"Importar CSV\",\r\n icon: <Upload />,\r\n onSelect: () => alert(\"Importar CSV\"),\r\n },\r\n {\r\n id: \"reset\",\r\n label: \"Resetar visualização\",\r\n icon: <RotateCcw />,\r\n destructive: true,\r\n onSelect: () => tableRef.current?.resetPersistedState(),\r\n },\r\n ],\r\n },\r\n }}\r\n paginationConfig={{\r\n enabled: true,\r\n initialPageSize: 10,\r\n pageSizeOptions: [10, 25, 50, 100],\r\n }}\r\n selectionConfig={{\r\n enabled: true,\r\n enableGlobal: true,\r\n actions: (selectedIds, clearSelection) => (\r\n <>\r\n <BulkActionButton\r\n icon={<Download />}\r\n onClick={() => tableRef.current?.exportCsv(\"selected\")}\r\n >\r\n Exportar\r\n </BulkActionButton>\r\n <BulkActionButton\r\n icon={<Trash2 />}\r\n variant=\"danger\"\r\n onClick={() => askBulkDelete(selectedIds.map(String), clearSelection)}\r\n >\r\n Excluir\r\n </BulkActionButton>\r\n </>\r\n ),\r\n }}\r\n onCellEditCommit={async ({ id, field, value }) => {\r\n await new Promise((res) => setTimeout(res, 400));\r\n setRows((prev) =>\r\n prev.map((r) => (r.id === id ? { ...r, [field]: value } : r)),\r\n );\r\n }}\r\n onRowClick={(row) => setDetailRowId(row.id)}\r\n className=\"flex-1 min-h-0\"\r\n />\r\n\r\n {/* Drawer \"Novo cliente\" — controlado pelo botão do header */}\r\n <NovoClienteDrawer\r\n open={novoClienteOpen}\r\n onOpenChange={setNovoClienteOpen}\r\n onSubmit={(data) => {\r\n console.log(\"Novo cliente:\", data);\r\n alert(`Cliente \"${data.name}\" criado (mock)`);\r\n }}\r\n />\r\n\r\n {/* DetailDrawer — abre ao clicar numa row, slide-in da direita SEM\r\n backdrop modal (tabela continua interativa atrás). */}\r\n <DetailDrawer\r\n row={detailRow}\r\n onClose={() => setDetailRowId(null)}\r\n onEdit={(r) => console.log(\"Editar\", r.id)}\r\n onDelete={(r) => askDelete(r)}\r\n onSave={(r) => alert(`Salvar alterações em ${r.name} (mock)`)}\r\n />\r\n\r\n {/* AlertModal de confirmação de exclusão — compartilhado entre\r\n row action menu, bulk action e DetailDrawer.onDelete. */}\r\n <AlertModal\r\n open={confirmDelete !== null}\r\n onOpenChange={(open) => {\r\n if (!open) setConfirmDelete(null);\r\n }}\r\n tone=\"danger\"\r\n title={\r\n confirmDelete && confirmDelete.ids.length > 1\r\n ? `Excluir ${confirmDelete.label}?`\r\n : \"Excluir cliente?\"\r\n }\r\n description={\r\n confirmDelete\r\n ? confirmDelete.ids.length > 1\r\n ? `Esta ação não pode ser desfeita. ${confirmDelete.label} serão removidos permanentemente.`\r\n : `Esta ação não pode ser desfeita. \"${confirmDelete.label}\" será removido permanentemente.`\r\n : null\r\n }\r\n confirmLabel=\"Excluir\"\r\n cancelLabel=\"Cancelar\"\r\n onConfirm={handleConfirmDelete}\r\n />\r\n </AppShell>\r\n );\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ const useTheme = require("../chunks/useTheme-Dee4mo-A.cjs");
6
6
  const lucideReact = require("lucide-react");
7
7
  const recharts = require("recharts");
8
8
  const chipGroup = require("../chunks/chip-group-2-f_Yo7Y.cjs");
9
- const appShell = require("../chunks/app-shell-BdVam01i.cjs");
10
- const pageHeader = require("../chunks/page-header-qOywgRWy.cjs");
9
+ const appShell = require("../chunks/app-shell-CPx9X7zP.cjs");
10
+ const pageHeader = require("../chunks/page-header-BZ-WrxV2.cjs");
11
11
  const appShellMocks = require("../chunks/app-shell-mocks-oO_IV3Gw.cjs");
12
12
  const KPIS_PRIMARY = [
13
13
  {
@@ -233,7 +233,7 @@ function WelcomeBanner() {
233
233
  function KeyInsightsCard() {
234
234
  return /* @__PURE__ */ jsxRuntime.jsxs("article", { className: "flex flex-col gap-gp-md p-pad-3xl bg-bg-surface border border-border-subtle rounded-radius-xl shadow-sh-sm h-full", children: [
235
235
  /* @__PURE__ */ jsxRuntime.jsxs("header", { className: "flex items-center justify-between gap-gp-md", children: [
236
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "m-0 text-body-md font-medium font-bold text-fg-default", children: "Key Insights" }),
236
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "m-0 text-body-md font-medium text-fg-default", children: "Key Insights" }),
237
237
  /* @__PURE__ */ jsxRuntime.jsx(chipGroup.Button, { color: "secondary", variant: "ghost", size: "icon-sm", "aria-label": "Mais opções", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreVertical, {}) })
238
238
  ] }),
239
239
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "m-0 text-body-xs font-normal text-fg-muted", children: "Receita acumulada (anual)" }),
@@ -281,7 +281,7 @@ function SectionCard({
281
281
  children: [
282
282
  /* @__PURE__ */ jsxRuntime.jsxs("header", { className: "flex items-center justify-between gap-gp-md", children: [
283
283
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-[2px] min-w-0", children: [
284
- /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "m-0 text-body-md font-medium font-bold text-fg-default", children: title }),
284
+ /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "m-0 text-body-md font-medium text-fg-default", children: title }),
285
285
  subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "m-0 text-body-xs font-normal text-fg-muted", children: subtitle })
286
286
  ] }),
287
287
  action ?? /* @__PURE__ */ jsxRuntime.jsx(chipGroup.Button, { color: "secondary", variant: "ghost", size: "icon-sm", "aria-label": "Mais opções", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreVertical, {}) })