@snksergio/design-system 0.19.1 → 0.30.2

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 (248) hide show
  1. package/README.md +39 -12
  2. package/dist-lib/chunks/{app-shell-Cy9be0Zx.mjs → app-shell-78w0pYdP.mjs} +849 -79
  3. package/dist-lib/chunks/app-shell-78w0pYdP.mjs.map +1 -0
  4. package/dist-lib/chunks/{app-shell-CPx9X7zP.cjs → app-shell-Cyh8AUJT.cjs} +947 -176
  5. package/dist-lib/chunks/app-shell-Cyh8AUJT.cjs.map +1 -0
  6. package/dist-lib/chunks/{clientes-showcase-mocks-ayU1SDOA.mjs → clientes-showcase-mocks-CwWGCCmf.mjs} +1 -27
  7. package/dist-lib/chunks/clientes-showcase-mocks-CwWGCCmf.mjs.map +1 -0
  8. package/dist-lib/chunks/{clientes-showcase-mocks-DygUqkkh.cjs → clientes-showcase-mocks-CwhluBTT.cjs} +1 -44
  9. package/dist-lib/chunks/clientes-showcase-mocks-CwhluBTT.cjs.map +1 -0
  10. package/dist-lib/chunks/{input-BWevV7up.cjs → input-BjUSWce3.cjs} +24 -4
  11. package/dist-lib/chunks/input-BjUSWce3.cjs.map +1 -0
  12. package/dist-lib/chunks/{input-C9eKSSEb.mjs → input-DCDU4i4S.mjs} +23 -3
  13. package/dist-lib/chunks/input-DCDU4i4S.mjs.map +1 -0
  14. package/dist-lib/chunks/kpi-delta-C_3V6uG6.cjs +148 -0
  15. package/dist-lib/chunks/kpi-delta-C_3V6uG6.cjs.map +1 -0
  16. package/dist-lib/chunks/kpi-delta-DpYuDY4h.mjs +149 -0
  17. package/dist-lib/chunks/kpi-delta-DpYuDY4h.mjs.map +1 -0
  18. package/dist-lib/chunks/{page-header-CQbTGWQ8.mjs → page-header-B6XJyIMz.mjs} +2 -2
  19. package/dist-lib/chunks/{page-header-CQbTGWQ8.mjs.map → page-header-B6XJyIMz.mjs.map} +1 -1
  20. package/dist-lib/chunks/{page-header-BZ-WrxV2.cjs → page-header-D0rpU0yn.cjs} +4 -4
  21. package/dist-lib/chunks/{page-header-BZ-WrxV2.cjs.map → page-header-D0rpU0yn.cjs.map} +1 -1
  22. package/dist-lib/chunks/{panel-pOXMw6a-.cjs → panel-B_SSIEDs.cjs} +1876 -1067
  23. package/dist-lib/chunks/panel-B_SSIEDs.cjs.map +1 -0
  24. package/dist-lib/chunks/{panel-BCUixETK.mjs → panel-CEkyoGiO.mjs} +1639 -831
  25. package/dist-lib/chunks/panel-CEkyoGiO.mjs.map +1 -0
  26. package/dist-lib/index.cjs +3819 -230
  27. package/dist-lib/index.cjs.map +1 -1
  28. package/dist-lib/index.mjs +3898 -313
  29. package/dist-lib/index.mjs.map +1 -1
  30. package/dist-lib/preview/chat.cjs +41 -42
  31. package/dist-lib/preview/chat.cjs.map +1 -1
  32. package/dist-lib/preview/chat.mjs +2 -3
  33. package/dist-lib/preview/chat.mjs.map +1 -1
  34. package/dist-lib/preview/clientes.cjs +22 -24
  35. package/dist-lib/preview/clientes.cjs.map +1 -1
  36. package/dist-lib/preview/clientes.mjs +5 -7
  37. package/dist-lib/preview/clientes.mjs.map +1 -1
  38. package/dist-lib/preview/dashboard.cjs +232 -28
  39. package/dist-lib/preview/dashboard.cjs.map +1 -1
  40. package/dist-lib/preview/dashboard.mjs +215 -11
  41. package/dist-lib/preview/dashboard.mjs.map +1 -1
  42. package/dist-lib/preview/mocks.cjs +1 -1
  43. package/dist-lib/preview/mocks.mjs +1 -1
  44. package/dist-lib/src/components/index.d.ts +14 -0
  45. package/dist-lib/src/components/index.d.ts.map +1 -1
  46. package/dist-lib/src/components/shadcn/command.d.ts.map +1 -1
  47. package/dist-lib/src/components/shadcn/input.d.ts.map +1 -1
  48. package/dist-lib/src/components/shadcn/tabs.d.ts +11 -6
  49. package/dist-lib/src/components/shadcn/tabs.d.ts.map +1 -1
  50. package/dist-lib/src/components/shadcn/tooltip.d.ts +25 -7
  51. package/dist-lib/src/components/shadcn/tooltip.d.ts.map +1 -1
  52. package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.d.ts +13 -0
  53. package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.d.ts.map +1 -0
  54. package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.styles.d.ts +95 -0
  55. package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.styles.d.ts.map +1 -0
  56. package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.types.d.ts +81 -0
  57. package/dist-lib/src/components/ui/ChoroplethMap/choropleth-map.types.d.ts.map +1 -0
  58. package/dist-lib/src/components/ui/ChoroplethMap/index.d.ts +3 -0
  59. package/dist-lib/src/components/ui/ChoroplethMap/index.d.ts.map +1 -0
  60. package/dist-lib/src/components/ui/ColorPicker/color-picker.d.ts +16 -0
  61. package/dist-lib/src/components/ui/ColorPicker/color-picker.d.ts.map +1 -0
  62. package/dist-lib/src/components/ui/ColorPicker/color-picker.presets.d.ts +13 -0
  63. package/dist-lib/src/components/ui/ColorPicker/color-picker.presets.d.ts.map +1 -0
  64. package/dist-lib/src/components/ui/ColorPicker/color-picker.styles.d.ts +135 -0
  65. package/dist-lib/src/components/ui/ColorPicker/color-picker.styles.d.ts.map +1 -0
  66. package/dist-lib/src/components/ui/ColorPicker/color-picker.types.d.ts +35 -0
  67. package/dist-lib/src/components/ui/ColorPicker/color-picker.types.d.ts.map +1 -0
  68. package/dist-lib/src/components/ui/ColorPicker/index.d.ts +6 -0
  69. package/dist-lib/src/components/ui/ColorPicker/index.d.ts.map +1 -0
  70. package/dist-lib/src/components/ui/ConversationListItem/conversation-list-item.d.ts +23 -0
  71. package/dist-lib/src/components/ui/ConversationListItem/conversation-list-item.d.ts.map +1 -0
  72. package/dist-lib/src/components/ui/ConversationListItem/conversation-list-item.styles.d.ts +173 -0
  73. package/dist-lib/src/components/ui/ConversationListItem/conversation-list-item.styles.d.ts.map +1 -0
  74. package/dist-lib/src/components/ui/ConversationListItem/conversation-list-item.types.d.ts +59 -0
  75. package/dist-lib/src/components/ui/ConversationListItem/conversation-list-item.types.d.ts.map +1 -0
  76. package/dist-lib/src/components/ui/ConversationListItem/index.d.ts +5 -0
  77. package/dist-lib/src/components/ui/ConversationListItem/index.d.ts.map +1 -0
  78. package/dist-lib/src/components/ui/DataTable/data-table.d.ts.map +1 -1
  79. package/dist-lib/src/components/ui/DataTable/data-table.types.d.ts +14 -1
  80. package/dist-lib/src/components/ui/DataTable/data-table.types.d.ts.map +1 -1
  81. package/dist-lib/src/components/ui/DataTable/hooks/use-column-auto-width.d.ts +9 -0
  82. package/dist-lib/src/components/ui/DataTable/hooks/use-column-auto-width.d.ts.map +1 -1
  83. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-controller.d.ts.map +1 -1
  84. package/dist-lib/src/components/ui/DataTable/services/saved-views.types.d.ts +9 -0
  85. package/dist-lib/src/components/ui/DataTable/services/saved-views.types.d.ts.map +1 -1
  86. package/dist-lib/src/components/ui/DataTable/utils/calculate-column-widths.d.ts +16 -0
  87. package/dist-lib/src/components/ui/DataTable/utils/calculate-column-widths.d.ts.map +1 -1
  88. package/dist-lib/src/components/ui/DatePicker/datepicker.d.ts +31 -8
  89. package/dist-lib/src/components/ui/DatePicker/datepicker.d.ts.map +1 -1
  90. package/dist-lib/src/components/ui/DatePicker/index.d.ts +1 -1
  91. package/dist-lib/src/components/ui/DatePicker/index.d.ts.map +1 -1
  92. package/dist-lib/src/components/ui/DateSeparatorChip/date-separator-chip.d.ts +18 -0
  93. package/dist-lib/src/components/ui/DateSeparatorChip/date-separator-chip.d.ts.map +1 -0
  94. package/dist-lib/src/components/ui/DateSeparatorChip/date-separator-chip.styles.d.ts +63 -0
  95. package/dist-lib/src/components/ui/DateSeparatorChip/date-separator-chip.styles.d.ts.map +1 -0
  96. package/dist-lib/src/components/ui/DateSeparatorChip/date-separator-chip.types.d.ts +21 -0
  97. package/dist-lib/src/components/ui/DateSeparatorChip/date-separator-chip.types.d.ts.map +1 -0
  98. package/dist-lib/src/components/ui/DateSeparatorChip/index.d.ts +5 -0
  99. package/dist-lib/src/components/ui/DateSeparatorChip/index.d.ts.map +1 -0
  100. package/dist-lib/src/components/ui/EmptyState/empty-state.d.ts +12 -0
  101. package/dist-lib/src/components/ui/EmptyState/empty-state.d.ts.map +1 -0
  102. package/dist-lib/src/components/ui/EmptyState/empty-state.styles.d.ts +83 -0
  103. package/dist-lib/src/components/ui/EmptyState/empty-state.styles.d.ts.map +1 -0
  104. package/dist-lib/src/components/ui/EmptyState/empty-state.types.d.ts +43 -0
  105. package/dist-lib/src/components/ui/EmptyState/empty-state.types.d.ts.map +1 -0
  106. package/dist-lib/src/components/ui/EmptyState/index.d.ts +5 -0
  107. package/dist-lib/src/components/ui/EmptyState/index.d.ts.map +1 -0
  108. package/dist-lib/src/components/ui/FileUploadField/file-upload-field.d.ts +15 -0
  109. package/dist-lib/src/components/ui/FileUploadField/file-upload-field.d.ts.map +1 -0
  110. package/dist-lib/src/components/ui/FileUploadField/file-upload-field.styles.d.ts +66 -0
  111. package/dist-lib/src/components/ui/FileUploadField/file-upload-field.styles.d.ts.map +1 -0
  112. package/dist-lib/src/components/ui/FileUploadField/file-upload-field.types.d.ts +41 -0
  113. package/dist-lib/src/components/ui/FileUploadField/file-upload-field.types.d.ts.map +1 -0
  114. package/dist-lib/src/components/ui/FileUploadField/index.d.ts +3 -0
  115. package/dist-lib/src/components/ui/FileUploadField/index.d.ts.map +1 -0
  116. package/dist-lib/src/components/ui/Kpi/kpi-delta.d.ts +4 -1
  117. package/dist-lib/src/components/ui/Kpi/kpi-delta.d.ts.map +1 -1
  118. package/dist-lib/src/components/ui/Kpi/kpi.d.ts +1 -1
  119. package/dist-lib/src/components/ui/Kpi/kpi.d.ts.map +1 -1
  120. package/dist-lib/src/components/ui/Kpi/kpi.styles.d.ts +42 -0
  121. package/dist-lib/src/components/ui/Kpi/kpi.styles.d.ts.map +1 -1
  122. package/dist-lib/src/components/ui/Kpi/kpi.types.d.ts +13 -1
  123. package/dist-lib/src/components/ui/Kpi/kpi.types.d.ts.map +1 -1
  124. package/dist-lib/src/components/ui/MarkdownText/index.d.ts +5 -0
  125. package/dist-lib/src/components/ui/MarkdownText/index.d.ts.map +1 -0
  126. package/dist-lib/src/components/ui/MarkdownText/markdown-text.d.ts +14 -0
  127. package/dist-lib/src/components/ui/MarkdownText/markdown-text.d.ts.map +1 -0
  128. package/dist-lib/src/components/ui/MarkdownText/markdown-text.styles.d.ts +72 -0
  129. package/dist-lib/src/components/ui/MarkdownText/markdown-text.styles.d.ts.map +1 -0
  130. package/dist-lib/src/components/ui/MarkdownText/markdown-text.types.d.ts +26 -0
  131. package/dist-lib/src/components/ui/MarkdownText/markdown-text.types.d.ts.map +1 -0
  132. package/dist-lib/src/components/ui/MenuSidebar/sidebar-section.d.ts.map +1 -1
  133. package/dist-lib/src/components/ui/MenuSidebar/sidebar.styles.d.ts +1 -0
  134. package/dist-lib/src/components/ui/MenuSidebar/sidebar.styles.d.ts.map +1 -1
  135. package/dist-lib/src/components/ui/MenuSidebar/sidebar.types.d.ts +7 -1
  136. package/dist-lib/src/components/ui/MenuSidebar/sidebar.types.d.ts.map +1 -1
  137. package/dist-lib/src/components/ui/MessageAck/index.d.ts +5 -0
  138. package/dist-lib/src/components/ui/MessageAck/index.d.ts.map +1 -0
  139. package/dist-lib/src/components/ui/MessageAck/message-ack.d.ts +18 -0
  140. package/dist-lib/src/components/ui/MessageAck/message-ack.d.ts.map +1 -0
  141. package/dist-lib/src/components/ui/MessageAck/message-ack.styles.d.ts +61 -0
  142. package/dist-lib/src/components/ui/MessageAck/message-ack.styles.d.ts.map +1 -0
  143. package/dist-lib/src/components/ui/MessageAck/message-ack.types.d.ts +14 -0
  144. package/dist-lib/src/components/ui/MessageAck/message-ack.types.d.ts.map +1 -0
  145. package/dist-lib/src/components/ui/MessageBubble/index.d.ts +5 -0
  146. package/dist-lib/src/components/ui/MessageBubble/index.d.ts.map +1 -0
  147. package/dist-lib/src/components/ui/MessageBubble/message-bubble.d.ts +20 -0
  148. package/dist-lib/src/components/ui/MessageBubble/message-bubble.d.ts.map +1 -0
  149. package/dist-lib/src/components/ui/MessageBubble/message-bubble.styles.d.ts +180 -0
  150. package/dist-lib/src/components/ui/MessageBubble/message-bubble.styles.d.ts.map +1 -0
  151. package/dist-lib/src/components/ui/MessageBubble/message-bubble.types.d.ts +87 -0
  152. package/dist-lib/src/components/ui/MessageBubble/message-bubble.types.d.ts.map +1 -0
  153. package/dist-lib/src/components/ui/MessageComposer/index.d.ts +5 -0
  154. package/dist-lib/src/components/ui/MessageComposer/index.d.ts.map +1 -0
  155. package/dist-lib/src/components/ui/MessageComposer/message-composer.d.ts +18 -0
  156. package/dist-lib/src/components/ui/MessageComposer/message-composer.d.ts.map +1 -0
  157. package/dist-lib/src/components/ui/MessageComposer/message-composer.styles.d.ts +113 -0
  158. package/dist-lib/src/components/ui/MessageComposer/message-composer.styles.d.ts.map +1 -0
  159. package/dist-lib/src/components/ui/MessageComposer/message-composer.types.d.ts +49 -0
  160. package/dist-lib/src/components/ui/MessageComposer/message-composer.types.d.ts.map +1 -0
  161. package/dist-lib/src/components/ui/MessageVariablesPicker/index.d.ts +6 -0
  162. package/dist-lib/src/components/ui/MessageVariablesPicker/index.d.ts.map +1 -0
  163. package/dist-lib/src/components/ui/MessageVariablesPicker/message-variables-picker.d.ts +12 -0
  164. package/dist-lib/src/components/ui/MessageVariablesPicker/message-variables-picker.d.ts.map +1 -0
  165. package/dist-lib/src/components/ui/MessageVariablesPicker/message-variables-picker.styles.d.ts +57 -0
  166. package/dist-lib/src/components/ui/MessageVariablesPicker/message-variables-picker.styles.d.ts.map +1 -0
  167. package/dist-lib/src/components/ui/MessageVariablesPicker/message-variables-picker.types.d.ts +36 -0
  168. package/dist-lib/src/components/ui/MessageVariablesPicker/message-variables-picker.types.d.ts.map +1 -0
  169. package/dist-lib/src/components/ui/Modal/modal.d.ts +3 -1
  170. package/dist-lib/src/components/ui/Modal/modal.d.ts.map +1 -1
  171. package/dist-lib/src/components/ui/Modal/modal.styles.d.ts +7 -1
  172. package/dist-lib/src/components/ui/Modal/modal.styles.d.ts.map +1 -1
  173. package/dist-lib/src/components/ui/MonthYearPicker/index.d.ts +3 -0
  174. package/dist-lib/src/components/ui/MonthYearPicker/index.d.ts.map +1 -0
  175. package/dist-lib/src/components/ui/MonthYearPicker/month-year-picker.d.ts +11 -0
  176. package/dist-lib/src/components/ui/MonthYearPicker/month-year-picker.d.ts.map +1 -0
  177. package/dist-lib/src/components/ui/MonthYearPicker/month-year-picker.styles.d.ts +113 -0
  178. package/dist-lib/src/components/ui/MonthYearPicker/month-year-picker.styles.d.ts.map +1 -0
  179. package/dist-lib/src/components/ui/MonthYearPicker/month-year-picker.types.d.ts +34 -0
  180. package/dist-lib/src/components/ui/MonthYearPicker/month-year-picker.types.d.ts.map +1 -0
  181. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.styles.d.ts +1 -1
  182. package/dist-lib/src/components/ui/Spinner/index.d.ts +3 -0
  183. package/dist-lib/src/components/ui/Spinner/index.d.ts.map +1 -0
  184. package/dist-lib/src/components/ui/Spinner/spinner.d.ts +11 -0
  185. package/dist-lib/src/components/ui/Spinner/spinner.d.ts.map +1 -0
  186. package/dist-lib/src/components/ui/Spinner/spinner.styles.d.ts +55 -0
  187. package/dist-lib/src/components/ui/Spinner/spinner.styles.d.ts.map +1 -0
  188. package/dist-lib/src/components/ui/Spinner/spinner.types.d.ts +12 -0
  189. package/dist-lib/src/components/ui/Spinner/spinner.types.d.ts.map +1 -0
  190. package/dist-lib/src/components/ui/TableToolbar/parts/table-toolbar-views.d.ts +7 -1
  191. package/dist-lib/src/components/ui/TableToolbar/parts/table-toolbar-views.d.ts.map +1 -1
  192. package/dist-lib/src/components/ui/Toast/toast.d.ts +44 -0
  193. package/dist-lib/src/components/ui/Toast/toast.d.ts.map +1 -0
  194. package/dist-lib/src/hooks/useBrand.d.ts +31 -0
  195. package/dist-lib/src/hooks/useBrand.d.ts.map +1 -0
  196. package/dist-lib/src/preview/pages/ChatV2/components/QueueColumn/queue-column.styles.d.ts +3 -3
  197. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase-mocks.d.ts +1 -1
  198. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase-mocks.d.ts.map +1 -1
  199. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase.types.d.ts +1 -1
  200. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase.types.d.ts.map +1 -1
  201. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.types.d.ts +1 -1
  202. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.types.d.ts.map +1 -1
  203. package/dist-lib/src/preview/pages/DashboardShowcase.d.ts.map +1 -1
  204. package/dist-lib/src/preview/pages/_table-data.d.ts +51 -0
  205. package/dist-lib/src/preview/pages/_table-data.d.ts.map +1 -0
  206. package/dist-lib/src/utils/tv.d.ts.map +1 -1
  207. package/dist-lib/theme.css +32 -0
  208. package/dist-lib/tokens/brands/blue/primitives/color-palette.d.ts +266 -0
  209. package/dist-lib/tokens/brands/blue/primitives/color-palette.d.ts.map +1 -0
  210. package/dist-lib/tokens/brands/blue/semantic/color-dark.d.ts +200 -0
  211. package/dist-lib/tokens/brands/blue/semantic/color-dark.d.ts.map +1 -0
  212. package/dist-lib/tokens/brands/blue/semantic/color-light.d.ts +202 -0
  213. package/dist-lib/tokens/brands/blue/semantic/color-light.d.ts.map +1 -0
  214. package/dist-lib/tokens/brands/default/semantic/typography.d.ts +4 -2
  215. package/dist-lib/tokens/brands/default/semantic/typography.d.ts.map +1 -1
  216. package/dist-lib/tokens/brands/green/primitives/color-palette.d.ts +267 -0
  217. package/dist-lib/tokens/brands/green/primitives/color-palette.d.ts.map +1 -0
  218. package/dist-lib/tokens/brands/green/semantic/color-dark.d.ts +200 -0
  219. package/dist-lib/tokens/brands/green/semantic/color-dark.d.ts.map +1 -0
  220. package/dist-lib/tokens/brands/green/semantic/color-light.d.ts +201 -0
  221. package/dist-lib/tokens/brands/green/semantic/color-light.d.ts.map +1 -0
  222. package/dist-lib/tokens/brands/pay/primitives/color-palette.d.ts +146 -0
  223. package/dist-lib/tokens/brands/pay/primitives/color-palette.d.ts.map +1 -0
  224. package/dist-lib/tokens/brands/pay/semantic/color-dark.d.ts +201 -0
  225. package/dist-lib/tokens/brands/pay/semantic/color-dark.d.ts.map +1 -0
  226. package/dist-lib/tokens/brands/pay/semantic/color-light.d.ts +199 -0
  227. package/dist-lib/tokens/brands/pay/semantic/color-light.d.ts.map +1 -0
  228. package/dist-lib/tokens.cjs +35 -0
  229. package/dist-lib/tokens.cjs.map +1 -1
  230. package/dist-lib/tokens.mjs +35 -0
  231. package/dist-lib/tokens.mjs.map +1 -1
  232. package/package.json +21 -7
  233. package/dist-lib/chunks/app-shell-CPx9X7zP.cjs.map +0 -1
  234. package/dist-lib/chunks/app-shell-Cy9be0Zx.mjs.map +0 -1
  235. package/dist-lib/chunks/badge-DBdk74KN.mjs +0 -840
  236. package/dist-lib/chunks/badge-DBdk74KN.mjs.map +0 -1
  237. package/dist-lib/chunks/badge-gU2wtxrn.cjs +0 -856
  238. package/dist-lib/chunks/badge-gU2wtxrn.cjs.map +0 -1
  239. package/dist-lib/chunks/chip-group-2-f_Yo7Y.cjs +0 -763
  240. package/dist-lib/chunks/chip-group-2-f_Yo7Y.cjs.map +0 -1
  241. package/dist-lib/chunks/chip-group-_e-yh1Zq.mjs +0 -747
  242. package/dist-lib/chunks/chip-group-_e-yh1Zq.mjs.map +0 -1
  243. package/dist-lib/chunks/clientes-showcase-mocks-DygUqkkh.cjs.map +0 -1
  244. package/dist-lib/chunks/clientes-showcase-mocks-ayU1SDOA.mjs.map +0 -1
  245. package/dist-lib/chunks/input-BWevV7up.cjs.map +0 -1
  246. package/dist-lib/chunks/input-C9eKSSEb.mjs.map +0 -1
  247. package/dist-lib/chunks/panel-BCUixETK.mjs.map +0 -1
  248. package/dist-lib/chunks/panel-pOXMw6a-.cjs.map +0 -1
@@ -1,10 +1,13 @@
1
1
  "use strict";
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const React = require("react");
4
- const chipGroup = require("./chip-group-2-f_Yo7Y.cjs");
4
+ const clsx = require("clsx");
5
+ const tailwindMerge = require("tailwind-merge");
5
6
  const lucideReact = require("lucide-react");
7
+ const tailwindVariants = require("tailwind-variants");
6
8
  const cmdk = require("cmdk");
7
9
  const SheetPrimitive = require("@radix-ui/react-dialog");
10
+ const ToggleGroupPrimitive = require("@radix-ui/react-toggle-group");
8
11
  const PopoverPrimitive = require("@radix-ui/react-popover");
9
12
  const classVarianceAuthority = require("class-variance-authority");
10
13
  const DropdownMenuPrimitive = require("@radix-ui/react-dropdown-menu");
@@ -27,10 +30,430 @@ function _interopNamespaceDefault(e) {
27
30
  }
28
31
  const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
29
32
  const SheetPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(SheetPrimitive);
33
+ const ToggleGroupPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(ToggleGroupPrimitive);
30
34
  const PopoverPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(PopoverPrimitive);
31
35
  const DropdownMenuPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(DropdownMenuPrimitive);
32
36
  const AvatarPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(AvatarPrimitive);
33
- const headerRoot = chipGroup.tv({
37
+ const isDsPad = (v) => /^(pad|sp)-/.test(v);
38
+ const isDsGap = (v) => /^gp-/.test(v);
39
+ const isDsRadius = (v) => /^radius-/.test(v);
40
+ const isDsShadow = (v) => /^sh-/.test(v);
41
+ const isDsForm = (v) => /^form-/.test(v);
42
+ const twMerge = tailwindMerge.extendTailwindMerge({
43
+ extend: {
44
+ classGroups: {
45
+ "font-size": [
46
+ {
47
+ // Lista 1:1 com tokens/brands/default/semantic/typography.ts.
48
+ // Manter sincronizado com src/utils/tv.ts. Ver L-016.
49
+ text: [
50
+ // Displays (fluid clamp)
51
+ "display-2xl",
52
+ "display-xl",
53
+ "display-lg",
54
+ "display-md",
55
+ // Headings (xs estático, sm-xl fluid clamp)
56
+ "heading-xl",
57
+ "heading-lg",
58
+ "heading-md",
59
+ "heading-sm",
60
+ "heading-xs",
61
+ // Titles (weight 600 default)
62
+ "title-lg",
63
+ "title-md",
64
+ "title-sm",
65
+ // Body (xs/sm = weight 500 interactive; md-2xl = 400 corrido)
66
+ "body-2xl",
67
+ "body-xl",
68
+ "body-lg",
69
+ "body-md",
70
+ "body-sm",
71
+ "body-xs",
72
+ // Captions (weight 400)
73
+ "caption-md",
74
+ "caption-sm",
75
+ "caption-xs",
76
+ // Code (mono regular)
77
+ "code-md",
78
+ "code-sm"
79
+ ]
80
+ }
81
+ ],
82
+ /* ── Padding ──────────────────────────────────────────────────────── */
83
+ p: [{ p: [isDsPad] }],
84
+ px: [{ px: [isDsPad] }],
85
+ py: [{ py: [isDsPad] }],
86
+ pt: [{ pt: [isDsPad] }],
87
+ pr: [{ pr: [isDsPad] }],
88
+ pb: [{ pb: [isDsPad] }],
89
+ pl: [{ pl: [isDsPad] }],
90
+ ps: [{ ps: [isDsPad] }],
91
+ pe: [{ pe: [isDsPad] }],
92
+ /* ── Margin (usa mesmo sp-*) ──────────────────────────────────────── */
93
+ m: [{ m: [isDsPad] }],
94
+ mx: [{ mx: [isDsPad] }],
95
+ my: [{ my: [isDsPad] }],
96
+ mt: [{ mt: [isDsPad] }],
97
+ mr: [{ mr: [isDsPad] }],
98
+ mb: [{ mb: [isDsPad] }],
99
+ ml: [{ ml: [isDsPad] }],
100
+ ms: [{ ms: [isDsPad] }],
101
+ me: [{ me: [isDsPad] }],
102
+ /* ── Inset / position (top/right/bottom/left) ─────────────────────── */
103
+ inset: [{ inset: [isDsPad] }],
104
+ "inset-x": [{ "inset-x": [isDsPad] }],
105
+ "inset-y": [{ "inset-y": [isDsPad] }],
106
+ "top": [{ top: [isDsPad] }],
107
+ "right": [{ right: [isDsPad] }],
108
+ "bottom": [{ bottom: [isDsPad] }],
109
+ "left": [{ left: [isDsPad] }],
110
+ "start": [{ start: [isDsPad] }],
111
+ "end": [{ end: [isDsPad] }],
112
+ /* ── Gap ──────────────────────────────────────────────────────────── */
113
+ gap: [{ gap: [isDsGap] }],
114
+ "gap-x": [{ "gap-x": [isDsGap] }],
115
+ "gap-y": [{ "gap-y": [isDsGap] }],
116
+ /* ── Rounded (todas as cantos) ────────────────────────────────────── */
117
+ rounded: [{ rounded: [isDsRadius] }],
118
+ "rounded-s": [{ "rounded-s": [isDsRadius] }],
119
+ "rounded-e": [{ "rounded-e": [isDsRadius] }],
120
+ "rounded-t": [{ "rounded-t": [isDsRadius] }],
121
+ "rounded-r": [{ "rounded-r": [isDsRadius] }],
122
+ "rounded-b": [{ "rounded-b": [isDsRadius] }],
123
+ "rounded-l": [{ "rounded-l": [isDsRadius] }],
124
+ "rounded-ss": [{ "rounded-ss": [isDsRadius] }],
125
+ "rounded-se": [{ "rounded-se": [isDsRadius] }],
126
+ "rounded-ee": [{ "rounded-ee": [isDsRadius] }],
127
+ "rounded-es": [{ "rounded-es": [isDsRadius] }],
128
+ "rounded-tl": [{ "rounded-tl": [isDsRadius] }],
129
+ "rounded-tr": [{ "rounded-tr": [isDsRadius] }],
130
+ "rounded-br": [{ "rounded-br": [isDsRadius] }],
131
+ "rounded-bl": [{ "rounded-bl": [isDsRadius] }],
132
+ /* ── Shadow ───────────────────────────────────────────────────────── */
133
+ shadow: [{ shadow: [isDsShadow] }],
134
+ /* ── Form sizes (min-h, h, w, size) ───────────────────────────────── */
135
+ "min-h": [{ "min-h": [isDsForm] }],
136
+ h: [{ h: [isDsForm] }],
137
+ w: [{ w: [isDsForm] }],
138
+ size: [{ size: [isDsForm] }]
139
+ }
140
+ }
141
+ });
142
+ function cn(...inputs) {
143
+ return twMerge(clsx.clsx(inputs));
144
+ }
145
+ const twMergeConfig = {
146
+ extend: {
147
+ classGroups: {
148
+ "font-size": [
149
+ {
150
+ text: [
151
+ // Displays (fluid clamp)
152
+ "display-2xl",
153
+ "display-xl",
154
+ "display-lg",
155
+ "display-md",
156
+ // Headings (xs estático, sm-xl fluid clamp)
157
+ "heading-xl",
158
+ "heading-lg",
159
+ "heading-md",
160
+ "heading-sm",
161
+ "heading-xs",
162
+ // Titles (weight 600 default)
163
+ "title-lg",
164
+ "title-md",
165
+ "title-sm",
166
+ // Body (xs/sm = weight 500 interactive; md-2xl = 400 corrido)
167
+ "body-2xl",
168
+ "body-xl",
169
+ "body-lg",
170
+ "body-md",
171
+ "body-sm",
172
+ "body-xs",
173
+ // Captions (weight 400)
174
+ "caption-md",
175
+ "caption-sm",
176
+ "caption-xs",
177
+ // Stat (número de métrica/KPI — estático, bold, leading tight)
178
+ "stat-xl",
179
+ "stat-lg",
180
+ "stat-md",
181
+ "stat-sm",
182
+ // Code (mono regular)
183
+ "code-md",
184
+ "code-sm"
185
+ ]
186
+ }
187
+ ]
188
+ }
189
+ }
190
+ };
191
+ const tv = (options, config) => tailwindVariants.tv(options, {
192
+ ...config,
193
+ twMergeConfig
194
+ });
195
+ const buttonVariants = tv({
196
+ base: [
197
+ "inline-flex items-center justify-center",
198
+ "select-none whitespace-nowrap",
199
+ "focus-visible:outline-none",
200
+ "border border-transparent",
201
+ "text-body-sm font-semibold leading-none",
202
+ // 13px / 600 — alinhado com sandbox btn
203
+ "[&_svg]:shrink-0",
204
+ // SVG não diminui; tamanho controlado por size
205
+ "transition-all duration-200 ease-out",
206
+ "cursor-pointer",
207
+ "focus-visible:ring-4"
208
+ ],
209
+ variants: {
210
+ color: {
211
+ primary: "focus-visible:ring-ring-brand",
212
+ secondary: "focus-visible:ring-ring-secondary",
213
+ critical: "focus-visible:ring-ring-danger",
214
+ success: "focus-visible:ring-ring-success",
215
+ warning: "focus-visible:ring-ring-warning"
216
+ },
217
+ variant: {
218
+ filled: "",
219
+ outline: "",
220
+ soft: "",
221
+ ghost: "bg-transparent"
222
+ },
223
+ size: {
224
+ // h28 / pad 10 / gap 6 / radius 8 / icon 12
225
+ "2xs": "min-h-form-xs px-pad-lg gap-gp-sm rounded-radius-md [&_svg]:size-[12px]",
226
+ // h32 / pad 12 / gap 6 / radius 8 / icon 14
227
+ xs: "min-h-form-sm px-pad-xl gap-gp-sm rounded-radius-md [&_svg]:size-[14px]",
228
+ // h36 / pad 12 / gap 6 / radius 10 / icon 14
229
+ sm: "min-h-form-md px-pad-xl gap-gp-sm rounded-radius-lg [&_svg]:size-[14px]",
230
+ // h40 / pad 16 / gap 6 / radius 10 / icon 14 (alinhado com sandbox Exportar)
231
+ md: "min-h-form-lg px-pad-2xl gap-gp-sm rounded-radius-lg [&_svg]:size-[14px]",
232
+ // h44 / pad 16 / gap 8 / radius 10 / icon 16
233
+ lg: "min-h-form-xl px-pad-2xl gap-gp-md rounded-radius-lg [&_svg]:size-[16px]",
234
+ // Icon buttons — width = height (square). Regra: SVG +2px vs versão com label
235
+ // (precisa preencher mais o quadrado sem o texto carregando peso visual).
236
+ "icon-2xs": "size-form-xs rounded-radius-md p-0 [&_svg]:size-[14px]",
237
+ // 28×28 / +2 (12→14)
238
+ "icon-xs": "size-form-sm rounded-radius-md p-0 [&_svg]:size-[16px]",
239
+ // 32×32 / +2 (14→16)
240
+ "icon-sm": "size-form-md rounded-radius-lg p-0 [&_svg]:size-[16px]",
241
+ // 36×36 / +2 (14→16)
242
+ "icon-md": "size-form-lg rounded-radius-lg p-0 [&_svg]:size-[16px]",
243
+ // 40×40 / +2 (14→16)
244
+ "icon-lg": "size-form-xl rounded-radius-lg p-0 [&_svg]:size-[18px]"
245
+ // 44×44 / +2 (16→18)
246
+ },
247
+ fullWidth: {
248
+ true: "w-full flex-1"
249
+ },
250
+ /**
251
+ * Shape do botão:
252
+ * - rounded (default): mantém o radius da `size` (varia por tamanho)
253
+ * - pill: força `rounded-full` (override com `!` pra ganhar do size)
254
+ */
255
+ shape: {
256
+ rounded: "",
257
+ pill: "!rounded-full"
258
+ },
259
+ disabled: {
260
+ true: "pointer-events-none opacity-50"
261
+ }
262
+ },
263
+ compoundVariants: [
264
+ // ── Primary (brand) ─────────────────────────────────────────────
265
+ {
266
+ color: "primary",
267
+ variant: "filled",
268
+ class: "bg-bg-brand text-fg-on-brand hover:bg-bg-brand-hover"
269
+ },
270
+ {
271
+ color: "primary",
272
+ variant: "outline",
273
+ class: "bg-bg-surface border-border-brand text-fg-brand shadow-sh-sm hover:bg-bg-brand-subtle hover:border-transparent hover:shadow-sh-none"
274
+ },
275
+ {
276
+ color: "primary",
277
+ variant: "soft",
278
+ class: "bg-bg-brand-subtle text-fg-brand hover:bg-bg-brand-subtle-hover"
279
+ },
280
+ {
281
+ color: "primary",
282
+ variant: "ghost",
283
+ class: "text-fg-brand hover:bg-bg-brand-subtle"
284
+ },
285
+ // ── Secondary (neutro) ──────────────────────────────────────────
286
+ {
287
+ color: "secondary",
288
+ variant: "filled",
289
+ class: "bg-bg-muted text-fg-muted hover:bg-bg-muted-hover hover:text-fg-default"
290
+ },
291
+ {
292
+ // Outline alinhado com `.btn.tbl-tool-btn` do design-and-table-v2:
293
+ // light = bg-surface + border-subtle + fg-default + shadow-sm (mantém no hover)
294
+ // dark = bg-muted + border-input + fg-muted + sem shadow
295
+ color: "secondary",
296
+ variant: "outline",
297
+ class: [
298
+ "bg-bg-surface border-border-subtle text-fg-default shadow-sh-sm",
299
+ "dark:bg-bg-muted dark:border-border-input dark:text-fg-muted dark:shadow-sh-none",
300
+ "hover:bg-bg-muted-hover hover:text-fg-default",
301
+ "dark:hover:bg-bg-muted-hover dark:hover:text-fg-default"
302
+ ].join(" ")
303
+ },
304
+ {
305
+ color: "secondary",
306
+ variant: "soft",
307
+ class: "bg-bg-muted text-fg-muted hover:bg-bg-muted-hover hover:text-fg-default"
308
+ },
309
+ {
310
+ color: "secondary",
311
+ variant: "ghost",
312
+ class: "text-fg-muted hover:bg-bg-muted hover:text-fg-default"
313
+ },
314
+ // ── Critical (danger) ───────────────────────────────────────────
315
+ {
316
+ color: "critical",
317
+ variant: "filled",
318
+ class: "bg-bg-danger text-fg-on-danger hover:bg-bg-danger-hover"
319
+ },
320
+ {
321
+ color: "critical",
322
+ variant: "outline",
323
+ class: "bg-bg-surface border-border-danger-muted text-fg-danger shadow-sh-sm hover:bg-bg-danger-muted hover:shadow-sh-none"
324
+ },
325
+ {
326
+ color: "critical",
327
+ variant: "soft",
328
+ class: "bg-bg-danger-muted text-fg-danger hover:bg-bg-danger-muted-hover"
329
+ },
330
+ {
331
+ color: "critical",
332
+ variant: "ghost",
333
+ class: "text-fg-danger hover:bg-bg-danger-muted"
334
+ },
335
+ // ── Success ─────────────────────────────────────────────────────
336
+ {
337
+ color: "success",
338
+ variant: "filled",
339
+ class: "bg-bg-success text-fg-on-success hover:bg-bg-success-hover"
340
+ },
341
+ {
342
+ color: "success",
343
+ variant: "outline",
344
+ class: "bg-bg-surface border-border-success-muted text-fg-success shadow-sh-sm hover:bg-bg-success-muted hover:shadow-sh-none"
345
+ },
346
+ {
347
+ color: "success",
348
+ variant: "soft",
349
+ class: "bg-bg-success-muted text-fg-success hover:bg-bg-success-muted-hover"
350
+ },
351
+ {
352
+ color: "success",
353
+ variant: "ghost",
354
+ class: "text-fg-success hover:bg-bg-success-muted"
355
+ },
356
+ // ── Warning ─────────────────────────────────────────────────────
357
+ {
358
+ color: "warning",
359
+ variant: "filled",
360
+ class: "bg-bg-warning text-fg-on-warning hover:bg-bg-warning-hover"
361
+ },
362
+ {
363
+ color: "warning",
364
+ variant: "outline",
365
+ class: "bg-bg-surface border-border-warning-muted text-fg-warning shadow-sh-sm hover:bg-bg-warning-muted hover:shadow-sh-none"
366
+ },
367
+ {
368
+ color: "warning",
369
+ variant: "soft",
370
+ class: "bg-bg-warning-muted text-fg-warning hover:bg-bg-warning-muted-hover"
371
+ },
372
+ {
373
+ color: "warning",
374
+ variant: "ghost",
375
+ class: "text-fg-warning hover:bg-bg-warning-muted"
376
+ },
377
+ // ── Disabled — SEMPRE por último ────────────────────────────────
378
+ { disabled: true, class: "pointer-events-none opacity-50" }
379
+ ],
380
+ defaultVariants: {
381
+ color: "primary",
382
+ variant: "filled",
383
+ size: "md",
384
+ shape: "rounded"
385
+ }
386
+ });
387
+ const Button = React.forwardRef(
388
+ function Button2({
389
+ color,
390
+ variant,
391
+ size,
392
+ shape,
393
+ fullWidth,
394
+ loading = false,
395
+ disabled = false,
396
+ iconLeft,
397
+ iconRight,
398
+ children,
399
+ className,
400
+ type = "button",
401
+ ...rest
402
+ }, ref) {
403
+ const isDisabled = disabled || loading;
404
+ return /* @__PURE__ */ jsxRuntime.jsxs(
405
+ "button",
406
+ {
407
+ ref,
408
+ type,
409
+ disabled: isDisabled,
410
+ className: buttonVariants({
411
+ color,
412
+ variant,
413
+ size,
414
+ shape,
415
+ fullWidth,
416
+ disabled: isDisabled,
417
+ className
418
+ }),
419
+ ...rest,
420
+ children: [
421
+ loading && /* @__PURE__ */ jsxRuntime.jsx(Spinner, {}),
422
+ !loading && iconLeft,
423
+ children,
424
+ !loading && iconRight
425
+ ]
426
+ }
427
+ );
428
+ }
429
+ );
430
+ function Spinner() {
431
+ return /* @__PURE__ */ jsxRuntime.jsx(
432
+ "svg",
433
+ {
434
+ width: "16",
435
+ height: "16",
436
+ viewBox: "0 0 16 16",
437
+ fill: "none",
438
+ className: "animate-spin",
439
+ children: /* @__PURE__ */ jsxRuntime.jsx(
440
+ "circle",
441
+ {
442
+ cx: "8",
443
+ cy: "8",
444
+ r: "6",
445
+ stroke: "currentColor",
446
+ strokeWidth: "2",
447
+ strokeLinecap: "round",
448
+ strokeDasharray: "28",
449
+ strokeDashoffset: "8",
450
+ className: "opacity-70"
451
+ }
452
+ )
453
+ }
454
+ );
455
+ }
456
+ const headerRoot = tv({
34
457
  base: [
35
458
  "flex items-center justify-between gap-gp-lg",
36
459
  "h-[60px] flex-none px-pad-2xl",
@@ -38,16 +461,16 @@ const headerRoot = chipGroup.tv({
38
461
  "text-fg-default font-sans"
39
462
  ]
40
463
  });
41
- const headerLeft = chipGroup.tv({
464
+ const headerLeft = tv({
42
465
  base: "flex items-center gap-gp-md min-w-0 flex-1"
43
466
  });
44
- const headerRight = chipGroup.tv({
467
+ const headerRight = tv({
45
468
  base: "flex items-center gap-gp-sm shrink-0"
46
469
  });
47
- const headerDivider = chipGroup.tv({
470
+ const headerDivider = tv({
48
471
  base: "h-[24px] w-px bg-border-default shrink-0 mx-pad-xs"
49
472
  });
50
- const headerIconBtn = chipGroup.tv({
473
+ const headerIconBtn = tv({
51
474
  base: [
52
475
  "relative inline-flex items-center justify-center",
53
476
  "w-form-md h-form-md rounded-radius-md",
@@ -62,7 +485,7 @@ const headerIconBtn = chipGroup.tv({
62
485
  },
63
486
  defaultVariants: { variant: "ghost" }
64
487
  });
65
- const headerIconBtnBadge = chipGroup.tv({
488
+ const headerIconBtnBadge = tv({
66
489
  base: "absolute top-[4px] right-[4px] w-[8px] h-[8px] rounded-full ring-2 ring-bg-canvas",
67
490
  variants: {
68
491
  kind: {
@@ -72,10 +495,10 @@ const headerIconBtnBadge = chipGroup.tv({
72
495
  },
73
496
  defaultVariants: { kind: "brand" }
74
497
  });
75
- const breadcrumbRoot = chipGroup.tv({
498
+ const breadcrumbRoot = tv({
76
499
  base: "flex items-center gap-gp-sm min-w-0"
77
500
  });
78
- const breadcrumbItem = chipGroup.tv({
501
+ const breadcrumbItem = tv({
79
502
  base: "font-medium truncate transition-colors leading-none",
80
503
  variants: {
81
504
  current: {
@@ -90,10 +513,10 @@ const breadcrumbItem = chipGroup.tv({
90
513
  },
91
514
  defaultVariants: { current: false, standalone: false }
92
515
  });
93
- const breadcrumbSeparator = chipGroup.tv({
516
+ const breadcrumbSeparator = tv({
94
517
  base: "text-fg-subtle shrink-0"
95
518
  });
96
- const searchFakeInput = chipGroup.tv({
519
+ const searchFakeInput = tv({
97
520
  base: [
98
521
  "inline-flex items-center gap-gp-md h-form-md w-[180px]",
99
522
  "px-pad-xl rounded-radius-md",
@@ -104,13 +527,13 @@ const searchFakeInput = chipGroup.tv({
104
527
  "focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary"
105
528
  ]
106
529
  });
107
- const searchFakeInputIcon = chipGroup.tv({
530
+ const searchFakeInputIcon = tv({
108
531
  base: "size-[14px] text-fg-subtle shrink-0"
109
532
  });
110
- const searchFakeInputText = chipGroup.tv({
533
+ const searchFakeInputText = tv({
111
534
  base: "flex-1 text-left truncate"
112
535
  });
113
- const searchFakeInputKbd = chipGroup.tv({
536
+ const searchFakeInputKbd = tv({
114
537
  base: [
115
538
  "ml-auto inline-flex items-center justify-center",
116
539
  "h-[20px] px-pad-xs rounded-radius-xs",
@@ -118,10 +541,10 @@ const searchFakeInputKbd = chipGroup.tv({
118
541
  "text-caption-xs font-semibold text-fg-muted tabular-nums shrink-0"
119
542
  ]
120
543
  });
121
- chipGroup.tv({
544
+ tv({
122
545
  base: "relative inline-flex"
123
546
  });
124
- chipGroup.tv({
547
+ tv({
125
548
  base: [
126
549
  "absolute top-[calc(100%+8px)] right-0 z-50",
127
550
  "w-[380px] max-w-[calc(100vw-32px)] max-h-[520px] flex flex-col",
@@ -135,26 +558,26 @@ chipGroup.tv({
135
558
  "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95"
136
559
  ]
137
560
  });
138
- const hdTop = chipGroup.tv({
561
+ const hdTop = tv({
139
562
  base: "flex flex-col gap-gp-md p-pad-xl border-b border-border-subtle bg-bg-canvas/40"
140
563
  });
141
- const hdHeader = chipGroup.tv({
564
+ const hdHeader = tv({
142
565
  base: "flex items-center justify-between"
143
566
  });
144
- const hdTitle = chipGroup.tv({
567
+ const hdTitle = tv({
145
568
  base: "flex items-center gap-gp-sm text-body-lg font-semibold text-fg-default"
146
569
  });
147
- const hdTitleCount = chipGroup.tv({
570
+ const hdTitleCount = tv({
148
571
  base: [
149
572
  "inline-flex items-center justify-center min-w-[20px] h-[20px] px-pad-xs",
150
573
  "rounded-radius-xs bg-bg-brand text-fg-on-brand",
151
574
  "text-caption-sm font-bold tabular-nums"
152
575
  ]
153
576
  });
154
- const hdHeaderActions = chipGroup.tv({
577
+ const hdHeaderActions = tv({
155
578
  base: "flex items-center gap-gp-xs"
156
579
  });
157
- chipGroup.tv({
580
+ tv({
158
581
  base: [
159
582
  "inline-flex items-center gap-gp-sm h-form-sm w-full",
160
583
  "px-pad-lg rounded-radius-md",
@@ -163,16 +586,16 @@ chipGroup.tv({
163
586
  "focus-within:border-border-brand focus-within:ring-4 focus-within:ring-ring-brand"
164
587
  ]
165
588
  });
166
- chipGroup.tv({
589
+ tv({
167
590
  base: "size-[14px] text-fg-muted shrink-0"
168
591
  });
169
- chipGroup.tv({
592
+ tv({
170
593
  base: "flex-1 min-w-0 bg-transparent border-0 outline-none text-body-sm font-normal text-fg-default placeholder:text-fg-subtle"
171
594
  });
172
- chipGroup.tv({
595
+ tv({
173
596
  base: "flex items-center gap-gp-2xs p-[3px] rounded-radius-lg bg-bg-muted"
174
597
  });
175
- chipGroup.tv({
598
+ tv({
176
599
  base: [
177
600
  "inline-flex items-center justify-center gap-gp-xs",
178
601
  "h-[28px] px-[10px] rounded-radius-sm",
@@ -188,19 +611,19 @@ chipGroup.tv({
188
611
  }
189
612
  }
190
613
  });
191
- chipGroup.tv({
614
+ tv({
192
615
  base: "text-caption-xs font-bold tabular-nums opacity-70"
193
616
  });
194
- const hdBody = chipGroup.tv({
617
+ const hdBody = tv({
195
618
  base: "flex-1 overflow-y-auto p-pad-sm flex flex-col gap-px"
196
619
  });
197
- const hdEmpty = chipGroup.tv({
620
+ const hdEmpty = tv({
198
621
  base: "flex flex-col items-center justify-center gap-gp-md py-pad-7xl text-fg-subtle"
199
622
  });
200
- const hdEmptyText = chipGroup.tv({
623
+ const hdEmptyText = tv({
201
624
  base: "text-body-md"
202
625
  });
203
- const hdNotif = chipGroup.tv({
626
+ const hdNotif = tv({
204
627
  base: [
205
628
  "relative flex items-start gap-gp-lg p-pad-lg rounded-radius-md text-left w-full",
206
629
  "bg-transparent border-0 cursor-pointer",
@@ -209,25 +632,25 @@ const hdNotif = chipGroup.tv({
209
632
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring-secondary"
210
633
  ]
211
634
  });
212
- const hdNotifIcon = chipGroup.tv({
635
+ const hdNotifIcon = tv({
213
636
  base: "flex-none w-[28px] h-[28px] rounded-radius-md grid place-items-center"
214
637
  });
215
- const hdNotifBody = chipGroup.tv({
638
+ const hdNotifBody = tv({
216
639
  base: "flex-1 min-w-0 flex flex-col gap-gp-2xs"
217
640
  });
218
- const hdNotifTitle = chipGroup.tv({
641
+ const hdNotifTitle = tv({
219
642
  base: "text-body-sm font-semibold text-fg-default leading-tight"
220
643
  });
221
- const hdNotifText = chipGroup.tv({
644
+ const hdNotifText = tv({
222
645
  base: "text-body-xs font-normal text-fg-muted leading-snug line-clamp-2"
223
646
  });
224
- const hdNotifTime = chipGroup.tv({
647
+ const hdNotifTime = tv({
225
648
  base: "text-caption-sm text-fg-subtle"
226
649
  });
227
- const hdNotifDot = chipGroup.tv({
650
+ const hdNotifDot = tv({
228
651
  base: "shrink-0 mt-pad-xs w-[8px] h-[8px] rounded-full bg-bg-brand"
229
652
  });
230
- const hdMsg = chipGroup.tv({
653
+ const hdMsg = tv({
231
654
  base: [
232
655
  "relative flex items-center gap-gp-lg p-pad-lg rounded-radius-md text-left w-full",
233
656
  "bg-transparent border-0 cursor-pointer",
@@ -236,37 +659,37 @@ const hdMsg = chipGroup.tv({
236
659
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring-secondary"
237
660
  ]
238
661
  });
239
- const hdMsgAvatar = chipGroup.tv({
662
+ const hdMsgAvatar = tv({
240
663
  base: [
241
664
  "flex-none grid place-items-center w-icon-lg h-icon-lg rounded-full",
242
665
  "text-white text-caption-sm font-bold uppercase tracking-[0.02em] leading-none"
243
666
  ]
244
667
  });
245
- const hdMsgBody = chipGroup.tv({
668
+ const hdMsgBody = tv({
246
669
  base: "flex-1 min-w-0 flex flex-col gap-gp-2xs"
247
670
  });
248
- const hdMsgRow = chipGroup.tv({
671
+ const hdMsgRow = tv({
249
672
  base: "flex items-center justify-between gap-gp-sm"
250
673
  });
251
- const hdMsgName = chipGroup.tv({
674
+ const hdMsgName = tv({
252
675
  base: "text-body-sm font-semibold text-fg-default truncate"
253
676
  });
254
- const hdMsgTime = chipGroup.tv({
677
+ const hdMsgTime = tv({
255
678
  base: "text-caption-sm text-fg-subtle shrink-0"
256
679
  });
257
- const hdMsgPreviewRow = chipGroup.tv({
680
+ const hdMsgPreviewRow = tv({
258
681
  base: "flex items-center gap-gp-sm"
259
682
  });
260
- const hdMsgPreview = chipGroup.tv({
683
+ const hdMsgPreview = tv({
261
684
  base: "flex-1 min-w-0 text-body-xs font-normal text-fg-muted truncate"
262
685
  });
263
- const hdMsgDot = chipGroup.tv({
686
+ const hdMsgDot = tv({
264
687
  base: "shrink-0 w-[8px] h-[8px] rounded-full bg-bg-brand"
265
688
  });
266
- const hdFooter = chipGroup.tv({
689
+ const hdFooter = tv({
267
690
  base: "flex-none p-pad-md border-t border-border-subtle text-center"
268
691
  });
269
- const hdFooterLink = chipGroup.tv({
692
+ const hdFooterLink = tv({
270
693
  base: [
271
694
  "inline-flex items-center justify-center gap-gp-sm",
272
695
  "h-form-sm px-pad-lg rounded-radius-md w-full",
@@ -288,7 +711,7 @@ function HeaderBreadcrumb({
288
711
  /* @__PURE__ */ jsxRuntime.jsx(
289
712
  "nav",
290
713
  {
291
- className: chipGroup.cn(
714
+ className: cn(
292
715
  breadcrumbRoot(),
293
716
  mobileShowLastOnly && "hidden md:flex",
294
717
  className
@@ -339,7 +762,7 @@ function HeaderBreadcrumb({
339
762
  mobileShowLastOnly && /* @__PURE__ */ jsxRuntime.jsx(
340
763
  "nav",
341
764
  {
342
- className: chipGroup.cn(breadcrumbRoot(), "md:hidden", className),
765
+ className: cn(breadcrumbRoot(), "md:hidden", className),
343
766
  "aria-label": "Seção atual",
344
767
  children: /* @__PURE__ */ jsxRuntime.jsx(
345
768
  "span",
@@ -361,7 +784,7 @@ const DialogOverlay = React__namespace.forwardRef(({ className, ...props }, ref)
361
784
  SheetPrimitive__namespace.Overlay,
362
785
  {
363
786
  ref,
364
- className: chipGroup.cn(
787
+ className: cn(
365
788
  "fixed inset-0 z-50 bg-black/30 supports-[backdrop-filter]:backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
366
789
  className
367
790
  ),
@@ -375,7 +798,7 @@ const DialogContent = React__namespace.forwardRef(({ className, children, hideCl
375
798
  SheetPrimitive__namespace.Content,
376
799
  {
377
800
  ref,
378
- className: chipGroup.cn(
801
+ className: cn(
379
802
  "fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-gp-4xl rounded-radius-base bg-bg-surface p-pad-4xl text-body-md text-fg-default shadow-sh-xl outline-float duration-200 sm:max-w-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
380
803
  className
381
804
  ),
@@ -395,7 +818,7 @@ const DialogTitle = React__namespace.forwardRef(({ className, ...props }, ref) =
395
818
  SheetPrimitive__namespace.Title,
396
819
  {
397
820
  ref,
398
- className: chipGroup.cn(
821
+ className: cn(
399
822
  "text-title-md font-medium text-fg-default leading-none",
400
823
  className
401
824
  ),
@@ -407,7 +830,7 @@ const DialogDescription = React__namespace.forwardRef(({ className, ...props },
407
830
  SheetPrimitive__namespace.Description,
408
831
  {
409
832
  ref,
410
- className: chipGroup.cn("text-body-md text-fg-muted", className),
833
+ className: cn("text-body-md text-fg-muted", className),
411
834
  ...props
412
835
  }
413
836
  ));
@@ -416,7 +839,7 @@ const Command = React__namespace.forwardRef(({ className, ...props }, ref) => /*
416
839
  cmdk.Command,
417
840
  {
418
841
  ref,
419
- className: chipGroup.cn(
842
+ className: cn(
420
843
  "flex h-full w-full flex-col overflow-hidden p-pad-xl bg-popover text-popover-foreground",
421
844
  className
422
845
  ),
@@ -425,17 +848,21 @@ const Command = React__namespace.forwardRef(({ className, ...props }, ref) => /*
425
848
  ));
426
849
  Command.displayName = cmdk.Command.displayName;
427
850
  const CommandDialog = ({ children, ...props }) => {
428
- return /* @__PURE__ */ jsxRuntime.jsx(Dialog, { ...props, children: /* @__PURE__ */ jsxRuntime.jsx(
851
+ return /* @__PURE__ */ jsxRuntime.jsx(Dialog, { ...props, children: /* @__PURE__ */ jsxRuntime.jsxs(
429
852
  DialogContent,
430
853
  {
431
854
  hideClose: true,
432
- className: chipGroup.cn(
855
+ "aria-describedby": void 0,
856
+ className: cn(
433
857
  "overflow-hidden p-0 gap-0 sm:max-w-[384px]",
434
858
  "rounded-[12px] border border-border-default",
435
859
  // Outline padrão de elementos flutuantes
436
860
  "outline-float"
437
861
  ),
438
- children: /* @__PURE__ */ jsxRuntime.jsx(Command, { children })
862
+ children: [
863
+ /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { className: "sr-only", children: "Comando" }),
864
+ /* @__PURE__ */ jsxRuntime.jsx(Command, { children })
865
+ ]
439
866
  }
440
867
  ) });
441
868
  };
@@ -443,7 +870,7 @@ const CommandInput = React__namespace.forwardRef(({ className, ...props }, ref)
443
870
  "div",
444
871
  {
445
872
  "cmdk-input-wrapper": "",
446
- className: chipGroup.cn(
873
+ className: cn(
447
874
  "flex items-center gap-gp-md h-form-md px-pad-xl rounded-radius-lg",
448
875
  "bg-bg-input border border-border-subtle shadow-sh-sm",
449
876
  "transition-[border-color,box-shadow,background-color] duration-150",
@@ -456,7 +883,7 @@ const CommandInput = React__namespace.forwardRef(({ className, ...props }, ref)
456
883
  cmdk.Command.Input,
457
884
  {
458
885
  ref,
459
- className: chipGroup.cn(
886
+ className: cn(
460
887
  "flex-1 min-w-0 bg-transparent border-0 outline-none",
461
888
  "text-body-sm font-normal text-fg-default placeholder:text-fg-muted",
462
889
  "disabled:cursor-not-allowed disabled:opacity-50",
@@ -473,7 +900,7 @@ const CommandList = React__namespace.forwardRef(({ className, ...props }, ref) =
473
900
  cmdk.Command.List,
474
901
  {
475
902
  ref,
476
- className: chipGroup.cn(
903
+ className: cn(
477
904
  "max-h-[300px] overflow-y-auto overflow-x-hidden mt-pad-md scrollbar-thin",
478
905
  className
479
906
  ),
@@ -494,7 +921,7 @@ const CommandGroup = React__namespace.forwardRef(({ className, ...props }, ref)
494
921
  cmdk.Command.Group,
495
922
  {
496
923
  ref,
497
- className: chipGroup.cn(
924
+ className: cn(
498
925
  "overflow-hidden text-fg-default",
499
926
  "[&_[cmdk-group-heading]]:flex [&_[cmdk-group-heading]]:items-center",
500
927
  "[&_[cmdk-group-heading]]:h-[28px] [&_[cmdk-group-heading]]:px-pad-xl",
@@ -511,7 +938,7 @@ const CommandSeparator = React__namespace.forwardRef(({ className, ...props }, r
511
938
  cmdk.Command.Separator,
512
939
  {
513
940
  ref,
514
- className: chipGroup.cn("mx-pad-xs my-pad-xs h-px bg-border-default", className),
941
+ className: cn("mx-pad-xs my-pad-xs h-px bg-border-default", className),
515
942
  ...props
516
943
  }
517
944
  ));
@@ -520,7 +947,7 @@ const CommandItem = React__namespace.forwardRef(({ className, ...props }, ref) =
520
947
  cmdk.Command.Item,
521
948
  {
522
949
  ref,
523
- className: chipGroup.cn(
950
+ className: cn(
524
951
  "relative flex cursor-default select-none items-center gap-gp-md",
525
952
  "rounded-radius-lg px-pad-xl py-pad-md",
526
953
  "text-body-sm font-medium text-fg-muted",
@@ -541,7 +968,7 @@ const CommandShortcut = ({
541
968
  return /* @__PURE__ */ jsxRuntime.jsx(
542
969
  "span",
543
970
  {
544
- className: chipGroup.cn(
971
+ className: cn(
545
972
  "ml-auto text-caption-sm tracking-wider text-fg-subtle",
546
973
  className
547
974
  ),
@@ -578,7 +1005,7 @@ function HeaderSearch({
578
1005
  "button",
579
1006
  {
580
1007
  type: "button",
581
- className: chipGroup.cn(searchFakeInput(), "hidden md:inline-flex", className),
1008
+ className: cn(searchFakeInput(), "hidden md:inline-flex", className),
582
1009
  onClick: () => setOpen(true),
583
1010
  "aria-label": "Abrir busca",
584
1011
  children: [
@@ -589,7 +1016,7 @@ function HeaderSearch({
589
1016
  }
590
1017
  ),
591
1018
  /* @__PURE__ */ jsxRuntime.jsx(
592
- chipGroup.Button,
1019
+ Button,
593
1020
  {
594
1021
  color: "secondary",
595
1022
  variant: "outline",
@@ -648,6 +1075,321 @@ function CommandGroupBlock({
648
1075
  !isLast && /* @__PURE__ */ jsxRuntime.jsx(CommandSeparator, {})
649
1076
  ] });
650
1077
  }
1078
+ const chipVariants = tv({
1079
+ base: [
1080
+ "inline-flex items-center justify-center gap-gp-xs shrink-0",
1081
+ "font-semibold whitespace-nowrap select-none",
1082
+ "transition-[background-color,color,border-color,box-shadow] duration-150",
1083
+ "[&_svg]:shrink-0"
1084
+ ],
1085
+ variants: {
1086
+ size: {
1087
+ sm: "h-[24px] px-pad-md text-caption-sm [&_svg]:size-[12px]",
1088
+ md: "h-form-xs px-pad-lg text-body-xs font-normal [&_svg]:size-[12px]",
1089
+ // 28px
1090
+ lg: "h-form-sm px-pad-xl text-body-sm font-normal [&_svg]:size-[14px]",
1091
+ // 32px
1092
+ xl: "h-form-md px-pad-xl text-body-sm font-normal [&_svg]:size-[14px]"
1093
+ // 36px (= Button md)
1094
+ },
1095
+ /**
1096
+ * `pill` = rounded-full (default — chip pílula clássico).
1097
+ * `rounded` = canto arredondado igual ao Button (radius-md em sm/md, radius-lg em lg/xl).
1098
+ */
1099
+ shape: {
1100
+ pill: "rounded-radius-full",
1101
+ rounded: ""
1102
+ // aplica via compoundVariants por size
1103
+ },
1104
+ color: {
1105
+ primary: "",
1106
+ neutral: "",
1107
+ danger: "",
1108
+ warning: "",
1109
+ success: "",
1110
+ info: ""
1111
+ },
1112
+ variant: {
1113
+ solid: "",
1114
+ outline: "border",
1115
+ soft: "",
1116
+ "soft-outline": "border"
1117
+ },
1118
+ interactive: {
1119
+ true: "cursor-pointer outline-none focus-visible:shadow-sh-ring",
1120
+ false: ""
1121
+ },
1122
+ selected: {
1123
+ true: "",
1124
+ false: ""
1125
+ }
1126
+ },
1127
+ compoundVariants: [
1128
+ /* ── Shape rounded × size — radius proporcional ao Button ──── */
1129
+ { shape: "rounded", size: "sm", class: "rounded-radius-md" },
1130
+ { shape: "rounded", size: "md", class: "rounded-radius-md" },
1131
+ { shape: "rounded", size: "lg", class: "rounded-radius-lg" },
1132
+ { shape: "rounded", size: "xl", class: "rounded-radius-lg" },
1133
+ /* ── Solid ──────────────────────────────────────────────────── */
1134
+ { color: "primary", variant: "solid", class: "bg-bg-brand text-fg-on-brand" },
1135
+ { color: "neutral", variant: "solid", class: "bg-bg-muted text-fg-default" },
1136
+ { color: "danger", variant: "solid", class: "bg-bg-danger text-fg-on-danger" },
1137
+ { color: "warning", variant: "solid", class: "bg-bg-warning text-fg-on-warning" },
1138
+ { color: "success", variant: "solid", class: "bg-bg-success text-fg-on-success" },
1139
+ { color: "info", variant: "solid", class: "bg-bg-info text-fg-on-info" },
1140
+ /* ── Outline ────────────────────────────────────────────────── */
1141
+ { color: "primary", variant: "outline", class: "bg-transparent border-border-brand text-fg-brand" },
1142
+ { color: "neutral", variant: "outline", class: "bg-transparent border-border-default text-fg-default" },
1143
+ { color: "danger", variant: "outline", class: "bg-transparent border-border-danger-muted text-fg-danger" },
1144
+ { color: "warning", variant: "outline", class: "bg-transparent border-border-warning-muted text-fg-warning" },
1145
+ { color: "success", variant: "outline", class: "bg-transparent border-border-success-muted text-fg-success" },
1146
+ { color: "info", variant: "outline", class: "bg-transparent border-border-info-muted text-fg-info" },
1147
+ /* ── Soft ───────────────────────────────────────────────────── */
1148
+ { color: "primary", variant: "soft", class: "bg-bg-brand-subtle text-fg-brand" },
1149
+ { color: "neutral", variant: "soft", class: "bg-bg-muted text-fg-muted" },
1150
+ { color: "danger", variant: "soft", class: "bg-bg-danger-muted text-fg-danger" },
1151
+ { color: "warning", variant: "soft", class: "bg-bg-warning-muted text-fg-warning" },
1152
+ { color: "success", variant: "soft", class: "bg-bg-success-muted text-fg-success" },
1153
+ { color: "info", variant: "soft", class: "bg-bg-info-muted text-fg-info" },
1154
+ /* ── Soft + Outline (bg sutil + borda definida) ─────────────── */
1155
+ { color: "primary", variant: "soft-outline", class: "bg-bg-brand-subtle border-border-brand text-fg-brand" },
1156
+ { color: "neutral", variant: "soft-outline", class: "bg-bg-muted border-border-default text-fg-muted" },
1157
+ { color: "danger", variant: "soft-outline", class: "bg-bg-danger-muted border-border-danger-muted text-fg-danger" },
1158
+ { color: "warning", variant: "soft-outline", class: "bg-bg-warning-muted border-border-warning-muted text-fg-warning" },
1159
+ { color: "success", variant: "soft-outline", class: "bg-bg-success-muted border-border-success-muted text-fg-success" },
1160
+ { color: "info", variant: "soft-outline", class: "bg-bg-info-muted border-border-info-muted text-fg-info" },
1161
+ /* ── Hover (somente quando interactive) ────────────────────── */
1162
+ { interactive: true, color: "primary", variant: "solid", class: "hover:bg-bg-brand-hover" },
1163
+ { interactive: true, color: "neutral", variant: "solid", class: "hover:bg-bg-muted-hover" },
1164
+ { interactive: true, color: "danger", variant: "solid", class: "hover:bg-bg-danger-hover" },
1165
+ { interactive: true, color: "warning", variant: "solid", class: "hover:bg-bg-warning-hover" },
1166
+ { interactive: true, color: "success", variant: "solid", class: "hover:bg-bg-success-hover" },
1167
+ { interactive: true, color: "info", variant: "solid", class: "hover:bg-bg-info-hover" },
1168
+ { interactive: true, color: "primary", variant: "outline", class: "hover:bg-bg-brand-subtle" },
1169
+ { interactive: true, color: "neutral", variant: "outline", class: "hover:bg-bg-muted" },
1170
+ { interactive: true, color: "danger", variant: "outline", class: "hover:bg-bg-danger-muted" },
1171
+ { interactive: true, color: "warning", variant: "outline", class: "hover:bg-bg-warning-muted" },
1172
+ { interactive: true, color: "success", variant: "outline", class: "hover:bg-bg-success-muted" },
1173
+ { interactive: true, color: "info", variant: "outline", class: "hover:bg-bg-info-muted" },
1174
+ { interactive: true, color: "primary", variant: "soft", class: "hover:bg-bg-brand-subtle-hover" },
1175
+ { interactive: true, color: "neutral", variant: "soft", class: "hover:bg-bg-muted-hover hover:text-fg-default" },
1176
+ { interactive: true, color: "danger", variant: "soft", class: "hover:bg-bg-danger-muted-hover" },
1177
+ { interactive: true, color: "warning", variant: "soft", class: "hover:bg-bg-warning-muted-hover" },
1178
+ { interactive: true, color: "success", variant: "soft", class: "hover:bg-bg-success-muted-hover" },
1179
+ { interactive: true, color: "info", variant: "soft", class: "hover:bg-bg-info-muted-hover" },
1180
+ { interactive: true, color: "primary", variant: "soft-outline", class: "hover:bg-bg-brand-subtle-hover" },
1181
+ { interactive: true, color: "neutral", variant: "soft-outline", class: "hover:bg-bg-muted-hover hover:text-fg-default" },
1182
+ { interactive: true, color: "danger", variant: "soft-outline", class: "hover:bg-bg-danger-muted-hover" },
1183
+ { interactive: true, color: "warning", variant: "soft-outline", class: "hover:bg-bg-warning-muted-hover" },
1184
+ { interactive: true, color: "success", variant: "soft-outline", class: "hover:bg-bg-success-muted-hover" },
1185
+ { interactive: true, color: "info", variant: "soft-outline", class: "hover:bg-bg-info-muted-hover" },
1186
+ /* ── Selected (ChipGroup) — força "soft" da color como visual ativo ── */
1187
+ { selected: true, color: "primary", class: "bg-bg-brand-subtle text-fg-brand border-transparent" },
1188
+ { selected: true, color: "neutral", class: "bg-bg-accent text-fg-default font-semibold border-transparent shadow-sh-sm" },
1189
+ { selected: true, color: "danger", class: "bg-bg-danger-muted text-fg-danger border-transparent" },
1190
+ { selected: true, color: "warning", class: "bg-bg-warning-muted text-fg-warning border-transparent" },
1191
+ { selected: true, color: "success", class: "bg-bg-success-muted text-fg-success border-transparent" },
1192
+ { selected: true, color: "info", class: "bg-bg-info-muted text-fg-info border-transparent" }
1193
+ ],
1194
+ defaultVariants: {
1195
+ color: "neutral",
1196
+ variant: "soft",
1197
+ size: "md",
1198
+ shape: "pill",
1199
+ interactive: false,
1200
+ selected: false
1201
+ }
1202
+ });
1203
+ const chipCount = tv({
1204
+ base: [
1205
+ "inline-flex items-center justify-center min-w-[16px] h-[16px] px-[4px]",
1206
+ "rounded-radius-full text-caption-xs font-semibold leading-none",
1207
+ "bg-bg-muted text-fg-default"
1208
+ ]
1209
+ });
1210
+ const Chip = React.forwardRef(function Chip2({
1211
+ children,
1212
+ color,
1213
+ variant,
1214
+ size,
1215
+ shape,
1216
+ selected,
1217
+ onClick,
1218
+ asButton,
1219
+ className,
1220
+ type,
1221
+ ...rest
1222
+ }, ref) {
1223
+ const interactive = Boolean(onClick) || asButton === true;
1224
+ const classes = cn(
1225
+ chipVariants({ color, variant, size, shape, interactive, selected }),
1226
+ className
1227
+ );
1228
+ if (interactive) {
1229
+ return /* @__PURE__ */ jsxRuntime.jsx(
1230
+ "button",
1231
+ {
1232
+ ref,
1233
+ type: type ?? "button",
1234
+ onClick,
1235
+ className: classes,
1236
+ "aria-pressed": selected,
1237
+ ...rest,
1238
+ children
1239
+ }
1240
+ );
1241
+ }
1242
+ return /* @__PURE__ */ jsxRuntime.jsx(
1243
+ "span",
1244
+ {
1245
+ ref,
1246
+ className: classes,
1247
+ ...rest,
1248
+ children
1249
+ }
1250
+ );
1251
+ });
1252
+ const SELECTED_CLASSES = {
1253
+ primary: {
1254
+ solid: "data-[state=on]:bg-bg-brand data-[state=on]:text-fg-on-brand data-[state=on]:border-transparent",
1255
+ outline: "data-[state=on]:border-border-brand data-[state=on]:text-fg-brand data-[state=on]:bg-transparent",
1256
+ soft: "data-[state=on]:bg-bg-brand-subtle data-[state=on]:text-fg-brand data-[state=on]:border-transparent",
1257
+ "soft-outline": "data-[state=on]:bg-bg-brand-subtle data-[state=on]:border-border-brand data-[state=on]:text-fg-brand"
1258
+ },
1259
+ neutral: {
1260
+ solid: "data-[state=on]:bg-bg-muted data-[state=on]:text-fg-default data-[state=on]:border-transparent",
1261
+ outline: "data-[state=on]:border-border-default data-[state=on]:text-fg-default data-[state=on]:bg-transparent",
1262
+ soft: "data-[state=on]:bg-bg-accent data-[state=on]:text-fg-default data-[state=on]:border-transparent data-[state=on]:shadow-sh-sm",
1263
+ "soft-outline": "data-[state=on]:bg-bg-muted data-[state=on]:border-border-default data-[state=on]:text-fg-default"
1264
+ },
1265
+ danger: {
1266
+ solid: "data-[state=on]:bg-bg-danger data-[state=on]:text-fg-on-danger data-[state=on]:border-transparent",
1267
+ outline: "data-[state=on]:border-border-danger-muted data-[state=on]:text-fg-danger data-[state=on]:bg-transparent",
1268
+ soft: "data-[state=on]:bg-bg-danger-muted data-[state=on]:text-fg-danger data-[state=on]:border-transparent",
1269
+ "soft-outline": "data-[state=on]:bg-bg-danger-muted data-[state=on]:border-border-danger-muted data-[state=on]:text-fg-danger"
1270
+ },
1271
+ warning: {
1272
+ solid: "data-[state=on]:bg-bg-warning data-[state=on]:text-fg-on-warning data-[state=on]:border-transparent",
1273
+ outline: "data-[state=on]:border-border-warning-muted data-[state=on]:text-fg-warning data-[state=on]:bg-transparent",
1274
+ soft: "data-[state=on]:bg-bg-warning-muted data-[state=on]:text-fg-warning data-[state=on]:border-transparent",
1275
+ "soft-outline": "data-[state=on]:bg-bg-warning-muted data-[state=on]:border-border-warning-muted data-[state=on]:text-fg-warning"
1276
+ },
1277
+ success: {
1278
+ solid: "data-[state=on]:bg-bg-success data-[state=on]:text-fg-on-success data-[state=on]:border-transparent",
1279
+ outline: "data-[state=on]:border-border-success-muted data-[state=on]:text-fg-success data-[state=on]:bg-transparent",
1280
+ soft: "data-[state=on]:bg-bg-success-muted data-[state=on]:text-fg-success data-[state=on]:border-transparent",
1281
+ "soft-outline": "data-[state=on]:bg-bg-success-muted data-[state=on]:border-border-success-muted data-[state=on]:text-fg-success"
1282
+ },
1283
+ info: {
1284
+ solid: "data-[state=on]:bg-bg-info data-[state=on]:text-fg-on-info data-[state=on]:border-transparent",
1285
+ outline: "data-[state=on]:border-border-info-muted data-[state=on]:text-fg-info data-[state=on]:bg-transparent",
1286
+ soft: "data-[state=on]:bg-bg-info-muted data-[state=on]:text-fg-info data-[state=on]:border-transparent",
1287
+ "soft-outline": "data-[state=on]:bg-bg-info-muted data-[state=on]:border-border-info-muted data-[state=on]:text-fg-info"
1288
+ }
1289
+ };
1290
+ const ChipGroup = React.forwardRef(
1291
+ function ChipGroup2(props, ref) {
1292
+ const {
1293
+ inactiveColor = "neutral",
1294
+ inactiveVariant = "outline",
1295
+ activeColor = "primary",
1296
+ activeVariant = "soft-outline",
1297
+ size = "md",
1298
+ shape = "pill",
1299
+ orientation = "horizontal",
1300
+ ariaLabel,
1301
+ className,
1302
+ children
1303
+ } = props;
1304
+ const contextValue = {
1305
+ inactiveColor,
1306
+ inactiveVariant,
1307
+ activeColor,
1308
+ activeVariant,
1309
+ size,
1310
+ shape
1311
+ };
1312
+ if (props.type === "single") {
1313
+ return /* @__PURE__ */ jsxRuntime.jsx(ChipGroupContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(
1314
+ ToggleGroupPrimitive__namespace.Root,
1315
+ {
1316
+ ref,
1317
+ type: "single",
1318
+ value: props.value,
1319
+ defaultValue: props.defaultValue,
1320
+ onValueChange: props.onValueChange,
1321
+ orientation,
1322
+ "aria-label": ariaLabel,
1323
+ className: cn(
1324
+ "inline-flex items-center gap-gp-sm",
1325
+ orientation === "vertical" && "flex-col",
1326
+ className
1327
+ ),
1328
+ children
1329
+ }
1330
+ ) });
1331
+ }
1332
+ return /* @__PURE__ */ jsxRuntime.jsx(ChipGroupContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(
1333
+ ToggleGroupPrimitive__namespace.Root,
1334
+ {
1335
+ ref,
1336
+ type: "multiple",
1337
+ value: props.value,
1338
+ defaultValue: props.defaultValue,
1339
+ onValueChange: props.onValueChange,
1340
+ orientation,
1341
+ "aria-label": ariaLabel,
1342
+ className: cn(
1343
+ "inline-flex items-center gap-gp-sm",
1344
+ orientation === "vertical" && "flex-col",
1345
+ className
1346
+ ),
1347
+ children
1348
+ }
1349
+ ) });
1350
+ }
1351
+ );
1352
+ const ChipGroupContext = React.createContext({
1353
+ inactiveColor: "neutral",
1354
+ inactiveVariant: "outline",
1355
+ activeColor: "primary",
1356
+ activeVariant: "soft-outline",
1357
+ size: "md",
1358
+ shape: "pill"
1359
+ });
1360
+ const ChipGroupItem = React.forwardRef(
1361
+ function ChipGroupItem2({ className, children, ...rest }, ref) {
1362
+ const {
1363
+ inactiveColor,
1364
+ inactiveVariant,
1365
+ activeColor,
1366
+ activeVariant,
1367
+ size,
1368
+ shape
1369
+ } = React.useContext(ChipGroupContext);
1370
+ return /* @__PURE__ */ jsxRuntime.jsx(
1371
+ ToggleGroupPrimitive__namespace.Item,
1372
+ {
1373
+ ref,
1374
+ className: cn(
1375
+ // Estado OFF — visual inativo (passa pelo chipVariants normal)
1376
+ chipVariants({
1377
+ color: inactiveColor,
1378
+ variant: inactiveVariant,
1379
+ size,
1380
+ shape,
1381
+ interactive: true
1382
+ }),
1383
+ // Estado ON — override via data-state=on com classes do active*
1384
+ SELECTED_CLASSES[activeColor][activeVariant],
1385
+ className
1386
+ ),
1387
+ ...rest,
1388
+ children
1389
+ }
1390
+ );
1391
+ }
1392
+ );
651
1393
  const Popover = PopoverPrimitive__namespace.Root;
652
1394
  const PopoverTrigger = PopoverPrimitive__namespace.Trigger;
653
1395
  const PopoverAnchor = PopoverPrimitive__namespace.Anchor;
@@ -679,7 +1421,7 @@ const PopoverContent = React__namespace.forwardRef(
679
1421
  align,
680
1422
  sideOffset,
681
1423
  "data-mobile-sheet": mobileSheet ? "" : void 0,
682
- className: chipGroup.cn(
1424
+ className: cn(
683
1425
  "relative z-50",
684
1426
  // Unificado com DropdownMenu/Select: bg-bg-dropdown (frosted no dark)
685
1427
  // + border-border-default + outline-float. O `before` pseudo-element
@@ -736,7 +1478,7 @@ function HeaderNotifications({ config, className }) {
736
1478
  );
737
1479
  return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
738
1480
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
739
- chipGroup.Button,
1481
+ Button,
740
1482
  {
741
1483
  color: "secondary",
742
1484
  variant: "outline",
@@ -754,7 +1496,7 @@ function HeaderNotifications({ config, className }) {
754
1496
  PopoverContent,
755
1497
  {
756
1498
  align: "end",
757
- className: chipGroup.cn(
1499
+ className: cn(
758
1500
  "w-[380px] max-w-[calc(100vw-32px)] max-h-[520px] p-0 flex flex-col overflow-hidden",
759
1501
  className
760
1502
  ),
@@ -768,7 +1510,7 @@ function HeaderNotifications({ config, className }) {
768
1510
  ] }),
769
1511
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdHeaderActions(), children: [
770
1512
  onMarkAllRead && /* @__PURE__ */ jsxRuntime.jsx(
771
- chipGroup.Button,
1513
+ Button,
772
1514
  {
773
1515
  color: "secondary",
774
1516
  variant: "ghost",
@@ -780,7 +1522,7 @@ function HeaderNotifications({ config, className }) {
780
1522
  }
781
1523
  ),
782
1524
  onMoreActions && /* @__PURE__ */ jsxRuntime.jsx(
783
- chipGroup.Button,
1525
+ Button,
784
1526
  {
785
1527
  color: "secondary",
786
1528
  variant: "ghost",
@@ -794,7 +1536,7 @@ function HeaderNotifications({ config, className }) {
794
1536
  ] })
795
1537
  ] }),
796
1538
  filters.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
797
- chipGroup.ChipGroup,
1539
+ ChipGroup,
798
1540
  {
799
1541
  type: "single",
800
1542
  value: activeFilter,
@@ -803,7 +1545,7 @@ function HeaderNotifications({ config, className }) {
803
1545
  ariaLabel: "Filtrar notificações",
804
1546
  children: filters.map((f) => {
805
1547
  const count = items.filter(f.predicate ?? (() => true)).length;
806
- return /* @__PURE__ */ jsxRuntime.jsxs(chipGroup.ChipGroupItem, { value: f.id, children: [
1548
+ return /* @__PURE__ */ jsxRuntime.jsxs(ChipGroupItem, { value: f.id, children: [
807
1549
  f.label,
808
1550
  count > 0 && ` (${count})`
809
1551
  ] }, f.id);
@@ -895,7 +1637,7 @@ const InputGroup = React__namespace.forwardRef(
895
1637
  ref,
896
1638
  role: "group",
897
1639
  "data-slot": "input-group",
898
- className: chipGroup.cn(inputGroupVariants({ size, state }), className),
1640
+ className: cn(inputGroupVariants({ size, state }), className),
899
1641
  ...props
900
1642
  }
901
1643
  )
@@ -913,7 +1655,7 @@ const InputGroupInput = React__namespace.forwardRef(({ className, type, ...props
913
1655
  ref,
914
1656
  type,
915
1657
  "data-slot": "input-group-input",
916
- className: chipGroup.cn(inputGroupInputVariants(), className),
1658
+ className: cn(inputGroupInputVariants(), className),
917
1659
  ...props
918
1660
  }
919
1661
  ));
@@ -929,7 +1671,7 @@ const InputGroupTextarea = React__namespace.forwardRef(({ className, ...props },
929
1671
  {
930
1672
  ref,
931
1673
  "data-slot": "input-group-textarea",
932
- className: chipGroup.cn(inputGroupTextareaVariants(), className),
1674
+ className: cn(inputGroupTextareaVariants(), className),
933
1675
  ...props
934
1676
  }
935
1677
  ));
@@ -957,7 +1699,7 @@ const InputGroupAddon = React__namespace.forwardRef(({ className, align = "inlin
957
1699
  role: "group",
958
1700
  "data-slot": "input-group-addon",
959
1701
  "data-align": align,
960
- className: chipGroup.cn(inputGroupAddonVariants({ align }), className),
1702
+ className: cn(inputGroupAddonVariants({ align }), className),
961
1703
  onClick: (e) => {
962
1704
  if (e.target.closest("button")) {
963
1705
  onClick?.(e);
@@ -977,7 +1719,7 @@ const InputGroupText = React__namespace.forwardRef(({ className, ...props }, ref
977
1719
  {
978
1720
  ref,
979
1721
  "data-slot": "input-group-text",
980
- className: chipGroup.cn(
1722
+ className: cn(
981
1723
  "text-body-xs text-fg-muted whitespace-nowrap",
982
1724
  className
983
1725
  ),
@@ -1019,7 +1761,7 @@ const InputGroupButton = React__namespace.forwardRef(({ className, size, variant
1019
1761
  ref,
1020
1762
  type,
1021
1763
  "data-slot": "input-group-button",
1022
- className: chipGroup.cn(inputGroupButtonVariants({ size, variant }), className),
1764
+ className: cn(inputGroupButtonVariants({ size, variant }), className),
1023
1765
  ...props
1024
1766
  }
1025
1767
  ));
@@ -1050,7 +1792,7 @@ function HeaderMessages({ config, className }) {
1050
1792
  );
1051
1793
  return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
1052
1794
  /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
1053
- chipGroup.Button,
1795
+ Button,
1054
1796
  {
1055
1797
  color: "secondary",
1056
1798
  variant: "outline",
@@ -1068,7 +1810,7 @@ function HeaderMessages({ config, className }) {
1068
1810
  PopoverContent,
1069
1811
  {
1070
1812
  align: "end",
1071
- className: chipGroup.cn(
1813
+ className: cn(
1072
1814
  "w-[380px] max-w-[calc(100vw-32px)] max-h-[520px] p-0 flex flex-col overflow-hidden",
1073
1815
  className
1074
1816
  ),
@@ -1082,7 +1824,7 @@ function HeaderMessages({ config, className }) {
1082
1824
  ] }),
1083
1825
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdHeaderActions(), children: [
1084
1826
  onNewMessage && /* @__PURE__ */ jsxRuntime.jsx(
1085
- chipGroup.Button,
1827
+ Button,
1086
1828
  {
1087
1829
  color: "secondary",
1088
1830
  variant: "ghost",
@@ -1094,7 +1836,7 @@ function HeaderMessages({ config, className }) {
1094
1836
  }
1095
1837
  ),
1096
1838
  onExpand && /* @__PURE__ */ jsxRuntime.jsx(
1097
- chipGroup.Button,
1839
+ Button,
1098
1840
  {
1099
1841
  color: "secondary",
1100
1842
  variant: "ghost",
@@ -1120,7 +1862,7 @@ function HeaderMessages({ config, className }) {
1120
1862
  )
1121
1863
  ] }),
1122
1864
  filters.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
1123
- chipGroup.ChipGroup,
1865
+ ChipGroup,
1124
1866
  {
1125
1867
  type: "single",
1126
1868
  value: activeFilter,
@@ -1129,7 +1871,7 @@ function HeaderMessages({ config, className }) {
1129
1871
  ariaLabel: "Filtrar mensagens",
1130
1872
  children: filters.map((f) => {
1131
1873
  const count = items.filter(f.predicate ?? (() => true)).length;
1132
- return /* @__PURE__ */ jsxRuntime.jsxs(chipGroup.ChipGroupItem, { value: f.id, children: [
1874
+ return /* @__PURE__ */ jsxRuntime.jsxs(ChipGroupItem, { value: f.id, children: [
1133
1875
  f.label,
1134
1876
  count > 0 && ` (${count})`
1135
1877
  ] }, f.id);
@@ -1242,7 +1984,7 @@ const DropdownMenuSubTrigger = React__namespace.forwardRef(({ className, inset,
1242
1984
  DropdownMenuPrimitive__namespace.SubTrigger,
1243
1985
  {
1244
1986
  ref,
1245
- className: chipGroup.cn(
1987
+ className: cn(
1246
1988
  ITEM_BASE,
1247
1989
  ITEM_VARIANT_DEFAULT,
1248
1990
  "data-[state=open]:bg-bg-muted data-[state=open]:text-fg-default",
@@ -1261,7 +2003,7 @@ const DropdownMenuSubContent = React__namespace.forwardRef(({ className, ...prop
1261
2003
  DropdownMenuPrimitive__namespace.SubContent,
1262
2004
  {
1263
2005
  ref,
1264
- className: chipGroup.cn(CONTAINER_CLASSES, className),
2006
+ className: cn(CONTAINER_CLASSES, className),
1265
2007
  ...props
1266
2008
  }
1267
2009
  ));
@@ -1280,7 +2022,7 @@ const DropdownMenuContent = React__namespace.forwardRef(({ className, sideOffset
1280
2022
  ref,
1281
2023
  sideOffset,
1282
2024
  "data-mobile-sheet": mobileSheet ? "" : void 0,
1283
- className: chipGroup.cn(
2025
+ className: cn(
1284
2026
  CONTAINER_CLASSES,
1285
2027
  "max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto overflow-x-hidden",
1286
2028
  mobileSheet && MOBILE_SHEET_CLASSES,
@@ -1295,7 +2037,7 @@ const DropdownMenuItem = React__namespace.forwardRef(({ className, inset, varian
1295
2037
  DropdownMenuPrimitive__namespace.Item,
1296
2038
  {
1297
2039
  ref,
1298
- className: chipGroup.cn(
2040
+ className: cn(
1299
2041
  ITEM_BASE,
1300
2042
  variant === "destructive" ? ITEM_VARIANT_DESTRUCTIVE : ITEM_VARIANT_DEFAULT,
1301
2043
  inset && "pl-8",
@@ -1309,7 +2051,7 @@ const DropdownMenuCheckboxItem = React__namespace.forwardRef(({ className, child
1309
2051
  DropdownMenuPrimitive__namespace.CheckboxItem,
1310
2052
  {
1311
2053
  ref,
1312
- className: chipGroup.cn(
2054
+ className: cn(
1313
2055
  ITEM_BASE,
1314
2056
  ITEM_VARIANT_DEFAULT,
1315
2057
  "pl-8 pr-pad-lg",
@@ -1328,7 +2070,7 @@ const DropdownMenuRadioItem = React__namespace.forwardRef(({ className, children
1328
2070
  DropdownMenuPrimitive__namespace.RadioItem,
1329
2071
  {
1330
2072
  ref,
1331
- className: chipGroup.cn(
2073
+ className: cn(
1332
2074
  ITEM_BASE,
1333
2075
  ITEM_VARIANT_DEFAULT,
1334
2076
  "pl-8 pr-pad-lg",
@@ -1350,7 +2092,7 @@ const DropdownMenuLabel = React__namespace.forwardRef(({ className, inset, ...pr
1350
2092
  DropdownMenuPrimitive__namespace.Label,
1351
2093
  {
1352
2094
  ref,
1353
- className: chipGroup.cn(
2095
+ className: cn(
1354
2096
  "px-pad-lg py-pad-sm text-caption-sm font-semibold uppercase tracking-wider text-fg-subtle",
1355
2097
  inset && "pl-8",
1356
2098
  className
@@ -1363,7 +2105,7 @@ const DropdownMenuSeparator = React__namespace.forwardRef(({ className, ...props
1363
2105
  DropdownMenuPrimitive__namespace.Separator,
1364
2106
  {
1365
2107
  ref,
1366
- className: chipGroup.cn("mx-pad-xs my-pad-xs h-px bg-border-default", className),
2108
+ className: cn("mx-pad-xs my-pad-xs h-px bg-border-default", className),
1367
2109
  ...props
1368
2110
  }
1369
2111
  ));
@@ -1382,12 +2124,12 @@ function HeaderThemeSwitcher({
1382
2124
  const CurrentIcon = current?.icon ?? lucideReact.Sun;
1383
2125
  return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
1384
2126
  /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
1385
- chipGroup.Button,
2127
+ Button,
1386
2128
  {
1387
2129
  color: "secondary",
1388
2130
  variant: "outline",
1389
2131
  size: "icon-sm",
1390
- className: chipGroup.cn("rounded-radius-md", className),
2132
+ className: cn("rounded-radius-md", className),
1391
2133
  "aria-label": "Trocar tema",
1392
2134
  title: `Tema: ${current?.label ?? ""}`,
1393
2135
  children: /* @__PURE__ */ jsxRuntime.jsx(CurrentIcon, {})
@@ -1429,14 +2171,14 @@ function Header({
1429
2171
  rightSlot,
1430
2172
  className
1431
2173
  }) {
1432
- return /* @__PURE__ */ jsxRuntime.jsxs("header", { className: chipGroup.cn(headerRoot(), className), children: [
2174
+ return /* @__PURE__ */ jsxRuntime.jsxs("header", { className: cn(headerRoot(), className), children: [
1433
2175
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: headerLeft(), children: [
1434
2176
  onCollapseMenu && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1435
2177
  /* @__PURE__ */ jsxRuntime.jsx(
1436
2178
  "button",
1437
2179
  {
1438
2180
  type: "button",
1439
- className: chipGroup.cn(
2181
+ className: cn(
1440
2182
  headerIconBtn({ variant: "ghost" }),
1441
2183
  "hidden md:inline-flex text-fg-muted hover:text-fg-default"
1442
2184
  ),
@@ -1450,7 +2192,7 @@ function Header({
1450
2192
  "button",
1451
2193
  {
1452
2194
  type: "button",
1453
- className: chipGroup.cn(
2195
+ className: cn(
1454
2196
  headerIconBtn({ variant: "ghost" }),
1455
2197
  "md:hidden text-fg-muted hover:text-fg-default"
1456
2198
  ),
@@ -1463,7 +2205,7 @@ function Header({
1463
2205
  /* @__PURE__ */ jsxRuntime.jsx(
1464
2206
  "span",
1465
2207
  {
1466
- className: chipGroup.cn(headerDivider(), "hidden md:block"),
2208
+ className: cn(headerDivider(), "hidden md:block"),
1467
2209
  "aria-hidden": "true"
1468
2210
  }
1469
2211
  )
@@ -1501,7 +2243,7 @@ function Header({
1501
2243
  ] })
1502
2244
  ] });
1503
2245
  }
1504
- const sidebarRoot = chipGroup.tv({
2246
+ const sidebarRoot = tv({
1505
2247
  base: "relative flex h-screen w-fit bg-bg-sidebar text-fg-default font-sans",
1506
2248
  variants: {
1507
2249
  mobile: {
@@ -1519,13 +2261,13 @@ const sidebarRoot = chipGroup.tv({
1519
2261
  { mobile: true, mobileOpen: false, class: "-translate-x-full" }
1520
2262
  ]
1521
2263
  });
1522
- chipGroup.tv({
2264
+ tv({
1523
2265
  base: "relative flex h-full w-fit bg-bg-sidebar text-fg-default font-sans"
1524
2266
  });
1525
- const sidebarMobileBackdrop = chipGroup.tv({
2267
+ const sidebarMobileBackdrop = tv({
1526
2268
  base: "fixed inset-0 z-40 bg-overlay-scrim transition-opacity duration-200"
1527
2269
  });
1528
- const sidebarMobileCloseBtn = chipGroup.tv({
2270
+ const sidebarMobileCloseBtn = tv({
1529
2271
  base: [
1530
2272
  "absolute top-[14px] right-[14px] z-10",
1531
2273
  "w-form-sm h-form-sm rounded-radius-md grid place-items-center",
@@ -1536,7 +2278,7 @@ const sidebarMobileCloseBtn = chipGroup.tv({
1536
2278
  "focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary"
1537
2279
  ]
1538
2280
  });
1539
- const sidebarRail = chipGroup.tv({
2281
+ const sidebarRail = tv({
1540
2282
  base: [
1541
2283
  "flex flex-col items-center w-[64px] flex-none",
1542
2284
  "h-full sticky top-0 z-30",
@@ -1544,17 +2286,17 @@ const sidebarRail = chipGroup.tv({
1544
2286
  "bg-bg-sidebar border-r border-border-sidebar"
1545
2287
  ]
1546
2288
  });
1547
- const sidebarRailBrand = chipGroup.tv({
2289
+ const sidebarRailBrand = tv({
1548
2290
  base: [
1549
2291
  "w-form-lg h-form-lg rounded-radius-xl grid place-items-center",
1550
2292
  "bg-bg-brand text-fg-on-brand mb-pad-sm",
1551
2293
  "transition-opacity hover:opacity-90"
1552
2294
  ]
1553
2295
  });
1554
- const sidebarRailList = chipGroup.tv({
2296
+ const sidebarRailList = tv({
1555
2297
  base: "flex flex-col items-center gap-gp-sm flex-1"
1556
2298
  });
1557
- const sidebarRailItem = chipGroup.tv({
2299
+ const sidebarRailItem = tv({
1558
2300
  base: [
1559
2301
  "group/rail-item relative w-form-lg h-form-lg rounded-radius-xl grid place-items-center",
1560
2302
  "bg-transparent border-0 cursor-pointer",
@@ -1571,13 +2313,13 @@ const sidebarRailItem = chipGroup.tv({
1571
2313
  }
1572
2314
  }
1573
2315
  });
1574
- const sidebarRailActiveBar = chipGroup.tv({
2316
+ const sidebarRailActiveBar = tv({
1575
2317
  base: [
1576
2318
  "absolute -left-pad-2xl top-pad-md bottom-pad-md w-[3px]",
1577
2319
  "rounded-r-radius-sm bg-bg-brand"
1578
2320
  ]
1579
2321
  });
1580
- const sidebarRailTooltip = chipGroup.tv({
2322
+ const sidebarRailTooltip = tv({
1581
2323
  base: [
1582
2324
  "pointer-events-none absolute left-full ml-[14px] top-1/2 -translate-y-1/2",
1583
2325
  "px-pad-md py-[5px] rounded-radius-sm",
@@ -1588,7 +2330,7 @@ const sidebarRailTooltip = chipGroup.tv({
1588
2330
  "shadow-sh-md"
1589
2331
  ]
1590
2332
  });
1591
- const sidebarRailAdd = chipGroup.tv({
2333
+ const sidebarRailAdd = tv({
1592
2334
  base: [
1593
2335
  "w-form-lg h-form-lg rounded-radius-xl grid place-items-center",
1594
2336
  "text-fg-muted bg-transparent border-0 cursor-pointer mt-pad-xs opacity-70",
@@ -1597,17 +2339,17 @@ const sidebarRailAdd = chipGroup.tv({
1597
2339
  "focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary"
1598
2340
  ]
1599
2341
  });
1600
- const sidebarRailUser = chipGroup.tv({
2342
+ const sidebarRailUser = tv({
1601
2343
  base: "mt-auto"
1602
2344
  });
1603
- const sidebarRailUserDefault = chipGroup.tv({
2345
+ const sidebarRailUserDefault = tv({
1604
2346
  base: [
1605
- "grid place-items-center w-9 h-9 rounded-full",
2347
+ "grid place-items-center size-comp-lg rounded-full",
1606
2348
  // tracking-[0.02em] preserva tracking original (preset usa +0.06em)
1607
2349
  "bg-bg-brand text-fg-on-brand font-bold text-caption-sm uppercase tracking-[0.02em]"
1608
2350
  ]
1609
2351
  });
1610
- const sidebarPanel = chipGroup.tv({
2352
+ const sidebarPanel = tv({
1611
2353
  base: [
1612
2354
  "w-[264px] flex-none h-full sticky top-0 flex flex-col overflow-hidden",
1613
2355
  "bg-bg-sidebar border-r border-border-sidebar",
@@ -1627,10 +2369,10 @@ const sidebarPanel = chipGroup.tv({
1627
2369
  }
1628
2370
  }
1629
2371
  });
1630
- const sidebarPanelHeader = chipGroup.tv({
2372
+ const sidebarPanelHeader = tv({
1631
2373
  base: "flex items-center h-[60px] flex-none px-[14px] border-b border-border-sidebar"
1632
2374
  });
1633
- const sidebarPanelTitle = chipGroup.tv({
2375
+ const sidebarPanelTitle = tv({
1634
2376
  base: [
1635
2377
  "flex-1 min-w-0 inline-flex items-center gap-gp-sm",
1636
2378
  "py-pad-sm px-pad-md rounded-radius-md",
@@ -1640,13 +2382,13 @@ const sidebarPanelTitle = chipGroup.tv({
1640
2382
  "focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary"
1641
2383
  ]
1642
2384
  });
1643
- const sidebarPanelBody = chipGroup.tv({
2385
+ const sidebarPanelBody = tv({
1644
2386
  base: "flex-1 overflow-y-auto p-[14px] scrollbar-thin"
1645
2387
  });
1646
- const sidebarPanelGroup = chipGroup.tv({
2388
+ const sidebarPanelGroup = tv({
1647
2389
  base: "flex flex-col gap-px"
1648
2390
  });
1649
- const sidebarItem = chipGroup.tv({
2391
+ const sidebarItem = tv({
1650
2392
  base: [
1651
2393
  "flex items-center gap-[11px] h-form-lg w-full px-pad-xl rounded-radius-md",
1652
2394
  "text-fg-default text-body-sm font-medium text-left no-underline cursor-pointer",
@@ -1678,7 +2420,7 @@ const sidebarItem = chipGroup.tv({
1678
2420
  }
1679
2421
  ]
1680
2422
  });
1681
- const sidebarItemIcon = chipGroup.tv({
2423
+ const sidebarItemIcon = tv({
1682
2424
  base: "flex-none w-[17px] h-[17px] text-fg-muted transition-colors",
1683
2425
  variants: {
1684
2426
  active: {
@@ -1689,10 +2431,10 @@ const sidebarItemIcon = chipGroup.tv({
1689
2431
  }
1690
2432
  }
1691
2433
  });
1692
- const sidebarItemText = chipGroup.tv({
2434
+ const sidebarItemText = tv({
1693
2435
  base: "flex-1 min-w-0 whitespace-nowrap overflow-hidden text-ellipsis"
1694
2436
  });
1695
- const sidebarPill = chipGroup.tv({
2437
+ const sidebarPill = tv({
1696
2438
  base: [
1697
2439
  "inline-flex items-center justify-center flex-none",
1698
2440
  "min-w-[22px] h-[22px] px-[7px] rounded-radius-sm",
@@ -1713,10 +2455,10 @@ const sidebarPill = chipGroup.tv({
1713
2455
  },
1714
2456
  defaultVariants: { kind: "default" }
1715
2457
  });
1716
- const sidebarSubgroupRoot = chipGroup.tv({
2458
+ const sidebarSubgroupRoot = tv({
1717
2459
  base: "flex flex-col gap-px"
1718
2460
  });
1719
- const sidebarSubgroupChev = chipGroup.tv({
2461
+ const sidebarSubgroupChev = tv({
1720
2462
  base: "flex-none w-[13px] h-[13px] text-fg-muted ml-auto transition-transform duration-200",
1721
2463
  variants: {
1722
2464
  collapsed: {
@@ -1724,7 +2466,7 @@ const sidebarSubgroupChev = chipGroup.tv({
1724
2466
  }
1725
2467
  }
1726
2468
  });
1727
- const sidebarSubgroupList = chipGroup.tv({
2469
+ const sidebarSubgroupList = tv({
1728
2470
  base: [
1729
2471
  "flex flex-col gap-px overflow-hidden",
1730
2472
  "ml-pad-xl pl-[14px] py-pad-2xs",
@@ -1739,10 +2481,10 @@ const sidebarSubgroupList = chipGroup.tv({
1739
2481
  },
1740
2482
  defaultVariants: { collapsed: false }
1741
2483
  });
1742
- const sidebarSection = chipGroup.tv({
2484
+ const sidebarSection = tv({
1743
2485
  base: "flex flex-col gap-px pt-[18px] mt-pad-xl border-t border-border-sidebar"
1744
2486
  });
1745
- const sidebarSectionHeader = chipGroup.tv({
2487
+ const sidebarSectionHeader = tv({
1746
2488
  base: [
1747
2489
  "flex items-center gap-gp-sm px-pad-lg pt-pad-sm pb-pad-md",
1748
2490
  "bg-transparent border-0 text-left cursor-pointer select-none w-full",
@@ -1753,7 +2495,7 @@ const sidebarSectionHeader = chipGroup.tv({
1753
2495
  "dark:text-fg-muted dark:font-medium dark:opacity-70"
1754
2496
  ]
1755
2497
  });
1756
- const sidebarSectionChev = chipGroup.tv({
2498
+ const sidebarSectionChev = tv({
1757
2499
  base: "flex-none w-[12px] h-[12px] transition-transform duration-200",
1758
2500
  variants: {
1759
2501
  collapsed: {
@@ -1761,7 +2503,7 @@ const sidebarSectionChev = chipGroup.tv({
1761
2503
  }
1762
2504
  }
1763
2505
  });
1764
- const sidebarSectionAdd = chipGroup.tv({
2506
+ const sidebarSectionAdd = tv({
1765
2507
  base: [
1766
2508
  "ml-auto w-[18px] h-[18px] grid place-items-center rounded-radius-xs",
1767
2509
  "text-fg-muted bg-transparent border-0 cursor-pointer text-body-md leading-none",
@@ -1769,7 +2511,7 @@ const sidebarSectionAdd = chipGroup.tv({
1769
2511
  "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring-secondary"
1770
2512
  ]
1771
2513
  });
1772
- const sidebarSectionList = chipGroup.tv({
2514
+ const sidebarSectionList = tv({
1773
2515
  base: "flex flex-col gap-px overflow-hidden transition-[max-height,opacity] duration-200 ease-out",
1774
2516
  variants: {
1775
2517
  collapsed: {
@@ -1783,7 +2525,7 @@ const sidebarSectionList = chipGroup.tv({
1783
2525
  },
1784
2526
  defaultVariants: { collapsed: false, variant: "bookmark" }
1785
2527
  });
1786
- const sidebarSectionItem = chipGroup.tv({
2528
+ const sidebarSectionItem = tv({
1787
2529
  base: [
1788
2530
  "flex items-center gap-[11px] h-form-sm w-full px-pad-lg rounded-radius-md",
1789
2531
  "text-body-xs font-medium text-fg-muted no-underline cursor-pointer",
@@ -1793,17 +2535,26 @@ const sidebarSectionItem = chipGroup.tv({
1793
2535
  "focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary"
1794
2536
  ]
1795
2537
  });
1796
- const sidebarBookmarkDot = chipGroup.tv({
2538
+ const sidebarBookmarkDot = tv({
1797
2539
  base: "flex-none w-[10px] h-[10px] rounded-full"
1798
2540
  });
1799
- const sidebarChatAvatar = chipGroup.tv({
2541
+ const sidebarBookmarkIcon = tv({
2542
+ base: [
2543
+ // mesmo footprint do dot/avatar → alinhamento consistente; ícone herda a
2544
+ // cor via `color` inline (currentColor), sem caixa de fundo
2545
+ "flex-none grid place-items-center w-icon-lg h-icon-lg",
2546
+ // menor que o ícone de categoria (17px) → menos destaque, perto do peso do dot
2547
+ "[&>svg]:size-icon-xs"
2548
+ ]
2549
+ });
2550
+ const sidebarChatAvatar = tv({
1800
2551
  base: [
1801
2552
  "flex-none grid place-items-center w-icon-lg h-icon-lg rounded-full",
1802
2553
  // tracking-[0.02em] preserva o tracking original (preset usa +0.06em); leading-none mantém centralização vertical
1803
2554
  "text-white text-caption-xs font-bold uppercase tracking-[0.02em] leading-none"
1804
2555
  ]
1805
2556
  });
1806
- const sidebarChatStatus = chipGroup.tv({
2557
+ const sidebarChatStatus = tv({
1807
2558
  base: "flex-none w-[7px] h-[7px] rounded-full ml-auto",
1808
2559
  variants: {
1809
2560
  status: {
@@ -1856,7 +2607,7 @@ function SidebarRail({
1856
2607
  onAddClick,
1857
2608
  className
1858
2609
  }) {
1859
- return /* @__PURE__ */ jsxRuntime.jsxs("aside", { className: chipGroup.cn(sidebarRail(), className), children: [
2610
+ return /* @__PURE__ */ jsxRuntime.jsxs("aside", { className: cn(sidebarRail(), className), children: [
1860
2611
  /* @__PURE__ */ jsxRuntime.jsx("a", { href: "/", className: sidebarRailBrand(), "aria-label": "Home", children: brand ?? /* @__PURE__ */ jsxRuntime.jsx(SidebarBrandIcon, {}) }),
1861
2612
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: sidebarRailList(), children: [
1862
2613
  contexts.map((ctx) => {
@@ -1896,7 +2647,7 @@ function SidebarRail({
1896
2647
  const SidebarItem = React.forwardRef(
1897
2648
  ({ item, active, subitem, iconBrand, onClick, className }, ref) => {
1898
2649
  const Icon = item.icon;
1899
- const classes = chipGroup.cn(sidebarItem({ active, subitem }), className);
2650
+ const classes = cn(sidebarItem({ active, subitem }), className);
1900
2651
  const content = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1901
2652
  Icon && /* @__PURE__ */ jsxRuntime.jsx(
1902
2653
  Icon,
@@ -1946,7 +2697,7 @@ function SidebarPill({
1946
2697
  children,
1947
2698
  className
1948
2699
  }) {
1949
- return /* @__PURE__ */ jsxRuntime.jsx("span", { className: chipGroup.cn(sidebarPill({ kind, active }), className), children });
2700
+ return /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn(sidebarPill({ kind, active }), className), children });
1950
2701
  }
1951
2702
  function SidebarSubgroup({
1952
2703
  item,
@@ -1970,12 +2721,12 @@ function SidebarSubgroup({
1970
2721
  onOpenChange?.(next);
1971
2722
  };
1972
2723
  const Icon = item.icon;
1973
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chipGroup.cn(sidebarSubgroupRoot(), className), children: [
2724
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(sidebarSubgroupRoot(), className), children: [
1974
2725
  /* @__PURE__ */ jsxRuntime.jsxs(
1975
2726
  "button",
1976
2727
  {
1977
2728
  type: "button",
1978
- className: chipGroup.cn(sidebarItem(), "select-none"),
2729
+ className: cn(sidebarItem(), "select-none"),
1979
2730
  onClick: () => setOpen(!isOpen),
1980
2731
  "aria-expanded": isOpen,
1981
2732
  "aria-controls": `subgroup-${item.name}`,
@@ -2025,7 +2776,7 @@ function SidebarSection({
2025
2776
  if (open === void 0) setInternalOpen(next);
2026
2777
  onOpenChange?.(next);
2027
2778
  };
2028
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chipGroup.cn(sidebarSection(), className), children: [
2779
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(sidebarSection(), className), children: [
2029
2780
  /* @__PURE__ */ jsxRuntime.jsxs(
2030
2781
  "button",
2031
2782
  {
@@ -2073,26 +2824,37 @@ function SidebarSection({
2073
2824
  id: `section-${section.id}`,
2074
2825
  className: sidebarSectionList({ collapsed, variant: section.variant }),
2075
2826
  children: [
2076
- section.variant === "bookmark" && section.items.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
2077
- SidebarSectionLink,
2078
- {
2079
- href: item.href,
2080
- onClick: item.onClick,
2081
- title: item.name,
2082
- children: [
2083
- /* @__PURE__ */ jsxRuntime.jsx(
2084
- "span",
2085
- {
2086
- className: sidebarBookmarkDot(),
2087
- style: { backgroundColor: item.color },
2088
- "aria-hidden": "true"
2089
- }
2090
- ),
2091
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: sidebarItemText(), children: item.name })
2092
- ]
2093
- },
2094
- item.name
2095
- )),
2827
+ section.variant === "bookmark" && section.items.map((item) => {
2828
+ const Icon = item.icon;
2829
+ return /* @__PURE__ */ jsxRuntime.jsxs(
2830
+ SidebarSectionLink,
2831
+ {
2832
+ href: item.href,
2833
+ onClick: item.onClick,
2834
+ title: item.name,
2835
+ children: [
2836
+ Icon ? /* @__PURE__ */ jsxRuntime.jsx(
2837
+ "span",
2838
+ {
2839
+ className: sidebarBookmarkIcon(),
2840
+ style: { color: item.color },
2841
+ "aria-hidden": "true",
2842
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon, {})
2843
+ }
2844
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
2845
+ "span",
2846
+ {
2847
+ className: sidebarBookmarkDot(),
2848
+ style: { backgroundColor: item.color },
2849
+ "aria-hidden": "true"
2850
+ }
2851
+ ),
2852
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: sidebarItemText(), children: item.name })
2853
+ ]
2854
+ },
2855
+ item.name
2856
+ );
2857
+ }),
2096
2858
  section.variant === "chat" && section.items.map((item) => /* @__PURE__ */ jsxRuntime.jsxs(
2097
2859
  SidebarSectionLink,
2098
2860
  {
@@ -2163,7 +2925,7 @@ function SidebarPanel({
2163
2925
  return /* @__PURE__ */ jsxRuntime.jsxs(
2164
2926
  "aside",
2165
2927
  {
2166
- className: chipGroup.cn(sidebarPanel({ collapsed, floating, mobile }), className),
2928
+ className: cn(sidebarPanel({ collapsed, floating, mobile }), className),
2167
2929
  "aria-hidden": collapsed,
2168
2930
  children: [
2169
2931
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: sidebarPanelHeader(), children: hasSwitcher ? /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
@@ -2336,7 +3098,7 @@ function MenuSidebar({
2336
3098
  /* @__PURE__ */ jsxRuntime.jsxs(
2337
3099
  "div",
2338
3100
  {
2339
- className: chipGroup.cn(
3101
+ className: cn(
2340
3102
  sidebarRoot({ mobile: isMobile, mobileOpen: isMobile && openMobile }),
2341
3103
  className
2342
3104
  ),
@@ -2407,7 +3169,7 @@ const Avatar = React__namespace.forwardRef(({ className, ...props }, ref) => /*
2407
3169
  AvatarPrimitive__namespace.Root,
2408
3170
  {
2409
3171
  ref,
2410
- className: chipGroup.cn(
3172
+ className: cn(
2411
3173
  "relative flex size-8 shrink-0 overflow-hidden rounded-full",
2412
3174
  className
2413
3175
  ),
@@ -2419,7 +3181,7 @@ const AvatarImage = React__namespace.forwardRef(({ className, ...props }, ref) =
2419
3181
  AvatarPrimitive__namespace.Image,
2420
3182
  {
2421
3183
  ref,
2422
- className: chipGroup.cn("aspect-square h-full w-full", className),
3184
+ className: cn("aspect-square h-full w-full", className),
2423
3185
  ...props
2424
3186
  }
2425
3187
  ));
@@ -2428,7 +3190,7 @@ const AvatarFallback = React__namespace.forwardRef(({ className, ...props }, ref
2428
3190
  AvatarPrimitive__namespace.Fallback,
2429
3191
  {
2430
3192
  ref,
2431
- className: chipGroup.cn(
3193
+ className: cn(
2432
3194
  "flex h-full w-full items-center justify-center rounded-full bg-bg-muted text-fg-muted text-body-sm font-normal",
2433
3195
  className
2434
3196
  ),
@@ -2469,7 +3231,7 @@ function UserMenu({
2469
3231
  type: "button",
2470
3232
  "aria-label": `Menu do usuário (${user.name})`,
2471
3233
  className: [
2472
- "grid place-items-center w-9 h-9 rounded-full shrink-0",
3234
+ "grid place-items-center size-comp-lg rounded-full shrink-0",
2473
3235
  "bg-bg-brand text-fg-on-brand text-caption-sm font-bold uppercase tracking-[0.02em]",
2474
3236
  "cursor-pointer transition-opacity duration-150",
2475
3237
  "hover:opacity-90",
@@ -2477,7 +3239,7 @@ function UserMenu({
2477
3239
  "data-[state=open]:ring-4 data-[state=open]:ring-ring-secondary"
2478
3240
  ].join(" "),
2479
3241
  style: user.avatarColor ? { background: user.avatarColor } : void 0,
2480
- children: user.avatarSrc ? /* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "size-9", children: [
3242
+ children: user.avatarSrc ? /* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "size-comp-lg", children: [
2481
3243
  /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: user.avatarSrc, alt: user.name }),
2482
3244
  /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "bg-transparent text-fg-on-brand", children: initials })
2483
3245
  ] }) : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, children: initials })
@@ -2495,7 +3257,7 @@ function UserMenu({
2495
3257
  /* @__PURE__ */ jsxRuntime.jsxs(
2496
3258
  Avatar,
2497
3259
  {
2498
- className: "size-9 shrink-0",
3260
+ className: "size-comp-lg shrink-0",
2499
3261
  style: user.avatarColor ? { background: user.avatarColor } : void 0,
2500
3262
  children: [
2501
3263
  user.avatarSrc && /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: user.avatarSrc, alt: user.name }),
@@ -2568,26 +3330,26 @@ function UserMenu({
2568
3330
  ] })
2569
3331
  );
2570
3332
  }
2571
- const root = chipGroup.tv({
3333
+ const root = tv({
2572
3334
  base: [
2573
3335
  "flex h-screen w-full bg-bg-canvas",
2574
3336
  "overflow-hidden"
2575
3337
  // garante que sidebar + main não vazem viewport
2576
3338
  ]
2577
3339
  });
2578
- const main = chipGroup.tv({
3340
+ const main = tv({
2579
3341
  base: [
2580
3342
  "flex flex-col flex-1 min-w-0",
2581
3343
  "overflow-hidden"
2582
3344
  ]
2583
3345
  });
2584
- const body = chipGroup.tv({
3346
+ const body = tv({
2585
3347
  base: [
2586
3348
  "flex flex-col flex-1 min-h-0",
2587
3349
  "overflow-auto scrollbar-thin"
2588
3350
  ]
2589
3351
  });
2590
- const bodyInner = chipGroup.tv({
3352
+ const bodyInner = tv({
2591
3353
  base: [
2592
3354
  "flex flex-col flex-1 min-h-0 w-full mx-auto",
2593
3355
  "gap-gp-4xl p-pad-6xl"
@@ -2680,7 +3442,7 @@ function AppShell({
2680
3442
  onLogout
2681
3443
  }
2682
3444
  ) : void 0;
2683
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chipGroup.cn(root(), className), children: [
3445
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn(root(), className), children: [
2684
3446
  /* @__PURE__ */ jsxRuntime.jsx(
2685
3447
  MenuSidebar,
2686
3448
  {
@@ -2720,7 +3482,7 @@ function AppShell({
2720
3482
  rightSlot: headerRightSlot
2721
3483
  }
2722
3484
  ),
2723
- /* @__PURE__ */ jsxRuntime.jsx("main", { className: chipGroup.cn(body(), bodyClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
3485
+ /* @__PURE__ */ jsxRuntime.jsx("main", { className: cn(body(), bodyClassName), children: /* @__PURE__ */ jsxRuntime.jsx(
2724
3486
  "div",
2725
3487
  {
2726
3488
  className: bodyInner({
@@ -2737,6 +3499,10 @@ AppShell.displayName = "AppShell";
2737
3499
  exports.AppShell = AppShell;
2738
3500
  exports.Avatar = Avatar;
2739
3501
  exports.AvatarFallback = AvatarFallback;
3502
+ exports.Button = Button;
3503
+ exports.Chip = Chip;
3504
+ exports.ChipGroup = ChipGroup;
3505
+ exports.ChipGroupItem = ChipGroupItem;
2740
3506
  exports.Command = Command;
2741
3507
  exports.CommandDialog = CommandDialog;
2742
3508
  exports.CommandEmpty = CommandEmpty;
@@ -2785,7 +3551,12 @@ exports.SidebarRail = SidebarRail;
2785
3551
  exports.SidebarSection = SidebarSection;
2786
3552
  exports.SidebarSubgroup = SidebarSubgroup;
2787
3553
  exports.UserMenu = UserMenu;
3554
+ exports.buttonVariants = buttonVariants;
3555
+ exports.chipCount = chipCount;
3556
+ exports.chipVariants = chipVariants;
3557
+ exports.cn = cn;
2788
3558
  exports.inputGroupVariants = inputGroupVariants;
3559
+ exports.tv = tv;
2789
3560
  exports.useControllable = useControllable;
2790
3561
  exports.useMediaQuery = useMediaQuery;
2791
- //# sourceMappingURL=app-shell-CPx9X7zP.cjs.map
3562
+ //# sourceMappingURL=app-shell-Cyh8AUJT.cjs.map