@mastra/playground-ui 62.0.1-alpha.0 → 63.0.0-alpha.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 (271) hide show
  1. package/dist/Avatar-C2Sz53u5.js +190 -0
  2. package/dist/Avatar-C2Sz53u5.js.map +1 -0
  3. package/dist/Avatar-D6ybWljK.cjs +192 -0
  4. package/dist/Avatar-D6ybWljK.cjs.map +1 -0
  5. package/dist/alert-dialog-R9z2SJLl.js +40 -0
  6. package/dist/alert-dialog-R9z2SJLl.js.map +1 -0
  7. package/dist/alert-dialog-j626w-Qb.cjs +42 -0
  8. package/dist/alert-dialog-j626w-Qb.cjs.map +1 -0
  9. package/dist/{command-Cx5QAS4E.cjs → command-DbZ6CSAy.cjs} +3 -3
  10. package/dist/command-DbZ6CSAy.cjs.map +1 -0
  11. package/dist/{command-B141Sxts.js → command-DtIlcv-t.js} +3 -3
  12. package/dist/command-DtIlcv-t.js.map +1 -0
  13. package/dist/components/AlertDialog.cjs.js +1 -1
  14. package/dist/components/AlertDialog.es.js +1 -1
  15. package/dist/components/Avatar.cjs.js +1 -1
  16. package/dist/components/Avatar.es.js +1 -1
  17. package/dist/components/Command.cjs.js +1 -1
  18. package/dist/components/Command.es.js +1 -1
  19. package/dist/components/CommandPalette.cjs.js +1 -1
  20. package/dist/components/CommandPalette.es.js +1 -1
  21. package/dist/components/DataCodeSection.cjs.js +1 -1
  22. package/dist/components/DataCodeSection.es.js +1 -1
  23. package/dist/components/DataList.cjs.js +17 -15
  24. package/dist/components/DataList.cjs.js.map +1 -1
  25. package/dist/components/DataList.es.js +5 -4
  26. package/dist/components/DataList.es.js.map +1 -1
  27. package/dist/components/DataPanel.cjs.js +1 -1
  28. package/dist/components/DataPanel.es.js +1 -1
  29. package/dist/components/Dialog.cjs.js +2 -2
  30. package/dist/components/Dialog.es.js +2 -2
  31. package/dist/components/Drawer.cjs.js +1 -1
  32. package/dist/components/Drawer.es.js +1 -1
  33. package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
  34. package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
  35. package/dist/components/FilterBar.cjs.js +2 -2
  36. package/dist/components/FilterBar.cjs.js.map +1 -1
  37. package/dist/components/FilterBar.es.js +3 -3
  38. package/dist/components/FilterBar.es.js.map +1 -1
  39. package/dist/components/LogsDataList.cjs.js +2 -5
  40. package/dist/components/LogsDataList.cjs.js.map +1 -1
  41. package/dist/components/LogsDataList.es.js +2 -5
  42. package/dist/components/LogsDataList.es.js.map +1 -1
  43. package/dist/components/SavedViews.cjs.js +1 -1
  44. package/dist/components/SavedViews.es.js +1 -1
  45. package/dist/components/SideDialog.cjs.js +1 -1
  46. package/dist/components/SideDialog.es.js +1 -1
  47. package/dist/components/Sidebar.cjs.js +2 -2
  48. package/dist/components/Sidebar.es.js +2 -2
  49. package/dist/components/Workflow.cjs.js +2 -2
  50. package/dist/components/Workflow.es.js +2 -2
  51. package/dist/{data-code-section-hVbIXLNC.cjs → data-code-section-B2Ea7FwM.cjs} +2 -2
  52. package/dist/{data-code-section-hVbIXLNC.cjs.map → data-code-section-B2Ea7FwM.cjs.map} +1 -1
  53. package/dist/{data-code-section-zG2S1MPX.js → data-code-section-DrJYy1dR.js} +2 -2
  54. package/dist/{data-code-section-zG2S1MPX.js.map → data-code-section-DrJYy1dR.js.map} +1 -1
  55. package/dist/data-list-DkVOwk8l.cjs +142 -0
  56. package/dist/data-list-DkVOwk8l.cjs.map +1 -0
  57. package/dist/data-list-Dv2lP-dU.js +138 -0
  58. package/dist/data-list-Dv2lP-dU.js.map +1 -0
  59. package/dist/{data-list-skeleton-DLVW7OFS.js → data-list-skeleton-BmsDYJrA.js} +2 -2
  60. package/dist/{data-list-skeleton-DLVW7OFS.js.map → data-list-skeleton-BmsDYJrA.js.map} +1 -1
  61. package/dist/{data-list-skeleton-maUWF7Ri.cjs → data-list-skeleton-CfVsXhx1.cjs} +6 -6
  62. package/dist/{data-list-skeleton-maUWF7Ri.cjs.map → data-list-skeleton-CfVsXhx1.cjs.map} +1 -1
  63. package/dist/data-list-spacer-DEMquKp9.js +209 -0
  64. package/dist/data-list-spacer-DEMquKp9.js.map +1 -0
  65. package/dist/data-list-spacer-pXP8xDlg.cjs +218 -0
  66. package/dist/data-list-spacer-pXP8xDlg.cjs.map +1 -0
  67. package/dist/{data-list-DvbAODUM.js → data-list-top-BJCC62oy.js} +5 -332
  68. package/dist/data-list-top-BJCC62oy.js.map +1 -0
  69. package/dist/{data-list-_yDPF5wR.cjs → data-list-top-Ds-NWyPO.cjs} +13 -339
  70. package/dist/data-list-top-Ds-NWyPO.cjs.map +1 -0
  71. package/dist/{data-panel-BLqydW68.js → data-panel-COU5dbUJ.js} +3 -3
  72. package/dist/{data-panel-BLqydW68.js.map → data-panel-COU5dbUJ.js.map} +1 -1
  73. package/dist/{data-panel-BdeebdMA.cjs → data-panel-CTqb-0qN.cjs} +4 -4
  74. package/dist/{data-panel-BdeebdMA.cjs.map → data-panel-CTqb-0qN.cjs.map} +1 -1
  75. package/dist/{dialog-wL-fuFON.cjs → dialog-DQI9ChYf.cjs} +74 -37
  76. package/dist/dialog-DQI9ChYf.cjs.map +1 -0
  77. package/dist/{dialog-BYsQZGIj.js → dialog-DlZmNahd.js} +75 -35
  78. package/dist/dialog-DlZmNahd.js.map +1 -0
  79. package/dist/{dialog-action-B-pF99m0.js → dialog-action-c4nfPomF.js} +2 -2
  80. package/dist/{dialog-action-B-pF99m0.js.map → dialog-action-c4nfPomF.js.map} +1 -1
  81. package/dist/{dialog-action-CcMhvjM-.cjs → dialog-action-gdo9CwUv.cjs} +2 -2
  82. package/dist/{dialog-action-CcMhvjM-.cjs.map → dialog-action-gdo9CwUv.cjs.map} +1 -1
  83. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +1 -1
  84. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +1 -1
  85. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  86. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  87. package/dist/domains/chat/messages/dataset-save-action.cjs.js +2 -2
  88. package/dist/domains/chat/messages/dataset-save-action.es.js +2 -2
  89. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
  90. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
  91. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +1 -2
  92. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  93. package/dist/domains/chat/tools/badges/workflow-badge.es.js +1 -2
  94. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  95. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +1 -1
  96. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +1 -1
  97. package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
  98. package/dist/domains/logs/components/log-data-panel.es.js +1 -1
  99. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -3
  100. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  101. package/dist/domains/logs/components/logs-list-view.es.js +2 -3
  102. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  103. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  104. package/dist/domains/metrics/drilldown.es.js +1 -1
  105. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +1 -1
  106. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +1 -1
  107. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  108. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  109. package/dist/domains/scores/components/span-scoring.cjs.js +2 -2
  110. package/dist/domains/scores/components/span-scoring.es.js +2 -2
  111. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -2
  112. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  113. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -2
  114. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  115. package/dist/domains/traces/components/feedback-thread.cjs.js +2 -2
  116. package/dist/domains/traces/components/feedback-thread.es.js +2 -2
  117. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
  118. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
  119. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  120. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  121. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  122. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  123. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -0
  124. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  125. package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -0
  126. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  127. package/dist/domains/traces/components/trace-columns-menu.cjs.js +2 -2
  128. package/dist/domains/traces/components/trace-columns-menu.es.js +2 -2
  129. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +1 -1
  130. package/dist/domains/traces/components/trace-data-panel-view.es.js +1 -1
  131. package/dist/domains/traces/components/trace-data-panel.cjs.js +2 -3
  132. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  133. package/dist/domains/traces/components/trace-data-panel.es.js +2 -3
  134. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  135. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  136. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  137. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  138. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  139. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  140. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  141. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  142. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  143. package/dist/domains/traces/components/traces-list-view.cjs.js +5 -4
  144. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  145. package/dist/domains/traces/components/traces-list-view.es.js +4 -3
  146. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  147. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -4
  148. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  149. package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -4
  150. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  151. package/dist/domains/traces/hooks/use-trace-filter-persistence.cjs.js +1 -1
  152. package/dist/domains/traces/hooks/use-trace-filter-persistence.es.js +1 -1
  153. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +1 -1
  154. package/dist/domains/traces/hooks/use-trace-url-state.es.js +1 -1
  155. package/dist/domains/traces/trace-filters.cjs.js +1 -1
  156. package/dist/domains/traces/trace-filters.es.js +1 -1
  157. package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
  158. package/dist/domains/traces/trace-query-filters.es.js +1 -1
  159. package/dist/domains/traces.cjs.js +1 -1
  160. package/dist/domains/traces.es.js +1 -1
  161. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  162. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  163. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +1 -1
  164. package/dist/domains/workflows/runs/workflow-run-list.es.js +1 -1
  165. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  166. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  167. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  168. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  169. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
  170. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
  171. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +1 -1
  172. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +1 -1
  173. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +2 -2
  174. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +2 -2
  175. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +1 -1
  176. package/dist/domains/workspace/components/workspace-create-directory.es.js +1 -1
  177. package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
  178. package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
  179. package/dist/{drawer-B-t4ydEh.js → drawer-CZlqOjd2.js} +17 -7
  180. package/dist/{drawer-B-t4ydEh.js.map → drawer-CZlqOjd2.js.map} +1 -1
  181. package/dist/{drawer-DE2b3eld.cjs → drawer-CeUYCG-S.cjs} +16 -6
  182. package/dist/{drawer-DE2b3eld.cjs.map → drawer-CeUYCG-S.cjs.map} +1 -1
  183. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -3
  184. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  185. package/dist/ee/signals/components/entity-index-list.es.js +1 -3
  186. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  187. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +1 -3
  188. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  189. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +1 -3
  190. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  191. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  192. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  193. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  194. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  195. package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
  196. package/dist/ee/signals/theme-detail-panel.es.js +1 -1
  197. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
  198. package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
  199. package/dist/{filter-bar-chip-uPmGVzPR.cjs → filter-bar-chip-C_371aon.cjs} +35 -6
  200. package/dist/filter-bar-chip-C_371aon.cjs.map +1 -0
  201. package/dist/{filter-bar-chip-Bu27EjSO.js → filter-bar-chip-Dc6phYqZ.js} +35 -6
  202. package/dist/filter-bar-chip-Dc6phYqZ.js.map +1 -0
  203. package/dist/hooks/use-is-mobile.cjs.js +14 -10
  204. package/dist/hooks/use-is-mobile.cjs.js.map +1 -1
  205. package/dist/hooks/use-is-mobile.es.js +15 -11
  206. package/dist/hooks/use-is-mobile.es.js.map +1 -1
  207. package/dist/layout/tabbed-container.cjs.js +1 -1
  208. package/dist/layout/tabbed-container.es.js +1 -1
  209. package/dist/{logs-data-list-Dc1CNVBT.js → logs-data-list-C262Be3o.js} +3 -2
  210. package/dist/{logs-data-list-Dc1CNVBT.js.map → logs-data-list-C262Be3o.js.map} +1 -1
  211. package/dist/{logs-data-list-Bf_vIsFb.cjs → logs-data-list-DfuVMd6f.cjs} +22 -21
  212. package/dist/{logs-data-list-Bf_vIsFb.cjs.map → logs-data-list-DfuVMd6f.cjs.map} +1 -1
  213. package/dist/resize/panel-drawer.cjs.js +1 -1
  214. package/dist/resize/panel-drawer.es.js +1 -1
  215. package/dist/{side-dialog-BIyr498B.js → side-dialog-CWQL33WR.js} +2 -2
  216. package/dist/{side-dialog-BIyr498B.js.map → side-dialog-CWQL33WR.js.map} +1 -1
  217. package/dist/{side-dialog-BT2xywA8.cjs → side-dialog-DldgOJIk.cjs} +2 -2
  218. package/dist/{side-dialog-BT2xywA8.cjs.map → side-dialog-DldgOJIk.cjs.map} +1 -1
  219. package/dist/src/ds/components/AlertDialog/alert-dialog.d.ts +8 -11
  220. package/dist/src/ds/components/Avatar/Avatar.d.ts +20 -9
  221. package/dist/src/ds/components/Avatar/avatar-badge.d.ts +6 -0
  222. package/dist/src/ds/components/Avatar/avatar-element.d.ts +3 -0
  223. package/dist/src/ds/components/Avatar/avatar-fallback.d.ts +5 -0
  224. package/dist/src/ds/components/Avatar/avatar-group-count.d.ts +3 -0
  225. package/dist/src/ds/components/Avatar/avatar-group.d.ts +6 -0
  226. package/dist/src/ds/components/Avatar/avatar-image.d.ts +6 -0
  227. package/dist/src/ds/components/Avatar/avatar-named.d.ts +10 -0
  228. package/dist/src/ds/components/Avatar/avatar-root.d.ts +8 -0
  229. package/dist/src/ds/components/Avatar/avatar-size.d.ts +5 -0
  230. package/dist/src/ds/components/Dialog/dialog-shell.d.ts +1 -0
  231. package/dist/src/ds/components/Dialog/dialog.d.ts +9 -3
  232. package/dist/src/ds/components/FilterBar/filter-bar-tree.d.ts +9 -1
  233. package/dist/src/ds/components/FilterBar/types.d.ts +6 -0
  234. package/dist/style.css +108 -28
  235. package/dist/{trace-filters-B9myZP-l.cjs → trace-filters-Bh4dVNPX.cjs} +16 -20
  236. package/dist/trace-filters-Bh4dVNPX.cjs.map +1 -0
  237. package/dist/{trace-filters-Cvra0Aum.js → trace-filters-C71gmCq4.js} +16 -20
  238. package/dist/trace-filters-C71gmCq4.js.map +1 -0
  239. package/dist/{traces-data-list-DaFA1Ccg.cjs → traces-data-list-Cf_PpmSN.cjs} +19 -17
  240. package/dist/{traces-data-list-DaFA1Ccg.cjs.map → traces-data-list-Cf_PpmSN.cjs.map} +1 -1
  241. package/dist/{traces-data-list-Cz8YHTOD.js → traces-data-list-_mFOMw0U.js} +4 -2
  242. package/dist/{traces-data-list-Cz8YHTOD.js.map → traces-data-list-_mFOMw0U.js.map} +1 -1
  243. package/dist/types-CIPrYAzY.js.map +1 -1
  244. package/dist/types-Ns4ZNp-g.cjs.map +1 -1
  245. package/dist/{workflow-data-edge-view-CMdPlcQj.cjs → workflow-data-edge-view-BHvpuvmp.cjs} +2 -2
  246. package/dist/{workflow-data-edge-view-CMdPlcQj.cjs.map → workflow-data-edge-view-BHvpuvmp.cjs.map} +1 -1
  247. package/dist/{workflow-data-edge-view-DeX0gykV.js → workflow-data-edge-view-BaA6YJye.js} +2 -2
  248. package/dist/{workflow-data-edge-view-DeX0gykV.js.map → workflow-data-edge-view-BaA6YJye.js.map} +1 -1
  249. package/dist/{workflow-edge-data-button-DfyJCI6R.js → workflow-edge-data-button-6EDXzRxr.js} +2 -2
  250. package/dist/{workflow-edge-data-button-DfyJCI6R.js.map → workflow-edge-data-button-6EDXzRxr.js.map} +1 -1
  251. package/dist/{workflow-edge-data-button-CSeMH2Ky.cjs → workflow-edge-data-button-Cz2rcoDr.cjs} +2 -2
  252. package/dist/{workflow-edge-data-button-CSeMH2Ky.cjs.map → workflow-edge-data-button-Cz2rcoDr.cjs.map} +1 -1
  253. package/package.json +8 -8
  254. package/dist/Avatar-BPHG0wrq.cjs +0 -45
  255. package/dist/Avatar-BPHG0wrq.cjs.map +0 -1
  256. package/dist/Avatar-DAnyIHjm.js +0 -43
  257. package/dist/Avatar-DAnyIHjm.js.map +0 -1
  258. package/dist/alert-dialog-BJlS-v3z.cjs +0 -55
  259. package/dist/alert-dialog-BJlS-v3z.cjs.map +0 -1
  260. package/dist/alert-dialog-BvzVYar8.js +0 -53
  261. package/dist/alert-dialog-BvzVYar8.js.map +0 -1
  262. package/dist/command-B141Sxts.js.map +0 -1
  263. package/dist/command-Cx5QAS4E.cjs.map +0 -1
  264. package/dist/data-list-DvbAODUM.js.map +0 -1
  265. package/dist/data-list-_yDPF5wR.cjs.map +0 -1
  266. package/dist/dialog-BYsQZGIj.js.map +0 -1
  267. package/dist/dialog-wL-fuFON.cjs.map +0 -1
  268. package/dist/filter-bar-chip-Bu27EjSO.js.map +0 -1
  269. package/dist/filter-bar-chip-uPmGVzPR.cjs.map +0 -1
  270. package/dist/trace-filters-B9myZP-l.cjs.map +0 -1
  271. package/dist/trace-filters-Cvra0Aum.js.map +0 -1
@@ -0,0 +1,190 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { createContext, useContext, useState } from 'react';
3
+ import { c as cn } from './cn-coERSHz5.js';
4
+ import { T as Txt } from './Txt-BuzYj7Vy.js';
5
+ import { controlStateColorTransition } from './primitives/transitions.es.js';
6
+ import { Avatar as Avatar$1 } from '@base-ui/react/avatar';
7
+
8
+ const avatarSizeClasses = {
9
+ xs: "size-icon-xs",
10
+ sm: "size-avatar-sm",
11
+ md: "size-avatar-md",
12
+ lg: "size-avatar-lg",
13
+ control: "size-control-md"
14
+ };
15
+ const avatarTextClasses = {
16
+ xs: "text-meta",
17
+ sm: "text-caption",
18
+ md: "text-body-sm",
19
+ lg: "text-body",
20
+ control: "text-body-sm"
21
+ };
22
+ const avatarIconClasses = {
23
+ xs: "[&>svg]:hidden",
24
+ sm: "[&>svg]:size-icon-xs",
25
+ md: "[&>svg]:size-icon-sm",
26
+ lg: "[&>svg]:size-icon-sm",
27
+ control: "[&>svg]:size-icon-sm"
28
+ };
29
+ const AvatarSizeContext = createContext(void 0);
30
+
31
+ const toneClasses = {
32
+ neutral: "bg-fill-inverse text-background",
33
+ success: "bg-success-indicator text-background",
34
+ warning: "bg-warning-indicator text-background",
35
+ destructive: "bg-destructive-indicator text-background",
36
+ info: "bg-info-indicator text-background"
37
+ };
38
+ const badgeSizeClasses = {
39
+ xs: "min-h-1.5 min-w-1.5 [&>svg]:hidden",
40
+ sm: "min-h-2 min-w-2 [&>svg]:hidden",
41
+ md: "min-h-2.5 min-w-2.5 [&>svg]:size-icon-xs",
42
+ lg: "min-h-3 min-w-3 [&>svg]:size-icon-xs",
43
+ control: "min-h-2.5 min-w-2.5 [&>svg]:size-icon-xs"
44
+ };
45
+ function AvatarBadge({ tone, className, children, ...props }) {
46
+ const size = useContext(AvatarSizeContext) ?? "sm";
47
+ return /* @__PURE__ */ jsx(
48
+ "span",
49
+ {
50
+ ...props,
51
+ "data-slot": "avatar-badge",
52
+ className: cn(
53
+ "absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full ring-2 ring-card select-none",
54
+ "[&>[data-slot=avatar]]:border-0 [&>[data-slot=avatar]]:after:hidden",
55
+ "after:pointer-events-none after:absolute after:inset-0 after:rounded-full after:shadow-inset",
56
+ tone ? toneClasses[tone] : "bg-card text-foreground",
57
+ badgeSizeClasses[size],
58
+ className
59
+ ),
60
+ children: /* @__PURE__ */ jsx(AvatarSizeContext.Provider, { value: "xs", children })
61
+ }
62
+ );
63
+ }
64
+
65
+ function AvatarNamed({ src, name, size, interactive = false, color, textColor }) {
66
+ const contextSize = useContext(AvatarSizeContext);
67
+ const [didError, setDidError] = useState(false);
68
+ const resolvedSize = size ?? contextSize ?? "sm";
69
+ const initial = name.trim()[0]?.toUpperCase() ?? "A";
70
+ const showImage = Boolean(src) && !didError;
71
+ const showFallbackTint = !showImage && Boolean(color);
72
+ return /* @__PURE__ */ jsx(
73
+ "div",
74
+ {
75
+ "data-slot": "avatar",
76
+ "data-size": resolvedSize,
77
+ className: cn(
78
+ avatarSizeClasses[resolvedSize],
79
+ "flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-border",
80
+ !showFallbackTint && "bg-fill",
81
+ controlStateColorTransition,
82
+ interactive && "cursor-pointer hover:border-border-hover"
83
+ ),
84
+ style: showFallbackTint ? { backgroundColor: color } : void 0,
85
+ children: showImage ? /* @__PURE__ */ jsx("img", { src, alt: name, className: "size-full object-cover", onError: () => setDidError(true) }) : /* @__PURE__ */ jsx(
86
+ Txt,
87
+ {
88
+ variant: resolvedSize === "xs" ? "meta" : "body",
89
+ tone: showFallbackTint ? void 0 : "muted",
90
+ className: "text-center",
91
+ style: showFallbackTint && textColor ? { color: textColor } : void 0,
92
+ children: initial
93
+ }
94
+ )
95
+ }
96
+ );
97
+ }
98
+
99
+ function AvatarRoot({ size, className, ...props }) {
100
+ const contextSize = useContext(AvatarSizeContext);
101
+ const resolvedSize = size ?? contextSize ?? "sm";
102
+ return /* @__PURE__ */ jsx(AvatarSizeContext.Provider, { value: resolvedSize, children: /* @__PURE__ */ jsx(
103
+ Avatar$1.Root,
104
+ {
105
+ ...props,
106
+ "data-slot": "avatar",
107
+ "data-size": resolvedSize,
108
+ className: cn(
109
+ "relative inline-flex shrink-0 rounded-full select-none",
110
+ "after:pointer-events-none after:absolute after:inset-0 after:rounded-full after:border after:border-border",
111
+ avatarSizeClasses[resolvedSize],
112
+ className
113
+ )
114
+ }
115
+ ) });
116
+ }
117
+
118
+ function AvatarElement(props) {
119
+ if (props.name === void 0) return /* @__PURE__ */ jsx(AvatarRoot, { ...props });
120
+ return /* @__PURE__ */ jsx(AvatarNamed, { ...props });
121
+ }
122
+
123
+ function AvatarFallback({ className, ...props }) {
124
+ const size = useContext(AvatarSizeContext) ?? "sm";
125
+ return /* @__PURE__ */ jsx(
126
+ Avatar$1.Fallback,
127
+ {
128
+ ...props,
129
+ "data-slot": "avatar-fallback",
130
+ className: cn(
131
+ "flex size-full items-center justify-center overflow-hidden rounded-full bg-muted text-muted-foreground",
132
+ avatarTextClasses[size],
133
+ avatarIconClasses[size],
134
+ className
135
+ )
136
+ }
137
+ );
138
+ }
139
+
140
+ function AvatarGroup({ size, className, ...props }) {
141
+ return /* @__PURE__ */ jsx(AvatarSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx(
142
+ "div",
143
+ {
144
+ ...props,
145
+ "data-slot": "avatar-group",
146
+ className: cn("flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-card", className)
147
+ }
148
+ ) });
149
+ }
150
+
151
+ function AvatarGroupCount({ className, ...props }) {
152
+ const size = useContext(AvatarSizeContext) ?? "sm";
153
+ return /* @__PURE__ */ jsx(
154
+ "div",
155
+ {
156
+ ...props,
157
+ "data-slot": "avatar-group-count",
158
+ "data-size": size,
159
+ className: cn(
160
+ "relative flex shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground tabular-nums ring-2 ring-card",
161
+ avatarSizeClasses[size],
162
+ avatarTextClasses[size],
163
+ avatarIconClasses[size],
164
+ className
165
+ )
166
+ }
167
+ );
168
+ }
169
+
170
+ function AvatarImage({ className, ...props }) {
171
+ return /* @__PURE__ */ jsx(
172
+ Avatar$1.Image,
173
+ {
174
+ ...props,
175
+ "data-slot": "avatar-image",
176
+ className: cn("size-full rounded-full object-cover", className)
177
+ }
178
+ );
179
+ }
180
+
181
+ const Avatar = Object.assign(AvatarElement, {
182
+ Image: AvatarImage,
183
+ Fallback: AvatarFallback,
184
+ Badge: AvatarBadge,
185
+ Group: AvatarGroup,
186
+ GroupCount: AvatarGroupCount
187
+ });
188
+
189
+ export { Avatar as A };
190
+ //# sourceMappingURL=Avatar-C2Sz53u5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar-C2Sz53u5.js","sources":["../src/ds/components/Avatar/avatar-size.ts","../src/ds/components/Avatar/avatar-badge.tsx","../src/ds/components/Avatar/avatar-named.tsx","../src/ds/components/Avatar/avatar-root.tsx","../src/ds/components/Avatar/avatar-element.tsx","../src/ds/components/Avatar/avatar-fallback.tsx","../src/ds/components/Avatar/avatar-group.tsx","../src/ds/components/Avatar/avatar-group-count.tsx","../src/ds/components/Avatar/avatar-image.tsx","../src/ds/components/Avatar/Avatar.tsx"],"sourcesContent":["import { createContext } from 'react';\n\nexport type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'control';\n\nexport const avatarSizeClasses: Record<AvatarSize, string> = {\n xs: 'size-icon-xs',\n sm: 'size-avatar-sm',\n md: 'size-avatar-md',\n lg: 'size-avatar-lg',\n control: 'size-control-md',\n};\n\nexport const avatarTextClasses: Record<AvatarSize, string> = {\n xs: 'text-meta',\n sm: 'text-caption',\n md: 'text-body-sm',\n lg: 'text-body',\n control: 'text-body-sm',\n};\n\nexport const avatarIconClasses: Record<AvatarSize, string> = {\n xs: '[&>svg]:hidden',\n sm: '[&>svg]:size-icon-xs',\n md: '[&>svg]:size-icon-sm',\n lg: '[&>svg]:size-icon-sm',\n control: '[&>svg]:size-icon-sm',\n};\n\nexport const AvatarSizeContext = createContext<AvatarSize | undefined>(undefined);\n","import { useContext, type ComponentProps } from 'react';\n\nimport { AvatarSizeContext, type AvatarSize } from './avatar-size';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarBadgeTone = 'neutral' | 'success' | 'warning' | 'destructive' | 'info';\n\nexport type AvatarBadgeProps = ComponentProps<'span'> & {\n tone?: AvatarBadgeTone;\n};\n\nconst toneClasses: Record<AvatarBadgeTone, string> = {\n neutral: 'bg-fill-inverse text-background',\n success: 'bg-success-indicator text-background',\n warning: 'bg-warning-indicator text-background',\n destructive: 'bg-destructive-indicator text-background',\n info: 'bg-info-indicator text-background',\n};\n\nconst badgeSizeClasses: Record<AvatarSize, string> = {\n xs: 'min-h-1.5 min-w-1.5 [&>svg]:hidden',\n sm: 'min-h-2 min-w-2 [&>svg]:hidden',\n md: 'min-h-2.5 min-w-2.5 [&>svg]:size-icon-xs',\n lg: 'min-h-3 min-w-3 [&>svg]:size-icon-xs',\n control: 'min-h-2.5 min-w-2.5 [&>svg]:size-icon-xs',\n};\n\nexport function AvatarBadge({ tone, className, children, ...props }: AvatarBadgeProps) {\n const size = useContext(AvatarSizeContext) ?? 'sm';\n\n return (\n <span\n {...props}\n data-slot=\"avatar-badge\"\n className={cn(\n 'absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full ring-2 ring-card select-none',\n '[&>[data-slot=avatar]]:border-0 [&>[data-slot=avatar]]:after:hidden',\n 'after:pointer-events-none after:absolute after:inset-0 after:rounded-full after:shadow-inset',\n tone ? toneClasses[tone] : 'bg-card text-foreground',\n badgeSizeClasses[size],\n className,\n )}\n >\n <AvatarSizeContext.Provider value=\"xs\">{children}</AvatarSizeContext.Provider>\n </span>\n );\n}\n","import { useContext, useState } from 'react';\n\nimport { Txt } from '../Txt/Txt';\nimport { AvatarSizeContext, avatarSizeClasses, type AvatarSize } from './avatar-size';\nimport { controlStateColorTransition } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarProps = {\n src?: string;\n name: string;\n size?: AvatarSize;\n interactive?: boolean;\n color?: string;\n textColor?: string;\n};\n\nexport function AvatarNamed({ src, name, size, interactive = false, color, textColor }: AvatarProps) {\n const contextSize = useContext(AvatarSizeContext);\n const [didError, setDidError] = useState(false);\n const resolvedSize = size ?? contextSize ?? 'sm';\n const initial = name.trim()[0]?.toUpperCase() ?? 'A';\n const showImage = Boolean(src) && !didError;\n const showFallbackTint = !showImage && Boolean(color);\n\n return (\n <div\n data-slot=\"avatar\"\n data-size={resolvedSize}\n className={cn(\n avatarSizeClasses[resolvedSize],\n 'flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-border',\n !showFallbackTint && 'bg-fill',\n controlStateColorTransition,\n interactive && 'cursor-pointer hover:border-border-hover',\n )}\n style={showFallbackTint ? { backgroundColor: color } : undefined}\n >\n {showImage ? (\n <img src={src} alt={name} className=\"size-full object-cover\" onError={() => setDidError(true)} />\n ) : (\n <Txt\n variant={resolvedSize === 'xs' ? 'meta' : 'body'}\n tone={showFallbackTint ? undefined : 'muted'}\n className=\"text-center\"\n style={showFallbackTint && textColor ? { color: textColor } : undefined}\n >\n {initial}\n </Txt>\n )}\n </div>\n );\n}\n","import { Avatar as BaseAvatar } from '@base-ui/react/avatar';\nimport { useContext } from 'react';\n\nimport { AvatarSizeContext, avatarSizeClasses, type AvatarSize } from './avatar-size';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarRootProps = Omit<BaseAvatar.Root.Props, 'className'> & {\n size?: AvatarSize;\n className?: string;\n name?: never;\n};\n\nexport function AvatarRoot({ size, className, ...props }: AvatarRootProps) {\n const contextSize = useContext(AvatarSizeContext);\n const resolvedSize = size ?? contextSize ?? 'sm';\n\n return (\n <AvatarSizeContext.Provider value={resolvedSize}>\n <BaseAvatar.Root\n {...props}\n data-slot=\"avatar\"\n data-size={resolvedSize}\n className={cn(\n 'relative inline-flex shrink-0 rounded-full select-none',\n 'after:pointer-events-none after:absolute after:inset-0 after:rounded-full after:border after:border-border',\n avatarSizeClasses[resolvedSize],\n className,\n )}\n />\n </AvatarSizeContext.Provider>\n );\n}\n","import { AvatarNamed, type AvatarProps } from './avatar-named';\nimport { AvatarRoot, type AvatarRootProps } from './avatar-root';\n\nexport function AvatarElement(props: AvatarProps | AvatarRootProps) {\n if (props.name === undefined) return <AvatarRoot {...props} />;\n return <AvatarNamed {...props} />;\n}\n","import { Avatar as BaseAvatar } from '@base-ui/react/avatar';\nimport { useContext } from 'react';\n\nimport { AvatarSizeContext, avatarIconClasses, avatarTextClasses } from './avatar-size';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarFallbackProps = Omit<BaseAvatar.Fallback.Props, 'className'> & {\n className?: string;\n};\n\nexport function AvatarFallback({ className, ...props }: AvatarFallbackProps) {\n const size = useContext(AvatarSizeContext) ?? 'sm';\n\n return (\n <BaseAvatar.Fallback\n {...props}\n data-slot=\"avatar-fallback\"\n className={cn(\n 'flex size-full items-center justify-center overflow-hidden rounded-full bg-muted text-muted-foreground',\n avatarTextClasses[size],\n avatarIconClasses[size],\n className,\n )}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { AvatarSizeContext, type AvatarSize } from './avatar-size';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarGroupProps = ComponentProps<'div'> & {\n size?: AvatarSize;\n};\n\nexport function AvatarGroup({ size, className, ...props }: AvatarGroupProps) {\n return (\n <AvatarSizeContext.Provider value={size}>\n <div\n {...props}\n data-slot=\"avatar-group\"\n className={cn('flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-card', className)}\n />\n </AvatarSizeContext.Provider>\n );\n}\n","import { useContext, type ComponentProps } from 'react';\n\nimport { AvatarSizeContext, avatarIconClasses, avatarSizeClasses, avatarTextClasses } from './avatar-size';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarGroupCountProps = ComponentProps<'div'>;\n\nexport function AvatarGroupCount({ className, ...props }: AvatarGroupCountProps) {\n const size = useContext(AvatarSizeContext) ?? 'sm';\n\n return (\n <div\n {...props}\n data-slot=\"avatar-group-count\"\n data-size={size}\n className={cn(\n 'relative flex shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground tabular-nums ring-2 ring-card',\n avatarSizeClasses[size],\n avatarTextClasses[size],\n avatarIconClasses[size],\n className,\n )}\n />\n );\n}\n","import { Avatar as BaseAvatar } from '@base-ui/react/avatar';\n\nimport { cn } from '@/lib/utils';\n\nexport type AvatarImageProps = Omit<BaseAvatar.Image.Props, 'className' | 'alt'> & {\n alt: string;\n className?: string;\n};\n\nexport function AvatarImage({ className, ...props }: AvatarImageProps) {\n return (\n <BaseAvatar.Image\n {...props}\n data-slot=\"avatar-image\"\n className={cn('size-full rounded-full object-cover', className)}\n />\n );\n}\n","import { AvatarBadge } from './avatar-badge';\nimport { AvatarElement } from './avatar-element';\nimport { AvatarFallback } from './avatar-fallback';\nimport { AvatarGroup } from './avatar-group';\nimport { AvatarGroupCount } from './avatar-group-count';\nimport { AvatarImage } from './avatar-image';\n\nexport type { AvatarSize } from './avatar-size';\nexport type { AvatarProps } from './avatar-named';\nexport type { AvatarRootProps } from './avatar-root';\nexport type { AvatarImageProps } from './avatar-image';\nexport type { AvatarFallbackProps } from './avatar-fallback';\nexport type { AvatarBadgeProps, AvatarBadgeTone } from './avatar-badge';\nexport type { AvatarGroupProps } from './avatar-group';\nexport type { AvatarGroupCountProps } from './avatar-group-count';\n\nexport const Avatar = Object.assign(AvatarElement, {\n Image: AvatarImage,\n Fallback: AvatarFallback,\n Badge: AvatarBadge,\n Group: AvatarGroup,\n GroupCount: AvatarGroupCount,\n});\n"],"names":["BaseAvatar"],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const React = require('react');
5
+ const utils_cn = require('./cn-TqD01zH-.cjs');
6
+ const Txt = require('./Txt-DXjXpX9r.cjs');
7
+ const primitives_transitions = require('./primitives/transitions.cjs.js');
8
+ const avatar = require('@base-ui/react/avatar');
9
+
10
+ const avatarSizeClasses = {
11
+ xs: "size-icon-xs",
12
+ sm: "size-avatar-sm",
13
+ md: "size-avatar-md",
14
+ lg: "size-avatar-lg",
15
+ control: "size-control-md"
16
+ };
17
+ const avatarTextClasses = {
18
+ xs: "text-meta",
19
+ sm: "text-caption",
20
+ md: "text-body-sm",
21
+ lg: "text-body",
22
+ control: "text-body-sm"
23
+ };
24
+ const avatarIconClasses = {
25
+ xs: "[&>svg]:hidden",
26
+ sm: "[&>svg]:size-icon-xs",
27
+ md: "[&>svg]:size-icon-sm",
28
+ lg: "[&>svg]:size-icon-sm",
29
+ control: "[&>svg]:size-icon-sm"
30
+ };
31
+ const AvatarSizeContext = React.createContext(void 0);
32
+
33
+ const toneClasses = {
34
+ neutral: "bg-fill-inverse text-background",
35
+ success: "bg-success-indicator text-background",
36
+ warning: "bg-warning-indicator text-background",
37
+ destructive: "bg-destructive-indicator text-background",
38
+ info: "bg-info-indicator text-background"
39
+ };
40
+ const badgeSizeClasses = {
41
+ xs: "min-h-1.5 min-w-1.5 [&>svg]:hidden",
42
+ sm: "min-h-2 min-w-2 [&>svg]:hidden",
43
+ md: "min-h-2.5 min-w-2.5 [&>svg]:size-icon-xs",
44
+ lg: "min-h-3 min-w-3 [&>svg]:size-icon-xs",
45
+ control: "min-h-2.5 min-w-2.5 [&>svg]:size-icon-xs"
46
+ };
47
+ function AvatarBadge({ tone, className, children, ...props }) {
48
+ const size = React.useContext(AvatarSizeContext) ?? "sm";
49
+ return /* @__PURE__ */ jsxRuntime.jsx(
50
+ "span",
51
+ {
52
+ ...props,
53
+ "data-slot": "avatar-badge",
54
+ className: utils_cn.cn(
55
+ "absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full ring-2 ring-card select-none",
56
+ "[&>[data-slot=avatar]]:border-0 [&>[data-slot=avatar]]:after:hidden",
57
+ "after:pointer-events-none after:absolute after:inset-0 after:rounded-full after:shadow-inset",
58
+ tone ? toneClasses[tone] : "bg-card text-foreground",
59
+ badgeSizeClasses[size],
60
+ className
61
+ ),
62
+ children: /* @__PURE__ */ jsxRuntime.jsx(AvatarSizeContext.Provider, { value: "xs", children })
63
+ }
64
+ );
65
+ }
66
+
67
+ function AvatarNamed({ src, name, size, interactive = false, color, textColor }) {
68
+ const contextSize = React.useContext(AvatarSizeContext);
69
+ const [didError, setDidError] = React.useState(false);
70
+ const resolvedSize = size ?? contextSize ?? "sm";
71
+ const initial = name.trim()[0]?.toUpperCase() ?? "A";
72
+ const showImage = Boolean(src) && !didError;
73
+ const showFallbackTint = !showImage && Boolean(color);
74
+ return /* @__PURE__ */ jsxRuntime.jsx(
75
+ "div",
76
+ {
77
+ "data-slot": "avatar",
78
+ "data-size": resolvedSize,
79
+ className: utils_cn.cn(
80
+ avatarSizeClasses[resolvedSize],
81
+ "flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-border",
82
+ !showFallbackTint && "bg-fill",
83
+ primitives_transitions.controlStateColorTransition,
84
+ interactive && "cursor-pointer hover:border-border-hover"
85
+ ),
86
+ style: showFallbackTint ? { backgroundColor: color } : void 0,
87
+ children: showImage ? /* @__PURE__ */ jsxRuntime.jsx("img", { src, alt: name, className: "size-full object-cover", onError: () => setDidError(true) }) : /* @__PURE__ */ jsxRuntime.jsx(
88
+ Txt.Txt,
89
+ {
90
+ variant: resolvedSize === "xs" ? "meta" : "body",
91
+ tone: showFallbackTint ? void 0 : "muted",
92
+ className: "text-center",
93
+ style: showFallbackTint && textColor ? { color: textColor } : void 0,
94
+ children: initial
95
+ }
96
+ )
97
+ }
98
+ );
99
+ }
100
+
101
+ function AvatarRoot({ size, className, ...props }) {
102
+ const contextSize = React.useContext(AvatarSizeContext);
103
+ const resolvedSize = size ?? contextSize ?? "sm";
104
+ return /* @__PURE__ */ jsxRuntime.jsx(AvatarSizeContext.Provider, { value: resolvedSize, children: /* @__PURE__ */ jsxRuntime.jsx(
105
+ avatar.Avatar.Root,
106
+ {
107
+ ...props,
108
+ "data-slot": "avatar",
109
+ "data-size": resolvedSize,
110
+ className: utils_cn.cn(
111
+ "relative inline-flex shrink-0 rounded-full select-none",
112
+ "after:pointer-events-none after:absolute after:inset-0 after:rounded-full after:border after:border-border",
113
+ avatarSizeClasses[resolvedSize],
114
+ className
115
+ )
116
+ }
117
+ ) });
118
+ }
119
+
120
+ function AvatarElement(props) {
121
+ if (props.name === void 0) return /* @__PURE__ */ jsxRuntime.jsx(AvatarRoot, { ...props });
122
+ return /* @__PURE__ */ jsxRuntime.jsx(AvatarNamed, { ...props });
123
+ }
124
+
125
+ function AvatarFallback({ className, ...props }) {
126
+ const size = React.useContext(AvatarSizeContext) ?? "sm";
127
+ return /* @__PURE__ */ jsxRuntime.jsx(
128
+ avatar.Avatar.Fallback,
129
+ {
130
+ ...props,
131
+ "data-slot": "avatar-fallback",
132
+ className: utils_cn.cn(
133
+ "flex size-full items-center justify-center overflow-hidden rounded-full bg-muted text-muted-foreground",
134
+ avatarTextClasses[size],
135
+ avatarIconClasses[size],
136
+ className
137
+ )
138
+ }
139
+ );
140
+ }
141
+
142
+ function AvatarGroup({ size, className, ...props }) {
143
+ return /* @__PURE__ */ jsxRuntime.jsx(AvatarSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsxRuntime.jsx(
144
+ "div",
145
+ {
146
+ ...props,
147
+ "data-slot": "avatar-group",
148
+ className: utils_cn.cn("flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-card", className)
149
+ }
150
+ ) });
151
+ }
152
+
153
+ function AvatarGroupCount({ className, ...props }) {
154
+ const size = React.useContext(AvatarSizeContext) ?? "sm";
155
+ return /* @__PURE__ */ jsxRuntime.jsx(
156
+ "div",
157
+ {
158
+ ...props,
159
+ "data-slot": "avatar-group-count",
160
+ "data-size": size,
161
+ className: utils_cn.cn(
162
+ "relative flex shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground tabular-nums ring-2 ring-card",
163
+ avatarSizeClasses[size],
164
+ avatarTextClasses[size],
165
+ avatarIconClasses[size],
166
+ className
167
+ )
168
+ }
169
+ );
170
+ }
171
+
172
+ function AvatarImage({ className, ...props }) {
173
+ return /* @__PURE__ */ jsxRuntime.jsx(
174
+ avatar.Avatar.Image,
175
+ {
176
+ ...props,
177
+ "data-slot": "avatar-image",
178
+ className: utils_cn.cn("size-full rounded-full object-cover", className)
179
+ }
180
+ );
181
+ }
182
+
183
+ const Avatar = Object.assign(AvatarElement, {
184
+ Image: AvatarImage,
185
+ Fallback: AvatarFallback,
186
+ Badge: AvatarBadge,
187
+ Group: AvatarGroup,
188
+ GroupCount: AvatarGroupCount
189
+ });
190
+
191
+ exports.Avatar = Avatar;
192
+ //# sourceMappingURL=Avatar-D6ybWljK.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Avatar-D6ybWljK.cjs","sources":["../src/ds/components/Avatar/avatar-size.ts","../src/ds/components/Avatar/avatar-badge.tsx","../src/ds/components/Avatar/avatar-named.tsx","../src/ds/components/Avatar/avatar-root.tsx","../src/ds/components/Avatar/avatar-element.tsx","../src/ds/components/Avatar/avatar-fallback.tsx","../src/ds/components/Avatar/avatar-group.tsx","../src/ds/components/Avatar/avatar-group-count.tsx","../src/ds/components/Avatar/avatar-image.tsx","../src/ds/components/Avatar/Avatar.tsx"],"sourcesContent":["import { createContext } from 'react';\n\nexport type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'control';\n\nexport const avatarSizeClasses: Record<AvatarSize, string> = {\n xs: 'size-icon-xs',\n sm: 'size-avatar-sm',\n md: 'size-avatar-md',\n lg: 'size-avatar-lg',\n control: 'size-control-md',\n};\n\nexport const avatarTextClasses: Record<AvatarSize, string> = {\n xs: 'text-meta',\n sm: 'text-caption',\n md: 'text-body-sm',\n lg: 'text-body',\n control: 'text-body-sm',\n};\n\nexport const avatarIconClasses: Record<AvatarSize, string> = {\n xs: '[&>svg]:hidden',\n sm: '[&>svg]:size-icon-xs',\n md: '[&>svg]:size-icon-sm',\n lg: '[&>svg]:size-icon-sm',\n control: '[&>svg]:size-icon-sm',\n};\n\nexport const AvatarSizeContext = createContext<AvatarSize | undefined>(undefined);\n","import { useContext, type ComponentProps } from 'react';\n\nimport { AvatarSizeContext, type AvatarSize } from './avatar-size';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarBadgeTone = 'neutral' | 'success' | 'warning' | 'destructive' | 'info';\n\nexport type AvatarBadgeProps = ComponentProps<'span'> & {\n tone?: AvatarBadgeTone;\n};\n\nconst toneClasses: Record<AvatarBadgeTone, string> = {\n neutral: 'bg-fill-inverse text-background',\n success: 'bg-success-indicator text-background',\n warning: 'bg-warning-indicator text-background',\n destructive: 'bg-destructive-indicator text-background',\n info: 'bg-info-indicator text-background',\n};\n\nconst badgeSizeClasses: Record<AvatarSize, string> = {\n xs: 'min-h-1.5 min-w-1.5 [&>svg]:hidden',\n sm: 'min-h-2 min-w-2 [&>svg]:hidden',\n md: 'min-h-2.5 min-w-2.5 [&>svg]:size-icon-xs',\n lg: 'min-h-3 min-w-3 [&>svg]:size-icon-xs',\n control: 'min-h-2.5 min-w-2.5 [&>svg]:size-icon-xs',\n};\n\nexport function AvatarBadge({ tone, className, children, ...props }: AvatarBadgeProps) {\n const size = useContext(AvatarSizeContext) ?? 'sm';\n\n return (\n <span\n {...props}\n data-slot=\"avatar-badge\"\n className={cn(\n 'absolute right-0 bottom-0 z-10 inline-flex items-center justify-center rounded-full ring-2 ring-card select-none',\n '[&>[data-slot=avatar]]:border-0 [&>[data-slot=avatar]]:after:hidden',\n 'after:pointer-events-none after:absolute after:inset-0 after:rounded-full after:shadow-inset',\n tone ? toneClasses[tone] : 'bg-card text-foreground',\n badgeSizeClasses[size],\n className,\n )}\n >\n <AvatarSizeContext.Provider value=\"xs\">{children}</AvatarSizeContext.Provider>\n </span>\n );\n}\n","import { useContext, useState } from 'react';\n\nimport { Txt } from '../Txt/Txt';\nimport { AvatarSizeContext, avatarSizeClasses, type AvatarSize } from './avatar-size';\nimport { controlStateColorTransition } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarProps = {\n src?: string;\n name: string;\n size?: AvatarSize;\n interactive?: boolean;\n color?: string;\n textColor?: string;\n};\n\nexport function AvatarNamed({ src, name, size, interactive = false, color, textColor }: AvatarProps) {\n const contextSize = useContext(AvatarSizeContext);\n const [didError, setDidError] = useState(false);\n const resolvedSize = size ?? contextSize ?? 'sm';\n const initial = name.trim()[0]?.toUpperCase() ?? 'A';\n const showImage = Boolean(src) && !didError;\n const showFallbackTint = !showImage && Boolean(color);\n\n return (\n <div\n data-slot=\"avatar\"\n data-size={resolvedSize}\n className={cn(\n avatarSizeClasses[resolvedSize],\n 'flex shrink-0 items-center justify-center overflow-hidden rounded-full border border-border',\n !showFallbackTint && 'bg-fill',\n controlStateColorTransition,\n interactive && 'cursor-pointer hover:border-border-hover',\n )}\n style={showFallbackTint ? { backgroundColor: color } : undefined}\n >\n {showImage ? (\n <img src={src} alt={name} className=\"size-full object-cover\" onError={() => setDidError(true)} />\n ) : (\n <Txt\n variant={resolvedSize === 'xs' ? 'meta' : 'body'}\n tone={showFallbackTint ? undefined : 'muted'}\n className=\"text-center\"\n style={showFallbackTint && textColor ? { color: textColor } : undefined}\n >\n {initial}\n </Txt>\n )}\n </div>\n );\n}\n","import { Avatar as BaseAvatar } from '@base-ui/react/avatar';\nimport { useContext } from 'react';\n\nimport { AvatarSizeContext, avatarSizeClasses, type AvatarSize } from './avatar-size';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarRootProps = Omit<BaseAvatar.Root.Props, 'className'> & {\n size?: AvatarSize;\n className?: string;\n name?: never;\n};\n\nexport function AvatarRoot({ size, className, ...props }: AvatarRootProps) {\n const contextSize = useContext(AvatarSizeContext);\n const resolvedSize = size ?? contextSize ?? 'sm';\n\n return (\n <AvatarSizeContext.Provider value={resolvedSize}>\n <BaseAvatar.Root\n {...props}\n data-slot=\"avatar\"\n data-size={resolvedSize}\n className={cn(\n 'relative inline-flex shrink-0 rounded-full select-none',\n 'after:pointer-events-none after:absolute after:inset-0 after:rounded-full after:border after:border-border',\n avatarSizeClasses[resolvedSize],\n className,\n )}\n />\n </AvatarSizeContext.Provider>\n );\n}\n","import { AvatarNamed, type AvatarProps } from './avatar-named';\nimport { AvatarRoot, type AvatarRootProps } from './avatar-root';\n\nexport function AvatarElement(props: AvatarProps | AvatarRootProps) {\n if (props.name === undefined) return <AvatarRoot {...props} />;\n return <AvatarNamed {...props} />;\n}\n","import { Avatar as BaseAvatar } from '@base-ui/react/avatar';\nimport { useContext } from 'react';\n\nimport { AvatarSizeContext, avatarIconClasses, avatarTextClasses } from './avatar-size';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarFallbackProps = Omit<BaseAvatar.Fallback.Props, 'className'> & {\n className?: string;\n};\n\nexport function AvatarFallback({ className, ...props }: AvatarFallbackProps) {\n const size = useContext(AvatarSizeContext) ?? 'sm';\n\n return (\n <BaseAvatar.Fallback\n {...props}\n data-slot=\"avatar-fallback\"\n className={cn(\n 'flex size-full items-center justify-center overflow-hidden rounded-full bg-muted text-muted-foreground',\n avatarTextClasses[size],\n avatarIconClasses[size],\n className,\n )}\n />\n );\n}\n","import type { ComponentProps } from 'react';\n\nimport { AvatarSizeContext, type AvatarSize } from './avatar-size';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarGroupProps = ComponentProps<'div'> & {\n size?: AvatarSize;\n};\n\nexport function AvatarGroup({ size, className, ...props }: AvatarGroupProps) {\n return (\n <AvatarSizeContext.Provider value={size}>\n <div\n {...props}\n data-slot=\"avatar-group\"\n className={cn('flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-card', className)}\n />\n </AvatarSizeContext.Provider>\n );\n}\n","import { useContext, type ComponentProps } from 'react';\n\nimport { AvatarSizeContext, avatarIconClasses, avatarSizeClasses, avatarTextClasses } from './avatar-size';\nimport { cn } from '@/lib/utils';\n\nexport type AvatarGroupCountProps = ComponentProps<'div'>;\n\nexport function AvatarGroupCount({ className, ...props }: AvatarGroupCountProps) {\n const size = useContext(AvatarSizeContext) ?? 'sm';\n\n return (\n <div\n {...props}\n data-slot=\"avatar-group-count\"\n data-size={size}\n className={cn(\n 'relative flex shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground tabular-nums ring-2 ring-card',\n avatarSizeClasses[size],\n avatarTextClasses[size],\n avatarIconClasses[size],\n className,\n )}\n />\n );\n}\n","import { Avatar as BaseAvatar } from '@base-ui/react/avatar';\n\nimport { cn } from '@/lib/utils';\n\nexport type AvatarImageProps = Omit<BaseAvatar.Image.Props, 'className' | 'alt'> & {\n alt: string;\n className?: string;\n};\n\nexport function AvatarImage({ className, ...props }: AvatarImageProps) {\n return (\n <BaseAvatar.Image\n {...props}\n data-slot=\"avatar-image\"\n className={cn('size-full rounded-full object-cover', className)}\n />\n );\n}\n","import { AvatarBadge } from './avatar-badge';\nimport { AvatarElement } from './avatar-element';\nimport { AvatarFallback } from './avatar-fallback';\nimport { AvatarGroup } from './avatar-group';\nimport { AvatarGroupCount } from './avatar-group-count';\nimport { AvatarImage } from './avatar-image';\n\nexport type { AvatarSize } from './avatar-size';\nexport type { AvatarProps } from './avatar-named';\nexport type { AvatarRootProps } from './avatar-root';\nexport type { AvatarImageProps } from './avatar-image';\nexport type { AvatarFallbackProps } from './avatar-fallback';\nexport type { AvatarBadgeProps, AvatarBadgeTone } from './avatar-badge';\nexport type { AvatarGroupProps } from './avatar-group';\nexport type { AvatarGroupCountProps } from './avatar-group-count';\n\nexport const Avatar = Object.assign(AvatarElement, {\n Image: AvatarImage,\n Fallback: AvatarFallback,\n Badge: AvatarBadge,\n Group: AvatarGroup,\n GroupCount: AvatarGroupCount,\n});\n"],"names":["createContext","useContext","jsx","cn","useState","controlStateColorTransition","Txt","BaseAvatar"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import { B as Button } from './Button-C8QDEN9j.js';
3
+ import { D as Dialog, k as DialogTrigger, g as DialogHeader, f as DialogFooter, a as DialogBody, j as DialogTitle, e as DialogDescription, b as DialogCancel, d as DialogContent, c as DialogClose, l as dialogActionSizeClasses, m as dialogActionLayoutClasses } from './dialog-DlZmNahd.js';
4
+ import { c as cn } from './cn-coERSHz5.js';
5
+
6
+ function AlertDialog(props) {
7
+ return /* @__PURE__ */ jsx(Dialog, { ...props, modal: true, disablePointerDismissal: true });
8
+ }
9
+ function AlertDialogContent({ size = "sm", ...props }) {
10
+ return /* @__PURE__ */ jsx(DialogContent, { "data-slot": "alert-dialog-content", size, showCloseButton: false, ...props, role: "alertdialog" });
11
+ }
12
+ function AlertDialogAction({ children, ...props }) {
13
+ return /* @__PURE__ */ jsx(
14
+ DialogClose,
15
+ {
16
+ render: /* @__PURE__ */ jsx(
17
+ Button,
18
+ {
19
+ variant: "primary",
20
+ size: "md",
21
+ className: cn(dialogActionLayoutClasses, dialogActionSizeClasses.md),
22
+ children
23
+ }
24
+ ),
25
+ ...props
26
+ }
27
+ );
28
+ }
29
+ AlertDialog.Trigger = DialogTrigger;
30
+ AlertDialog.Content = AlertDialogContent;
31
+ AlertDialog.Header = DialogHeader;
32
+ AlertDialog.Footer = DialogFooter;
33
+ AlertDialog.Body = DialogBody;
34
+ AlertDialog.Title = DialogTitle;
35
+ AlertDialog.Description = DialogDescription;
36
+ AlertDialog.Action = AlertDialogAction;
37
+ AlertDialog.Cancel = DialogCancel;
38
+
39
+ export { AlertDialog as A };
40
+ //# sourceMappingURL=alert-dialog-R9z2SJLl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog-R9z2SJLl.js","sources":["../src/ds/components/AlertDialog/alert-dialog.tsx"],"sourcesContent":["import type * as React from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport {\n Dialog,\n DialogBody,\n DialogCancel,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from '@/ds/components/Dialog';\nimport type { DialogProps } from '@/ds/components/Dialog';\nimport { dialogActionLayoutClasses, dialogActionSizeClasses } from '@/ds/components/Dialog/dialog-context';\nimport { cn } from '@/lib/utils';\n\ntype AlertDialogProps = Omit<DialogProps, 'intent' | 'pending' | 'modal' | 'disablePointerDismissal'>;\n\n// base-ui's AlertDialog is its Dialog with these three settings, so it shares Dialog's phone drawer.\nfunction AlertDialog(props: AlertDialogProps) {\n return <Dialog {...props} modal disablePointerDismissal />;\n}\n\ntype AlertDialogContentProps = Omit<\n React.ComponentProps<typeof DialogContent>,\n 'showCloseButton' | 'showOverlay' | 'overlayClassName' | 'role'\n>;\n\nfunction AlertDialogContent({ size = 'sm', ...props }: AlertDialogContentProps) {\n return (\n <DialogContent data-slot=\"alert-dialog-content\" size={size} showCloseButton={false} {...props} role=\"alertdialog\" />\n );\n}\n\nfunction AlertDialogAction({ children, ...props }: React.ComponentProps<typeof DialogClose>) {\n return (\n <DialogClose\n render={\n <Button\n variant=\"primary\"\n size=\"md\"\n className={cn(dialogActionLayoutClasses, dialogActionSizeClasses.md)}\n children={children}\n />\n }\n {...props}\n />\n );\n}\n\nAlertDialog.Trigger = DialogTrigger;\nAlertDialog.Content = AlertDialogContent;\nAlertDialog.Header = DialogHeader;\nAlertDialog.Footer = DialogFooter;\nAlertDialog.Body = DialogBody;\nAlertDialog.Title = DialogTitle;\nAlertDialog.Description = DialogDescription;\nAlertDialog.Action = AlertDialogAction;\nAlertDialog.Cancel = DialogCancel;\n\nexport { AlertDialog };\n"],"names":[],"mappings":";;;;;AAsBA,SAAS,YAAY,KAAA,EAAyB;AAC5C,EAAA,2BAAQ,MAAA,EAAA,EAAQ,GAAG,OAAO,KAAA,EAAK,IAAA,EAAC,yBAAuB,IAAA,EAAC,CAAA;AAC1D;AAOA,SAAS,mBAAmB,EAAE,IAAA,GAAO,IAAA,EAAM,GAAG,OAAM,EAA4B;AAC9E,EAAA,uBACE,GAAA,CAAC,aAAA,EAAA,EAAc,WAAA,EAAU,sBAAA,EAAuB,IAAA,EAAY,iBAAiB,KAAA,EAAQ,GAAG,KAAA,EAAO,IAAA,EAAK,aAAA,EAAc,CAAA;AAEtH;AAEA,SAAS,iBAAA,CAAkB,EAAE,QAAA,EAAU,GAAG,OAAM,EAA6C;AAC3F,EAAA,uBACE,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,MAAA,kBACE,GAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,SAAA;AAAA,UACR,IAAA,EAAK,IAAA;AAAA,UACL,SAAA,EAAW,EAAA,CAAG,yBAAA,EAA2B,uBAAA,CAAwB,EAAE,CAAA;AAAA,UACnE;AAAA;AAAA,OACF;AAAA,MAED,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,WAAA,CAAY,OAAA,GAAU,aAAA;AACtB,WAAA,CAAY,OAAA,GAAU,kBAAA;AACtB,WAAA,CAAY,MAAA,GAAS,YAAA;AACrB,WAAA,CAAY,MAAA,GAAS,YAAA;AACrB,WAAA,CAAY,IAAA,GAAO,UAAA;AACnB,WAAA,CAAY,KAAA,GAAQ,WAAA;AACpB,WAAA,CAAY,WAAA,GAAc,iBAAA;AAC1B,WAAA,CAAY,MAAA,GAAS,iBAAA;AACrB,WAAA,CAAY,MAAA,GAAS,YAAA;;;;"}
@@ -0,0 +1,42 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const Button = require('./Button-BfZzgZrA.cjs');
5
+ const dialog = require('./dialog-DQI9ChYf.cjs');
6
+ const utils_cn = require('./cn-TqD01zH-.cjs');
7
+
8
+ function AlertDialog(props) {
9
+ return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { ...props, modal: true, disablePointerDismissal: true });
10
+ }
11
+ function AlertDialogContent({ size = "sm", ...props }) {
12
+ return /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogContent, { "data-slot": "alert-dialog-content", size, showCloseButton: false, ...props, role: "alertdialog" });
13
+ }
14
+ function AlertDialogAction({ children, ...props }) {
15
+ return /* @__PURE__ */ jsxRuntime.jsx(
16
+ dialog.DialogClose,
17
+ {
18
+ render: /* @__PURE__ */ jsxRuntime.jsx(
19
+ Button.Button,
20
+ {
21
+ variant: "primary",
22
+ size: "md",
23
+ className: utils_cn.cn(dialog.dialogActionLayoutClasses, dialog.dialogActionSizeClasses.md),
24
+ children
25
+ }
26
+ ),
27
+ ...props
28
+ }
29
+ );
30
+ }
31
+ AlertDialog.Trigger = dialog.DialogTrigger;
32
+ AlertDialog.Content = AlertDialogContent;
33
+ AlertDialog.Header = dialog.DialogHeader;
34
+ AlertDialog.Footer = dialog.DialogFooter;
35
+ AlertDialog.Body = dialog.DialogBody;
36
+ AlertDialog.Title = dialog.DialogTitle;
37
+ AlertDialog.Description = dialog.DialogDescription;
38
+ AlertDialog.Action = AlertDialogAction;
39
+ AlertDialog.Cancel = dialog.DialogCancel;
40
+
41
+ exports.AlertDialog = AlertDialog;
42
+ //# sourceMappingURL=alert-dialog-j626w-Qb.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alert-dialog-j626w-Qb.cjs","sources":["../src/ds/components/AlertDialog/alert-dialog.tsx"],"sourcesContent":["import type * as React from 'react';\n\nimport { Button } from '@/ds/components/Button';\nimport {\n Dialog,\n DialogBody,\n DialogCancel,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from '@/ds/components/Dialog';\nimport type { DialogProps } from '@/ds/components/Dialog';\nimport { dialogActionLayoutClasses, dialogActionSizeClasses } from '@/ds/components/Dialog/dialog-context';\nimport { cn } from '@/lib/utils';\n\ntype AlertDialogProps = Omit<DialogProps, 'intent' | 'pending' | 'modal' | 'disablePointerDismissal'>;\n\n// base-ui's AlertDialog is its Dialog with these three settings, so it shares Dialog's phone drawer.\nfunction AlertDialog(props: AlertDialogProps) {\n return <Dialog {...props} modal disablePointerDismissal />;\n}\n\ntype AlertDialogContentProps = Omit<\n React.ComponentProps<typeof DialogContent>,\n 'showCloseButton' | 'showOverlay' | 'overlayClassName' | 'role'\n>;\n\nfunction AlertDialogContent({ size = 'sm', ...props }: AlertDialogContentProps) {\n return (\n <DialogContent data-slot=\"alert-dialog-content\" size={size} showCloseButton={false} {...props} role=\"alertdialog\" />\n );\n}\n\nfunction AlertDialogAction({ children, ...props }: React.ComponentProps<typeof DialogClose>) {\n return (\n <DialogClose\n render={\n <Button\n variant=\"primary\"\n size=\"md\"\n className={cn(dialogActionLayoutClasses, dialogActionSizeClasses.md)}\n children={children}\n />\n }\n {...props}\n />\n );\n}\n\nAlertDialog.Trigger = DialogTrigger;\nAlertDialog.Content = AlertDialogContent;\nAlertDialog.Header = DialogHeader;\nAlertDialog.Footer = DialogFooter;\nAlertDialog.Body = DialogBody;\nAlertDialog.Title = DialogTitle;\nAlertDialog.Description = DialogDescription;\nAlertDialog.Action = AlertDialogAction;\nAlertDialog.Cancel = DialogCancel;\n\nexport { AlertDialog };\n"],"names":["Dialog","jsx","DialogContent","DialogClose","Button","cn","dialogActionLayoutClasses","dialogActionSizeClasses","DialogTrigger","DialogHeader","DialogFooter","DialogBody","DialogTitle","DialogDescription","DialogCancel"],"mappings":";;;;;;;AAsBA,SAAS,YAAY,KAAA,EAAyB;AAC5C,EAAA,sCAAQA,aAAA,EAAA,EAAQ,GAAG,OAAO,KAAA,EAAK,IAAA,EAAC,yBAAuB,IAAA,EAAC,CAAA;AAC1D;AAOA,SAAS,mBAAmB,EAAE,IAAA,GAAO,IAAA,EAAM,GAAG,OAAM,EAA4B;AAC9E,EAAA,uBACEC,cAAA,CAACC,oBAAA,EAAA,EAAc,WAAA,EAAU,sBAAA,EAAuB,IAAA,EAAY,iBAAiB,KAAA,EAAQ,GAAG,KAAA,EAAO,IAAA,EAAK,aAAA,EAAc,CAAA;AAEtH;AAEA,SAAS,iBAAA,CAAkB,EAAE,QAAA,EAAU,GAAG,OAAM,EAA6C;AAC3F,EAAA,uBACED,cAAA;AAAA,IAACE,kBAAA;AAAA,IAAA;AAAA,MACC,MAAA,kBACEF,cAAA;AAAA,QAACG,aAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,SAAA;AAAA,UACR,IAAA,EAAK,IAAA;AAAA,UACL,SAAA,EAAWC,WAAA,CAAGC,gCAAA,EAA2BC,8BAAA,CAAwB,EAAE,CAAA;AAAA,UACnE;AAAA;AAAA,OACF;AAAA,MAED,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,WAAA,CAAY,OAAA,GAAUC,oBAAA;AACtB,WAAA,CAAY,OAAA,GAAU,kBAAA;AACtB,WAAA,CAAY,MAAA,GAASC,mBAAA;AACrB,WAAA,CAAY,MAAA,GAASC,mBAAA;AACrB,WAAA,CAAY,IAAA,GAAOC,iBAAA;AACnB,WAAA,CAAY,KAAA,GAAQC,kBAAA;AACpB,WAAA,CAAY,WAAA,GAAcC,wBAAA;AAC1B,WAAA,CAAY,MAAA,GAAS,iBAAA;AACrB,WAAA,CAAY,MAAA,GAASC,mBAAA;;;;"}
@@ -4,7 +4,7 @@ const jsxRuntime = require('react/jsx-runtime');
4
4
  const cmdk = require('cmdk');
5
5
  const lucideReact = require('lucide-react');
6
6
  const React = require('react');
7
- const dialog = require('./dialog-wL-fuFON.cjs');
7
+ const dialog = require('./dialog-DQI9ChYf.cjs');
8
8
  const scrollArea = require('./scroll-area-CVgjRzTS.cjs');
9
9
  const Txt = require('./Txt-DXjXpX9r.cjs');
10
10
  const primitives_fluidMenu = require('./primitives/fluid-menu.cjs.js');
@@ -45,7 +45,7 @@ const Command = React__namespace.forwardRef(({ className, ...props }, ref) => /*
45
45
  Command.displayName = cmdk.Command.displayName;
46
46
  const commandDialogContentClasses = {
47
47
  default: "overflow-hidden py-0",
48
- inset: "top-1/4 translate-y-0 overflow-hidden rounded-[calc(var(--radius-xl)+--spacing(1))] bg-muted p-1"
48
+ inset: "overflow-hidden sm:top-1/4 sm:translate-y-0 rounded-[calc(var(--radius-xl)+--spacing(1))] bg-muted p-1"
49
49
  };
50
50
  const commandDialogCommandClasses = {
51
51
  default: utils_cn.cn(
@@ -263,4 +263,4 @@ exports.CommandItem = CommandItem;
263
263
  exports.CommandList = CommandList;
264
264
  exports.CommandSeparator = CommandSeparator;
265
265
  exports.CommandShortcut = CommandShortcut;
266
- //# sourceMappingURL=command-Cx5QAS4E.cjs.map
266
+ //# sourceMappingURL=command-DbZ6CSAy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-DbZ6CSAy.cjs","sources":["../src/ds/components/Command/command.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport * as React from 'react';\n\nimport { Dialog, DialogContent, DialogDescription, DialogTitle } from '@/ds/components/Dialog';\nimport type { DialogSize } from '@/ds/components/Dialog';\nimport { ScrollArea, ScrollAreaViewport } from '@/ds/components/ScrollArea';\nimport type { ScrollAreaMask } from '@/ds/components/ScrollArea';\nimport { Txt } from '@/ds/components/Txt';\nimport { FluidMenuItems, useFluidMenu, useFluidMenuItemRef } from '@/ds/primitives/fluid-menu';\nimport { passwordManagerOptOutProps } from '@/ds/primitives/password-manager-autofill';\nimport { heightTransition, transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'flex size-full flex-col overflow-hidden rounded-xl bg-card text-muted-foreground in-data-[slot=dialog-content]:bg-transparent',\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ntype CommandDialogVariant = 'default' | 'inset';\n\nconst commandDialogContentClasses: Record<CommandDialogVariant, string> = {\n default: 'overflow-hidden py-0',\n inset: 'overflow-hidden sm:top-1/4 sm:translate-y-0 rounded-[calc(var(--radius-xl)+--spacing(1))] bg-muted p-1',\n};\n\nconst commandDialogCommandClasses: Record<CommandDialogVariant, string> = {\n default: cn(\n '[&_[data-slot=command-input-wrapper]_svg]:size-5',\n '**:[[cmdk-input]]:h-12',\n '[&_[cmdk-item]_svg]:size-5',\n ),\n inset: cn(\n 'gap-1',\n '[&_[data-slot=command-input-wrapper]_svg]:size-icon-md',\n '**:[[cmdk-input]]:h-11 **:[[cmdk-input]]:text-label',\n '[&_[cmdk-item]_svg]:size-icon-sm',\n '**:[[cmdk-empty]]:px-4 **:[[cmdk-empty]]:pt-3 **:[[cmdk-empty]]:pb-1 **:[[cmdk-empty]]:text-left **:[[cmdk-empty]]:text-caption',\n ),\n};\n\nconst commandDialogHeadingCase: Record<CommandDialogVariant, 'upper' | 'sentence'> = {\n default: 'upper',\n inset: 'sentence',\n};\n\nconst CommandDialogVariantContext = React.createContext<CommandDialogVariant>('default');\n\nconst CommandDialogBody = ({\n variant,\n footer,\n children,\n}: {\n variant: CommandDialogVariant;\n footer?: React.ReactNode;\n children?: React.ReactNode;\n}) => {\n if (variant === 'default') return children;\n\n return (\n <>\n <div\n data-slot=\"command-dialog-panel\"\n className=\"flex min-h-0 flex-1 flex-col overflow-hidden rounded-xl bg-background\"\n >\n {children}\n </div>\n {footer && (\n <div data-slot=\"command-dialog-footer\" className=\"flex items-center justify-between gap-3 pr-1\">\n {footer}\n </div>\n )}\n </>\n );\n};\n\ntype CommandDialogBaseProps = Omit<React.ComponentPropsWithoutRef<typeof Dialog>, 'children'> & {\n children?: React.ReactNode;\n title?: string;\n description?: string;\n size?: DialogSize;\n contentClassName?: string;\n commandClassName?: string;\n commandLabel?: string;\n showOverlay?: boolean;\n overlayClassName?: string;\n};\n\ntype CommandDialogProps = CommandDialogBaseProps &\n ({ variant?: 'default'; footer?: never } | { variant: 'inset'; footer?: React.ReactNode });\n\nconst CommandDialog = ({\n children,\n variant = 'default',\n footer,\n title = 'Command Palette',\n description = 'Search for commands and actions',\n size,\n contentClassName,\n commandClassName,\n commandLabel,\n showOverlay = false,\n overlayClassName,\n ...props\n}: CommandDialogProps) => {\n const filter = React.useCallback((value: string, search: string) => {\n const normalizedValue = value.toLowerCase();\n const normalizedSearch = search.toLowerCase();\n const searchTerms = normalizedSearch.split(/\\s+/).filter(Boolean);\n\n const matches = searchTerms.every(term => normalizedValue.includes(term));\n return matches ? 1 : 0;\n }, []);\n\n const handleKeyDown = React.useCallback((e: React.KeyboardEvent) => {\n if (e.key === 'Escape') return;\n\n e.stopPropagation();\n }, []);\n\n return (\n <Dialog {...props}>\n <DialogContent\n size={size}\n showOverlay={showOverlay}\n showCloseButton={variant !== 'inset'}\n overlayClassName={overlayClassName}\n className={cn(commandDialogContentClasses[variant], contentClassName)}\n >\n <DialogTitle className=\"sr-only\">{title}</DialogTitle>\n <DialogDescription className=\"sr-only\">{description}</DialogDescription>\n <Command\n label={commandLabel}\n loop\n filter={filter}\n onKeyDown={handleKeyDown}\n data-heading-case={commandDialogHeadingCase[variant]}\n className={cn(\n '**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:text-column **:[[cmdk-group-heading]]:text-muted-foreground',\n '[&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 **:[[cmdk-group]]:px-2',\n '**:[[cmdk-item]]:p-2',\n commandDialogCommandClasses[variant],\n commandClassName,\n )}\n >\n <CommandDialogVariantContext.Provider value={variant}>\n <CommandDialogBody variant={variant} footer={footer}>\n {children}\n </CommandDialogBody>\n </CommandDialogVariantContext.Provider>\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\ntype CommandInputProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input> & {\n rightSlot?: React.ReactNode;\n wrapperClassName?: string;\n};\n\nconst CommandInput = React.forwardRef<React.ElementRef<typeof CommandPrimitive.Input>, CommandInputProps>(\n ({ className, rightSlot, wrapperClassName, ...props }, ref) => (\n <div\n data-slot=\"command-input-wrapper\"\n className={cn('flex items-center border-b border-border px-3', transitions.colors, wrapperClassName)}\n >\n <Search className={cn('mr-2 size-4 shrink-0 text-muted-foreground', transitions.colors)} />\n {/* cmdk renders autocomplete=\"off\" itself; a command search is never a credential field. */}\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n 'flex h-8 min-w-0 flex-1 rounded-md bg-transparent py-2 text-body-sm text-foreground',\n 'placeholder:text-placeholder disabled:cursor-not-allowed disabled:opacity-50',\n 'outline-none focus:outline-none focus-visible:outline-none',\n transitions.colors,\n className,\n )}\n {...props}\n {...passwordManagerOptOutProps}\n />\n {rightSlot && (\n <div data-slot=\"command-input-right-slot\" className=\"ml-2 flex shrink-0 items-center text-muted-foreground\">\n {rightSlot}\n </div>\n )}\n </div>\n ),\n);\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\ntype CommandListProps = React.ComponentPropsWithoutRef<typeof CommandPrimitive.List> & {\n scrollArea?: boolean;\n scrollAreaClassName?: string;\n scrollAreaViewportClassName?: string;\n scrollAreaMask?: ScrollAreaMask;\n /** Extra classes for the travelling hover surface (e.g. a different radius). */\n highlightClassName?: string;\n};\n\nconst CommandList = React.forwardRef<React.ElementRef<typeof CommandPrimitive.List>, CommandListProps>(\n (\n {\n className,\n children,\n scrollArea = false,\n scrollAreaClassName,\n scrollAreaViewportClassName,\n scrollAreaMask,\n highlightClassName,\n ...props\n },\n ref,\n ) => {\n const menu = useFluidMenu<HTMLDivElement>({ activeAttr: 'data-selected' });\n const animateHeight = React.useContext(CommandDialogVariantContext) === 'inset';\n const list = (\n <CommandPrimitive.List\n className={cn(\n 'outline-none focus:outline-none focus-visible:outline-none',\n scrollArea ? 'overflow-visible' : 'max-h-dropdown overflow-x-hidden overflow-y-auto',\n animateHeight && cn('h-(--cmdk-list-height)', heightTransition),\n menu.containerClassName,\n className,\n )}\n {...props}\n {...menu.getContainerProps(props, ref)}\n >\n <FluidMenuItems menu={menu} className={highlightClassName}>\n {children}\n </FluidMenuItems>\n </CommandPrimitive.List>\n );\n\n if (!scrollArea) return list;\n\n return (\n <ScrollArea className={cn('min-h-0', scrollAreaClassName)} mask={scrollAreaMask}>\n <ScrollAreaViewport className={scrollAreaViewportClassName}>{list}</ScrollAreaViewport>\n </ScrollArea>\n );\n },\n);\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-body-sm text-muted-foreground\" {...props} />\n));\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'overflow-hidden p-1 text-muted-foreground',\n '**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:pt-1.5 **:[[cmdk-group-heading]]:pb-1 **:[[cmdk-group-heading]]:text-muted-foreground',\n '[&_[cmdk-group-heading]]:text-meta [&_[cmdk-group-heading]]:uppercase',\n 'in-data-[heading-case=sentence]:**:[[cmdk-group-heading]]:tracking-normal in-data-[heading-case=sentence]:**:[[cmdk-group-heading]]:normal-case',\n className,\n )}\n {...props}\n />\n));\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator ref={ref} className={cn('-mx-1 h-px bg-border', className)} {...props} />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={useFluidMenuItemRef(ref)}\n className={cn(\n 'relative flex cursor-pointer items-center gap-2.5 rounded-lg px-2 py-1.5 text-body-sm text-muted-foreground select-none',\n 'outline-none focus:outline-none focus-visible:outline-none',\n transitions.colors,\n 'data-[selected=true]:text-foreground',\n 'data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50',\n '[&_svg]:pointer-events-none [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted-foreground data-[selected=true]:[&>svg]:text-foreground',\n className,\n )}\n {...props}\n />\n));\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <Txt\n as=\"span\"\n variant=\"meta\"\n tone=\"muted\"\n className={cn('ml-auto tracking-wider tabular-nums', className)}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandSeparator,\n CommandShortcut,\n};\n"],"names":["React","jsx","CommandPrimitive","cn","jsxs","Fragment","Dialog","DialogContent","DialogTitle","DialogDescription","transitions","Search","passwordManagerOptOutProps","scrollArea","useFluidMenu","heightTransition","FluidMenuItems","ScrollArea","ScrollAreaViewport","useFluidMenuItemRef","Txt"],"mappings":"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"}