@snksergio/design-system 0.5.1 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (391) hide show
  1. package/README.md +345 -293
  2. package/dist-lib/chunks/{app-shell-BdVam01i.cjs → app-shell-CPx9X7zP.cjs} +417 -307
  3. package/dist-lib/chunks/app-shell-CPx9X7zP.cjs.map +1 -0
  4. package/dist-lib/chunks/{app-shell-C_enrPD8.mjs → app-shell-Cy9be0Zx.mjs} +449 -340
  5. package/dist-lib/chunks/app-shell-Cy9be0Zx.mjs.map +1 -0
  6. package/dist-lib/chunks/app-shell-mocks-kWIVSzLs.mjs.map +1 -1
  7. package/dist-lib/chunks/app-shell-mocks-oO_IV3Gw.cjs.map +1 -1
  8. package/dist-lib/chunks/{badge-B0D_PRxn.mjs → badge-DBdk74KN.mjs} +89 -46
  9. package/dist-lib/chunks/badge-DBdk74KN.mjs.map +1 -0
  10. package/dist-lib/chunks/{badge-CUttkO1X.cjs → badge-gU2wtxrn.cjs} +88 -45
  11. package/dist-lib/chunks/badge-gU2wtxrn.cjs.map +1 -0
  12. package/dist-lib/chunks/chat-v2-mocks-BV9Wha_Z.cjs.map +1 -1
  13. package/dist-lib/chunks/chat-v2-mocks-DvZRkhmz.mjs.map +1 -1
  14. package/dist-lib/chunks/chip-group-2-f_Yo7Y.cjs.map +1 -1
  15. package/dist-lib/chunks/chip-group-_e-yh1Zq.mjs.map +1 -1
  16. package/dist-lib/chunks/{clientes-showcase-mocks-CPNOhx1G.cjs → clientes-showcase-mocks-DygUqkkh.cjs} +2 -2
  17. package/dist-lib/chunks/clientes-showcase-mocks-DygUqkkh.cjs.map +1 -0
  18. package/dist-lib/chunks/{clientes-showcase-mocks-DEHCKxMK.mjs → clientes-showcase-mocks-ayU1SDOA.mjs} +2 -2
  19. package/dist-lib/chunks/clientes-showcase-mocks-ayU1SDOA.mjs.map +1 -0
  20. package/dist-lib/chunks/{page-header-qOywgRWy.cjs → page-header-BZ-WrxV2.cjs} +4 -2
  21. package/dist-lib/chunks/page-header-BZ-WrxV2.cjs.map +1 -0
  22. package/dist-lib/chunks/{page-header-DM2G1mdi.mjs → page-header-CQbTGWQ8.mjs} +4 -2
  23. package/dist-lib/chunks/page-header-CQbTGWQ8.mjs.map +1 -0
  24. package/dist-lib/chunks/{panel-CCYNbXJR.mjs → panel-Bfl44bpu.mjs} +6665 -4981
  25. package/dist-lib/chunks/panel-Bfl44bpu.mjs.map +1 -0
  26. package/dist-lib/chunks/{panel-CSuFQHMl.cjs → panel-DOYE6OT9.cjs} +6646 -4963
  27. package/dist-lib/chunks/panel-DOYE6OT9.cjs.map +1 -0
  28. package/dist-lib/chunks/useTheme-BUPLZBMs.mjs.map +1 -1
  29. package/dist-lib/chunks/useTheme-Dee4mo-A.cjs.map +1 -1
  30. package/dist-lib/index.cjs +3592 -626
  31. package/dist-lib/index.cjs.map +1 -1
  32. package/dist-lib/index.mjs +3667 -717
  33. package/dist-lib/index.mjs.map +1 -1
  34. package/dist-lib/preview/chat.cjs +1 -1
  35. package/dist-lib/preview/chat.cjs.map +1 -1
  36. package/dist-lib/preview/chat.mjs +1 -1
  37. package/dist-lib/preview/chat.mjs.map +1 -1
  38. package/dist-lib/preview/clientes.cjs +10 -9
  39. package/dist-lib/preview/clientes.cjs.map +1 -1
  40. package/dist-lib/preview/clientes.mjs +10 -9
  41. package/dist-lib/preview/clientes.mjs.map +1 -1
  42. package/dist-lib/preview/dashboard.cjs +4 -4
  43. package/dist-lib/preview/dashboard.cjs.map +1 -1
  44. package/dist-lib/preview/dashboard.mjs +4 -4
  45. package/dist-lib/preview/dashboard.mjs.map +1 -1
  46. package/dist-lib/preview/mocks.cjs +1 -1
  47. package/dist-lib/preview/mocks.mjs +1 -1
  48. package/dist-lib/src/components/index.d.ts +13 -7
  49. package/dist-lib/src/components/index.d.ts.map +1 -1
  50. package/dist-lib/src/components/shadcn/aspect-ratio.d.ts +4 -0
  51. package/dist-lib/src/components/shadcn/aspect-ratio.d.ts.map +1 -0
  52. package/dist-lib/src/components/shadcn/calendar.d.ts.map +1 -1
  53. package/dist-lib/src/components/shadcn/carousel.d.ts +19 -0
  54. package/dist-lib/src/components/shadcn/carousel.d.ts.map +1 -0
  55. package/dist-lib/src/components/shadcn/collapsible.d.ts +6 -0
  56. package/dist-lib/src/components/shadcn/collapsible.d.ts.map +1 -0
  57. package/dist-lib/src/components/shadcn/context-menu.d.ts +28 -0
  58. package/dist-lib/src/components/shadcn/context-menu.d.ts.map +1 -0
  59. package/dist-lib/src/components/shadcn/drawer.d.ts +23 -0
  60. package/dist-lib/src/components/shadcn/drawer.d.ts.map +1 -0
  61. package/dist-lib/src/components/shadcn/dropdown-menu.d.ts +8 -1
  62. package/dist-lib/src/components/shadcn/dropdown-menu.d.ts.map +1 -1
  63. package/dist-lib/src/components/shadcn/hover-card.d.ts +8 -0
  64. package/dist-lib/src/components/shadcn/hover-card.d.ts.map +1 -0
  65. package/dist-lib/src/components/shadcn/input-otp.d.ts +40 -0
  66. package/dist-lib/src/components/shadcn/input-otp.d.ts.map +1 -0
  67. package/dist-lib/src/components/shadcn/menubar.d.ts +29 -0
  68. package/dist-lib/src/components/shadcn/menubar.d.ts.map +1 -0
  69. package/dist-lib/src/components/shadcn/navigation-menu.d.ts +13 -0
  70. package/dist-lib/src/components/shadcn/navigation-menu.d.ts.map +1 -0
  71. package/dist-lib/src/components/shadcn/popover.d.ts +7 -0
  72. package/dist-lib/src/components/shadcn/popover.d.ts.map +1 -1
  73. package/dist-lib/src/components/shadcn/scroll-area.d.ts +11 -0
  74. package/dist-lib/src/components/shadcn/scroll-area.d.ts.map +1 -0
  75. package/dist-lib/src/components/shadcn/skeleton.d.ts +9 -0
  76. package/dist-lib/src/components/shadcn/skeleton.d.ts.map +1 -0
  77. package/dist-lib/src/components/shadcn/sonner.d.ts +15 -0
  78. package/dist-lib/src/components/shadcn/sonner.d.ts.map +1 -0
  79. package/dist-lib/src/components/shadcn/toggle-group.d.ts +13 -0
  80. package/dist-lib/src/components/shadcn/toggle-group.d.ts.map +1 -0
  81. package/dist-lib/src/components/shadcn/toggle.d.ts +13 -0
  82. package/dist-lib/src/components/shadcn/toggle.d.ts.map +1 -0
  83. package/dist-lib/src/components/shadcn/tooltip.d.ts +14 -0
  84. package/dist-lib/src/components/shadcn/tooltip.d.ts.map +1 -0
  85. package/dist-lib/src/components/ui/AppShell/app-shell.d.ts.map +1 -1
  86. package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts +1 -1
  87. package/dist-lib/src/components/ui/AppShell/app-shell.types.d.ts.map +1 -1
  88. package/dist-lib/src/components/ui/AppShell/user-menu.d.ts.map +1 -1
  89. package/dist-lib/src/components/ui/ButtonGroup/button-group.d.ts +10 -0
  90. package/dist-lib/src/components/ui/ButtonGroup/button-group.d.ts.map +1 -0
  91. package/dist-lib/src/components/ui/ButtonGroup/button-group.styles.d.ts +77 -0
  92. package/dist-lib/src/components/ui/ButtonGroup/button-group.styles.d.ts.map +1 -0
  93. package/dist-lib/src/components/ui/ButtonGroup/button-group.types.d.ts +43 -0
  94. package/dist-lib/src/components/ui/ButtonGroup/button-group.types.d.ts.map +1 -0
  95. package/dist-lib/src/components/ui/ButtonGroup/index.d.ts +3 -0
  96. package/dist-lib/src/components/ui/ButtonGroup/index.d.ts.map +1 -0
  97. package/dist-lib/src/components/ui/CardCheckbox/card-checkbox.d.ts +42 -0
  98. package/dist-lib/src/components/ui/CardCheckbox/card-checkbox.d.ts.map +1 -0
  99. package/dist-lib/src/components/ui/CardCheckbox/card-checkbox.styles.d.ts +72 -0
  100. package/dist-lib/src/components/ui/CardCheckbox/card-checkbox.styles.d.ts.map +1 -0
  101. package/dist-lib/src/components/ui/CardCheckbox/index.d.ts +5 -0
  102. package/dist-lib/src/components/ui/CardCheckbox/index.d.ts.map +1 -0
  103. package/dist-lib/src/components/ui/Chart/chart.d.ts +80 -0
  104. package/dist-lib/src/components/ui/Chart/chart.d.ts.map +1 -0
  105. package/dist-lib/src/components/ui/Chart/index.d.ts +3 -0
  106. package/dist-lib/src/components/ui/Chart/index.d.ts.map +1 -0
  107. package/dist-lib/src/components/ui/Combobox/combobox.d.ts +15 -0
  108. package/dist-lib/src/components/ui/Combobox/combobox.d.ts.map +1 -0
  109. package/dist-lib/src/components/ui/Combobox/combobox.styles.d.ts +62 -0
  110. package/dist-lib/src/components/ui/Combobox/combobox.styles.d.ts.map +1 -0
  111. package/dist-lib/src/components/ui/Combobox/combobox.types.d.ts +36 -0
  112. package/dist-lib/src/components/ui/Combobox/combobox.types.d.ts.map +1 -0
  113. package/dist-lib/src/components/ui/Combobox/index.d.ts +3 -0
  114. package/dist-lib/src/components/ui/Combobox/index.d.ts.map +1 -0
  115. package/dist-lib/src/components/ui/DataList/data-list.d.ts +9 -0
  116. package/dist-lib/src/components/ui/DataList/data-list.d.ts.map +1 -0
  117. package/dist-lib/src/components/ui/DataList/data-list.types.d.ts +106 -0
  118. package/dist-lib/src/components/ui/DataList/data-list.types.d.ts.map +1 -0
  119. package/dist-lib/src/components/ui/DataList/hooks/use-data-list.d.ts +36 -0
  120. package/dist-lib/src/components/ui/DataList/hooks/use-data-list.d.ts.map +1 -0
  121. package/dist-lib/src/components/ui/DataList/index.d.ts +3 -0
  122. package/dist-lib/src/components/ui/DataList/index.d.ts.map +1 -0
  123. package/dist-lib/src/components/ui/DataList/parts/data-list-infinite.d.ts +16 -0
  124. package/dist-lib/src/components/ui/DataList/parts/data-list-infinite.d.ts.map +1 -0
  125. package/dist-lib/src/components/ui/DataList/parts/data-list-toolbar.d.ts +32 -0
  126. package/dist-lib/src/components/ui/DataList/parts/data-list-toolbar.d.ts.map +1 -0
  127. package/dist-lib/src/components/ui/DataList/parts/data-list-virtualized.d.ts +23 -0
  128. package/dist-lib/src/components/ui/DataList/parts/data-list-virtualized.d.ts.map +1 -0
  129. package/dist-lib/src/components/ui/DataList/utils/apply-filter-model.d.ts +12 -0
  130. package/dist-lib/src/components/ui/DataList/utils/apply-filter-model.d.ts.map +1 -0
  131. package/dist-lib/src/components/ui/DataTable/builders/column-builders.d.ts.map +1 -1
  132. package/dist-lib/src/components/ui/DataTable/column-types/_filter-field.d.ts +19 -0
  133. package/dist-lib/src/components/ui/DataTable/column-types/_filter-field.d.ts.map +1 -1
  134. package/dist-lib/src/components/ui/DataTable/column-types/_shared.d.ts +24 -0
  135. package/dist-lib/src/components/ui/DataTable/column-types/_shared.d.ts.map +1 -0
  136. package/dist-lib/src/components/ui/DataTable/column-types/column-type-registry.d.ts.map +1 -1
  137. package/dist-lib/src/components/ui/DataTable/column-types/definitions/badge-column-type.d.ts.map +1 -1
  138. package/dist-lib/src/components/ui/DataTable/column-types/definitions/boolean-column-type.d.ts.map +1 -1
  139. package/dist-lib/src/components/ui/DataTable/column-types/definitions/currency-column-type.d.ts.map +1 -1
  140. package/dist-lib/src/components/ui/DataTable/column-types/definitions/date-column-type.d.ts.map +1 -1
  141. package/dist-lib/src/components/ui/DataTable/column-types/definitions/datetime-column-type.d.ts.map +1 -1
  142. package/dist-lib/src/components/ui/DataTable/column-types/definitions/multi-select-column-type.d.ts.map +1 -1
  143. package/dist-lib/src/components/ui/DataTable/column-types/definitions/number-column-type.d.ts.map +1 -1
  144. package/dist-lib/src/components/ui/DataTable/column-types/definitions/percentage-column-type.d.ts.map +1 -1
  145. package/dist-lib/src/components/ui/DataTable/column-types/definitions/select-column-type.d.ts.map +1 -1
  146. package/dist-lib/src/components/ui/DataTable/column-types/definitions/tags-column-type.d.ts.map +1 -1
  147. package/dist-lib/src/components/ui/DataTable/column-types/definitions/text-column-type.d.ts.map +1 -1
  148. package/dist-lib/src/components/ui/DataTable/column-types/definitions/user-column-type.d.ts.map +1 -1
  149. package/dist-lib/src/components/ui/DataTable/data-table.constants.d.ts +21 -0
  150. package/dist-lib/src/components/ui/DataTable/data-table.constants.d.ts.map +1 -0
  151. package/dist-lib/src/components/ui/DataTable/data-table.d.ts.map +1 -1
  152. package/dist-lib/src/components/ui/DataTable/data-table.styles.d.ts +30 -36
  153. package/dist-lib/src/components/ui/DataTable/data-table.styles.d.ts.map +1 -1
  154. package/dist-lib/src/components/ui/DataTable/data-table.types.d.ts +163 -15
  155. package/dist-lib/src/components/ui/DataTable/data-table.types.d.ts.map +1 -1
  156. package/dist-lib/src/components/ui/DataTable/hooks/use-column-auto-width.d.ts.map +1 -1
  157. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-columns.d.ts.map +1 -1
  158. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-controller.d.ts +7 -1
  159. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-controller.d.ts.map +1 -1
  160. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-export.d.ts.map +1 -1
  161. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-query.d.ts +10 -1
  162. package/dist-lib/src/components/ui/DataTable/hooks/use-data-table-query.d.ts.map +1 -1
  163. package/dist-lib/src/components/ui/DataTable/hooks/use-filter-popover-adapter.d.ts.map +1 -1
  164. package/dist-lib/src/components/ui/DataTable/hooks/use-grab-to-scroll.d.ts +24 -0
  165. package/dist-lib/src/components/ui/DataTable/hooks/use-grab-to-scroll.d.ts.map +1 -0
  166. package/dist-lib/src/components/ui/DataTable/parts/data-table-cell-addons.d.ts +41 -0
  167. package/dist-lib/src/components/ui/DataTable/parts/data-table-cell-addons.d.ts.map +1 -0
  168. package/dist-lib/src/components/ui/DataTable/parts/data-table-cell-addons.styles.d.ts +81 -0
  169. package/dist-lib/src/components/ui/DataTable/parts/data-table-cell-addons.styles.d.ts.map +1 -0
  170. package/dist-lib/src/components/ui/DataTable/parts/data-table-group-header-row.d.ts.map +1 -1
  171. package/dist-lib/src/components/ui/DataTable/parts/data-table-row.d.ts +76 -0
  172. package/dist-lib/src/components/ui/DataTable/parts/data-table-row.d.ts.map +1 -0
  173. package/dist-lib/src/components/ui/DataTable/parts/data-table-totalizer-row.d.ts.map +1 -1
  174. package/dist-lib/src/components/ui/DataTable/parts/data-table-tree-toggle.d.ts +35 -0
  175. package/dist-lib/src/components/ui/DataTable/parts/data-table-tree-toggle.d.ts.map +1 -0
  176. package/dist-lib/src/components/ui/DataTable/utils/aggregate.d.ts +23 -0
  177. package/dist-lib/src/components/ui/DataTable/utils/aggregate.d.ts.map +1 -0
  178. package/dist-lib/src/components/ui/DataTable/utils/calculate-column-widths.d.ts.map +1 -1
  179. package/dist-lib/src/components/ui/DataTable/utils/filter-ops.d.ts +41 -0
  180. package/dist-lib/src/components/ui/DataTable/utils/filter-ops.d.ts.map +1 -0
  181. package/dist-lib/src/components/ui/DataTable/utils/tree-rows.d.ts +75 -0
  182. package/dist-lib/src/components/ui/DataTable/utils/tree-rows.d.ts.map +1 -0
  183. package/dist-lib/src/components/ui/DatePicker/datepicker.d.ts +22 -0
  184. package/dist-lib/src/components/ui/DatePicker/datepicker.d.ts.map +1 -0
  185. package/dist-lib/src/components/ui/DatePicker/index.d.ts +3 -0
  186. package/dist-lib/src/components/ui/DatePicker/index.d.ts.map +1 -0
  187. package/dist-lib/src/components/ui/FloatingPanel/floating-panel-parts.d.ts +18 -0
  188. package/dist-lib/src/components/ui/FloatingPanel/floating-panel-parts.d.ts.map +1 -0
  189. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.d.ts +7 -5
  190. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.d.ts.map +1 -1
  191. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.styles.d.ts +21 -0
  192. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.styles.d.ts.map +1 -1
  193. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.types.d.ts +8 -1
  194. package/dist-lib/src/components/ui/FloatingPanel/floating-panel.types.d.ts.map +1 -1
  195. package/dist-lib/src/components/ui/FloatingPanel/index.d.ts +2 -0
  196. package/dist-lib/src/components/ui/FloatingPanel/index.d.ts.map +1 -1
  197. package/dist-lib/src/components/ui/FormField/form-field-input.d.ts.map +1 -1
  198. package/dist-lib/src/components/ui/FormField/form-field-textarea.d.ts.map +1 -1
  199. package/dist-lib/src/components/ui/Header/header-messages.d.ts.map +1 -1
  200. package/dist-lib/src/components/ui/Header/header-notifications.d.ts.map +1 -1
  201. package/dist-lib/src/components/ui/Header/header.types.d.ts +1 -1
  202. package/dist-lib/src/components/ui/Header/header.types.d.ts.map +1 -1
  203. package/dist-lib/src/components/ui/Icon/icon.d.ts +11 -0
  204. package/dist-lib/src/components/ui/Icon/icon.d.ts.map +1 -0
  205. package/dist-lib/src/components/ui/Icon/icon.styles.d.ts +60 -0
  206. package/dist-lib/src/components/ui/Icon/icon.styles.d.ts.map +1 -0
  207. package/dist-lib/src/components/ui/Icon/icon.types.d.ts +21 -0
  208. package/dist-lib/src/components/ui/Icon/icon.types.d.ts.map +1 -0
  209. package/dist-lib/src/components/ui/Icon/icons.d.ts +2407 -0
  210. package/dist-lib/src/components/ui/Icon/icons.d.ts.map +1 -0
  211. package/dist-lib/src/components/ui/Icon/index.d.ts +5 -0
  212. package/dist-lib/src/components/ui/Icon/index.d.ts.map +1 -0
  213. package/dist-lib/src/components/ui/Kpi/index.d.ts +5 -0
  214. package/dist-lib/src/components/ui/Kpi/index.d.ts.map +1 -0
  215. package/dist-lib/src/components/ui/Kpi/kpi-delta.d.ts +11 -0
  216. package/dist-lib/src/components/ui/Kpi/kpi-delta.d.ts.map +1 -0
  217. package/dist-lib/src/components/ui/Kpi/kpi-group.d.ts +12 -0
  218. package/dist-lib/src/components/ui/Kpi/kpi-group.d.ts.map +1 -0
  219. package/dist-lib/src/components/ui/Kpi/kpi.d.ts +11 -0
  220. package/dist-lib/src/components/ui/Kpi/kpi.d.ts.map +1 -0
  221. package/dist-lib/src/components/ui/Kpi/kpi.styles.d.ts +159 -0
  222. package/dist-lib/src/components/ui/Kpi/kpi.styles.d.ts.map +1 -0
  223. package/dist-lib/src/components/ui/Kpi/kpi.types.d.ts +46 -0
  224. package/dist-lib/src/components/ui/Kpi/kpi.types.d.ts.map +1 -0
  225. package/dist-lib/src/components/ui/List/hooks/use-disclosure-set.d.ts +17 -0
  226. package/dist-lib/src/components/ui/List/hooks/use-disclosure-set.d.ts.map +1 -0
  227. package/dist-lib/src/components/ui/List/hooks/use-selection-set.d.ts +18 -0
  228. package/dist-lib/src/components/ui/List/hooks/use-selection-set.d.ts.map +1 -0
  229. package/dist-lib/src/components/ui/List/index.d.ts +4 -0
  230. package/dist-lib/src/components/ui/List/index.d.ts.map +1 -0
  231. package/dist-lib/src/components/ui/List/layouts/_sortable-item.d.ts +24 -0
  232. package/dist-lib/src/components/ui/List/layouts/_sortable-item.d.ts.map +1 -0
  233. package/dist-lib/src/components/ui/List/layouts/grouped-layout.d.ts +24 -0
  234. package/dist-lib/src/components/ui/List/layouts/grouped-layout.d.ts.map +1 -0
  235. package/dist-lib/src/components/ui/List/layouts/hierarchical-layout.d.ts +28 -0
  236. package/dist-lib/src/components/ui/List/layouts/hierarchical-layout.d.ts.map +1 -0
  237. package/dist-lib/src/components/ui/List/layouts/standard-layout.d.ts +19 -0
  238. package/dist-lib/src/components/ui/List/layouts/standard-layout.d.ts.map +1 -0
  239. package/dist-lib/src/components/ui/List/list-item.d.ts +29 -0
  240. package/dist-lib/src/components/ui/List/list-item.d.ts.map +1 -0
  241. package/dist-lib/src/components/ui/List/list.d.ts +15 -0
  242. package/dist-lib/src/components/ui/List/list.d.ts.map +1 -0
  243. package/dist-lib/src/components/ui/List/list.styles.d.ts +207 -0
  244. package/dist-lib/src/components/ui/List/list.styles.d.ts.map +1 -0
  245. package/dist-lib/src/components/ui/List/list.types.d.ts +126 -0
  246. package/dist-lib/src/components/ui/List/list.types.d.ts.map +1 -0
  247. package/dist-lib/src/components/ui/List/utils/flatten-tree.d.ts +23 -0
  248. package/dist-lib/src/components/ui/List/utils/flatten-tree.d.ts.map +1 -0
  249. package/dist-lib/src/components/ui/List/utils/group-items.d.ts +13 -0
  250. package/dist-lib/src/components/ui/List/utils/group-items.d.ts.map +1 -0
  251. package/dist-lib/src/components/ui/MenuSidebar/menu-sidebar.d.ts.map +1 -1
  252. package/dist-lib/src/components/ui/MenuSidebar/sidebar-panel.d.ts +3 -1
  253. package/dist-lib/src/components/ui/MenuSidebar/sidebar-panel.d.ts.map +1 -1
  254. package/dist-lib/src/components/ui/MenuSidebar/sidebar.styles.d.ts +12 -0
  255. package/dist-lib/src/components/ui/MenuSidebar/sidebar.styles.d.ts.map +1 -1
  256. package/dist-lib/src/components/ui/MenuSidebar/sidebar.types.d.ts +1 -1
  257. package/dist-lib/src/components/ui/MenuSidebar/sidebar.types.d.ts.map +1 -1
  258. package/dist-lib/src/components/ui/PageHeader/page-header.styles.d.ts.map +1 -1
  259. package/dist-lib/src/components/ui/Panel/index.d.ts +2 -1
  260. package/dist-lib/src/components/ui/Panel/index.d.ts.map +1 -1
  261. package/dist-lib/src/components/ui/Panel/panel-header.d.ts +1 -1
  262. package/dist-lib/src/components/ui/Panel/panel-header.d.ts.map +1 -1
  263. package/dist-lib/src/components/ui/Panel/panel.d.ts +2 -1
  264. package/dist-lib/src/components/ui/Panel/panel.d.ts.map +1 -1
  265. package/dist-lib/src/components/ui/Panel/panel.styles.d.ts +12 -12
  266. package/dist-lib/src/components/ui/Panel/panel.styles.d.ts.map +1 -1
  267. package/dist-lib/src/components/ui/Panel/panel.types.d.ts +1 -1
  268. package/dist-lib/src/components/ui/Panel/panel.types.d.ts.map +1 -1
  269. package/dist-lib/src/components/ui/SingleMenuSidebar/category.d.ts +6 -0
  270. package/dist-lib/src/components/ui/SingleMenuSidebar/category.d.ts.map +1 -0
  271. package/dist-lib/src/components/ui/SingleMenuSidebar/command.d.ts +23 -0
  272. package/dist-lib/src/components/ui/SingleMenuSidebar/command.d.ts.map +1 -0
  273. package/dist-lib/src/components/ui/SingleMenuSidebar/footer.d.ts +6 -0
  274. package/dist-lib/src/components/ui/SingleMenuSidebar/footer.d.ts.map +1 -0
  275. package/dist-lib/src/components/ui/SingleMenuSidebar/header.d.ts +6 -0
  276. package/dist-lib/src/components/ui/SingleMenuSidebar/header.d.ts.map +1 -0
  277. package/dist-lib/src/components/ui/SingleMenuSidebar/index.d.ts +3 -0
  278. package/dist-lib/src/components/ui/SingleMenuSidebar/index.d.ts.map +1 -0
  279. package/dist-lib/src/components/ui/SingleMenuSidebar/menu-item.d.ts +6 -0
  280. package/dist-lib/src/components/ui/SingleMenuSidebar/menu-item.d.ts.map +1 -0
  281. package/dist-lib/src/components/ui/SingleMenuSidebar/module-selector.d.ts +6 -0
  282. package/dist-lib/src/components/ui/SingleMenuSidebar/module-selector.d.ts.map +1 -0
  283. package/dist-lib/src/components/ui/SingleMenuSidebar/search.d.ts +15 -0
  284. package/dist-lib/src/components/ui/SingleMenuSidebar/search.d.ts.map +1 -0
  285. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.d.ts +6 -0
  286. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.d.ts.map +1 -0
  287. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.styles.d.ts +204 -0
  288. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.styles.d.ts.map +1 -0
  289. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.types.d.ts +181 -0
  290. package/dist-lib/src/components/ui/SingleMenuSidebar/single-menu-sidebar.types.d.ts.map +1 -0
  291. package/dist-lib/src/components/ui/SingleMenuSidebar/use-single-menu-sidebar.d.ts +22 -0
  292. package/dist-lib/src/components/ui/SingleMenuSidebar/use-single-menu-sidebar.d.ts.map +1 -0
  293. package/dist-lib/src/components/ui/TabelaTeste/mock-data.d.ts +1 -1
  294. package/dist-lib/src/components/ui/TabelaTeste/mock-data.d.ts.map +1 -1
  295. package/dist-lib/src/components/ui/Table/table-card-row.d.ts.map +1 -1
  296. package/dist-lib/src/components/ui/Table/table.d.ts.map +1 -1
  297. package/dist-lib/src/components/ui/Table/table.styles.d.ts.map +1 -1
  298. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-filter-control.d.ts +40 -0
  299. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-filter-control.d.ts.map +1 -0
  300. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-filters.d.ts +20 -13
  301. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-filters.d.ts.map +1 -1
  302. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-sort.d.ts +17 -11
  303. package/dist-lib/src/components/ui/TableToolbar/hooks/use-toolbar-sort.d.ts.map +1 -1
  304. package/dist-lib/src/components/ui/TableToolbar/index.d.ts +20 -8
  305. package/dist-lib/src/components/ui/TableToolbar/index.d.ts.map +1 -1
  306. package/dist-lib/src/components/ui/TableToolbar/parts/table-toolbar-views.d.ts +9 -1
  307. package/dist-lib/src/components/ui/TableToolbar/parts/table-toolbar-views.d.ts.map +1 -1
  308. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-actions.d.ts +60 -0
  309. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-actions.d.ts.map +1 -0
  310. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-applied.d.ts.map +1 -1
  311. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-filter-button.d.ts +18 -0
  312. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-filter-button.d.ts.map +1 -0
  313. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-filter-control.d.ts +63 -0
  314. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-filter-control.d.ts.map +1 -0
  315. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-mobile-sheet.d.ts.map +1 -1
  316. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-settings-menu.d.ts +54 -0
  317. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-settings-menu.d.ts.map +1 -0
  318. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-simple-filter-drawer.d.ts +47 -0
  319. package/dist-lib/src/components/ui/TableToolbar/parts/toolbar-simple-filter-drawer.d.ts.map +1 -0
  320. package/dist-lib/src/components/ui/TableToolbar/popovers/add-view-modal.d.ts.map +1 -1
  321. package/dist-lib/src/components/ui/TableToolbar/popovers/cols-popover.d.ts +10 -13
  322. package/dist-lib/src/components/ui/TableToolbar/popovers/cols-popover.d.ts.map +1 -1
  323. package/dist-lib/src/components/ui/TableToolbar/popovers/filter-popover.d.ts +26 -26
  324. package/dist-lib/src/components/ui/TableToolbar/popovers/filter-popover.d.ts.map +1 -1
  325. package/dist-lib/src/components/ui/TableToolbar/popovers/filter-sql-parser.d.ts +18 -22
  326. package/dist-lib/src/components/ui/TableToolbar/popovers/filter-sql-parser.d.ts.map +1 -1
  327. package/dist-lib/src/components/ui/TableToolbar/popovers/more-menu.d.ts.map +1 -1
  328. package/dist-lib/src/components/ui/TableToolbar/popovers/sort-popover.d.ts +10 -16
  329. package/dist-lib/src/components/ui/TableToolbar/popovers/sort-popover.d.ts.map +1 -1
  330. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.d.ts +33 -22
  331. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.d.ts.map +1 -1
  332. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.styles.d.ts +2 -2
  333. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.styles.d.ts.map +1 -1
  334. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.types.d.ts +16 -3
  335. package/dist-lib/src/components/ui/TableToolbar/table-toolbar.types.d.ts.map +1 -1
  336. package/dist-lib/src/components/ui/Toast/index.d.ts +4 -0
  337. package/dist-lib/src/components/ui/Toast/index.d.ts.map +1 -0
  338. package/dist-lib/src/components/ui/Toast/toast-card.d.ts +35 -0
  339. package/dist-lib/src/components/ui/Toast/toast-card.d.ts.map +1 -0
  340. package/dist-lib/src/components/ui/Toast/toast.styles.d.ts +102 -0
  341. package/dist-lib/src/components/ui/Toast/toast.styles.d.ts.map +1 -0
  342. package/dist-lib/src/components/ui/avatar-ig/avatar.d.ts +23 -0
  343. package/dist-lib/src/components/ui/avatar-ig/avatar.d.ts.map +1 -0
  344. package/dist-lib/src/components/ui/avatar-ig/avatar.styles.d.ts.map +1 -0
  345. package/dist-lib/src/components/ui/avatar-ig/avatar.types.d.ts.map +1 -0
  346. package/dist-lib/src/components/ui/avatar-ig/index.d.ts.map +1 -0
  347. package/dist-lib/src/lib/lucide-types.d.ts +9 -0
  348. package/dist-lib/src/lib/lucide-types.d.ts.map +1 -0
  349. package/dist-lib/src/preview/pages/ChatV2/chat-v2.types.d.ts +1 -1
  350. package/dist-lib/src/preview/pages/ChatV2/chat-v2.types.d.ts.map +1 -1
  351. package/dist-lib/src/preview/pages/ClientesShowcase/ClientesShowcase.d.ts.map +1 -1
  352. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase.styles.d.ts +1 -6
  353. package/dist-lib/src/preview/pages/ClientesShowcase/clientes-showcase.styles.d.ts.map +1 -1
  354. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.d.ts.map +1 -1
  355. package/dist-lib/src/preview/pages/ClientesShowcase/components/DetailDrawer/detail-drawer.styles.d.ts +3 -3
  356. package/dist-lib/src/utils/color-contrast.d.ts +48 -0
  357. package/dist-lib/src/utils/color-contrast.d.ts.map +1 -0
  358. package/dist-lib/theme.css +61 -24
  359. package/dist-lib/tokens/brands/default/components/spacing.d.ts +22 -0
  360. package/dist-lib/tokens/brands/default/components/spacing.d.ts.map +1 -1
  361. package/dist-lib/tokens/brands/default/semantic/color-dark.d.ts +20 -0
  362. package/dist-lib/tokens/brands/default/semantic/color-dark.d.ts.map +1 -1
  363. package/dist-lib/tokens/brands/default/semantic/color-light.d.ts +20 -0
  364. package/dist-lib/tokens/brands/default/semantic/color-light.d.ts.map +1 -1
  365. package/dist-lib/tokens/brands/default/semantic/elevation.d.ts +4 -4
  366. package/dist-lib/tokens/brands/default/semantic/elevation.d.ts.map +1 -1
  367. package/dist-lib/tokens.cjs +49 -4
  368. package/dist-lib/tokens.cjs.map +1 -1
  369. package/dist-lib/tokens.mjs +49 -4
  370. package/dist-lib/tokens.mjs.map +1 -1
  371. package/package.json +30 -9
  372. package/dist-lib/chunks/app-shell-BdVam01i.cjs.map +0 -1
  373. package/dist-lib/chunks/app-shell-C_enrPD8.mjs.map +0 -1
  374. package/dist-lib/chunks/badge-B0D_PRxn.mjs.map +0 -1
  375. package/dist-lib/chunks/badge-CUttkO1X.cjs.map +0 -1
  376. package/dist-lib/chunks/clientes-showcase-mocks-CPNOhx1G.cjs.map +0 -1
  377. package/dist-lib/chunks/clientes-showcase-mocks-DEHCKxMK.mjs.map +0 -1
  378. package/dist-lib/chunks/page-header-DM2G1mdi.mjs.map +0 -1
  379. package/dist-lib/chunks/page-header-qOywgRWy.cjs.map +0 -1
  380. package/dist-lib/chunks/panel-CCYNbXJR.mjs.map +0 -1
  381. package/dist-lib/chunks/panel-CSuFQHMl.cjs.map +0 -1
  382. package/dist-lib/src/components/ui/Avatar/avatar.d.ts +0 -16
  383. package/dist-lib/src/components/ui/Avatar/avatar.d.ts.map +0 -1
  384. package/dist-lib/src/components/ui/Avatar/avatar.styles.d.ts.map +0 -1
  385. package/dist-lib/src/components/ui/Avatar/avatar.types.d.ts.map +0 -1
  386. package/dist-lib/src/components/ui/Avatar/index.d.ts.map +0 -1
  387. package/dist-lib/src/components/ui/DataTable/utils/operator-mapping.d.ts +0 -6
  388. package/dist-lib/src/components/ui/DataTable/utils/operator-mapping.d.ts.map +0 -1
  389. /package/dist-lib/src/components/ui/{Avatar → avatar-ig}/avatar.styles.d.ts +0 -0
  390. /package/dist-lib/src/components/ui/{Avatar → avatar-ig}/avatar.types.d.ts +0 -0
  391. /package/dist-lib/src/components/ui/{Avatar → avatar-ig}/index.d.ts +0 -0
@@ -5,6 +5,7 @@ const chipGroup = require("./chip-group-2-f_Yo7Y.cjs");
5
5
  const lucideReact = require("lucide-react");
6
6
  const cmdk = require("cmdk");
7
7
  const SheetPrimitive = require("@radix-ui/react-dialog");
8
+ const PopoverPrimitive = require("@radix-ui/react-popover");
8
9
  const classVarianceAuthority = require("class-variance-authority");
9
10
  const DropdownMenuPrimitive = require("@radix-ui/react-dropdown-menu");
10
11
  const AvatarPrimitive = require("@radix-ui/react-avatar");
@@ -26,6 +27,7 @@ function _interopNamespaceDefault(e) {
26
27
  }
27
28
  const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
28
29
  const SheetPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(SheetPrimitive);
30
+ const PopoverPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(PopoverPrimitive);
29
31
  const DropdownMenuPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(DropdownMenuPrimitive);
30
32
  const AvatarPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(AvatarPrimitive);
31
33
  const headerRoot = chipGroup.tv({
@@ -116,10 +118,10 @@ const searchFakeInputKbd = chipGroup.tv({
116
118
  "text-caption-xs font-semibold text-fg-muted tabular-nums shrink-0"
117
119
  ]
118
120
  });
119
- const hdWrap = chipGroup.tv({
121
+ chipGroup.tv({
120
122
  base: "relative inline-flex"
121
123
  });
122
- const hdDropdown = chipGroup.tv({
124
+ chipGroup.tv({
123
125
  base: [
124
126
  "absolute top-[calc(100%+8px)] right-0 z-50",
125
127
  "w-[380px] max-w-[calc(100vw-32px)] max-h-[520px] flex flex-col",
@@ -646,6 +648,71 @@ function CommandGroupBlock({
646
648
  !isLast && /* @__PURE__ */ jsxRuntime.jsx(CommandSeparator, {})
647
649
  ] });
648
650
  }
651
+ const Popover = PopoverPrimitive__namespace.Root;
652
+ const PopoverTrigger = PopoverPrimitive__namespace.Trigger;
653
+ const PopoverAnchor = PopoverPrimitive__namespace.Anchor;
654
+ const POPOVER_MOBILE_SHEET = [
655
+ "max-md:w-full max-md:min-w-0 max-md:max-w-none",
656
+ "max-md:!max-h-[92vh]",
657
+ "max-md:rounded-b-none max-md:rounded-t-[12px]",
658
+ "max-md:border-x-0 max-md:border-b-0",
659
+ "max-md:outline-none max-md:shadow-none",
660
+ // Respiro de 20px (pad-3xl) no rodapé pra o conteúdo (footer/última seção)
661
+ // não colar na borda inferior do device quando vira sheet.
662
+ "max-md:pb-pad-3xl",
663
+ "max-md:data-[state=open]:zoom-in-100 max-md:data-[state=closed]:zoom-out-100",
664
+ "max-md:data-[state=open]:slide-in-from-bottom-12 max-md:data-[state=closed]:slide-out-to-bottom-12"
665
+ ].join(" ");
666
+ const PopoverSheetBackdrop = () => /* @__PURE__ */ jsxRuntime.jsx(
667
+ "div",
668
+ {
669
+ "aria-hidden": "true",
670
+ className: "fixed inset-0 z-[55] bg-overlay-scrim pointer-events-auto md:hidden animate-in fade-in-0 duration-150"
671
+ }
672
+ );
673
+ const PopoverContent = React__namespace.forwardRef(
674
+ ({ className, align = "center", sideOffset = 6, disablePortal, mobileSheet = true, ...props }, ref) => {
675
+ const content = /* @__PURE__ */ jsxRuntime.jsx(
676
+ PopoverPrimitive__namespace.Content,
677
+ {
678
+ ref,
679
+ align,
680
+ sideOffset,
681
+ "data-mobile-sheet": mobileSheet ? "" : void 0,
682
+ className: chipGroup.cn(
683
+ "relative z-50",
684
+ // Unificado com DropdownMenu/Select: bg-bg-dropdown (frosted no dark)
685
+ // + border-border-default + outline-float. O `before` pseudo-element
686
+ // aplica o blur backdrop (necessário pra bg-bg-dropdown semi-transparente
687
+ // render correto no dark mode).
688
+ "bg-bg-dropdown",
689
+ "border border-border-default rounded-[12px] shadow-sh-lg outline-float",
690
+ "before:pointer-events-none before:absolute before:inset-0 before:-z-10 before:rounded-[inherit] before:backdrop-blur-2xl before:backdrop-saturate-150",
691
+ "text-fg-default",
692
+ "data-[state=open]:animate-in data-[state=closed]:animate-out",
693
+ "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
694
+ "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
695
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2",
696
+ "data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
697
+ mobileSheet && POPOVER_MOBILE_SHEET,
698
+ className
699
+ ),
700
+ ...props
701
+ }
702
+ );
703
+ if (disablePortal) {
704
+ return mobileSheet ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
705
+ /* @__PURE__ */ jsxRuntime.jsx(PopoverSheetBackdrop, {}),
706
+ content
707
+ ] }) : content;
708
+ }
709
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
710
+ mobileSheet && /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(PopoverSheetBackdrop, {}) }),
711
+ /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { children: content })
712
+ ] });
713
+ }
714
+ );
715
+ PopoverContent.displayName = PopoverPrimitive__namespace.Content.displayName;
649
716
  const DEFAULT_FILTERS$1 = [
650
717
  { id: "all", label: "Todas", predicate: () => true },
651
718
  { id: "unread", label: "Não lidas", predicate: (n) => !!n.unread },
@@ -663,28 +730,12 @@ function HeaderNotifications({ config, className }) {
663
730
  } = config;
664
731
  const [open, setOpen] = React.useState(false);
665
732
  const [activeFilter, setActiveFilter] = React.useState(filters[0]?.id ?? "all");
666
- const wrapRef = React.useRef(null);
667
733
  const unreadCount = items.filter((n) => n.unread).length;
668
- React.useEffect(() => {
669
- if (!open) return;
670
- const onClick = (e) => {
671
- if (!wrapRef.current?.contains(e.target)) setOpen(false);
672
- };
673
- const onEsc = (e) => {
674
- if (e.key === "Escape") setOpen(false);
675
- };
676
- document.addEventListener("mousedown", onClick);
677
- document.addEventListener("keydown", onEsc);
678
- return () => {
679
- document.removeEventListener("mousedown", onClick);
680
- document.removeEventListener("keydown", onEsc);
681
- };
682
- }, [open]);
683
734
  const filtered = items.filter(
684
735
  filters.find((f) => f.id === activeFilter)?.predicate ?? (() => true)
685
736
  );
686
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: wrapRef, className: chipGroup.cn(hdWrap(), className), children: [
687
- /* @__PURE__ */ jsxRuntime.jsxs(
737
+ return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
738
+ /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
688
739
  chipGroup.Button,
689
740
  {
690
741
  color: "secondary",
@@ -693,84 +744,93 @@ function HeaderNotifications({ config, className }) {
693
744
  className: "rounded-radius-md relative",
694
745
  "aria-label": "Notificações",
695
746
  title: "Notificações",
696
- "aria-expanded": open,
697
- onClick: () => setOpen((o) => !o),
698
747
  children: [
699
748
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bell, {}),
700
749
  unreadCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: headerIconBtnBadge({ kind: "danger" }), "aria-hidden": "true" })
701
750
  ]
702
751
  }
703
- ),
704
- open && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdDropdown(), role: "dialog", "aria-label": "Notificações", children: [
705
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdTop(), children: [
706
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdHeader(), children: [
707
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdTitle(), children: [
708
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Notificações" }),
709
- unreadCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: hdTitleCount(), children: unreadCount })
710
- ] }),
711
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdHeaderActions(), children: [
712
- onMarkAllRead && /* @__PURE__ */ jsxRuntime.jsx(
713
- chipGroup.Button,
714
- {
715
- color: "secondary",
716
- variant: "ghost",
717
- size: "icon-2xs",
718
- className: "rounded-radius-sm",
719
- title: "Marcar todas como lidas",
720
- onClick: onMarkAllRead,
721
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCheck, {})
722
- }
723
- ),
724
- onMoreActions && /* @__PURE__ */ jsxRuntime.jsx(
725
- chipGroup.Button,
752
+ ) }),
753
+ /* @__PURE__ */ jsxRuntime.jsxs(
754
+ PopoverContent,
755
+ {
756
+ align: "end",
757
+ className: chipGroup.cn(
758
+ "w-[380px] max-w-[calc(100vw-32px)] max-h-[520px] p-0 flex flex-col overflow-hidden",
759
+ className
760
+ ),
761
+ "aria-label": "Notificações",
762
+ children: [
763
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdTop(), children: [
764
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdHeader(), children: [
765
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdTitle(), children: [
766
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Notificações" }),
767
+ unreadCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: hdTitleCount(), children: unreadCount })
768
+ ] }),
769
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdHeaderActions(), children: [
770
+ onMarkAllRead && /* @__PURE__ */ jsxRuntime.jsx(
771
+ chipGroup.Button,
772
+ {
773
+ color: "secondary",
774
+ variant: "ghost",
775
+ size: "icon-2xs",
776
+ className: "rounded-radius-sm",
777
+ title: "Marcar todas como lidas",
778
+ onClick: onMarkAllRead,
779
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCheck, {})
780
+ }
781
+ ),
782
+ onMoreActions && /* @__PURE__ */ jsxRuntime.jsx(
783
+ chipGroup.Button,
784
+ {
785
+ color: "secondary",
786
+ variant: "ghost",
787
+ size: "icon-2xs",
788
+ className: "rounded-radius-sm",
789
+ title: "Mais ações",
790
+ onClick: onMoreActions,
791
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, {})
792
+ }
793
+ )
794
+ ] })
795
+ ] }),
796
+ filters.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
797
+ chipGroup.ChipGroup,
726
798
  {
727
- color: "secondary",
728
- variant: "ghost",
729
- size: "icon-2xs",
730
- className: "rounded-radius-sm",
731
- title: "Mais ações",
732
- onClick: onMoreActions,
733
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MoreHorizontal, {})
799
+ type: "single",
800
+ value: activeFilter,
801
+ onValueChange: (v) => v && setActiveFilter(v),
802
+ size: "lg",
803
+ ariaLabel: "Filtrar notificações",
804
+ children: filters.map((f) => {
805
+ const count = items.filter(f.predicate ?? (() => true)).length;
806
+ return /* @__PURE__ */ jsxRuntime.jsxs(chipGroup.ChipGroupItem, { value: f.id, children: [
807
+ f.label,
808
+ count > 0 && ` (${count})`
809
+ ] }, f.id);
810
+ })
734
811
  }
735
812
  )
736
- ] })
737
- ] }),
738
- filters.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
739
- chipGroup.ChipGroup,
740
- {
741
- type: "single",
742
- value: activeFilter,
743
- onValueChange: (v) => v && setActiveFilter(v),
744
- size: "lg",
745
- ariaLabel: "Filtrar notificações",
746
- children: filters.map((f) => {
747
- const count = items.filter(f.predicate ?? (() => true)).length;
748
- return /* @__PURE__ */ jsxRuntime.jsxs(chipGroup.ChipGroupItem, { value: f.id, children: [
749
- f.label,
750
- count > 0 && ` (${count})`
751
- ] }, f.id);
752
- })
753
- }
754
- )
755
- ] }),
756
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: hdBody(), children: filtered.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdEmpty(), children: [
757
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bell, { size: 28, strokeWidth: 1.4 }),
758
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: hdEmptyText(), children: emptyMessage })
759
- ] }) : filtered.map((n) => /* @__PURE__ */ jsxRuntime.jsx(NotificationRow, { item: n }, n.id)) }),
760
- onViewAll && /* @__PURE__ */ jsxRuntime.jsx("div", { className: hdFooter(), children: /* @__PURE__ */ jsxRuntime.jsx(
761
- "a",
762
- {
763
- href: "#",
764
- className: hdFooterLink(),
765
- onClick: (e) => {
766
- e.preventDefault();
767
- onViewAll();
768
- setOpen(false);
769
- },
770
- children: viewAllLabel
771
- }
772
- ) })
773
- ] })
813
+ ] }),
814
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: hdBody(), children: filtered.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdEmpty(), children: [
815
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Bell, { size: 28, strokeWidth: 1.4 }),
816
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: hdEmptyText(), children: emptyMessage })
817
+ ] }) : filtered.map((n) => /* @__PURE__ */ jsxRuntime.jsx(NotificationRow, { item: n }, n.id)) }),
818
+ onViewAll && /* @__PURE__ */ jsxRuntime.jsx("div", { className: hdFooter(), children: /* @__PURE__ */ jsxRuntime.jsx(
819
+ "a",
820
+ {
821
+ href: "#",
822
+ className: hdFooterLink(),
823
+ onClick: (e) => {
824
+ e.preventDefault();
825
+ onViewAll();
826
+ setOpen(false);
827
+ },
828
+ children: viewAllLabel
829
+ }
830
+ ) })
831
+ ]
832
+ }
833
+ )
774
834
  ] });
775
835
  }
776
836
  function NotificationRow({ item }) {
@@ -984,28 +1044,12 @@ function HeaderMessages({ config, className }) {
984
1044
  const [open, setOpen] = React.useState(false);
985
1045
  const [activeFilter, setActiveFilter] = React.useState(filters[0]?.id ?? "all");
986
1046
  const [search, setSearch] = React.useState("");
987
- const wrapRef = React.useRef(null);
988
1047
  const unreadCount = items.filter((m) => m.unread).length;
989
- React.useEffect(() => {
990
- if (!open) return;
991
- const onClick = (e) => {
992
- if (!wrapRef.current?.contains(e.target)) setOpen(false);
993
- };
994
- const onEsc = (e) => {
995
- if (e.key === "Escape") setOpen(false);
996
- };
997
- document.addEventListener("mousedown", onClick);
998
- document.addEventListener("keydown", onEsc);
999
- return () => {
1000
- document.removeEventListener("mousedown", onClick);
1001
- document.removeEventListener("keydown", onEsc);
1002
- };
1003
- }, [open]);
1004
1048
  const filtered = items.filter(filters.find((f) => f.id === activeFilter)?.predicate ?? (() => true)).filter(
1005
1049
  (m) => search ? m.name.toLowerCase().includes(search.toLowerCase()) : true
1006
1050
  );
1007
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: wrapRef, className: chipGroup.cn(hdWrap(), className), children: [
1008
- /* @__PURE__ */ jsxRuntime.jsxs(
1051
+ return /* @__PURE__ */ jsxRuntime.jsxs(Popover, { open, onOpenChange: setOpen, children: [
1052
+ /* @__PURE__ */ jsxRuntime.jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
1009
1053
  chipGroup.Button,
1010
1054
  {
1011
1055
  color: "secondary",
@@ -1014,96 +1058,105 @@ function HeaderMessages({ config, className }) {
1014
1058
  className: "rounded-radius-md relative",
1015
1059
  "aria-label": "Mensagens",
1016
1060
  title: "Mensagens",
1017
- "aria-expanded": open,
1018
- onClick: () => setOpen((o) => !o),
1019
1061
  children: [
1020
1062
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MessageSquare, {}),
1021
1063
  unreadCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: headerIconBtnBadge({ kind: "brand" }), "aria-hidden": "true" })
1022
1064
  ]
1023
1065
  }
1024
- ),
1025
- open && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdDropdown(), role: "dialog", "aria-label": "Mensagens", children: [
1026
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdTop(), children: [
1027
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdHeader(), children: [
1028
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdTitle(), children: [
1029
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Conversas" }),
1030
- unreadCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: hdTitleCount(), children: unreadCount })
1031
- ] }),
1032
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdHeaderActions(), children: [
1033
- onNewMessage && /* @__PURE__ */ jsxRuntime.jsx(
1034
- chipGroup.Button,
1035
- {
1036
- color: "secondary",
1037
- variant: "ghost",
1038
- size: "icon-2xs",
1039
- className: "rounded-radius-sm",
1040
- title: "Nova mensagem",
1041
- onClick: onNewMessage,
1042
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PenLine, {})
1043
- }
1044
- ),
1045
- onExpand && /* @__PURE__ */ jsxRuntime.jsx(
1046
- chipGroup.Button,
1066
+ ) }),
1067
+ /* @__PURE__ */ jsxRuntime.jsxs(
1068
+ PopoverContent,
1069
+ {
1070
+ align: "end",
1071
+ className: chipGroup.cn(
1072
+ "w-[380px] max-w-[calc(100vw-32px)] max-h-[520px] p-0 flex flex-col overflow-hidden",
1073
+ className
1074
+ ),
1075
+ "aria-label": "Mensagens",
1076
+ children: [
1077
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdTop(), children: [
1078
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdHeader(), children: [
1079
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdTitle(), children: [
1080
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Conversas" }),
1081
+ unreadCount > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: hdTitleCount(), children: unreadCount })
1082
+ ] }),
1083
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdHeaderActions(), children: [
1084
+ onNewMessage && /* @__PURE__ */ jsxRuntime.jsx(
1085
+ chipGroup.Button,
1086
+ {
1087
+ color: "secondary",
1088
+ variant: "ghost",
1089
+ size: "icon-2xs",
1090
+ className: "rounded-radius-sm",
1091
+ title: "Nova mensagem",
1092
+ onClick: onNewMessage,
1093
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PenLine, {})
1094
+ }
1095
+ ),
1096
+ onExpand && /* @__PURE__ */ jsxRuntime.jsx(
1097
+ chipGroup.Button,
1098
+ {
1099
+ color: "secondary",
1100
+ variant: "ghost",
1101
+ size: "icon-2xs",
1102
+ className: "rounded-radius-sm",
1103
+ title: "Expandir",
1104
+ onClick: onExpand,
1105
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Maximize2, {})
1106
+ }
1107
+ )
1108
+ ] })
1109
+ ] }),
1110
+ showSearch && /* @__PURE__ */ jsxRuntime.jsxs(InputGroup, { size: "sm", children: [
1111
+ /* @__PURE__ */ jsxRuntime.jsx(InputGroupAddon, { align: "inline-start", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { strokeWidth: 1.8 }) }),
1112
+ /* @__PURE__ */ jsxRuntime.jsx(
1113
+ InputGroupInput,
1114
+ {
1115
+ type: "text",
1116
+ placeholder: searchPlaceholder,
1117
+ value: search,
1118
+ onChange: (e) => setSearch(e.target.value)
1119
+ }
1120
+ )
1121
+ ] }),
1122
+ filters.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
1123
+ chipGroup.ChipGroup,
1047
1124
  {
1048
- color: "secondary",
1049
- variant: "ghost",
1050
- size: "icon-2xs",
1051
- className: "rounded-radius-sm",
1052
- title: "Expandir",
1053
- onClick: onExpand,
1054
- children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Maximize2, {})
1125
+ type: "single",
1126
+ value: activeFilter,
1127
+ onValueChange: (v) => v && setActiveFilter(v),
1128
+ size: "lg",
1129
+ ariaLabel: "Filtrar mensagens",
1130
+ children: filters.map((f) => {
1131
+ const count = items.filter(f.predicate ?? (() => true)).length;
1132
+ return /* @__PURE__ */ jsxRuntime.jsxs(chipGroup.ChipGroupItem, { value: f.id, children: [
1133
+ f.label,
1134
+ count > 0 && ` (${count})`
1135
+ ] }, f.id);
1136
+ })
1055
1137
  }
1056
1138
  )
1057
- ] })
1058
- ] }),
1059
- showSearch && /* @__PURE__ */ jsxRuntime.jsxs(InputGroup, { size: "sm", children: [
1060
- /* @__PURE__ */ jsxRuntime.jsx(InputGroupAddon, { align: "inline-start", children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Search, { strokeWidth: 1.8 }) }),
1061
- /* @__PURE__ */ jsxRuntime.jsx(
1062
- InputGroupInput,
1139
+ ] }),
1140
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: hdBody(), children: filtered.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdEmpty(), children: [
1141
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MessageSquare, { size: 28, strokeWidth: 1.4 }),
1142
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: hdEmptyText(), children: emptyMessage })
1143
+ ] }) : filtered.map((m) => /* @__PURE__ */ jsxRuntime.jsx(MessageRow, { item: m }, m.id)) }),
1144
+ onViewAll && /* @__PURE__ */ jsxRuntime.jsx("div", { className: hdFooter(), children: /* @__PURE__ */ jsxRuntime.jsx(
1145
+ "a",
1063
1146
  {
1064
- type: "text",
1065
- placeholder: searchPlaceholder,
1066
- value: search,
1067
- onChange: (e) => setSearch(e.target.value)
1147
+ href: "#",
1148
+ className: hdFooterLink(),
1149
+ onClick: (e) => {
1150
+ e.preventDefault();
1151
+ onViewAll();
1152
+ setOpen(false);
1153
+ },
1154
+ children: viewAllLabel
1068
1155
  }
1069
- )
1070
- ] }),
1071
- filters.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
1072
- chipGroup.ChipGroup,
1073
- {
1074
- type: "single",
1075
- value: activeFilter,
1076
- onValueChange: (v) => v && setActiveFilter(v),
1077
- size: "lg",
1078
- ariaLabel: "Filtrar mensagens",
1079
- children: filters.map((f) => {
1080
- const count = items.filter(f.predicate ?? (() => true)).length;
1081
- return /* @__PURE__ */ jsxRuntime.jsxs(chipGroup.ChipGroupItem, { value: f.id, children: [
1082
- f.label,
1083
- count > 0 && ` (${count})`
1084
- ] }, f.id);
1085
- })
1086
- }
1087
- )
1088
- ] }),
1089
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: hdBody(), children: filtered.length === 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: hdEmpty(), children: [
1090
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.MessageSquare, { size: 28, strokeWidth: 1.4 }),
1091
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: hdEmptyText(), children: emptyMessage })
1092
- ] }) : filtered.map((m) => /* @__PURE__ */ jsxRuntime.jsx(MessageRow, { item: m }, m.id)) }),
1093
- onViewAll && /* @__PURE__ */ jsxRuntime.jsx("div", { className: hdFooter(), children: /* @__PURE__ */ jsxRuntime.jsx(
1094
- "a",
1095
- {
1096
- href: "#",
1097
- className: hdFooterLink(),
1098
- onClick: (e) => {
1099
- e.preventDefault();
1100
- onViewAll();
1101
- setOpen(false);
1102
- },
1103
- children: viewAllLabel
1104
- }
1105
- ) })
1106
- ] })
1156
+ ) })
1157
+ ]
1158
+ }
1159
+ )
1107
1160
  ] });
1108
1161
  }
1109
1162
  function MessageRow({ item }) {
@@ -1139,6 +1192,7 @@ function MessageRow({ item }) {
1139
1192
  }
1140
1193
  const DropdownMenu = DropdownMenuPrimitive__namespace.Root;
1141
1194
  const DropdownMenuTrigger = DropdownMenuPrimitive__namespace.Trigger;
1195
+ const DropdownMenuGroup = DropdownMenuPrimitive__namespace.Group;
1142
1196
  const DropdownMenuSub = DropdownMenuPrimitive__namespace.Sub;
1143
1197
  const DropdownMenuRadioGroup = DropdownMenuPrimitive__namespace.RadioGroup;
1144
1198
  const CONTAINER_CLASSES = [
@@ -1159,6 +1213,15 @@ const CONTAINER_CLASSES = [
1159
1213
  "data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
1160
1214
  "origin-[--radix-dropdown-menu-content-transform-origin]"
1161
1215
  ].join(" ");
1216
+ const MOBILE_SHEET_CLASSES = [
1217
+ "max-md:w-full max-md:min-w-0 max-md:max-w-none",
1218
+ "max-md:!max-h-[92vh]",
1219
+ "max-md:rounded-b-none max-md:rounded-t-[12px]",
1220
+ "max-md:border-x-0 max-md:border-b-0",
1221
+ "max-md:outline-none max-md:shadow-none",
1222
+ "max-md:data-[state=open]:zoom-in-100 max-md:data-[state=closed]:zoom-out-100",
1223
+ "max-md:data-[state=open]:slide-in-from-bottom-12 max-md:data-[state=closed]:slide-out-to-bottom-12"
1224
+ ].join(" ");
1162
1225
  const ITEM_BASE = [
1163
1226
  "relative flex cursor-default select-none items-center",
1164
1227
  "gap-pad-lg px-pad-lg py-pad-md rounded-radius-sm",
@@ -1203,19 +1266,30 @@ const DropdownMenuSubContent = React__namespace.forwardRef(({ className, ...prop
1203
1266
  }
1204
1267
  ));
1205
1268
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive__namespace.SubContent.displayName;
1206
- const DropdownMenuContent = React__namespace.forwardRef(({ className, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1207
- DropdownMenuPrimitive__namespace.Content,
1208
- {
1209
- ref,
1210
- sideOffset,
1211
- className: chipGroup.cn(
1212
- CONTAINER_CLASSES,
1213
- "max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto overflow-x-hidden",
1214
- className
1215
- ),
1216
- ...props
1217
- }
1218
- ) }));
1269
+ const DropdownMenuContent = React__namespace.forwardRef(({ className, sideOffset = 8, mobileSheet = true, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1270
+ mobileSheet && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1271
+ "div",
1272
+ {
1273
+ "aria-hidden": "true",
1274
+ className: "fixed inset-0 z-[55] bg-overlay-scrim pointer-events-none md:hidden animate-in fade-in-0 duration-150"
1275
+ }
1276
+ ) }),
1277
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
1278
+ DropdownMenuPrimitive__namespace.Content,
1279
+ {
1280
+ ref,
1281
+ sideOffset,
1282
+ "data-mobile-sheet": mobileSheet ? "" : void 0,
1283
+ className: chipGroup.cn(
1284
+ CONTAINER_CLASSES,
1285
+ "max-h-[var(--radix-dropdown-menu-content-available-height)] overflow-y-auto overflow-x-hidden",
1286
+ mobileSheet && MOBILE_SHEET_CLASSES,
1287
+ className
1288
+ ),
1289
+ ...props
1290
+ }
1291
+ ) })
1292
+ ] }));
1219
1293
  DropdownMenuContent.displayName = DropdownMenuPrimitive__namespace.Content.displayName;
1220
1294
  const DropdownMenuItem = React__namespace.forwardRef(({ className, inset, variant = "default", ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
1221
1295
  DropdownMenuPrimitive__namespace.Item,
@@ -1431,7 +1505,8 @@ const sidebarRoot = chipGroup.tv({
1431
1505
  base: "relative flex h-screen w-fit bg-bg-sidebar text-fg-default font-sans",
1432
1506
  variants: {
1433
1507
  mobile: {
1434
- true: "fixed inset-y-0 left-0 z-50 h-screen w-auto transition-transform duration-200 ease-out",
1508
+ // w-screen: drawer ocupa 100vw (rail + panel preenchendo) e h-screen (100vh).
1509
+ true: "fixed inset-y-0 left-0 z-50 h-screen w-screen max-w-full transition-transform duration-200 ease-out",
1435
1510
  false: ""
1436
1511
  },
1437
1512
  mobileOpen: {
@@ -1545,6 +1620,10 @@ const sidebarPanel = chipGroup.tv({
1545
1620
  /** Quando true: overlay absoluto sobre o conteúdo (hover-to-expand). */
1546
1621
  floating: {
1547
1622
  true: "absolute left-[64px] top-0 h-full z-40"
1623
+ },
1624
+ /** Mobile: panel preenche o resto do drawer (100vw - rail) em vez de 264px fixo. */
1625
+ mobile: {
1626
+ true: "!w-auto flex-1"
1548
1627
  }
1549
1628
  }
1550
1629
  });
@@ -2071,6 +2150,7 @@ function SidebarPanel({
2071
2150
  context,
2072
2151
  collapsed,
2073
2152
  floating,
2153
+ mobile,
2074
2154
  activeItemHref,
2075
2155
  onItemClick,
2076
2156
  contexts,
@@ -2083,7 +2163,7 @@ function SidebarPanel({
2083
2163
  return /* @__PURE__ */ jsxRuntime.jsxs(
2084
2164
  "aside",
2085
2165
  {
2086
- className: chipGroup.cn(sidebarPanel({ collapsed, floating }), className),
2166
+ className: chipGroup.cn(sidebarPanel({ collapsed, floating, mobile }), className),
2087
2167
  "aria-hidden": collapsed,
2088
2168
  children: [
2089
2169
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: sidebarPanelHeader(), children: hasSwitcher ? /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
@@ -2300,6 +2380,7 @@ function MenuSidebar({
2300
2380
  context: activeContext,
2301
2381
  collapsed: isMobile ? false : hoverExpanded ? false : collapsed,
2302
2382
  floating: shouldFloat,
2383
+ mobile: isMobile,
2303
2384
  activeItemHref: itemHref,
2304
2385
  onItemClick: handleItemClick,
2305
2386
  contexts,
@@ -2375,110 +2456,117 @@ function UserMenu({
2375
2456
  const hasGroups = hasLayout || hasTheme || !!onSettings;
2376
2457
  const currentLayoutLabel = hasLayout && layout ? layoutOptions.find((o) => o.id === layout)?.label : void 0;
2377
2458
  const currentThemeLabel = hasTheme && theme ? themeOptions.find((o) => o.id === theme)?.label : void 0;
2378
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { children: [
2379
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
2380
- "button",
2381
- {
2382
- type: "button",
2383
- "aria-label": `Menu do usuário (${user.name})`,
2384
- className: [
2385
- "grid place-items-center w-9 h-9 rounded-full shrink-0",
2386
- "bg-bg-brand text-fg-on-brand text-caption-sm font-bold uppercase tracking-[0.02em]",
2387
- "cursor-pointer transition-opacity duration-150",
2388
- "hover:opacity-90",
2389
- "focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary",
2390
- "data-[state=open]:ring-4 data-[state=open]:ring-ring-secondary"
2391
- ].join(" "),
2392
- style: user.avatarColor ? { background: user.avatarColor } : void 0,
2393
- children: user.avatarSrc ? /* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "size-9", children: [
2394
- /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: user.avatarSrc, alt: user.name }),
2395
- /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "bg-transparent text-fg-on-brand", children: initials })
2396
- ] }) : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, children: initials })
2397
- }
2398
- ) }),
2399
- /* @__PURE__ */ jsxRuntime.jsxs(
2400
- DropdownMenuContent,
2401
- {
2402
- side: "right",
2403
- align: "end",
2404
- sideOffset: 12,
2405
- className: "min-w-[240px]",
2406
- children: [
2407
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-gp-md px-pad-lg py-pad-md", children: [
2408
- /* @__PURE__ */ jsxRuntime.jsxs(
2409
- Avatar,
2410
- {
2411
- className: "size-9 shrink-0",
2412
- style: user.avatarColor ? { background: user.avatarColor } : void 0,
2413
- children: [
2414
- user.avatarSrc && /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: user.avatarSrc, alt: user.name }),
2415
- /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "bg-bg-brand text-fg-on-brand text-body-xs font-bold uppercase", children: initials })
2416
- ]
2417
- }
2418
- ),
2419
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col min-w-0 flex-1", children: [
2420
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-body-sm font-medium text-fg-default truncate", children: user.name }),
2421
- user.email && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-caption-sm text-fg-muted truncate", children: user.email })
2422
- ] })
2423
- ] }),
2424
- hasGroups && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
2425
- hasLayout && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSub, { children: [
2426
- /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSubTrigger, { children: [
2427
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LayoutGrid, {}),
2428
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Layout" }),
2429
- currentLayoutLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-right text-caption-sm text-fg-subtle", children: currentLayoutLabel })
2459
+ return (
2460
+ // modal={false}: dentro do drawer mobile (overlay próprio), o modo modal do
2461
+ // Radix injeta um dismiss/scroll-lock que entra em corrida com o gesto de
2462
+ // abertura → o menu abre no pointerdown e fecha no click/pointerup do mesmo
2463
+ // toque ("aparece e some", precisa 2-3 toques). Sem modal, o dismiss por
2464
+ // toque-fora continua via DismissableLayer, sem a corrida.
2465
+ /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenu, { modal: false, children: [
2466
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
2467
+ "button",
2468
+ {
2469
+ type: "button",
2470
+ "aria-label": `Menu do usuário (${user.name})`,
2471
+ className: [
2472
+ "grid place-items-center w-9 h-9 rounded-full shrink-0",
2473
+ "bg-bg-brand text-fg-on-brand text-caption-sm font-bold uppercase tracking-[0.02em]",
2474
+ "cursor-pointer transition-opacity duration-150",
2475
+ "hover:opacity-90",
2476
+ "focus-visible:outline-none focus-visible:ring-4 focus-visible:ring-ring-secondary",
2477
+ "data-[state=open]:ring-4 data-[state=open]:ring-ring-secondary"
2478
+ ].join(" "),
2479
+ style: user.avatarColor ? { background: user.avatarColor } : void 0,
2480
+ children: user.avatarSrc ? /* @__PURE__ */ jsxRuntime.jsxs(Avatar, { className: "size-9", children: [
2481
+ /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: user.avatarSrc, alt: user.name }),
2482
+ /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "bg-transparent text-fg-on-brand", children: initials })
2483
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": true, children: initials })
2484
+ }
2485
+ ) }),
2486
+ /* @__PURE__ */ jsxRuntime.jsxs(
2487
+ DropdownMenuContent,
2488
+ {
2489
+ side: "right",
2490
+ align: "end",
2491
+ sideOffset: 12,
2492
+ className: "min-w-[240px]",
2493
+ children: [
2494
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-gp-md px-pad-lg py-pad-md", children: [
2495
+ /* @__PURE__ */ jsxRuntime.jsxs(
2496
+ Avatar,
2497
+ {
2498
+ className: "size-9 shrink-0",
2499
+ style: user.avatarColor ? { background: user.avatarColor } : void 0,
2500
+ children: [
2501
+ user.avatarSrc && /* @__PURE__ */ jsxRuntime.jsx(AvatarImage, { src: user.avatarSrc, alt: user.name }),
2502
+ /* @__PURE__ */ jsxRuntime.jsx(AvatarFallback, { className: "bg-bg-brand text-fg-on-brand text-body-xs font-bold uppercase", children: initials })
2503
+ ]
2504
+ }
2505
+ ),
2506
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col min-w-0 flex-1", children: [
2507
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-body-sm font-medium text-fg-default truncate", children: user.name }),
2508
+ user.email && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-caption-sm text-fg-muted truncate", children: user.email })
2509
+ ] })
2430
2510
  ] }),
2431
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSubContent, { sideOffset: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
2432
- DropdownMenuRadioGroup,
2433
- {
2434
- value: layout,
2435
- onValueChange: onLayoutChange,
2436
- children: layoutOptions.map((opt) => {
2437
- const Icon = opt.icon;
2438
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuRadioItem, { value: opt.id, children: [
2439
- /* @__PURE__ */ jsxRuntime.jsx(Icon, {}),
2440
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: opt.label })
2441
- ] }, opt.id);
2442
- })
2443
- }
2444
- ) })
2445
- ] }),
2446
- hasTheme && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSub, { children: [
2447
- /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSubTrigger, { children: [
2448
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SunMoon, {}),
2449
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Tema" }),
2450
- currentThemeLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-right text-caption-sm text-fg-subtle", children: currentThemeLabel })
2511
+ hasGroups && /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
2512
+ hasLayout && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSub, { children: [
2513
+ /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSubTrigger, { children: [
2514
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LayoutGrid, {}),
2515
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Layout" }),
2516
+ currentLayoutLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-right text-caption-sm text-fg-subtle", children: currentLayoutLabel })
2517
+ ] }),
2518
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSubContent, { sideOffset: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
2519
+ DropdownMenuRadioGroup,
2520
+ {
2521
+ value: layout,
2522
+ onValueChange: onLayoutChange,
2523
+ children: layoutOptions.map((opt) => {
2524
+ const Icon = opt.icon;
2525
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuRadioItem, { value: opt.id, children: [
2526
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, {}),
2527
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: opt.label })
2528
+ ] }, opt.id);
2529
+ })
2530
+ }
2531
+ ) })
2451
2532
  ] }),
2452
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSubContent, { sideOffset: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
2453
- DropdownMenuRadioGroup,
2454
- {
2455
- value: theme,
2456
- onValueChange: onThemeChange,
2457
- children: themeOptions.map((opt) => {
2458
- const Icon = opt.icon;
2459
- return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuRadioItem, { value: opt.id, children: [
2460
- /* @__PURE__ */ jsxRuntime.jsx(Icon, {}),
2461
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: opt.label })
2462
- ] }, opt.id);
2463
- })
2464
- }
2465
- ) })
2466
- ] }),
2467
- onSettings && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onSelect: onSettings, children: [
2468
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings, {}),
2469
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Configurações" })
2470
- ] }),
2471
- onLogout && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2472
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
2473
- /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onSelect: onLogout, children: [
2474
- /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LogOut, {}),
2475
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Sair" })
2533
+ hasTheme && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSub, { children: [
2534
+ /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuSubTrigger, { children: [
2535
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SunMoon, {}),
2536
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Tema" }),
2537
+ currentThemeLabel && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "flex-1 text-right text-caption-sm text-fg-subtle", children: currentThemeLabel })
2538
+ ] }),
2539
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSubContent, { sideOffset: 4, children: /* @__PURE__ */ jsxRuntime.jsx(
2540
+ DropdownMenuRadioGroup,
2541
+ {
2542
+ value: theme,
2543
+ onValueChange: onThemeChange,
2544
+ children: themeOptions.map((opt) => {
2545
+ const Icon = opt.icon;
2546
+ return /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuRadioItem, { value: opt.id, children: [
2547
+ /* @__PURE__ */ jsxRuntime.jsx(Icon, {}),
2548
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: opt.label })
2549
+ ] }, opt.id);
2550
+ })
2551
+ }
2552
+ ) })
2553
+ ] }),
2554
+ onSettings && /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onSelect: onSettings, children: [
2555
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Settings, {}),
2556
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Configurações" })
2557
+ ] }),
2558
+ onLogout && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2559
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuSeparator, {}),
2560
+ /* @__PURE__ */ jsxRuntime.jsxs(DropdownMenuItem, { onSelect: onLogout, children: [
2561
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.LogOut, {}),
2562
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Sair" })
2563
+ ] })
2476
2564
  ] })
2477
- ] })
2478
- ]
2479
- }
2480
- )
2481
- ] });
2565
+ ]
2566
+ }
2567
+ )
2568
+ ] })
2569
+ );
2482
2570
  }
2483
2571
  const root = chipGroup.tv({
2484
2572
  base: [
@@ -2567,11 +2655,17 @@ function AppShell({
2567
2655
  }) {
2568
2656
  const [internalCollapsed, setInternalCollapsed] = React.useState(defaultMenuCollapsed);
2569
2657
  const menuCollapsed = controlledCollapsed ?? internalCollapsed;
2658
+ const isMobile = useMediaQuery("(max-width: 767px)");
2659
+ const [mobileMenuOpen, setMobileMenuOpen] = React.useState(false);
2570
2660
  const toggleMenuCollapsed = React.useCallback(() => {
2571
2661
  const next = !menuCollapsed;
2572
2662
  if (controlledCollapsed === void 0) setInternalCollapsed(next);
2573
2663
  onMenuCollapseChange?.(next);
2574
2664
  }, [menuCollapsed, controlledCollapsed, onMenuCollapseChange]);
2665
+ const handleToggleMenu = React.useCallback(() => {
2666
+ if (isMobile) setMobileMenuOpen((o) => !o);
2667
+ else toggleMenuCollapsed();
2668
+ }, [isMobile, toggleMenuCollapsed]);
2575
2669
  const userNode = user ? /* @__PURE__ */ jsxRuntime.jsx(
2576
2670
  UserMenu,
2577
2671
  {
@@ -2602,7 +2696,9 @@ function AppShell({
2602
2696
  onPanelCollapseChange: (next) => {
2603
2697
  if (controlledCollapsed === void 0) setInternalCollapsed(next);
2604
2698
  onMenuCollapseChange?.(next);
2605
- }
2699
+ },
2700
+ mobileOpen: mobileMenuOpen,
2701
+ onMobileOpenChange: setMobileMenuOpen
2606
2702
  }
2607
2703
  ),
2608
2704
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: main(), children: [
@@ -2610,7 +2706,7 @@ function AppShell({
2610
2706
  Header,
2611
2707
  {
2612
2708
  breadcrumb,
2613
- onCollapseMenu: toggleMenuCollapsed,
2709
+ onCollapseMenu: handleToggleMenu,
2614
2710
  menuCollapsed,
2615
2711
  commandGroups,
2616
2712
  commandPlaceholder,
@@ -2641,14 +2737,23 @@ AppShell.displayName = "AppShell";
2641
2737
  exports.AppShell = AppShell;
2642
2738
  exports.Avatar = Avatar;
2643
2739
  exports.AvatarFallback = AvatarFallback;
2740
+ exports.Command = Command;
2741
+ exports.CommandDialog = CommandDialog;
2742
+ exports.CommandEmpty = CommandEmpty;
2743
+ exports.CommandGroup = CommandGroup;
2744
+ exports.CommandInput = CommandInput;
2745
+ exports.CommandItem = CommandItem;
2746
+ exports.CommandList = CommandList;
2644
2747
  exports.Dialog = Dialog;
2645
2748
  exports.DialogClose = DialogClose;
2646
2749
  exports.DialogContent = DialogContent;
2750
+ exports.DialogDescription = DialogDescription;
2647
2751
  exports.DialogTitle = DialogTitle;
2648
2752
  exports.DialogTrigger = DialogTrigger;
2649
2753
  exports.DropdownMenu = DropdownMenu;
2650
2754
  exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
2651
2755
  exports.DropdownMenuContent = DropdownMenuContent;
2756
+ exports.DropdownMenuGroup = DropdownMenuGroup;
2652
2757
  exports.DropdownMenuItem = DropdownMenuItem;
2653
2758
  exports.DropdownMenuLabel = DropdownMenuLabel;
2654
2759
  exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup;
@@ -2668,6 +2773,10 @@ exports.InputGroupInput = InputGroupInput;
2668
2773
  exports.InputGroupText = InputGroupText;
2669
2774
  exports.InputGroupTextarea = InputGroupTextarea;
2670
2775
  exports.MenuSidebar = MenuSidebar;
2776
+ exports.Popover = Popover;
2777
+ exports.PopoverAnchor = PopoverAnchor;
2778
+ exports.PopoverContent = PopoverContent;
2779
+ exports.PopoverTrigger = PopoverTrigger;
2671
2780
  exports.SidebarBrandIcon = SidebarBrandIcon;
2672
2781
  exports.SidebarItem = SidebarItem;
2673
2782
  exports.SidebarPanel = SidebarPanel;
@@ -2676,6 +2785,7 @@ exports.SidebarRail = SidebarRail;
2676
2785
  exports.SidebarSection = SidebarSection;
2677
2786
  exports.SidebarSubgroup = SidebarSubgroup;
2678
2787
  exports.UserMenu = UserMenu;
2788
+ exports.inputGroupVariants = inputGroupVariants;
2679
2789
  exports.useControllable = useControllable;
2680
2790
  exports.useMediaQuery = useMediaQuery;
2681
- //# sourceMappingURL=app-shell-BdVam01i.cjs.map
2791
+ //# sourceMappingURL=app-shell-CPx9X7zP.cjs.map