admin-ui-starter-kit 0.6.9 → 0.7.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 (1360) hide show
  1. package/.agents/skills/admin-ui-consumer-migration/SKILL.md +29 -1
  2. package/.agents/skills/admin-ui-consumer-migration/references/package-gap-surfaces.md +14 -0
  3. package/.agents/skills/admin-ui-consumer-migration/references/theme-overrides.md +172 -0
  4. package/.agents/skills/component-library-rules/SKILL.md +5 -4
  5. package/.agents/skills/component-library-rules/references/components/INDEX.json +23 -4
  6. package/.agents/skills/component-library-rules/references/components/INDEX.md +21 -2
  7. package/.agents/skills/component-library-rules/references/components/base__avatar.md +3 -3
  8. package/.agents/skills/component-library-rules/references/components/base__carousel.md +8 -5
  9. package/.agents/skills/component-library-rules/references/components/base__css-variables.md +1 -0
  10. package/.agents/skills/component-library-rules/references/components/base__currency.md +10 -11
  11. package/.agents/skills/component-library-rules/references/components/base__item.md +7 -7
  12. package/.agents/skills/component-library-rules/references/components/base__money-display.md +4 -0
  13. package/.agents/skills/component-library-rules/references/components/base__typography.md +3 -3
  14. package/.agents/skills/component-library-rules/references/components/composed__commerce-address-card.md +74 -0
  15. package/.agents/skills/component-library-rules/references/components/composed__commerce-cart-summary.md +84 -0
  16. package/.agents/skills/component-library-rules/references/components/composed__commerce-coupon-input.md +52 -0
  17. package/.agents/skills/component-library-rules/references/components/composed__commerce-discount-stack.md +58 -0
  18. package/.agents/skills/component-library-rules/references/components/composed__commerce-inventory-section.md +168 -0
  19. package/.agents/skills/component-library-rules/references/components/composed__commerce-loyalty-points.md +60 -0
  20. package/.agents/skills/component-library-rules/references/components/composed__commerce-order-status.md +62 -0
  21. package/.agents/skills/component-library-rules/references/components/composed__commerce-payment-method.md +58 -0
  22. package/.agents/skills/component-library-rules/references/components/composed__commerce-refund-status.md +58 -0
  23. package/.agents/skills/component-library-rules/references/components/composed__commerce-seo-listing.md +106 -0
  24. package/.agents/skills/component-library-rules/references/components/composed__commerce-shipment-tracking.md +65 -0
  25. package/.agents/skills/component-library-rules/references/components/composed__commerce-subscription-summary.md +66 -0
  26. package/.agents/skills/component-library-rules/references/components/composed__commerce-tax-breakdown.md +60 -0
  27. package/.agents/skills/component-library-rules/references/components/composed__commerce-upcoming-booking.md +62 -0
  28. package/.agents/skills/component-library-rules/references/components/composed__commerce-voucher-entry.md +60 -0
  29. package/.agents/skills/component-library-rules/references/components/composed__commerce.md +29 -143
  30. package/.agents/skills/component-library-rules/references/components/features__products.md +18 -462
  31. package/.agents/skills/component-library-rules/references/components/features__products__actions.md +37 -0
  32. package/.agents/skills/component-library-rules/references/components/features__products__support-rail.md +73 -0
  33. package/.agents/skills/component-library-rules/references/components/features__products__variant-details.md +97 -0
  34. package/.agents/skills/component-library-rules/references/components/features__products__variant-management.md +269 -0
  35. package/.agents/skills/component-library-rules/references/components/layout__layout-auth.md +1 -1
  36. package/.agents/skills/component-library-rules/references/components/layout__layout-containers.md +43 -1
  37. package/.agents/skills/component-library-rules/references/testing.md +1 -1
  38. package/.agents/skills/token-system/SKILL.md +4 -1
  39. package/AGENTS.md +4 -3
  40. package/COMPONENT_SELECTION.md +15 -0
  41. package/INTEGRATION.md +41 -2
  42. package/MIGRATION.md +7 -7
  43. package/README.md +7 -3
  44. package/dist/_shared/accordion-CSRRDWVZ.js +135 -0
  45. package/dist/_shared/accordion-CSRRDWVZ.js.map +1 -0
  46. package/dist/_shared/accordion-ClVkIaCy.cjs +2 -0
  47. package/dist/_shared/accordion-ClVkIaCy.cjs.map +1 -0
  48. package/dist/_shared/action-menu-8RN2_Jdr.js +96 -0
  49. package/dist/_shared/action-menu-8RN2_Jdr.js.map +1 -0
  50. package/dist/_shared/action-menu-Cx2xaBjN.cjs +2 -0
  51. package/dist/_shared/action-menu-Cx2xaBjN.cjs.map +1 -0
  52. package/dist/_shared/ai-artifact-BO0XGFHz.cjs +3 -0
  53. package/dist/_shared/ai-artifact-BO0XGFHz.cjs.map +1 -0
  54. package/dist/_shared/ai-artifact-CbsGR1t8.js +1099 -0
  55. package/dist/_shared/ai-artifact-CbsGR1t8.js.map +1 -0
  56. package/dist/_shared/auth-CwipRgNB.cjs +2 -0
  57. package/dist/_shared/auth-CwipRgNB.cjs.map +1 -0
  58. package/dist/_shared/auth-Wipu0Oa_.js +643 -0
  59. package/dist/_shared/auth-Wipu0Oa_.js.map +1 -0
  60. package/dist/_shared/badge-B0Ashqkn.cjs +2 -0
  61. package/dist/_shared/badge-B0Ashqkn.cjs.map +1 -0
  62. package/dist/_shared/badge-DOJpEtsa.js +110 -0
  63. package/dist/_shared/badge-DOJpEtsa.js.map +1 -0
  64. package/dist/_shared/breadcrumbs-C7PI8sxx.cjs +2 -0
  65. package/dist/_shared/breadcrumbs-C7PI8sxx.cjs.map +1 -0
  66. package/dist/_shared/breadcrumbs-xNjbIrGc.js +105 -0
  67. package/dist/_shared/breadcrumbs-xNjbIrGc.js.map +1 -0
  68. package/dist/_shared/button-CB8e7fui.cjs +2 -0
  69. package/dist/_shared/button-CB8e7fui.cjs.map +1 -0
  70. package/dist/_shared/button-CNEMqDHK.js +192 -0
  71. package/dist/_shared/button-CNEMqDHK.js.map +1 -0
  72. package/dist/_shared/buttons-BCFKQuB5.js +137 -0
  73. package/dist/_shared/buttons-BCFKQuB5.js.map +1 -0
  74. package/dist/_shared/buttons-DHj5I2YL.cjs +2 -0
  75. package/dist/_shared/buttons-DHj5I2YL.cjs.map +1 -0
  76. package/dist/_shared/card-radio-group-DdubYUJ6.cjs +2 -0
  77. package/dist/_shared/card-radio-group-DdubYUJ6.cjs.map +1 -0
  78. package/dist/_shared/card-radio-group-Du6rzuoC.js +150 -0
  79. package/dist/_shared/card-radio-group-Du6rzuoC.js.map +1 -0
  80. package/dist/_shared/cards-B7voInTJ.js +430 -0
  81. package/dist/_shared/cards-B7voInTJ.js.map +1 -0
  82. package/dist/_shared/cards-DvE5gRFf.cjs +2 -0
  83. package/dist/_shared/cards-DvE5gRFf.cjs.map +1 -0
  84. package/dist/_shared/combobox-AbXh9ft4.cjs +2 -0
  85. package/dist/_shared/combobox-AbXh9ft4.cjs.map +1 -0
  86. package/dist/_shared/combobox-ImXiC1qy.js +957 -0
  87. package/dist/_shared/combobox-ImXiC1qy.js.map +1 -0
  88. package/dist/_shared/command-B-Yokco3.js +39 -0
  89. package/dist/_shared/command-B-Yokco3.js.map +1 -0
  90. package/dist/_shared/command-kcPx4TM_.cjs +2 -0
  91. package/dist/_shared/command-kcPx4TM_.cjs.map +1 -0
  92. package/dist/_shared/comments-BR5ENvoo.cjs +2 -0
  93. package/dist/_shared/comments-BR5ENvoo.cjs.map +1 -0
  94. package/dist/_shared/comments-a3l--GJ-.js +952 -0
  95. package/dist/_shared/comments-a3l--GJ-.js.map +1 -0
  96. package/dist/_shared/containers-CclPUW7j.cjs +2 -0
  97. package/dist/_shared/containers-CclPUW7j.cjs.map +1 -0
  98. package/dist/_shared/containers-GDaJ3SOV.js +101 -0
  99. package/dist/_shared/containers-GDaJ3SOV.js.map +1 -0
  100. package/dist/_shared/copyable-C0KJlRVr.js +38 -0
  101. package/dist/_shared/copyable-C0KJlRVr.js.map +1 -0
  102. package/dist/_shared/copyable-tJxsOyn-.cjs +2 -0
  103. package/dist/_shared/copyable-tJxsOyn-.cjs.map +1 -0
  104. package/dist/_shared/data-display-0uNuZSN7.js +1878 -0
  105. package/dist/_shared/data-display-0uNuZSN7.js.map +1 -0
  106. package/dist/_shared/data-display-DRa39LH8.cjs +2 -0
  107. package/dist/_shared/data-display-DRa39LH8.cjs.map +1 -0
  108. package/dist/_shared/date-picker-BaPDfs1p.js +1361 -0
  109. package/dist/_shared/date-picker-BaPDfs1p.js.map +1 -0
  110. package/dist/_shared/date-picker-DrkoZZdr.cjs +2 -0
  111. package/dist/_shared/date-picker-DrkoZZdr.cjs.map +1 -0
  112. package/dist/_shared/date-pickers-CT3aZpPn.cjs +2 -0
  113. package/dist/_shared/date-pickers-CT3aZpPn.cjs.map +1 -0
  114. package/dist/_shared/date-pickers-DRp0VM7k.js +329 -0
  115. package/dist/_shared/date-pickers-DRp0VM7k.js.map +1 -0
  116. package/dist/_shared/display-BHIs_Y_j.js +1006 -0
  117. package/dist/_shared/display-BHIs_Y_j.js.map +1 -0
  118. package/dist/_shared/display-DV7n0KA1.cjs +2 -0
  119. package/dist/_shared/display-DV7n0KA1.cjs.map +1 -0
  120. package/dist/_shared/dropdown-menu-5fFMhKo4.js +147 -0
  121. package/dist/_shared/dropdown-menu-5fFMhKo4.js.map +1 -0
  122. package/dist/_shared/dropdown-menu-B_SCGRL2.cjs +2 -0
  123. package/dist/_shared/dropdown-menu-B_SCGRL2.cjs.map +1 -0
  124. package/dist/_shared/form-sizing-VNEGzvM7.js +42 -0
  125. package/dist/_shared/form-sizing-VNEGzvM7.js.map +1 -0
  126. package/dist/_shared/form-sizing-lBFpJWv4.cjs +2 -0
  127. package/dist/_shared/form-sizing-lBFpJWv4.cjs.map +1 -0
  128. package/dist/_shared/forms-B7LYVbAy.cjs +2 -0
  129. package/dist/_shared/forms-B7LYVbAy.cjs.map +1 -0
  130. package/dist/_shared/forms-C5uZX_kQ.js +3534 -0
  131. package/dist/_shared/forms-C5uZX_kQ.js.map +1 -0
  132. package/dist/_shared/header-B4wGB6Ca.cjs +2 -0
  133. package/dist/_shared/header-B4wGB6Ca.cjs.map +1 -0
  134. package/dist/_shared/header-CWyOry0f.js +447 -0
  135. package/dist/_shared/header-CWyOry0f.js.map +1 -0
  136. package/dist/_shared/hooks-B4Cop5YI.cjs +2 -0
  137. package/dist/_shared/hooks-B4Cop5YI.cjs.map +1 -0
  138. package/dist/_shared/hooks-CFUZJW_S.js +95 -0
  139. package/dist/_shared/hooks-CFUZJW_S.js.map +1 -0
  140. package/dist/_shared/icon-size-CMNigtUu.js +15 -0
  141. package/dist/_shared/icon-size-CMNigtUu.js.map +1 -0
  142. package/dist/_shared/icon-size-D2NnYd0K.cjs +2 -0
  143. package/dist/_shared/icon-size-D2NnYd0K.cjs.map +1 -0
  144. package/dist/_shared/input-BEhrcsk7.js +182 -0
  145. package/dist/_shared/input-BEhrcsk7.js.map +1 -0
  146. package/dist/_shared/input-DGvh-izk.cjs +2 -0
  147. package/dist/_shared/input-DGvh-izk.cjs.map +1 -0
  148. package/dist/_shared/item-BG2iK1sy.cjs +2 -0
  149. package/dist/_shared/item-BG2iK1sy.cjs.map +1 -0
  150. package/dist/_shared/item-D75eGy8G.js +227 -0
  151. package/dist/_shared/item-D75eGy8G.js.map +1 -0
  152. package/dist/_shared/layout-DN8tzvlm.cjs +2 -0
  153. package/dist/_shared/layout-DN8tzvlm.cjs.map +1 -0
  154. package/dist/_shared/layout-DNrUkvzF.js +268 -0
  155. package/dist/_shared/layout-DNrUkvzF.js.map +1 -0
  156. package/dist/_shared/mentions-CWqC8Xds.js +506 -0
  157. package/dist/_shared/mentions-CWqC8Xds.js.map +1 -0
  158. package/dist/_shared/mentions-wtkrL2hX.cjs +2 -0
  159. package/dist/_shared/mentions-wtkrL2hX.cjs.map +1 -0
  160. package/dist/_shared/money-display-BabyaIWb.js +198 -0
  161. package/dist/_shared/money-display-BabyaIWb.js.map +1 -0
  162. package/dist/_shared/money-display-CrNRbByx.cjs +2 -0
  163. package/dist/_shared/money-display-CrNRbByx.cjs.map +1 -0
  164. package/dist/_shared/navigation-9DB-vtGI.js +436 -0
  165. package/dist/_shared/navigation-9DB-vtGI.js.map +1 -0
  166. package/dist/_shared/navigation-DAjFLSv5.cjs +2 -0
  167. package/dist/_shared/navigation-DAjFLSv5.cjs.map +1 -0
  168. package/dist/_shared/overlays-BK0J8zSv.cjs +2 -0
  169. package/dist/_shared/overlays-BK0J8zSv.cjs.map +1 -0
  170. package/dist/_shared/overlays-DKsXufDv.js +735 -0
  171. package/dist/_shared/overlays-DKsXufDv.js.map +1 -0
  172. package/dist/_shared/popover-menu-DXh14PIu.js +93 -0
  173. package/dist/_shared/popover-menu-DXh14PIu.js.map +1 -0
  174. package/dist/_shared/popover-menu-DkjPUZ4v.cjs +2 -0
  175. package/dist/_shared/popover-menu-DkjPUZ4v.cjs.map +1 -0
  176. package/dist/_shared/rich-text-editor-DjZTJzdm.cjs +2 -0
  177. package/dist/_shared/rich-text-editor-DjZTJzdm.cjs.map +1 -0
  178. package/dist/_shared/rich-text-editor-DloyZq46.js +620 -0
  179. package/dist/_shared/rich-text-editor-DloyZq46.js.map +1 -0
  180. package/dist/_shared/settings-AIgixHbB.cjs +2 -0
  181. package/dist/_shared/settings-AIgixHbB.cjs.map +1 -0
  182. package/dist/_shared/settings-D3KdypJk.js +143 -0
  183. package/dist/_shared/settings-D3KdypJk.js.map +1 -0
  184. package/dist/_shared/sidebar-BzBincq3.js +548 -0
  185. package/dist/_shared/sidebar-BzBincq3.js.map +1 -0
  186. package/dist/_shared/sidebar-D5NLbyow.cjs +2 -0
  187. package/dist/_shared/sidebar-D5NLbyow.cjs.map +1 -0
  188. package/dist/_shared/skeleton-Bc_qa5l_.js +256 -0
  189. package/dist/_shared/skeleton-Bc_qa5l_.js.map +1 -0
  190. package/dist/_shared/skeleton-Wq6G0Kya.cjs +2 -0
  191. package/dist/_shared/skeleton-Wq6G0Kya.cjs.map +1 -0
  192. package/dist/_shared/spinner-C-yoZUk-.cjs +2 -0
  193. package/dist/_shared/spinner-C-yoZUk-.cjs.map +1 -0
  194. package/dist/_shared/spinner-CDVWFN0N.js +67 -0
  195. package/dist/_shared/spinner-CDVWFN0N.js.map +1 -0
  196. package/dist/_shared/table-B70kyH2E.js +1377 -0
  197. package/dist/_shared/table-B70kyH2E.js.map +1 -0
  198. package/dist/_shared/table-DQA2m2F0.cjs +2 -0
  199. package/dist/_shared/table-DQA2m2F0.cjs.map +1 -0
  200. package/dist/_shared/textarea-Dx9yEZY2.js +118 -0
  201. package/dist/_shared/textarea-Dx9yEZY2.js.map +1 -0
  202. package/dist/_shared/textarea-rfnSeHHC.cjs +2 -0
  203. package/dist/_shared/textarea-rfnSeHHC.cjs.map +1 -0
  204. package/dist/_shared/typography-C_kCoR1d.js +204 -0
  205. package/dist/_shared/typography-C_kCoR1d.js.map +1 -0
  206. package/dist/_shared/typography-sXFd02zl.cjs +2 -0
  207. package/dist/_shared/typography-sXFd02zl.cjs.map +1 -0
  208. package/dist/_shared/workspace-Bw-k_HXQ.js +357 -0
  209. package/dist/_shared/workspace-Bw-k_HXQ.js.map +1 -0
  210. package/dist/_shared/workspace-CLUsYC5y.cjs +2 -0
  211. package/dist/_shared/workspace-CLUsYC5y.cjs.map +1 -0
  212. package/dist/components/base/accordion/index.cjs +1 -1
  213. package/dist/components/base/accordion/index.js +1 -1
  214. package/dist/components/base/badge/index.cjs +1 -1
  215. package/dist/components/base/badge/index.js +1 -1
  216. package/dist/components/base/buttons/index.cjs +1 -1
  217. package/dist/components/base/buttons/index.js +2 -2
  218. package/dist/components/base/cards/index.cjs +1 -1
  219. package/dist/components/base/cards/index.js +1 -1
  220. package/dist/components/base/carousel/carousel.d.ts.map +1 -1
  221. package/dist/components/base/carousel/index.cjs +1 -1
  222. package/dist/components/base/carousel/index.cjs.map +1 -1
  223. package/dist/components/base/carousel/index.js +98 -97
  224. package/dist/components/base/carousel/index.js.map +1 -1
  225. package/dist/components/base/combobox/components/combobox-dropdown.d.ts.map +1 -1
  226. package/dist/components/base/combobox/index.cjs +1 -1
  227. package/dist/components/base/combobox/index.js +1 -1
  228. package/dist/components/base/command/command.d.ts +1 -1
  229. package/dist/components/base/command/index.cjs +1 -1
  230. package/dist/components/base/command/index.js +1 -1
  231. package/dist/components/base/copyable/index.cjs +1 -1
  232. package/dist/components/base/copyable/index.js +1 -1
  233. package/dist/components/base/currency/index.cjs +1 -1
  234. package/dist/components/base/currency/index.js +1 -1
  235. package/dist/components/base/date-pickers/index.cjs +1 -1
  236. package/dist/components/base/date-pickers/index.js +2 -2
  237. package/dist/components/base/display/alert.d.ts.map +1 -1
  238. package/dist/components/base/display/chart.cjs +1 -1
  239. package/dist/components/base/display/chart.js +1 -1
  240. package/dist/components/base/display/icon-size.d.ts +6 -0
  241. package/dist/components/base/display/icon-size.d.ts.map +1 -0
  242. package/dist/components/base/display/index.cjs +1 -1
  243. package/dist/components/base/display/index.d.ts +1 -0
  244. package/dist/components/base/display/index.d.ts.map +1 -1
  245. package/dist/components/base/display/index.js +10 -9
  246. package/dist/components/base/display/throttle-alert.d.ts.map +1 -1
  247. package/dist/components/base/event-calendar/index.cjs +1 -1
  248. package/dist/components/base/event-calendar/index.cjs.map +1 -1
  249. package/dist/components/base/event-calendar/index.js +4 -4
  250. package/dist/components/base/event-calendar/index.js.map +1 -1
  251. package/dist/components/base/forms/index.cjs +1 -1
  252. package/dist/components/base/forms/index.js +5 -5
  253. package/dist/components/base/item/index.cjs +1 -1
  254. package/dist/components/base/item/index.js +1 -1
  255. package/dist/components/base/item/item.d.ts.map +1 -1
  256. package/dist/components/base/map/index.cjs +1 -1
  257. package/dist/components/base/map/index.cjs.map +1 -1
  258. package/dist/components/base/map/index.js +3 -3
  259. package/dist/components/base/map/index.js.map +1 -1
  260. package/dist/components/base/map/map.d.ts +1 -1
  261. package/dist/components/base/map/map.d.ts.map +1 -1
  262. package/dist/components/base/navigation/dropdown-menu.d.ts +33 -1
  263. package/dist/components/base/navigation/dropdown-menu.d.ts.map +1 -1
  264. package/dist/components/base/navigation/index.cjs +1 -1
  265. package/dist/components/base/navigation/index.js +4 -4
  266. package/dist/components/base/popover-menu/index.cjs +1 -1
  267. package/dist/components/base/popover-menu/index.js +1 -1
  268. package/dist/components/base/spinner/index.cjs +1 -1
  269. package/dist/components/base/spinner/index.js +1 -1
  270. package/dist/components/base/table/index.cjs +1 -1
  271. package/dist/components/base/table/index.js +1 -1
  272. package/dist/components/composed/admin/index.cjs +1 -1
  273. package/dist/components/composed/admin/index.cjs.map +1 -1
  274. package/dist/components/composed/admin/index.js +10 -11
  275. package/dist/components/composed/admin/index.js.map +1 -1
  276. package/dist/components/composed/ai/index.cjs +1 -1
  277. package/dist/components/composed/ai/index.cjs.map +1 -1
  278. package/dist/components/composed/ai/index.js +8 -9
  279. package/dist/components/composed/ai/index.js.map +1 -1
  280. package/dist/components/composed/analytics/index.cjs +1 -1
  281. package/dist/components/composed/analytics/index.cjs.map +1 -1
  282. package/dist/components/composed/analytics/index.js +4 -4
  283. package/dist/components/composed/analytics/index.js.map +1 -1
  284. package/dist/components/composed/cards/index.cjs +1 -1
  285. package/dist/components/composed/cards/index.cjs.map +1 -1
  286. package/dist/components/composed/cards/index.js +13 -15
  287. package/dist/components/composed/cards/index.js.map +1 -1
  288. package/dist/components/composed/commerce/index.cjs +1 -1
  289. package/dist/components/composed/commerce/index.cjs.map +1 -1
  290. package/dist/components/composed/commerce/index.d.ts +2 -0
  291. package/dist/components/composed/commerce/index.d.ts.map +1 -1
  292. package/dist/components/composed/commerce/index.js +1246 -382
  293. package/dist/components/composed/commerce/index.js.map +1 -1
  294. package/dist/components/composed/commerce/inventory-section/index.d.ts +3 -0
  295. package/dist/components/composed/commerce/inventory-section/index.d.ts.map +1 -0
  296. package/dist/components/composed/commerce/inventory-section/inventory-section.d.ts +6 -0
  297. package/dist/components/composed/commerce/inventory-section/inventory-section.d.ts.map +1 -0
  298. package/dist/components/composed/commerce/inventory-section/types.d.ts +85 -0
  299. package/dist/components/composed/commerce/inventory-section/types.d.ts.map +1 -0
  300. package/dist/components/composed/commerce/seo-listing/index.d.ts +4 -0
  301. package/dist/components/composed/commerce/seo-listing/index.d.ts.map +1 -0
  302. package/dist/components/composed/commerce/seo-listing/seo-listing-card.d.ts +6 -0
  303. package/dist/components/composed/commerce/seo-listing/seo-listing-card.d.ts.map +1 -0
  304. package/dist/components/composed/commerce/seo-listing/seo-listing-score.d.ts +6 -0
  305. package/dist/components/composed/commerce/seo-listing/seo-listing-score.d.ts.map +1 -0
  306. package/dist/components/composed/commerce/seo-listing/types.d.ts +68 -0
  307. package/dist/components/composed/commerce/seo-listing/types.d.ts.map +1 -0
  308. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  309. package/dist/components/composed/dark-surfaces/index.cjs.map +1 -1
  310. package/dist/components/composed/dark-surfaces/index.js +7 -7
  311. package/dist/components/composed/dark-surfaces/index.js.map +1 -1
  312. package/dist/components/composed/data-display/index.cjs +1 -1
  313. package/dist/components/composed/data-display/index.js +1 -1
  314. package/dist/components/composed/navigation/index.cjs +1 -1
  315. package/dist/components/composed/navigation/index.cjs.map +1 -1
  316. package/dist/components/composed/navigation/index.js +5 -6
  317. package/dist/components/composed/navigation/index.js.map +1 -1
  318. package/dist/components/composed/onboarding/index.cjs +1 -1
  319. package/dist/components/composed/onboarding/index.js +3 -3
  320. package/dist/components/composed/timelines/index.cjs +1 -1
  321. package/dist/components/composed/timelines/index.js +3 -3
  322. package/dist/components/features/activities/index.cjs +1 -1
  323. package/dist/components/features/activities/index.js +5 -5
  324. package/dist/components/features/ai-chat/index.cjs +1 -1
  325. package/dist/components/features/ai-chat/index.js +5 -5
  326. package/dist/components/features/card/index.cjs +1 -1
  327. package/dist/components/features/card/index.js +4 -4
  328. package/dist/components/features/comments/index.cjs +1 -1
  329. package/dist/components/features/comments/index.js +2 -2
  330. package/dist/components/features/data-view/index.cjs +1 -1
  331. package/dist/components/features/data-view/index.js +2 -2
  332. package/dist/components/features/event-log/index.cjs +1 -1
  333. package/dist/components/features/event-log/index.js +4 -4
  334. package/dist/components/features/filters/index.cjs +1 -1
  335. package/dist/components/features/filters/index.cjs.map +1 -1
  336. package/dist/components/features/filters/index.js +64 -64
  337. package/dist/components/features/filters/index.js.map +1 -1
  338. package/dist/components/features/filters/partials/regular-filter-content.d.ts.map +1 -1
  339. package/dist/components/features/global-search/index.cjs +1 -1
  340. package/dist/components/features/global-search/index.js +4 -4
  341. package/dist/components/features/kanban/index.cjs +1 -1
  342. package/dist/components/features/kanban/index.js +3 -3
  343. package/dist/components/features/media-library/index.cjs +1 -1
  344. package/dist/components/features/media-library/index.cjs.map +1 -1
  345. package/dist/components/features/media-library/index.js +230 -206
  346. package/dist/components/features/media-library/index.js.map +1 -1
  347. package/dist/components/features/media-library/media-library.d.ts.map +1 -1
  348. package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
  349. package/dist/components/features/media-library/media-library.strings.d.ts.map +1 -1
  350. package/dist/components/features/media-library/partials/media-library-partials.d.ts.map +1 -1
  351. package/dist/components/features/mentions/index.cjs +1 -1
  352. package/dist/components/features/mentions/index.js +1 -1
  353. package/dist/components/features/overlays/index.cjs +1 -1
  354. package/dist/components/features/overlays/index.js +1 -1
  355. package/dist/components/features/products/components/index.d.ts +3 -0
  356. package/dist/components/features/products/components/index.d.ts.map +1 -1
  357. package/dist/components/features/products/components/product-options-matrix.d.ts +6 -0
  358. package/dist/components/features/products/components/product-options-matrix.d.ts.map +1 -0
  359. package/dist/components/features/products/components/product-variants-bulk-table.d.ts +6 -0
  360. package/dist/components/features/products/components/product-variants-bulk-table.d.ts.map +1 -0
  361. package/dist/components/features/products/components/product-variants-manager.d.ts +6 -0
  362. package/dist/components/features/products/components/product-variants-manager.d.ts.map +1 -0
  363. package/dist/components/features/products/index.cjs +1 -1
  364. package/dist/components/features/products/index.cjs.map +1 -1
  365. package/dist/components/features/products/index.js +1705 -511
  366. package/dist/components/features/products/index.js.map +1 -1
  367. package/dist/components/features/products/products.strings.d.ts +70 -0
  368. package/dist/components/features/products/products.strings.d.ts.map +1 -1
  369. package/dist/components/features/products/products.types.d.ts +163 -1
  370. package/dist/components/features/products/products.types.d.ts.map +1 -1
  371. package/dist/components/features/resource/index.cjs +1 -1
  372. package/dist/components/features/resource/index.js +5 -5
  373. package/dist/components/features/rich-text-editor/index.cjs +1 -1
  374. package/dist/components/features/rich-text-editor/index.js +1 -1
  375. package/dist/components/features/schema-form/index.cjs +1 -1
  376. package/dist/components/features/schema-form/index.js +8 -8
  377. package/dist/components/features/suggestions/index.cjs +1 -1
  378. package/dist/components/features/suggestions/index.js +1 -1
  379. package/dist/components/features/sync/index.cjs +1 -1
  380. package/dist/components/features/sync/index.js +2 -2
  381. package/dist/components/layout/auth/index.cjs +1 -1
  382. package/dist/components/layout/auth/index.js +1 -1
  383. package/dist/components/layout/containers/index.cjs +1 -1
  384. package/dist/components/layout/containers/index.d.ts +1 -0
  385. package/dist/components/layout/containers/index.d.ts.map +1 -1
  386. package/dist/components/layout/containers/index.js +2 -2
  387. package/dist/components/layout/containers/two-column-layout.d.ts +43 -0
  388. package/dist/components/layout/containers/two-column-layout.d.ts.map +1 -0
  389. package/dist/components/layout/header/index.cjs +1 -1
  390. package/dist/components/layout/header/index.js +1 -1
  391. package/dist/components/layout/hooks/index.cjs +1 -1
  392. package/dist/components/layout/hooks/index.js +1 -1
  393. package/dist/components/layout/index.cjs +1 -1
  394. package/dist/components/layout/index.js +9 -9
  395. package/dist/components/layout/page/index.cjs +1 -1
  396. package/dist/components/layout/page/index.js +1 -1
  397. package/dist/components/layout/page/page-content.d.ts +1 -1
  398. package/dist/components/layout/page/page-content.d.ts.map +1 -1
  399. package/dist/components/layout/settings/index.cjs +1 -1
  400. package/dist/components/layout/settings/index.js +1 -1
  401. package/dist/components/layout/sidebar/index.cjs +1 -1
  402. package/dist/components/layout/sidebar/index.js +2 -2
  403. package/dist/components/layout/workspace/index.cjs +1 -1
  404. package/dist/components/layout/workspace/index.js +1 -1
  405. package/dist/components/typography/index.cjs +1 -1
  406. package/dist/components/typography/index.js +1 -1
  407. package/dist/components/typography/text-link.d.ts +3 -1
  408. package/dist/components/typography/text-link.d.ts.map +1 -1
  409. package/dist/components/typography/text.d.ts.map +1 -1
  410. package/dist/lib/ui-provider/types.d.ts +1 -1
  411. package/dist/lib/ui-provider/types.d.ts.map +1 -1
  412. package/dist/lib/utils.cjs +1 -1
  413. package/dist/lib/utils.cjs.map +1 -1
  414. package/dist/lib/utils.d.ts.map +1 -1
  415. package/dist/lib/utils.js +1 -0
  416. package/dist/lib/utils.js.map +1 -1
  417. package/dist/services/actions/index.cjs +1 -1
  418. package/dist/services/actions/index.js +1 -1
  419. package/dist/showcase/assets/AreaChart-D_z9eYQj.js +6 -0
  420. package/dist/showcase/assets/CompositeItem-BSVzIXzg.js +1 -0
  421. package/dist/showcase/assets/CompositeRoot-Ewl7bgm-.js +1 -0
  422. package/dist/showcase/assets/DialogTrigger-CD-DcY4b.js +1 -0
  423. package/dist/showcase/assets/LabelableContext-BdRVtvs6.js +1 -0
  424. package/dist/showcase/assets/MenuTrigger-B8Y7BUCN.js +1 -0
  425. package/dist/showcase/assets/PreviewLayout-CE0fmzoc.js +1 -0
  426. package/dist/showcase/assets/RadioGroup-Qaf-akL1.js +1 -0
  427. package/dist/showcase/assets/ScrollAreaCorner-BQR87jzh.js +1 -0
  428. package/dist/showcase/assets/Separator-Cymh2jzU.js +1 -0
  429. package/dist/showcase/assets/ToolbarRootContext-P5BSzPlo.js +1 -0
  430. package/dist/showcase/assets/accordion-BGUvdQ5Z.js +171 -0
  431. package/dist/showcase/assets/accordion-variants-B56z6tQI.js +1 -0
  432. package/dist/showcase/assets/action-menu-C3DOQfP4.js +1 -0
  433. package/dist/showcase/assets/actions-DHG4zJRu.js +38 -0
  434. package/dist/showcase/assets/actions-IxPK0biY.js +310 -0
  435. package/dist/showcase/assets/activities-TK5Lr8Wb.js +500 -0
  436. package/dist/showcase/assets/activities-feed-card-tgQKimyh.js +1 -0
  437. package/dist/showcase/assets/admin-BQrDKNJa.js +140 -0
  438. package/dist/showcase/assets/ai-artifact-Cv7LTw1V.js +2 -0
  439. package/dist/showcase/assets/ai-chat-Dmg2Tqf1.js +568 -0
  440. package/dist/showcase/assets/ai-elements-BmokxSCy.js +387 -0
  441. package/dist/showcase/assets/ai-tool-call-6qESA6We.js +1 -0
  442. package/dist/showcase/assets/ai-xShhEkrM.js +207 -0
  443. package/dist/showcase/assets/alert--MONSwFW.js +1 -0
  444. package/dist/showcase/assets/alert-BuMNu_BZ.js +62 -0
  445. package/dist/showcase/assets/alert-z1RP5MhA.js +93 -0
  446. package/dist/showcase/assets/api-key-list-BhmXUJty.js +73 -0
  447. package/dist/showcase/assets/api-key-list-hPTN6gwa.js +1 -0
  448. package/dist/showcase/assets/app-sidebar-CY-XpIu6.js +1 -0
  449. package/dist/showcase/assets/arrow-down-D0XbhSDi.js +1 -0
  450. package/dist/showcase/assets/arrow-left-DBxsWbzL.js +1 -0
  451. package/dist/showcase/assets/arrow-right-Dk80zKWl.js +1 -0
  452. package/dist/showcase/assets/arrow-up-BiZ_VvpP.js +1 -0
  453. package/dist/showcase/assets/arrow-up-right-OdmPQEwY.js +1 -0
  454. package/dist/showcase/assets/avatar-BThv_quW.js +1 -0
  455. package/dist/showcase/assets/avatar-Bcy2snIC.js +67 -0
  456. package/dist/showcase/assets/avatar-Ca3to6dB.js +57 -0
  457. package/dist/showcase/assets/avatar-Dba0yVei.js +1 -0
  458. package/dist/showcase/assets/badge-A1w2eIaM.js +31 -0
  459. package/dist/showcase/assets/badge-check-DyqZ9Ff8.js +1 -0
  460. package/dist/showcase/assets/bell-DyqsYdKK.js +1 -0
  461. package/dist/showcase/assets/boolean-indicator-gaFjXuY1.js +1 -0
  462. package/dist/showcase/assets/bot-BGQvS_p9.js +1 -0
  463. package/dist/showcase/assets/box-BoFEAPr6.js +1 -0
  464. package/dist/showcase/assets/braces-D88Ve7g-.js +1 -0
  465. package/dist/showcase/assets/brain-hIv2TdLu.js +1 -0
  466. package/dist/showcase/assets/brand-CiWM8HzB.js +36 -0
  467. package/dist/showcase/assets/breadcrumb-DlHNoCer.js +1 -0
  468. package/dist/showcase/assets/breadcrumb-Dy-UbgK5.js +52 -0
  469. package/dist/showcase/assets/breadcrumbs-BoXmoDHt.js +1 -0
  470. package/dist/showcase/assets/briefcase-BeN7dk_G.js +1 -0
  471. package/dist/showcase/assets/building-2-ICycTKXZ.js +1 -0
  472. package/dist/showcase/assets/button-BADo_inb.js +44 -0
  473. package/dist/showcase/assets/button-group-BGkXY3HC.js +1 -0
  474. package/dist/showcase/assets/buttons-3z50eWMp.js +272 -0
  475. package/dist/showcase/assets/calendar-BAfoc476.js +1 -0
  476. package/dist/showcase/assets/calendar-DNxQUmlO.js +16 -0
  477. package/dist/showcase/assets/calendar-days-D86Fv-vG.js +1 -0
  478. package/dist/showcase/assets/calendar-pjS8iCZE.js +1 -0
  479. package/dist/showcase/assets/camera-DxWfctRe.js +1 -0
  480. package/dist/showcase/assets/card-BazLaDA9.js +188 -0
  481. package/dist/showcase/assets/card-F8Ona144.js +1 -0
  482. package/dist/showcase/assets/card-checkbox-group-DtK7aVPU.js +1 -0
  483. package/dist/showcase/assets/card-primitives-DzqLvy5f.js +1 -0
  484. package/dist/showcase/assets/card-radio-group-EjPkSg-w.js +1 -0
  485. package/dist/showcase/assets/cards--V2D7Sft.js +354 -0
  486. package/dist/showcase/assets/carousel-BNmTHQiN.js +452 -0
  487. package/dist/showcase/assets/cell-renderers-BdpeNGHs.js +1 -0
  488. package/dist/showcase/assets/chart-column-CJx3qWPs.js +1 -0
  489. package/dist/showcase/assets/chart-p7dUP6Mo.js +358 -0
  490. package/dist/showcase/assets/checkbox-BBxn_hxI.js +1 -0
  491. package/dist/showcase/assets/checkbox-BEyESyQ2.js +1 -0
  492. package/dist/showcase/assets/chevron-down-mjLUdP6b.js +1 -0
  493. package/dist/showcase/assets/chevron-left-DOofVtEd.js +1 -0
  494. package/dist/showcase/assets/chevron-up-BJk6z8Fg.js +1 -0
  495. package/dist/showcase/assets/chevrons-up-down-C-9zUpl_.js +1 -0
  496. package/dist/showcase/assets/circle-OmLq29jq.js +1 -0
  497. package/dist/showcase/assets/circle-alert-DSpR2pdl.js +1 -0
  498. package/dist/showcase/assets/circle-check-BjuHEm7p.js +1 -0
  499. package/dist/showcase/assets/circle-check-big-BuYdgE3Q.js +1 -0
  500. package/dist/showcase/assets/circle-dot-DlYGMuaF.js +1 -0
  501. package/dist/showcase/assets/circle-question-mark-BlgRDDu3.js +1 -0
  502. package/dist/showcase/assets/circle-x-BavQ4wuc.js +1 -0
  503. package/dist/showcase/assets/clock-3-CzeN1Iwk.js +1 -0
  504. package/dist/showcase/assets/clock-CZYS08d1.js +1 -0
  505. package/dist/showcase/assets/code-xml-D4NwoTpD.js +1 -0
  506. package/dist/showcase/assets/collapsible-BtawbO_2.js +1 -0
  507. package/dist/showcase/assets/collapsible-CJXE3z1T.js +27 -0
  508. package/dist/showcase/assets/collapsible-ws3VKPg9.js +1 -0
  509. package/dist/showcase/assets/combobox-Btpk7-vH.js +685 -0
  510. package/dist/showcase/assets/command-CoiVI2_b.js +1 -0
  511. package/dist/showcase/assets/command-Dkn9XqF2.js +1 -0
  512. package/dist/showcase/assets/comment-composer-BNnVQo1O.js +1 -0
  513. package/dist/showcase/assets/comment-item-BiIgcrPQ.js +1 -0
  514. package/dist/showcase/assets/comments-CvzWz23L.js +357 -0
  515. package/dist/showcase/assets/commerce-CBHLQF8q.js +19 -0
  516. package/dist/showcase/assets/commerce-address-card-Bqm0FQkG.js +33 -0
  517. package/dist/showcase/assets/commerce-cart-summary-BtGCOEun.js +43 -0
  518. package/dist/showcase/assets/commerce-coupon-input-I3FY6pgV.js +11 -0
  519. package/dist/showcase/assets/commerce-discount-stack-CWqyobuL.js +17 -0
  520. package/dist/showcase/assets/commerce-inventory-section-rBtMNLTt.js +123 -0
  521. package/dist/showcase/assets/commerce-loyalty-points-ne7c2ObQ.js +19 -0
  522. package/dist/showcase/assets/commerce-order-status-eLtUC1iE.js +21 -0
  523. package/dist/showcase/assets/commerce-payment-method-B3yFyhpS.js +17 -0
  524. package/dist/showcase/assets/commerce-refund-status-C1pzTSus.js +17 -0
  525. package/dist/showcase/assets/commerce-seo-listing-CBk_c8ru.js +61 -0
  526. package/dist/showcase/assets/commerce-shipment-tracking-auiKGGyV.js +24 -0
  527. package/dist/showcase/assets/commerce-subscription-summary-BCX4WxbS.js +25 -0
  528. package/dist/showcase/assets/commerce-tax-breakdown-D4F5dOjL.js +19 -0
  529. package/dist/showcase/assets/commerce-upcoming-booking-qlWKp0kq.js +20 -0
  530. package/dist/showcase/assets/commerce-voucher-entry-CqCuoKHq.js +19 -0
  531. package/dist/showcase/assets/composite-DeYDU7hg.js +1 -0
  532. package/dist/showcase/assets/conditional-rendering-CFHxzngX.js +1 -0
  533. package/dist/showcase/assets/contact-card-CxVeuwp_.js +65 -0
  534. package/dist/showcase/assets/content-container-CJN01OtO.js +1 -0
  535. package/dist/showcase/assets/copyable-DajG-Sgx.js +1 -0
  536. package/dist/showcase/assets/copyable-zOzqOOBl.js +96 -0
  537. package/dist/showcase/assets/course-card-DO8z-KeM.js +77 -0
  538. package/dist/showcase/assets/cpu-C8IgjvoP.js +1 -0
  539. package/dist/showcase/assets/credit-card-XYEEHtzk.js +1 -0
  540. package/dist/showcase/assets/css-variables-BglvDaVO.js +1223 -0
  541. package/dist/showcase/assets/currency-Bso6kejw.js +148 -0
  542. package/dist/showcase/assets/dark-surfaces-5WTjzxYN.js +90 -0
  543. package/dist/showcase/assets/data-view-B7uRWXOO.js +4 -0
  544. package/dist/showcase/assets/data-view-C4bGuOlY.js +124 -0
  545. package/dist/showcase/assets/database-CZLgFKRy.js +1 -0
  546. package/dist/showcase/assets/date-block-BicWaKPj.js +1 -0
  547. package/dist/showcase/assets/date-block-yRFY8Ne5.js +1 -0
  548. package/dist/showcase/assets/date-picker-CskCoiwf.js +1 -0
  549. package/dist/showcase/assets/date-pickers-fcqdsvef.js +73 -0
  550. package/dist/showcase/assets/dense-info-Dg38xVsF.js +106 -0
  551. package/dist/showcase/assets/design-system-consistency-DFa3RNWm.js +264 -0
  552. package/dist/showcase/assets/dialog-C4fhqXD0.js +1 -0
  553. package/dist/showcase/assets/dialog-CN_gfVV2.js +1 -0
  554. package/dist/showcase/assets/dialog-CoJdLYZ8.js +1 -0
  555. package/dist/showcase/assets/display-utilities-DB0eXAdH.js +4 -0
  556. package/dist/showcase/assets/display-utilities.examples-ez3DfdgN.js +309 -0
  557. package/dist/showcase/assets/dist-5H2NtsLp.js +45 -0
  558. package/dist/showcase/assets/dist-SJMpFlRc.js +1 -0
  559. package/dist/showcase/assets/dollar-sign-LBLhl0Y2.js +1 -0
  560. package/dist/showcase/assets/download-BkOWnQEj.js +1 -0
  561. package/dist/showcase/assets/dropdown-menu-5yqchTEF.js +1 -0
  562. package/dist/showcase/assets/dropzone-CJHqIcHB.js +1 -0
  563. package/dist/showcase/assets/earth-BGrx2u2i.js +1 -0
  564. package/dist/showcase/assets/ellipsis-Dumpj4aE.js +1 -0
  565. package/dist/showcase/assets/ellipsis-vertical-h1O9pibc.js +1 -0
  566. package/dist/showcase/assets/empty-Cc8JP5--.js +1 -0
  567. package/dist/showcase/assets/empty-item-C-v-Akyi.js +49 -0
  568. package/dist/showcase/assets/empty-state-B7BQDoeL.js +1 -0
  569. package/dist/showcase/assets/empty-state-BSvZNFnQ.js +190 -0
  570. package/dist/showcase/assets/enhanced-activities-D7g7ZD9m.js +357 -0
  571. package/dist/showcase/assets/enhanced-combobox-4Olgu--e.js +1 -0
  572. package/dist/showcase/assets/esm-CFFDcW-Z.js +2 -0
  573. package/dist/showcase/assets/event-calendar-vdFWcI49.js +138 -0
  574. package/dist/showcase/assets/event-log-BbHM_3Ko.js +330 -0
  575. package/dist/showcase/assets/example-BsDQngs7.js +1 -0
  576. package/dist/showcase/assets/external-link-BvVwsJxR.js +1 -0
  577. package/dist/showcase/assets/eye-CAeo-GNe.js +1 -0
  578. package/dist/showcase/assets/feature-announcement-7hZGrJd6.js +34 -0
  579. package/dist/showcase/assets/file-D4d3b9bx.js +1 -0
  580. package/dist/showcase/assets/file-text-C59ToXmU.js +1 -0
  581. package/dist/showcase/assets/filter-layout-BjoG6qxP.js +1 -0
  582. package/dist/showcase/assets/filters-CrE_UGbo.js +139 -0
  583. package/dist/showcase/assets/fixtures-ClOCQD2a.js +1 -0
  584. package/dist/showcase/assets/flag-CuF52WEl.js +1 -0
  585. package/dist/showcase/assets/folder-open-BLLtgh4E.js +1 -0
  586. package/dist/showcase/assets/form-field-D5kwgD4P.js +1 -0
  587. package/dist/showcase/assets/form-sizing-Bv0A0Oi0.js +1 -0
  588. package/dist/showcase/assets/format-LvvHefMj.js +1 -0
  589. package/dist/showcase/assets/forms-Ck6hPzLP.js +915 -0
  590. package/dist/showcase/assets/funnel-Bvp5cFZt.js +1 -0
  591. package/dist/showcase/assets/generic-Cownd_Wk.js +1 -0
  592. package/dist/showcase/assets/getPseudoElementBounds-CPnjAO3K.js +1 -0
  593. package/dist/showcase/assets/gift-BCQpmV33.js +1 -0
  594. package/dist/showcase/assets/giftcard-cards-B_78Meny.js +85 -0
  595. package/dist/showcase/assets/git-branch-r0dDGCKy.js +1 -0
  596. package/dist/showcase/assets/global-search-DD9cGOt5.js +1 -0
  597. package/dist/showcase/assets/global-search-fTKzzx8k.js +215 -0
  598. package/dist/showcase/assets/globe-RF5bwiar.js +1 -0
  599. package/dist/showcase/assets/gradient-card-BDJes3UK.js +58 -0
  600. package/dist/showcase/assets/grip-vertical-qqe2NqfZ.js +1 -0
  601. package/dist/showcase/assets/hash-D9_KYvHs.js +1 -0
  602. package/dist/showcase/assets/header-XNCAB6Rs.js +1 -0
  603. package/dist/showcase/assets/header-notifications-BdWsVoN3.js +1 -0
  604. package/dist/showcase/assets/heart-C56rAanb.js +1 -0
  605. package/dist/showcase/assets/hooks-fDydjf6M.js +220 -0
  606. package/dist/showcase/assets/house-DbYM6er_.js +1 -0
  607. package/dist/showcase/assets/icon-badge-DWQE6dAm.js +37 -0
  608. package/dist/showcase/assets/icon-badge-ruuI6tt0.js +1 -0
  609. package/dist/showcase/assets/icon-size-BHn0d6Zp.js +1 -0
  610. package/dist/showcase/assets/image-DCpC2weW.js +1 -0
  611. package/dist/showcase/assets/inbox-cvR2MbZq.js +1 -0
  612. package/dist/showcase/assets/index-B4sKWDcN.js +10 -0
  613. package/dist/showcase/assets/index-Dy3INIq2.css +2 -0
  614. package/dist/showcase/assets/inertValue-DhXA8ytu.js +1 -0
  615. package/dist/showcase/assets/info-DXwnIz56.js +1 -0
  616. package/dist/showcase/assets/inline-stat-C9Syz6in.js +1 -0
  617. package/dist/showcase/assets/inline-stat-CDcWILUM.js +15 -0
  618. package/dist/showcase/assets/input-CLQIEOQ4.js +1 -0
  619. package/dist/showcase/assets/input-D70ed8oB.js +1 -0
  620. package/dist/showcase/assets/input-group-CMJ2yUuD.js +47 -0
  621. package/dist/showcase/assets/input-group-DwZov3Y6.js +1 -0
  622. package/dist/showcase/assets/inputs-DQWbPvC8.js +155 -0
  623. package/dist/showcase/assets/installation-B2BcSkJr.js +134 -0
  624. package/dist/showcase/assets/invoice-header-Ds4A6mLs.js +36 -0
  625. package/dist/showcase/assets/invoice-items-LFYeS0eR.js +36 -0
  626. package/dist/showcase/assets/invoice-mini-BMVm8x43.js +14 -0
  627. package/dist/showcase/assets/invoice-table-BVZ-PtSC.js +30 -0
  628. package/dist/showcase/assets/isSameDay-BYK9pmDX.js +1 -0
  629. package/dist/showcase/assets/isToday-B3-xb910.js +1 -0
  630. package/dist/showcase/assets/italic-CPSVPc63.js +1 -0
  631. package/dist/showcase/assets/item-KsGEgVjl.js +1 -0
  632. package/dist/showcase/assets/item-WOhHNpnr.js +1 -0
  633. package/dist/showcase/assets/item-avTNp1z7.js +140 -0
  634. package/dist/showcase/assets/kanban-DwVW3Lab.js +188 -0
  635. package/dist/showcase/assets/key-round-CNEqnMGG.js +1 -0
  636. package/dist/showcase/assets/label-BZzl85ev.js +1 -0
  637. package/dist/showcase/assets/languages-BWquWXSu.js +1 -0
  638. package/dist/showcase/assets/layers-hYbCFSpT.js +1 -0
  639. package/dist/showcase/assets/layout-app-shell-BRLO7lFp.js +608 -0
  640. package/dist/showcase/assets/layout-auth-ysobcsYs.js +790 -0
  641. package/dist/showcase/assets/layout-containers-BoVYkBOk.js +141 -0
  642. package/dist/showcase/assets/layout-header-BnkgzPgS.js +203 -0
  643. package/dist/showcase/assets/layout-page-CdzQQr2_.js +315 -0
  644. package/dist/showcase/assets/layout-primitives-BXP_nFQX.js +34 -0
  645. package/dist/showcase/assets/layout-sidebar-tPHppANn.js +224 -0
  646. package/dist/showcase/assets/layout-users-DgChX6ig.js +117 -0
  647. package/dist/showcase/assets/layout-workspace-u1kkLDCd.js +191 -0
  648. package/dist/showcase/assets/lib-VG1Lf4Lk.js +1 -0
  649. package/dist/showcase/assets/list-checks-CUXbiTmk.js +1 -0
  650. package/dist/showcase/assets/lock-BwI_fNQW.js +1 -0
  651. package/dist/showcase/assets/lock-keyhole-DKi16lNp.js +1 -0
  652. package/dist/showcase/assets/mail-BlH-8y33.js +1 -0
  653. package/dist/showcase/assets/mail-check-DrNT7RWT.js +1 -0
  654. package/dist/showcase/assets/map-BKztQq4-.js +124 -0
  655. package/dist/showcase/assets/map-pin-BwGJCGY8.js +1 -0
  656. package/dist/showcase/assets/media-library-CUI_IPkM.js +699 -0
  657. package/dist/showcase/assets/mention-inline-suggestions-BIIRKRpU.js +1 -0
  658. package/dist/showcase/assets/mentions-CTkcQNFc.js +138 -0
  659. package/dist/showcase/assets/menus-DilZRggQ.js +171 -0
  660. package/dist/showcase/assets/message-square-Cjuladix.js +1 -0
  661. package/dist/showcase/assets/metadata-list-C6CF85o9.js +1 -0
  662. package/dist/showcase/assets/metadata-list-PqngP9QU.js +286 -0
  663. package/dist/showcase/assets/metric-C5Wrr90_.js +1 -0
  664. package/dist/showcase/assets/metric-bar-CIesI_gw.js +1 -0
  665. package/dist/showcase/assets/metric-grid-FlL7atag.js +1 -0
  666. package/dist/showcase/assets/metric-trend-chip-DxTiaCTB.js +1 -0
  667. package/dist/showcase/assets/metrics-analytics-bar-YabnSIOP.js +44 -0
  668. package/dist/showcase/assets/metrics-analytics-cards-Buas8exV.js +50 -0
  669. package/dist/showcase/assets/metrics-comparison-Jx1WGPZL.js +76 -0
  670. package/dist/showcase/assets/metrics-heatmap-C5cB95P9.js +27 -0
  671. package/dist/showcase/assets/metrics-inline-badge-D7r40gFm.js +17 -0
  672. package/dist/showcase/assets/metrics-kpi-row-CweMAqSm.js +31 -0
  673. package/dist/showcase/assets/metrics-micro-grid-UUa2fUGF.js +42 -0
  674. package/dist/showcase/assets/metrics-overview-eGnNPvwF.js +192 -0
  675. package/dist/showcase/assets/metrics-stat-cards-CEcX0zqZ.js +54 -0
  676. package/dist/showcase/assets/minus-CVVsGq91.js +1 -0
  677. package/dist/showcase/assets/money-display-Chu4t6MY.js +1 -0
  678. package/dist/showcase/assets/money-display-DNs6PXCm.js +3 -0
  679. package/dist/showcase/assets/month-year-picker-B0odiuhf.js +1 -0
  680. package/dist/showcase/assets/navigation-CQwt1f4b.js +90 -0
  681. package/dist/showcase/assets/navigation-KQxXtiL6.js +231 -0
  682. package/dist/showcase/assets/navigation-extras-2uJbGPhJ.js +43 -0
  683. package/dist/showcase/assets/notification-banner-Cx1Qm0ij.js +1 -0
  684. package/dist/showcase/assets/onboarding-checklist-CAHajXzP.js +119 -0
  685. package/dist/showcase/assets/overflow-tab-bar-gNULx5Wr.js +1 -0
  686. package/dist/showcase/assets/overlays-CaSVa-L2.js +159 -0
  687. package/dist/showcase/assets/overlays-zjTanrAP.js +408 -0
  688. package/dist/showcase/assets/overview-EZ_RMkeD.js +184 -0
  689. package/dist/showcase/assets/package-CqQQqj6Y.js +1 -0
  690. package/dist/showcase/assets/package-check-Nqr5Lv95.js +1 -0
  691. package/dist/showcase/assets/page-BTXFFFwT.js +1 -0
  692. package/dist/showcase/assets/page-action-button-NJqE-qP0.js +1 -0
  693. package/dist/showcase/assets/page-header-AFTuoGVw.js +1 -0
  694. package/dist/showcase/assets/pagination-B1Ewc7Co.js +1 -0
  695. package/dist/showcase/assets/pagination-DOdLcTiT.js +42 -0
  696. package/dist/showcase/assets/paperclip-D0oBI19t.js +1 -0
  697. package/dist/showcase/assets/password-input-C5MrNrHm.js +1 -0
  698. package/dist/showcase/assets/pencil-DdCEPDLe.js +1 -0
  699. package/dist/showcase/assets/phone-BdGmQ_eI.js +1 -0
  700. package/dist/showcase/assets/placeholder-pattern-BnyJukU0.js +1 -0
  701. package/dist/showcase/assets/plus-Dp_nZNjk.js +1 -0
  702. package/dist/showcase/assets/popover-BP4R2w67.js +1 -0
  703. package/dist/showcase/assets/popover-DfGXC2pN.js +1 -0
  704. package/dist/showcase/assets/popover-menu-DGkCA4YC.js +1 -0
  705. package/dist/showcase/assets/product-empty-state-CKylTX_h.js +1 -0
  706. package/dist/showcase/assets/product-option-action-menu-vqslODBe.js +1 -0
  707. package/dist/showcase/assets/product-rows-CWy63Dk5.js +1 -0
  708. package/dist/showcase/assets/product-structure-card-EJY038tP.js +1 -0
  709. package/dist/showcase/assets/product-variant-action-menu-CnRJscP3.js +1 -0
  710. package/dist/showcase/assets/products-jpCjHLbZ.js +61 -0
  711. package/dist/showcase/assets/progress-D19PRprP.js +1 -0
  712. package/dist/showcase/assets/progress-UbtWRfF2.js +18 -0
  713. package/dist/showcase/assets/progress-twHfoY8k.js +1 -0
  714. package/dist/showcase/assets/props-table-aynAz90t.js +1 -0
  715. package/dist/showcase/assets/props.generated-IUhT2lh_.json +42950 -0
  716. package/dist/showcase/assets/qr-code-ywR6kVzD.js +1 -0
  717. package/dist/showcase/assets/quote-BFMPQa3L.js +1 -0
  718. package/dist/showcase/assets/receipt-CcTseXcy.js +1 -0
  719. package/dist/showcase/assets/receipt-text-C9BMAbTL.js +1 -0
  720. package/dist/showcase/assets/refinement-guide-lotMKye4.js +189 -0
  721. package/dist/showcase/assets/refresh-cw-DpfoVhbc.js +1 -0
  722. package/dist/showcase/assets/resolveValueLabel-mzTN-8j9.js +1 -0
  723. package/dist/showcase/assets/resource-CwHVDrOk.js +1 -0
  724. package/dist/showcase/assets/resource-kPziVtVy.js +139 -0
  725. package/dist/showcase/assets/resource-selector-card-xIysiHOg.js +43 -0
  726. package/dist/showcase/assets/rich-text-editor-Bi6stpAW.js +124 -0
  727. package/dist/showcase/assets/rich-text-editor-DggGI4Dj.js +143 -0
  728. package/dist/showcase/assets/rotate-ccw-Uau0Jm3_.js +1 -0
  729. package/dist/showcase/assets/route-Dj29lOBc.js +1 -0
  730. package/dist/showcase/assets/save-j-PKUm-B.js +1 -0
  731. package/dist/showcase/assets/schema-form-D4kfmM1o.js +327 -0
  732. package/dist/showcase/assets/scroll-area-CK1S6JpQ.js +1 -0
  733. package/dist/showcase/assets/scroll-area-Di7TDfFD.js +32 -0
  734. package/dist/showcase/assets/section-C_rLy6Zn.js +1 -0
  735. package/dist/showcase/assets/select-BRC14Sd3.js +1 -0
  736. package/dist/showcase/assets/select-J0hPSc5B.js +1 -0
  737. package/dist/showcase/assets/send-BnVbRsaN.js +1 -0
  738. package/dist/showcase/assets/separator-7gHhV7ed.js +1 -0
  739. package/dist/showcase/assets/separator-CjWigMul.js +1 -0
  740. package/dist/showcase/assets/separator-Dpo134G3.js +28 -0
  741. package/dist/showcase/assets/separator-JYQ5rY8E.js +1 -0
  742. package/dist/showcase/assets/settings-2-D06IRW2d.js +1 -0
  743. package/dist/showcase/assets/settings-YDwquOPS.js +1 -0
  744. package/dist/showcase/assets/sheet-O9T8bfRr.js +1 -0
  745. package/dist/showcase/assets/shield-Cebk5nXH.js +1 -0
  746. package/dist/showcase/assets/shield-alert-BldSpQ1t.js +1 -0
  747. package/dist/showcase/assets/shield-check-CNudpzdR.js +1 -0
  748. package/dist/showcase/assets/shopping-bag-BuHsmxnN.js +1 -0
  749. package/dist/showcase/assets/showcase-B1BPgzRP.js +132 -0
  750. package/dist/showcase/assets/sidebar-DPVgEwE0.js +1 -0
  751. package/dist/showcase/assets/sidebar.context-CYk51BQ5.js +1 -0
  752. package/dist/showcase/assets/skeleton-CrB6dGV4.js +29 -0
  753. package/dist/showcase/assets/skeleton-DMWrHdVi.js +1 -0
  754. package/dist/showcase/assets/skeleton-IBZSxxTq.js +1 -0
  755. package/dist/showcase/assets/skeleton-OK5SgmlA.js +1 -0
  756. package/dist/showcase/assets/slider-DMLIlQeO.js +1 -0
  757. package/dist/showcase/assets/smart-card-CwDYx0xj.js +1 -0
  758. package/dist/showcase/assets/sonner-Dpe1Nwfb.js +22 -0
  759. package/dist/showcase/assets/sortable.esm-BSC2lHxr.js +5 -0
  760. package/dist/showcase/assets/sparkles-BDnbTUMq.js +1 -0
  761. package/dist/showcase/assets/spinner-BZ0h-j9y.js +49 -0
  762. package/dist/showcase/assets/spinner-TNaSAQh7.js +30 -0
  763. package/dist/showcase/assets/spinner-k76a4i_M.js +1 -0
  764. package/dist/showcase/assets/square-pen-Cn-sFtCo.js +1 -0
  765. package/dist/showcase/assets/stacked-avatars-Ds8eV_Nx.js +1 -0
  766. package/dist/showcase/assets/star-BzQGhFDT.js +1 -0
  767. package/dist/showcase/assets/startOfDay-BfIUGWW-.js +1 -0
  768. package/dist/showcase/assets/styles-BleHZ-uX.js +1 -0
  769. package/dist/showcase/assets/suggestions-CsrJSY__.js +126 -0
  770. package/dist/showcase/assets/support-rail-C_fc_C1j.js +26 -0
  771. package/dist/showcase/assets/switch-BEfD8lic.js +1 -0
  772. package/dist/showcase/assets/switch-BOlIXIn9.js +1 -0
  773. package/dist/showcase/assets/switch-card-CCJ-MaRI.js +1 -0
  774. package/dist/showcase/assets/sync-vACCm2ND.js +124 -0
  775. package/dist/showcase/assets/table-CeZy8iT0.js +686 -0
  776. package/dist/showcase/assets/table-DPpHEvR_.js +1 -0
  777. package/dist/showcase/assets/table-actions-C9J5piiU.js +1 -0
  778. package/dist/showcase/assets/tabs-Ca6ldTWi.js +1 -0
  779. package/dist/showcase/assets/tabs-DGP5RvNm.js +19 -0
  780. package/dist/showcase/assets/tags-input-BOemEMZS.js +1 -0
  781. package/dist/showcase/assets/text-button-C8qZqcCy.js +1 -0
  782. package/dist/showcase/assets/text-link-BFYPeXTq.js +1 -0
  783. package/dist/showcase/assets/textarea-DcCHHuP-.js +1 -0
  784. package/dist/showcase/assets/textarea-RUqV9hNm.js +1 -0
  785. package/dist/showcase/assets/throttle-alert-Sf7FjTvh.js +1 -0
  786. package/dist/showcase/assets/timelines-nQ8shLIn.js +200 -0
  787. package/dist/showcase/assets/toggle-group-k5nqOfUW.js +1 -0
  788. package/dist/showcase/assets/toggles-E80ufOk5.js +71 -0
  789. package/dist/showcase/assets/toggles-group-vaJ63gg9.js +32 -0
  790. package/dist/showcase/assets/tooltip-DIvBe7hb.js +31 -0
  791. package/dist/showcase/assets/trash-2-C-6T17-B.js +1 -0
  792. package/dist/showcase/assets/trending-up-DRyRbFnA.js +1 -0
  793. package/dist/showcase/assets/truck-BE6OFjJs.js +1 -0
  794. package/dist/showcase/assets/typography-i6Zhj3TO.js +223 -0
  795. package/dist/showcase/assets/ui-badge-MBQsz2Mn.js +28 -0
  796. package/dist/showcase/assets/ui-card-jaEeRDe5.js +30 -0
  797. package/dist/showcase/assets/ui-table-CbmOEWVu.js +42 -0
  798. package/dist/showcase/assets/upload-tray-D4aE56cX.js +138 -0
  799. package/dist/showcase/assets/use-layout-link-DpqFiDf-.js +1 -0
  800. package/dist/showcase/assets/useAriaLabelledBy-DSKQpAlQ.js +1 -0
  801. package/dist/showcase/assets/useCollapsiblePanel-DL6IpVQS.js +1 -0
  802. package/dist/showcase/assets/useCompositeItem-jckozrpu.js +1 -0
  803. package/dist/showcase/assets/useCompositeListItem-Ce0eZtsp.js +1 -0
  804. package/dist/showcase/assets/useLabelableId-Bs8clfkJ.js +1 -0
  805. package/dist/showcase/assets/useOpenInteractionType-KBhpVaur.js +1 -0
  806. package/dist/showcase/assets/useRender-Bn5cjIfs.js +1 -0
  807. package/dist/showcase/assets/useTriggerFocusGuards-D5Cl055z.js +1 -0
  808. package/dist/showcase/assets/useValueChanged-B-czUWmg.js +1 -0
  809. package/dist/showcase/assets/user-C7ORJkSr.js +1 -0
  810. package/dist/showcase/assets/user-plus-O410ITvy.js +1 -0
  811. package/dist/showcase/assets/users-BlcUaVEY.js +1 -0
  812. package/dist/showcase/assets/variant-details-BJ0OtpeL.js +50 -0
  813. package/dist/showcase/assets/variant-management-pTZ83MM_.js +209 -0
  814. package/dist/showcase/assets/vendor-profile-F2EP-AGx.js +37 -0
  815. package/dist/showcase/assets/video-fYZEPex_.js +1 -0
  816. package/dist/showcase/assets/visually-hidden-C1KAHG63.js +1 -0
  817. package/dist/showcase/assets/weight-input-_wl5mPGA.js +1 -0
  818. package/dist/showcase/assets/wrench-BzqNpztP.js +1 -0
  819. package/dist/showcase/assets/x-C5_SzMQM.js +1 -0
  820. package/dist/showcase/assets/zap-DdInHaAD.js +1 -0
  821. package/dist/showcase/index.html +2 -2
  822. package/dist/style.css +1 -1
  823. package/package.json +1 -1
  824. package/src/css/tokens/components.css +17 -2
  825. package/src/css/tokens/foundation.css +4 -2
  826. package/dist/_shared/accordion-8B4OFqiT.cjs +0 -2
  827. package/dist/_shared/accordion-8B4OFqiT.cjs.map +0 -1
  828. package/dist/_shared/accordion-DlpTSZ3p.js +0 -135
  829. package/dist/_shared/accordion-DlpTSZ3p.js.map +0 -1
  830. package/dist/_shared/action-menu-BYrYdpkR.cjs +0 -2
  831. package/dist/_shared/action-menu-BYrYdpkR.cjs.map +0 -1
  832. package/dist/_shared/action-menu-CYwMZX-b.js +0 -96
  833. package/dist/_shared/action-menu-CYwMZX-b.js.map +0 -1
  834. package/dist/_shared/ai-artifact-Cv8VBibf.cjs +0 -3
  835. package/dist/_shared/ai-artifact-Cv8VBibf.cjs.map +0 -1
  836. package/dist/_shared/ai-artifact-DwfXQuh4.js +0 -1099
  837. package/dist/_shared/ai-artifact-DwfXQuh4.js.map +0 -1
  838. package/dist/_shared/auth-Cz5ci18c.cjs +0 -2
  839. package/dist/_shared/auth-Cz5ci18c.cjs.map +0 -1
  840. package/dist/_shared/auth-DDWsgFUL.js +0 -643
  841. package/dist/_shared/auth-DDWsgFUL.js.map +0 -1
  842. package/dist/_shared/badge-C65rt1M9.cjs +0 -2
  843. package/dist/_shared/badge-C65rt1M9.cjs.map +0 -1
  844. package/dist/_shared/badge-r8ae66Vd.js +0 -110
  845. package/dist/_shared/badge-r8ae66Vd.js.map +0 -1
  846. package/dist/_shared/breadcrumbs-CuT0YIfo.js +0 -105
  847. package/dist/_shared/breadcrumbs-CuT0YIfo.js.map +0 -1
  848. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs +0 -2
  849. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs.map +0 -1
  850. package/dist/_shared/button-Be2ayMxF.js +0 -192
  851. package/dist/_shared/button-Be2ayMxF.js.map +0 -1
  852. package/dist/_shared/button-CfQtOuBK.cjs +0 -2
  853. package/dist/_shared/button-CfQtOuBK.cjs.map +0 -1
  854. package/dist/_shared/buttons-DABiSx6N.cjs +0 -2
  855. package/dist/_shared/buttons-DABiSx6N.cjs.map +0 -1
  856. package/dist/_shared/buttons-DYQqQPpk.js +0 -137
  857. package/dist/_shared/buttons-DYQqQPpk.js.map +0 -1
  858. package/dist/_shared/card-radio-group-DKhZhBFV.cjs +0 -2
  859. package/dist/_shared/card-radio-group-DKhZhBFV.cjs.map +0 -1
  860. package/dist/_shared/card-radio-group-DRjmLN5s.js +0 -150
  861. package/dist/_shared/card-radio-group-DRjmLN5s.js.map +0 -1
  862. package/dist/_shared/cards-BJctT9KD.js +0 -428
  863. package/dist/_shared/cards-BJctT9KD.js.map +0 -1
  864. package/dist/_shared/cards-m03XN10f.cjs +0 -2
  865. package/dist/_shared/cards-m03XN10f.cjs.map +0 -1
  866. package/dist/_shared/combobox-BdBpeD3C.cjs +0 -2
  867. package/dist/_shared/combobox-BdBpeD3C.cjs.map +0 -1
  868. package/dist/_shared/combobox-D9tU_83-.js +0 -954
  869. package/dist/_shared/combobox-D9tU_83-.js.map +0 -1
  870. package/dist/_shared/command-BbJB0pjP.cjs +0 -2
  871. package/dist/_shared/command-BbJB0pjP.cjs.map +0 -1
  872. package/dist/_shared/command-IP2wy_HN.js +0 -39
  873. package/dist/_shared/command-IP2wy_HN.js.map +0 -1
  874. package/dist/_shared/comments-DAzpeuQq.cjs +0 -2
  875. package/dist/_shared/comments-DAzpeuQq.cjs.map +0 -1
  876. package/dist/_shared/comments-DzZaKP9x.js +0 -952
  877. package/dist/_shared/comments-DzZaKP9x.js.map +0 -1
  878. package/dist/_shared/containers-CB7zaAvN.cjs +0 -2
  879. package/dist/_shared/containers-CB7zaAvN.cjs.map +0 -1
  880. package/dist/_shared/containers-CLBmhGfs.js +0 -48
  881. package/dist/_shared/containers-CLBmhGfs.js.map +0 -1
  882. package/dist/_shared/copyable-BJYx2SlN.js +0 -38
  883. package/dist/_shared/copyable-BJYx2SlN.js.map +0 -1
  884. package/dist/_shared/copyable-DiDEjp8Z.cjs +0 -2
  885. package/dist/_shared/copyable-DiDEjp8Z.cjs.map +0 -1
  886. package/dist/_shared/data-display-DQUUEzCx.cjs +0 -2
  887. package/dist/_shared/data-display-DQUUEzCx.cjs.map +0 -1
  888. package/dist/_shared/data-display-LlvMEFTK.js +0 -1878
  889. package/dist/_shared/data-display-LlvMEFTK.js.map +0 -1
  890. package/dist/_shared/date-picker-CrC-lHyF.cjs +0 -2
  891. package/dist/_shared/date-picker-CrC-lHyF.cjs.map +0 -1
  892. package/dist/_shared/date-picker-DbYBek-b.js +0 -1361
  893. package/dist/_shared/date-picker-DbYBek-b.js.map +0 -1
  894. package/dist/_shared/date-pickers-9AU8YQK2.js +0 -329
  895. package/dist/_shared/date-pickers-9AU8YQK2.js.map +0 -1
  896. package/dist/_shared/date-pickers-DUEwCWig.cjs +0 -2
  897. package/dist/_shared/date-pickers-DUEwCWig.cjs.map +0 -1
  898. package/dist/_shared/display-BqoPOdof.cjs +0 -2
  899. package/dist/_shared/display-BqoPOdof.cjs.map +0 -1
  900. package/dist/_shared/display-CQoSwU74.js +0 -986
  901. package/dist/_shared/display-CQoSwU74.js.map +0 -1
  902. package/dist/_shared/dropdown-menu-CHQzQWUK.cjs +0 -2
  903. package/dist/_shared/dropdown-menu-CHQzQWUK.cjs.map +0 -1
  904. package/dist/_shared/dropdown-menu-CoWmrjYX.js +0 -147
  905. package/dist/_shared/dropdown-menu-CoWmrjYX.js.map +0 -1
  906. package/dist/_shared/form-sizing-DJus3nK3.cjs +0 -2
  907. package/dist/_shared/form-sizing-DJus3nK3.cjs.map +0 -1
  908. package/dist/_shared/form-sizing-DWjJsQSR.js +0 -42
  909. package/dist/_shared/form-sizing-DWjJsQSR.js.map +0 -1
  910. package/dist/_shared/forms-CNh-S9FK.cjs +0 -2
  911. package/dist/_shared/forms-CNh-S9FK.cjs.map +0 -1
  912. package/dist/_shared/forms-DIz3SCA9.js +0 -3534
  913. package/dist/_shared/forms-DIz3SCA9.js.map +0 -1
  914. package/dist/_shared/header-Bs61tQla.js +0 -447
  915. package/dist/_shared/header-Bs61tQla.js.map +0 -1
  916. package/dist/_shared/header-D01oOxna.cjs +0 -2
  917. package/dist/_shared/header-D01oOxna.cjs.map +0 -1
  918. package/dist/_shared/hooks-ACnpaIli.js +0 -95
  919. package/dist/_shared/hooks-ACnpaIli.js.map +0 -1
  920. package/dist/_shared/hooks-B7khuHkk.cjs +0 -2
  921. package/dist/_shared/hooks-B7khuHkk.cjs.map +0 -1
  922. package/dist/_shared/input-CzJzVyQ0.js +0 -182
  923. package/dist/_shared/input-CzJzVyQ0.js.map +0 -1
  924. package/dist/_shared/input-Dvvmn96E.cjs +0 -2
  925. package/dist/_shared/input-Dvvmn96E.cjs.map +0 -1
  926. package/dist/_shared/item-CVjjpHQd.js +0 -226
  927. package/dist/_shared/item-CVjjpHQd.js.map +0 -1
  928. package/dist/_shared/item-ChHblHhR.cjs +0 -2
  929. package/dist/_shared/item-ChHblHhR.cjs.map +0 -1
  930. package/dist/_shared/layout-CGi5w1mo.js +0 -268
  931. package/dist/_shared/layout-CGi5w1mo.js.map +0 -1
  932. package/dist/_shared/layout-ccVwjUG8.cjs +0 -2
  933. package/dist/_shared/layout-ccVwjUG8.cjs.map +0 -1
  934. package/dist/_shared/mentions-Cg_4vFxd.cjs +0 -2
  935. package/dist/_shared/mentions-Cg_4vFxd.cjs.map +0 -1
  936. package/dist/_shared/mentions-Ci9RFTfw.js +0 -506
  937. package/dist/_shared/mentions-Ci9RFTfw.js.map +0 -1
  938. package/dist/_shared/money-display-BFk9Gu21.cjs +0 -2
  939. package/dist/_shared/money-display-BFk9Gu21.cjs.map +0 -1
  940. package/dist/_shared/money-display-DpuLnsK2.js +0 -198
  941. package/dist/_shared/money-display-DpuLnsK2.js.map +0 -1
  942. package/dist/_shared/navigation-C1QN2-Vq.cjs +0 -2
  943. package/dist/_shared/navigation-C1QN2-Vq.cjs.map +0 -1
  944. package/dist/_shared/navigation-CMrLO8v5.js +0 -436
  945. package/dist/_shared/navigation-CMrLO8v5.js.map +0 -1
  946. package/dist/_shared/overlays-BJLczwpz.js +0 -735
  947. package/dist/_shared/overlays-BJLczwpz.js.map +0 -1
  948. package/dist/_shared/overlays-DbaPLT67.cjs +0 -2
  949. package/dist/_shared/overlays-DbaPLT67.cjs.map +0 -1
  950. package/dist/_shared/popover-menu-D_t6rCvN.cjs +0 -2
  951. package/dist/_shared/popover-menu-D_t6rCvN.cjs.map +0 -1
  952. package/dist/_shared/popover-menu-f2O6R_27.js +0 -93
  953. package/dist/_shared/popover-menu-f2O6R_27.js.map +0 -1
  954. package/dist/_shared/rich-text-editor-DmZHbsms.js +0 -620
  955. package/dist/_shared/rich-text-editor-DmZHbsms.js.map +0 -1
  956. package/dist/_shared/rich-text-editor-DqUU-H7i.cjs +0 -2
  957. package/dist/_shared/rich-text-editor-DqUU-H7i.cjs.map +0 -1
  958. package/dist/_shared/settings-CgtcSI8L.js +0 -143
  959. package/dist/_shared/settings-CgtcSI8L.js.map +0 -1
  960. package/dist/_shared/settings-csNmeT7b.cjs +0 -2
  961. package/dist/_shared/settings-csNmeT7b.cjs.map +0 -1
  962. package/dist/_shared/sidebar-DyGIcJd9.cjs +0 -2
  963. package/dist/_shared/sidebar-DyGIcJd9.cjs.map +0 -1
  964. package/dist/_shared/sidebar-OT-xIguQ.js +0 -548
  965. package/dist/_shared/sidebar-OT-xIguQ.js.map +0 -1
  966. package/dist/_shared/skeleton-DwF5VdMh.cjs +0 -2
  967. package/dist/_shared/skeleton-DwF5VdMh.cjs.map +0 -1
  968. package/dist/_shared/skeleton-yUXqeWzB.js +0 -256
  969. package/dist/_shared/skeleton-yUXqeWzB.js.map +0 -1
  970. package/dist/_shared/spinner-BDrUzfTo.cjs +0 -2
  971. package/dist/_shared/spinner-BDrUzfTo.cjs.map +0 -1
  972. package/dist/_shared/spinner-CuVZhJhN.js +0 -67
  973. package/dist/_shared/spinner-CuVZhJhN.js.map +0 -1
  974. package/dist/_shared/table-BVWemr79.cjs +0 -2
  975. package/dist/_shared/table-BVWemr79.cjs.map +0 -1
  976. package/dist/_shared/table-WYSjfQRr.js +0 -1377
  977. package/dist/_shared/table-WYSjfQRr.js.map +0 -1
  978. package/dist/_shared/textarea-C0iZwWdD.js +0 -118
  979. package/dist/_shared/textarea-C0iZwWdD.js.map +0 -1
  980. package/dist/_shared/textarea-bHFAtwYd.cjs +0 -2
  981. package/dist/_shared/textarea-bHFAtwYd.cjs.map +0 -1
  982. package/dist/_shared/typography-5bLhAYaK.js +0 -201
  983. package/dist/_shared/typography-5bLhAYaK.js.map +0 -1
  984. package/dist/_shared/typography-CWEobAJV.cjs +0 -2
  985. package/dist/_shared/typography-CWEobAJV.cjs.map +0 -1
  986. package/dist/_shared/workspace-BkwsqTrc.cjs +0 -2
  987. package/dist/_shared/workspace-BkwsqTrc.cjs.map +0 -1
  988. package/dist/_shared/workspace-DpU1YG1t.js +0 -357
  989. package/dist/_shared/workspace-DpU1YG1t.js.map +0 -1
  990. package/dist/showcase/assets/AreaChart-DxDBymDt.js +0 -6
  991. package/dist/showcase/assets/CompositeItem-owAA4Ah3.js +0 -1
  992. package/dist/showcase/assets/CompositeRoot-DzHTtLBs.js +0 -1
  993. package/dist/showcase/assets/DialogTrigger-OUBMI353.js +0 -1
  994. package/dist/showcase/assets/LabelableContext-Cd9Gf7TR.js +0 -1
  995. package/dist/showcase/assets/PreviewLayout-X_NxjYOV.js +0 -1
  996. package/dist/showcase/assets/RadioGroup-BzveyiIV.js +0 -1
  997. package/dist/showcase/assets/ScrollAreaCorner-IZFF348L.js +0 -1
  998. package/dist/showcase/assets/Separator-CSYYEo-X.js +0 -1
  999. package/dist/showcase/assets/ToolbarRootContext-BYSKM0e8.js +0 -1
  1000. package/dist/showcase/assets/accordion-B9VkLXiy.js +0 -171
  1001. package/dist/showcase/assets/accordion-variants-g7lk5hEX.js +0 -1
  1002. package/dist/showcase/assets/action-menu-CWIvuiLO.js +0 -1
  1003. package/dist/showcase/assets/actions-BuwzXYEF.js +0 -310
  1004. package/dist/showcase/assets/activities-BTBlr1G4.js +0 -500
  1005. package/dist/showcase/assets/activities-feed-card-C5lcwUFk.js +0 -1
  1006. package/dist/showcase/assets/admin-kbK6nUjx.js +0 -140
  1007. package/dist/showcase/assets/ai-CKu9EGmA.js +0 -207
  1008. package/dist/showcase/assets/ai-artifact-Bg1MFGeF.js +0 -2
  1009. package/dist/showcase/assets/ai-chat-DEntRhJD.js +0 -568
  1010. package/dist/showcase/assets/ai-elements-DyKRCWiS.js +0 -387
  1011. package/dist/showcase/assets/ai-tool-call-DFrTelEX.js +0 -1
  1012. package/dist/showcase/assets/alert-C0wSpBYn.js +0 -93
  1013. package/dist/showcase/assets/alert-CZ4rgwPr.js +0 -62
  1014. package/dist/showcase/assets/alert-WTKIdE4s.js +0 -1
  1015. package/dist/showcase/assets/api-key-list-BnrUT9Uf.js +0 -1
  1016. package/dist/showcase/assets/api-key-list-bQ6QzFhA.js +0 -73
  1017. package/dist/showcase/assets/app-sidebar-B3veRbac.js +0 -1
  1018. package/dist/showcase/assets/arrow-down-CEXJx115.js +0 -1
  1019. package/dist/showcase/assets/arrow-left-Ca6ri5q0.js +0 -1
  1020. package/dist/showcase/assets/arrow-right-a3STqWgx.js +0 -1
  1021. package/dist/showcase/assets/arrow-up-CCU1MaGq.js +0 -1
  1022. package/dist/showcase/assets/arrow-up-right-BDImqvM2.js +0 -1
  1023. package/dist/showcase/assets/avatar-Bwgai0SK.js +0 -67
  1024. package/dist/showcase/assets/avatar-DSmL52Us.js +0 -57
  1025. package/dist/showcase/assets/avatar-kK9n1a25.js +0 -1
  1026. package/dist/showcase/assets/avatar-nb7MgV_x.js +0 -1
  1027. package/dist/showcase/assets/badge-CTGPRSXm.js +0 -31
  1028. package/dist/showcase/assets/badge-check-zqoYYrVj.js +0 -1
  1029. package/dist/showcase/assets/bell-D7HWGStL.js +0 -1
  1030. package/dist/showcase/assets/boolean-indicator-CqwlV0cf.js +0 -1
  1031. package/dist/showcase/assets/bot-Owx4SMiU.js +0 -1
  1032. package/dist/showcase/assets/box-BeeoLlMd.js +0 -1
  1033. package/dist/showcase/assets/braces-fzrExVIx.js +0 -1
  1034. package/dist/showcase/assets/brain-Da2fsBjd.js +0 -1
  1035. package/dist/showcase/assets/brand-Bo6uwdGf.js +0 -36
  1036. package/dist/showcase/assets/breadcrumb-B-K-6dtd.js +0 -1
  1037. package/dist/showcase/assets/breadcrumb-B6lR9Cq2.js +0 -52
  1038. package/dist/showcase/assets/breadcrumbs-Bamog6P5.js +0 -1
  1039. package/dist/showcase/assets/briefcase-DQjbh28E.js +0 -1
  1040. package/dist/showcase/assets/building-2-DaQW5yJa.js +0 -1
  1041. package/dist/showcase/assets/button-D3skvyQS.js +0 -44
  1042. package/dist/showcase/assets/button-group-BYtbrhme.js +0 -1
  1043. package/dist/showcase/assets/buttons-B3IkMmNQ.js +0 -272
  1044. package/dist/showcase/assets/calendar-C4fCDK3O.js +0 -1
  1045. package/dist/showcase/assets/calendar-CcwkVxCK.js +0 -16
  1046. package/dist/showcase/assets/calendar-DBkwxV9H.js +0 -1
  1047. package/dist/showcase/assets/calendar-days-BWed1W3Z.js +0 -1
  1048. package/dist/showcase/assets/camera-BUoAyoZT.js +0 -1
  1049. package/dist/showcase/assets/card-7DBPqWuv.js +0 -1
  1050. package/dist/showcase/assets/card-ClwyNDHJ.js +0 -188
  1051. package/dist/showcase/assets/card-primitives-BE1YpEQW.js +0 -1
  1052. package/dist/showcase/assets/card-radio-group-1NMbocuG.js +0 -1
  1053. package/dist/showcase/assets/cards-Bu8uaGSU.js +0 -354
  1054. package/dist/showcase/assets/carousel-dTTRRSQg.js +0 -449
  1055. package/dist/showcase/assets/cell-renderers-CcyBuUsC.js +0 -1
  1056. package/dist/showcase/assets/chart-BSboeIO6.js +0 -358
  1057. package/dist/showcase/assets/chart-column-CCzA6B9l.js +0 -1
  1058. package/dist/showcase/assets/checkbox-CSdEPNT5.js +0 -1
  1059. package/dist/showcase/assets/checkbox-CqNLi9Q3.js +0 -1
  1060. package/dist/showcase/assets/chevron-down-C91gNQdT.js +0 -1
  1061. package/dist/showcase/assets/chevron-left-SiAoYFSo.js +0 -1
  1062. package/dist/showcase/assets/chevron-up-Beb1_ET_.js +0 -1
  1063. package/dist/showcase/assets/chevrons-up-down-DaST4VKL.js +0 -1
  1064. package/dist/showcase/assets/circle-D9KiRp8C.js +0 -1
  1065. package/dist/showcase/assets/circle-alert-BQkAwFkl.js +0 -1
  1066. package/dist/showcase/assets/circle-check-big-CN5YOJqq.js +0 -1
  1067. package/dist/showcase/assets/circle-check-dqmKTiDe.js +0 -1
  1068. package/dist/showcase/assets/circle-dot-B7LPN_0V.js +0 -1
  1069. package/dist/showcase/assets/circle-question-mark-yTRkQO3d.js +0 -1
  1070. package/dist/showcase/assets/circle-x-CW2dFcX-.js +0 -1
  1071. package/dist/showcase/assets/clock-3-CXJ_JotW.js +0 -1
  1072. package/dist/showcase/assets/clock-DUqvfazQ.js +0 -1
  1073. package/dist/showcase/assets/code-xml-BmdQDeID.js +0 -1
  1074. package/dist/showcase/assets/collapsible-C-WYhJxn.js +0 -1
  1075. package/dist/showcase/assets/collapsible-CL37AlCX.js +0 -27
  1076. package/dist/showcase/assets/collapsible-uGO5Rj8q.js +0 -1
  1077. package/dist/showcase/assets/combobox-CFh5kUzj.js +0 -685
  1078. package/dist/showcase/assets/command-CtpLaHjh.js +0 -1
  1079. package/dist/showcase/assets/command-DSlK-QAE.js +0 -1
  1080. package/dist/showcase/assets/comment-composer-Rr_a5tZQ.js +0 -1
  1081. package/dist/showcase/assets/comment-item-Dme2o2KI.js +0 -1
  1082. package/dist/showcase/assets/comments-CW2nz465.js +0 -357
  1083. package/dist/showcase/assets/commerce-bwcq6oPn.js +0 -267
  1084. package/dist/showcase/assets/composite-DMIR0vmP.js +0 -1
  1085. package/dist/showcase/assets/conditional-rendering-Bk6AC76c.js +0 -1
  1086. package/dist/showcase/assets/contact-card-BCXS9tWq.js +0 -65
  1087. package/dist/showcase/assets/content-container-b1dC2caJ.js +0 -1
  1088. package/dist/showcase/assets/copyable-BIABx-Vv.js +0 -96
  1089. package/dist/showcase/assets/copyable-Ic9wzVaj.js +0 -1
  1090. package/dist/showcase/assets/course-card-Bo5P3TYv.js +0 -77
  1091. package/dist/showcase/assets/cpu-_VqU6yRO.js +0 -1
  1092. package/dist/showcase/assets/credit-card-BbxO8xLo.js +0 -1
  1093. package/dist/showcase/assets/css-variables-zqpBgnS1.js +0 -1205
  1094. package/dist/showcase/assets/currency-Cjvt4F0b.js +0 -149
  1095. package/dist/showcase/assets/dark-surfaces-CLwERt1f.js +0 -90
  1096. package/dist/showcase/assets/data-view-AtyUp7b-.js +0 -124
  1097. package/dist/showcase/assets/data-view-cnEmgP1C.js +0 -4
  1098. package/dist/showcase/assets/database-TbVXEw7v.js +0 -1
  1099. package/dist/showcase/assets/date-block-CDHemKnP.js +0 -1
  1100. package/dist/showcase/assets/date-block-COb89Y_-.js +0 -1
  1101. package/dist/showcase/assets/date-picker-CK8llBIN.js +0 -1
  1102. package/dist/showcase/assets/date-pickers-DFfDnW9w.js +0 -73
  1103. package/dist/showcase/assets/dense-info-CaFVDE90.js +0 -106
  1104. package/dist/showcase/assets/design-system-consistency-CeSMuTuu.js +0 -264
  1105. package/dist/showcase/assets/dialog-CRQNEK2K.js +0 -1
  1106. package/dist/showcase/assets/dialog-CsCLDb0G.js +0 -1
  1107. package/dist/showcase/assets/dialog-Qh3EHEKq.js +0 -1
  1108. package/dist/showcase/assets/display-utilities-rP3hb4FK.js +0 -4
  1109. package/dist/showcase/assets/display-utilities.examples-BwbvHOcx.js +0 -309
  1110. package/dist/showcase/assets/dist-CbqRct9s.js +0 -1
  1111. package/dist/showcase/assets/dist-iivamCjp.js +0 -45
  1112. package/dist/showcase/assets/dollar-sign-COaRmdJE.js +0 -1
  1113. package/dist/showcase/assets/download-yCcb4rfH.js +0 -1
  1114. package/dist/showcase/assets/dropdown-menu-KoFNw-fX.js +0 -1
  1115. package/dist/showcase/assets/dropzone-DLguWnmu.js +0 -1
  1116. package/dist/showcase/assets/earth-TDRqTA4S.js +0 -1
  1117. package/dist/showcase/assets/ellipsis-Q_fBbRE9.js +0 -1
  1118. package/dist/showcase/assets/ellipsis-vertical-Bh8t3Z1g.js +0 -1
  1119. package/dist/showcase/assets/empty-DvmDTSAj.js +0 -1
  1120. package/dist/showcase/assets/empty-item-C3HP5nuw.js +0 -49
  1121. package/dist/showcase/assets/empty-state-Dcin4cOt.js +0 -190
  1122. package/dist/showcase/assets/empty-state-IV_GTNEI.js +0 -1
  1123. package/dist/showcase/assets/enhanced-activities-BLf2gpes.js +0 -357
  1124. package/dist/showcase/assets/enhanced-combobox-ClZcVnhv.js +0 -1
  1125. package/dist/showcase/assets/esm-Cf6QQstQ.js +0 -2
  1126. package/dist/showcase/assets/event-calendar-zrfI_3AM.js +0 -138
  1127. package/dist/showcase/assets/event-log-D-_CViAw.js +0 -330
  1128. package/dist/showcase/assets/example-6bZGEb3-.js +0 -1
  1129. package/dist/showcase/assets/external-link-7ldgjHZM.js +0 -1
  1130. package/dist/showcase/assets/eye-pXVkim6z.js +0 -1
  1131. package/dist/showcase/assets/feature-announcement-CFcGj3ge.js +0 -34
  1132. package/dist/showcase/assets/file-Bn9sAGaT.js +0 -1
  1133. package/dist/showcase/assets/file-text-Cvxg6pjh.js +0 -1
  1134. package/dist/showcase/assets/filter-layout-DqNRRzDU.js +0 -1
  1135. package/dist/showcase/assets/filters-CQMI_T63.js +0 -139
  1136. package/dist/showcase/assets/flag-vI_WJ-BU.js +0 -1
  1137. package/dist/showcase/assets/folder-open-0AyKSRQS.js +0 -1
  1138. package/dist/showcase/assets/form-field-BaBeXn7a.js +0 -1
  1139. package/dist/showcase/assets/form-sizing-Dltt6Fj-.js +0 -1
  1140. package/dist/showcase/assets/format-DLLMyN-3.js +0 -1
  1141. package/dist/showcase/assets/forms-gPD-Caru.js +0 -915
  1142. package/dist/showcase/assets/funnel-Ca9nWMHm.js +0 -1
  1143. package/dist/showcase/assets/generic-AAssz0h7.js +0 -1
  1144. package/dist/showcase/assets/getPseudoElementBounds-fbxSMOsb.js +0 -1
  1145. package/dist/showcase/assets/gift-BC42Oxfz.js +0 -1
  1146. package/dist/showcase/assets/giftcard-cards-CFKnYe0c.js +0 -85
  1147. package/dist/showcase/assets/git-branch-B-nF8w-J.js +0 -1
  1148. package/dist/showcase/assets/global-search-D6Gxw0G3.js +0 -1
  1149. package/dist/showcase/assets/global-search-jsb_4idg.js +0 -215
  1150. package/dist/showcase/assets/globe-C92uBSrO.js +0 -1
  1151. package/dist/showcase/assets/gradient-card-D4ly60sD.js +0 -58
  1152. package/dist/showcase/assets/hash-BShTbxlR.js +0 -1
  1153. package/dist/showcase/assets/header-CSiNqg9Q.js +0 -1
  1154. package/dist/showcase/assets/header-notifications-CpHeFPQF.js +0 -1
  1155. package/dist/showcase/assets/heart-B3hXs7fr.js +0 -1
  1156. package/dist/showcase/assets/hooks-CamAqFFh.js +0 -220
  1157. package/dist/showcase/assets/house-4_CouE-Y.js +0 -1
  1158. package/dist/showcase/assets/icon-badge-CePIZqWR.js +0 -1
  1159. package/dist/showcase/assets/icon-badge-DSbvvnxh.js +0 -37
  1160. package/dist/showcase/assets/image-BxbFIbVJ.js +0 -1
  1161. package/dist/showcase/assets/inbox-BXab1SM6.js +0 -1
  1162. package/dist/showcase/assets/index-BPUtPJjB.css +0 -2
  1163. package/dist/showcase/assets/index-BjjNfnhP.js +0 -10
  1164. package/dist/showcase/assets/inertValue-CZOzgsmF.js +0 -1
  1165. package/dist/showcase/assets/info-DzqwCq93.js +0 -1
  1166. package/dist/showcase/assets/inline-stat-D5ybpUh-.js +0 -15
  1167. package/dist/showcase/assets/inline-stat-Dq34wv-6.js +0 -1
  1168. package/dist/showcase/assets/input-C8OfUHCK.js +0 -1
  1169. package/dist/showcase/assets/input-D34Ge3rh.js +0 -1
  1170. package/dist/showcase/assets/input-group-BCPZ6Pwq.js +0 -1
  1171. package/dist/showcase/assets/input-group-CySTANka.js +0 -47
  1172. package/dist/showcase/assets/inputs-CnmHo_lj.js +0 -155
  1173. package/dist/showcase/assets/installation-BPvseS46.js +0 -134
  1174. package/dist/showcase/assets/invoice-header-C9JjJWQX.js +0 -36
  1175. package/dist/showcase/assets/invoice-items-DB8tbCv9.js +0 -36
  1176. package/dist/showcase/assets/invoice-mini-Q_PnimKL.js +0 -14
  1177. package/dist/showcase/assets/invoice-table-CLDvpLib.js +0 -30
  1178. package/dist/showcase/assets/isSameDay-D8bDebyL.js +0 -1
  1179. package/dist/showcase/assets/isToday-XVjRuMtp.js +0 -1
  1180. package/dist/showcase/assets/italic-Cm13b8qb.js +0 -1
  1181. package/dist/showcase/assets/item-C07859JQ.js +0 -1
  1182. package/dist/showcase/assets/item-LinnMxvu.js +0 -1
  1183. package/dist/showcase/assets/item-i7ZUMs5t.js +0 -140
  1184. package/dist/showcase/assets/kanban-CIMTpuN5.js +0 -188
  1185. package/dist/showcase/assets/key-round-Bh7EzOyR.js +0 -1
  1186. package/dist/showcase/assets/label-C3A4CjeG.js +0 -1
  1187. package/dist/showcase/assets/languages-C37jhetw.js +0 -1
  1188. package/dist/showcase/assets/layers-Lyr6p-Nt.js +0 -1
  1189. package/dist/showcase/assets/layout-app-shell-BWAkl9gq.js +0 -608
  1190. package/dist/showcase/assets/layout-auth-y1alnhc8.js +0 -790
  1191. package/dist/showcase/assets/layout-containers-B6c-uvil.js +0 -101
  1192. package/dist/showcase/assets/layout-header-DNhJHWNw.js +0 -203
  1193. package/dist/showcase/assets/layout-page-CXU7CnQK.js +0 -315
  1194. package/dist/showcase/assets/layout-primitives-StuFwfwh.js +0 -34
  1195. package/dist/showcase/assets/layout-sidebar-D-QjnZPh.js +0 -224
  1196. package/dist/showcase/assets/layout-users-D7KMzs3-.js +0 -117
  1197. package/dist/showcase/assets/layout-workspace-Butr7CL5.js +0 -191
  1198. package/dist/showcase/assets/lib-D5nOMXIt.js +0 -1
  1199. package/dist/showcase/assets/list-checks-Cg9HZf4W.js +0 -1
  1200. package/dist/showcase/assets/lock-Da21HhQx.js +0 -1
  1201. package/dist/showcase/assets/lock-keyhole-DNTfa9e3.js +0 -1
  1202. package/dist/showcase/assets/mail-Bamky-ti.js +0 -1
  1203. package/dist/showcase/assets/mail-check-BfVYPC42.js +0 -1
  1204. package/dist/showcase/assets/map-BTlWnRAQ.js +0 -124
  1205. package/dist/showcase/assets/map-pin-BU2RBuvC.js +0 -1
  1206. package/dist/showcase/assets/media-library-DJxgoGAF.js +0 -699
  1207. package/dist/showcase/assets/mention-inline-suggestions-CbXVAvbK.js +0 -1
  1208. package/dist/showcase/assets/mentions-kMT-Z3qU.js +0 -138
  1209. package/dist/showcase/assets/menus-bhp_n9PT.js +0 -171
  1210. package/dist/showcase/assets/message-square-DC5Bb9Zs.js +0 -1
  1211. package/dist/showcase/assets/metadata-list-DGr729EW.js +0 -286
  1212. package/dist/showcase/assets/metadata-list-DyjhZi6d.js +0 -1
  1213. package/dist/showcase/assets/metric-DRDok6Ci.js +0 -1
  1214. package/dist/showcase/assets/metric-bar-DZsH4Q3U.js +0 -1
  1215. package/dist/showcase/assets/metric-grid-BlFXTrid.js +0 -1
  1216. package/dist/showcase/assets/metric-trend-chip-oEihbEK8.js +0 -1
  1217. package/dist/showcase/assets/metrics-analytics-bar-BovaXHQX.js +0 -44
  1218. package/dist/showcase/assets/metrics-analytics-cards-CeX9Skmd.js +0 -50
  1219. package/dist/showcase/assets/metrics-comparison-DFPSmREl.js +0 -76
  1220. package/dist/showcase/assets/metrics-heatmap-CXzfZwe_.js +0 -27
  1221. package/dist/showcase/assets/metrics-inline-badge-DQJaNpYH.js +0 -17
  1222. package/dist/showcase/assets/metrics-kpi-row-BIpv8CPU.js +0 -31
  1223. package/dist/showcase/assets/metrics-micro-grid-EOCkRI5Z.js +0 -42
  1224. package/dist/showcase/assets/metrics-overview-BD4s9H2T.js +0 -192
  1225. package/dist/showcase/assets/metrics-stat-cards-t7asN5nA.js +0 -54
  1226. package/dist/showcase/assets/minus-Dr1iTc_q.js +0 -1
  1227. package/dist/showcase/assets/money-display-B5_VqQC0.js +0 -1
  1228. package/dist/showcase/assets/money-display-bU2_cVGX.js +0 -1
  1229. package/dist/showcase/assets/month-year-picker-DVRuYbLm.js +0 -1
  1230. package/dist/showcase/assets/navigation-DBKvJoe-.js +0 -231
  1231. package/dist/showcase/assets/navigation-DOhfmtgy.js +0 -90
  1232. package/dist/showcase/assets/navigation-extras-BkO2TZP7.js +0 -43
  1233. package/dist/showcase/assets/notification-banner-CE1Ei_ZT.js +0 -1
  1234. package/dist/showcase/assets/onboarding-checklist-Bf0aoBoa.js +0 -119
  1235. package/dist/showcase/assets/overflow-tab-bar-B2RXtyMP.js +0 -1
  1236. package/dist/showcase/assets/overlays-4E_sUgkz.js +0 -408
  1237. package/dist/showcase/assets/overlays-ulNl-Vhr.js +0 -159
  1238. package/dist/showcase/assets/overview-CgymfIBq.js +0 -184
  1239. package/dist/showcase/assets/package-CADuUP1u.js +0 -1
  1240. package/dist/showcase/assets/package-check-O7MD6XE_.js +0 -1
  1241. package/dist/showcase/assets/page-GB6OIgID.js +0 -1
  1242. package/dist/showcase/assets/page-action-button-Dpprot7y.js +0 -1
  1243. package/dist/showcase/assets/page-header-2VEUPx67.js +0 -1
  1244. package/dist/showcase/assets/pagination-BBuRtAX9.js +0 -1
  1245. package/dist/showcase/assets/pagination-C4mt4Q4l.js +0 -42
  1246. package/dist/showcase/assets/paperclip-Cmyh3Bhf.js +0 -1
  1247. package/dist/showcase/assets/password-input-CgZj1niQ.js +0 -1
  1248. package/dist/showcase/assets/pencil-CtdXjogr.js +0 -1
  1249. package/dist/showcase/assets/phone-CAFMH1vV.js +0 -1
  1250. package/dist/showcase/assets/placeholder-pattern-DHKm-uYV.js +0 -1
  1251. package/dist/showcase/assets/plus-CN2dzUxL.js +0 -1
  1252. package/dist/showcase/assets/popover-DILNXLWy.js +0 -1
  1253. package/dist/showcase/assets/popover-menu-Bp08xxOf.js +0 -1
  1254. package/dist/showcase/assets/popover-o1EO2yVS.js +0 -1
  1255. package/dist/showcase/assets/products-CCLAbHBN.js +0 -423
  1256. package/dist/showcase/assets/progress-BGna-ZmU.js +0 -18
  1257. package/dist/showcase/assets/progress-BSYlNLIJ.js +0 -1
  1258. package/dist/showcase/assets/progress-CZVy3LGB.js +0 -1
  1259. package/dist/showcase/assets/props-table-X9St7Q4m.js +0 -1
  1260. package/dist/showcase/assets/props.generated-f_jHBhPb.json +0 -41753
  1261. package/dist/showcase/assets/qr-code-CEmKf9xU.js +0 -1
  1262. package/dist/showcase/assets/quote-IH6r-rlY.js +0 -1
  1263. package/dist/showcase/assets/receipt-m9rOe5lY.js +0 -1
  1264. package/dist/showcase/assets/receipt-text-C0TobatH.js +0 -1
  1265. package/dist/showcase/assets/refinement-guide-t9T7iAS2.js +0 -189
  1266. package/dist/showcase/assets/refresh-cw-Dy_Nc4jA.js +0 -1
  1267. package/dist/showcase/assets/resolveValueLabel-DR7LgQP5.js +0 -1
  1268. package/dist/showcase/assets/resource-BcJ8O6uj.js +0 -1
  1269. package/dist/showcase/assets/resource-_zDXez77.js +0 -139
  1270. package/dist/showcase/assets/resource-selector-card-CCAEF-AT.js +0 -43
  1271. package/dist/showcase/assets/rich-text-editor-BJG_ECJp.js +0 -143
  1272. package/dist/showcase/assets/rich-text-editor-fbgVfyEH.js +0 -124
  1273. package/dist/showcase/assets/rotate-ccw-CGuTkHQ3.js +0 -1
  1274. package/dist/showcase/assets/route-C7EZ2Njy.js +0 -1
  1275. package/dist/showcase/assets/save-fKrt-yFG.js +0 -1
  1276. package/dist/showcase/assets/schema-form-k7TXeirD.js +0 -327
  1277. package/dist/showcase/assets/scroll-area-CqNwdlI6.js +0 -32
  1278. package/dist/showcase/assets/scroll-area-UVtlGOgx.js +0 -1
  1279. package/dist/showcase/assets/section-DuBNJP4P.js +0 -1
  1280. package/dist/showcase/assets/select-CINVEIWn.js +0 -1
  1281. package/dist/showcase/assets/select-ZLaamXrm.js +0 -1
  1282. package/dist/showcase/assets/send-DBvt_4jT.js +0 -1
  1283. package/dist/showcase/assets/separator-BdBXRpc3.js +0 -28
  1284. package/dist/showcase/assets/separator-CkJjJQWW.js +0 -1
  1285. package/dist/showcase/assets/separator-CxOeStjL.js +0 -1
  1286. package/dist/showcase/assets/separator-O-VQMSf_.js +0 -1
  1287. package/dist/showcase/assets/settings-2-BWjMVlyS.js +0 -1
  1288. package/dist/showcase/assets/settings-D9Z79UcG.js +0 -1
  1289. package/dist/showcase/assets/sheet-CK9C6r7_.js +0 -1
  1290. package/dist/showcase/assets/shield-BboB3Zlo.js +0 -1
  1291. package/dist/showcase/assets/shield-alert-CAAobStl.js +0 -1
  1292. package/dist/showcase/assets/shield-check-Rfyzz9bK.js +0 -1
  1293. package/dist/showcase/assets/shopping-bag-5hLD82YW.js +0 -1
  1294. package/dist/showcase/assets/showcase-DhOQXB5E.js +0 -132
  1295. package/dist/showcase/assets/sidebar-ZTUACc0t.js +0 -1
  1296. package/dist/showcase/assets/sidebar.context-BiNOpG5W.js +0 -1
  1297. package/dist/showcase/assets/skeleton-BZUSoHbk.js +0 -1
  1298. package/dist/showcase/assets/skeleton-BZkYzAdq.js +0 -1
  1299. package/dist/showcase/assets/skeleton-CrOp8tx3.js +0 -29
  1300. package/dist/showcase/assets/skeleton-P5GXAj4U.js +0 -1
  1301. package/dist/showcase/assets/slider-zlE7nLrp.js +0 -1
  1302. package/dist/showcase/assets/smart-card-OExZHSsj.js +0 -1
  1303. package/dist/showcase/assets/sonner-eMphKM9E.js +0 -22
  1304. package/dist/showcase/assets/sortable.esm-CM9VD5N4.js +0 -5
  1305. package/dist/showcase/assets/sparkles-CIB5irID.js +0 -1
  1306. package/dist/showcase/assets/spinner-11-kP-Ob.js +0 -1
  1307. package/dist/showcase/assets/spinner-D4G5TFSm.js +0 -49
  1308. package/dist/showcase/assets/spinner-DKGukuFV.js +0 -30
  1309. package/dist/showcase/assets/square-pen-zflKy9oX.js +0 -1
  1310. package/dist/showcase/assets/stacked-avatars-Cve1Y6GY.js +0 -1
  1311. package/dist/showcase/assets/star-DleXDkCp.js +0 -1
  1312. package/dist/showcase/assets/startOfDay-TDP2erzM.js +0 -1
  1313. package/dist/showcase/assets/styles-BKlX_Ipc.js +0 -1
  1314. package/dist/showcase/assets/suggestions-Dt2hm1NY.js +0 -126
  1315. package/dist/showcase/assets/switch-DAPAgJbv.js +0 -1
  1316. package/dist/showcase/assets/switch-fQpP2tJl.js +0 -1
  1317. package/dist/showcase/assets/sync-BRcK160D.js +0 -124
  1318. package/dist/showcase/assets/table-Dhmbe1yN.js +0 -686
  1319. package/dist/showcase/assets/table-actions-GGrPOQcv.js +0 -1
  1320. package/dist/showcase/assets/table-v0Eu5yZn.js +0 -1
  1321. package/dist/showcase/assets/tabs-DmaXB1aF.js +0 -19
  1322. package/dist/showcase/assets/tabs-vbNIJ-eo.js +0 -1
  1323. package/dist/showcase/assets/tags-input-Bms_Q5CE.js +0 -1
  1324. package/dist/showcase/assets/text-button-gvJCzaXS.js +0 -1
  1325. package/dist/showcase/assets/text-link-DkByVX4d.js +0 -1
  1326. package/dist/showcase/assets/textarea-B6Ho29y3.js +0 -1
  1327. package/dist/showcase/assets/textarea-JCb0yhZ1.js +0 -1
  1328. package/dist/showcase/assets/throttle-alert-CPU-u6Rs.js +0 -1
  1329. package/dist/showcase/assets/timelines-Bw7mvAdx.js +0 -200
  1330. package/dist/showcase/assets/toggle-group-jlIGX1zh.js +0 -1
  1331. package/dist/showcase/assets/toggles-DV6V9vj-.js +0 -71
  1332. package/dist/showcase/assets/toggles-group-C-Y3dG8q.js +0 -32
  1333. package/dist/showcase/assets/tooltip-CDtPyNOv.js +0 -31
  1334. package/dist/showcase/assets/trash-2-CXRm3lMl.js +0 -1
  1335. package/dist/showcase/assets/trending-up-Bcyp9cw8.js +0 -1
  1336. package/dist/showcase/assets/truck-DVgzuKLP.js +0 -1
  1337. package/dist/showcase/assets/typography-BKPf4j85.js +0 -223
  1338. package/dist/showcase/assets/ui-badge-D-Ud2MES.js +0 -28
  1339. package/dist/showcase/assets/ui-card-gGqI2cfr.js +0 -30
  1340. package/dist/showcase/assets/ui-table-Bqcab_kq.js +0 -42
  1341. package/dist/showcase/assets/upload-tray-BFh6twLE.js +0 -138
  1342. package/dist/showcase/assets/use-layout-link-e9jr981L.js +0 -1
  1343. package/dist/showcase/assets/useAriaLabelledBy-ByBTPUi3.js +0 -1
  1344. package/dist/showcase/assets/useCollapsiblePanel-Bx_-SRtw.js +0 -1
  1345. package/dist/showcase/assets/useCompositeItem-Dmih9c3W.js +0 -1
  1346. package/dist/showcase/assets/useCompositeListItem-C0QJgAKb.js +0 -1
  1347. package/dist/showcase/assets/useLabelableId-COfjI9qt.js +0 -1
  1348. package/dist/showcase/assets/useOpenInteractionType-CRefmlni.js +0 -1
  1349. package/dist/showcase/assets/useRender-Bgu76j1u.js +0 -1
  1350. package/dist/showcase/assets/useTriggerFocusGuards-B2fPZeWf.js +0 -1
  1351. package/dist/showcase/assets/useValueChanged-CNjJ-spo.js +0 -1
  1352. package/dist/showcase/assets/user-CmkLnMh9.js +0 -1
  1353. package/dist/showcase/assets/user-plus-3CGFNUf0.js +0 -1
  1354. package/dist/showcase/assets/users-CuO8W7wn.js +0 -1
  1355. package/dist/showcase/assets/vendor-profile-HLMsE22G.js +0 -37
  1356. package/dist/showcase/assets/video-CoHnn0fp.js +0 -1
  1357. package/dist/showcase/assets/visually-hidden-D5bPAL7Q.js +0 -1
  1358. package/dist/showcase/assets/wrench-C93IxaGt.js +0 -1
  1359. package/dist/showcase/assets/x-BJDvVLAz.js +0 -1
  1360. package/dist/showcase/assets/zap-DYD_Ljkv.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/composed/admin/team-member/team-member.tsx","../../../../src/components/composed/admin/admin.strings.ts","../../../../src/components/composed/admin/role-permission/role-permission.tsx","../../../../src/components/composed/admin/conversation-row/conversation-row.tsx","../../../../src/components/composed/admin/settings-toggle/settings-toggle.tsx","../../../../src/components/composed/admin/inventory-level/inventory-level.tsx","../../../../src/components/composed/admin/api-key-list/api-key-list.strings.ts","../../../../src/components/composed/admin/api-key-list/api-key-list.tsx","../../../../src/components/composed/admin/action-surfaces/index.tsx"],"sourcesContent":["import { Badge } from '@/components/base/badge/badge';\nimport { IconBadge } from '@/components/base/display';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\n\nimport type { TeamMemberRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function TeamMemberRow({ members, className }: TeamMemberRowProps) {\n return (\n <ItemGroup className={cn('team-member--component', className)}>\n {members.map((m) => (\n <Item key={m.name}>\n <ItemMedia>\n <IconBadge tone=\"primary\" solid size=\"default\">\n <Text size=\"xs\" weight=\"semibold\" className=\"text-inherit\">\n {m.initials}\n </Text>\n </IconBadge>\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{m.name}</ItemTitle>\n <ItemDescription clamp={1}>{m.role}</ItemDescription>\n </ItemContent>\n <ItemActions>\n <Badge variant=\"secondary\">{m.dept}</Badge>\n <Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n {m.active}\n </Text>\n </ItemActions>\n </Item>\n ))}\n </ItemGroup>\n );\n}\n\nTeamMemberRow.displayName = 'TeamMemberRow';\n","/**\n * Default user-facing strings for the `composed/admin` family.\n *\n * Consumers wire backend i18n at the call site:\n *\n * <InventoryLevelCard strings={{ statusInStock: t('inv.in_stock') }} … />\n */\n\nexport interface InventoryLevelCardStrings {\n\t/** Status pill label when stock > reorderLevel. */\n\tstatusInStock: string;\n\t/** Status pill label when stock <= reorderLevel and > critical. */\n\tstatusLowStock: string;\n\t/** Status pill label when stock is at or below the critical threshold. */\n\tstatusCritical: string;\n\t/** Inline label preceding the variant value (e.g. \"Variant: Large\"). */\n\tvariantLabel: string;\n\t/** Caption below the stock total (e.g. \"units available\"). */\n\tunitsAvailable: string;\n\t/** Inline label preceding the reorder level (e.g. \"Reorder at:\"). */\n\treorderAtLabel: string;\n\t/** Inline label preceding the last-restocked date (e.g. \"Last restocked:\"). */\n\tlastRestockedLabel: string;\n}\n\nexport const defaultInventoryLevelCardStrings: InventoryLevelCardStrings = {\n\tstatusInStock: 'In Stock',\n\tstatusLowStock: 'Low Stock',\n\tstatusCritical: 'Critical',\n\tvariantLabel: 'Variant',\n\tunitsAvailable: 'units available',\n\treorderAtLabel: 'Reorder at',\n\tlastRestockedLabel: 'Last restocked',\n};\n\nexport interface RolePermissionCardStrings {\n\t/** Edit-role button label. */\n\teditRole: string;\n\t/** Format string for the member-count badge. Receives the count. */\n\tformatMemberCount: (count: number) => string;\n}\n\nexport const defaultRolePermissionCardStrings: RolePermissionCardStrings = {\n\teditRole: 'Edit Role',\n\tformatMemberCount: (count) => `${count} members`,\n};\n","/**\n * RolePermissionCard — admin surface for a role with description, member\n * count badge, grouped permission states (success dot vs muted), and an\n * optional Edit button.\n *\n * Strings overridable via `strings` prop. `strings.formatMemberCount` is a\n * function so consumers can localise pluralisation rules.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\nimport { Pencil } from 'lucide-react';\n\nimport { defaultRolePermissionCardStrings } from '../admin.strings';\nimport type { RolePermissionCardProps } from './types';\n\nexport function RolePermissionCard({\n roleName,\n description,\n memberCount,\n sections,\n onEdit,\n className,\n strings: stringsProp,\n}: RolePermissionCardProps) {\n const strings = useStrings(defaultRolePermissionCardStrings, stringsProp);\n return (\n <SmartCard\n title={roleName}\n description={description}\n headerEnd={memberCount !== undefined && <Badge variant=\"info\">{strings.formatMemberCount(memberCount)}</Badge>}\n className={cn('role-permission--component', className)}\n >\n <div className=\"mt-5 space-y-4\">\n {sections.map((section) => (\n <div key={section.name}>\n <Text size=\"xs\" weight=\"medium\" className=\"uppercase tracking-wider text-muted-foreground\">\n {section.name}\n </Text>\n <div className=\"mt-2 flex flex-wrap gap-2\">\n {section.permissions.map((perm) => (\n <div key={perm.label} className=\"flex items-center gap-1.5\">\n <span className={cn('size-2.5 rounded-full', perm.active ? 'bg-success' : 'bg-muted')} />\n <Text size=\"xs\" className={perm.active ? 'text-foreground' : 'text-muted-foreground'}>\n {perm.label}\n </Text>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n\n {!!onEdit && (\n <Button variant=\"secondary\" buttonStyle=\"ghost\" icon={Pencil} className=\"mt-5\" onClick={onEdit}>\n {strings.editRole}\n </Button>\n )}\n </SmartCard>\n );\n}\n\nRolePermissionCard.displayName = 'RolePermissionCard';\n","import { IconBadge } from '@/components/base/display';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\n\nimport type { RecentConversationRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function RecentConversationRow({ conversations, className }: RecentConversationRowProps) {\n return (\n <ItemGroup className={cn('conversation-row--component', className)}>\n {conversations.map((c) => (\n <Item key={c.name} className=\"cursor-pointer\">\n <ItemMedia>\n <IconBadge tone=\"primary\" size=\"default\">\n <Text size=\"xs\" weight=\"semibold\" className=\"text-inherit\">\n {c.initials}\n </Text>\n </IconBadge>\n </ItemMedia>\n <ItemContent>\n <div className=\"flex items-center justify-between gap-2\">\n <ItemTitle>{c.name}</ItemTitle>\n <Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n {c.time}\n </Text>\n </div>\n <ItemDescription clamp={1}>{c.preview}</ItemDescription>\n </ItemContent>\n {!!c.unread && (\n <ItemActions>\n <IconBadge tone=\"primary\" solid size=\"small\">\n <Text size=\"xs\" weight=\"bold\" className=\"text-inherit tabular-nums\">\n {c.unread}\n </Text>\n </IconBadge>\n </ItemActions>\n )}\n </Item>\n ))}\n </ItemGroup>\n );\n}\n\nRecentConversationRow.displayName = 'RecentConversationRow';\n","/**\n * SettingsToggleRow — vertically-stacked list of settings with icon, name,\n * description, and a `<Switch>` per row. Controlled when `values`/`onChange`\n * are passed; otherwise self-managed via local state.\n */\nimport { useState } from 'react';\n\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { ToggleSwitch } from '@/components/base/forms/fields/switch';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\n\nimport type { SettingsToggleRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function SettingsToggleRow({ settings, values, onChange, className }: SettingsToggleRowProps) {\n const [internalValues, setInternalValues] = useState<Record<string, boolean>>(() => {\n const defaults: Record<string, boolean> = {};\n for (const s of settings) {\n defaults[s.key] = s.defaultValue ?? false;\n }\n return defaults;\n });\n\n const isControlled = onChange !== undefined;\n const resolvedValues = isControlled && values ? values : internalValues;\n\n const handleToggle = (key: string, next: boolean) => {\n if (isControlled && onChange) {\n onChange(key, next);\n } else {\n setInternalValues((prev) => ({ ...prev, [key]: next }));\n }\n };\n\n return (\n <SmartCard className={cn('settings-toggle--component', className)}>\n <ItemGroup>\n {settings.map((s) => {\n const Icon = s.icon;\n const checked = resolvedValues[s.key] ?? false;\n return (\n <Item key={s.key}>\n <ItemMedia variant=\"icon\" className=\"bg-muted text-muted-foreground rounded-full size-9\">\n <Icon />\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{s.name}</ItemTitle>\n <ItemDescription>{s.desc}</ItemDescription>\n </ItemContent>\n <ItemActions>\n <ToggleSwitch\n aria-label={s.name}\n checked={checked}\n onCheckedChange={(next) => handleToggle(s.key, next)}\n />\n </ItemActions>\n </Item>\n );\n })}\n </ItemGroup>\n </SmartCard>\n );\n}\n\nSettingsToggleRow.displayName = 'SettingsToggleRow';\n","/**\n * InventoryLevelCard — single-product inventory snapshot with stock total,\n * reorder threshold, and a status pill (Critical / Low Stock / In Stock).\n *\n * Status thresholds are computed from `stock`, `reorderLevel`, and the\n * critical threshold (50% of `reorderLevel`). Status pill labels flow via\n * the `strings` prop so consumers can localise without forking the file.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultInventoryLevelCardStrings } from '../admin.strings';\nimport type { InventoryLevelCardProps } from './types';\n\nexport function InventoryLevelCard({\n productName,\n variant,\n stock,\n reorderLevel,\n maxStock,\n lastRestocked,\n className,\n strings: stringsProp,\n}: InventoryLevelCardProps) {\n const strings = useStrings(defaultInventoryLevelCardStrings, stringsProp);\n const pct = Math.round((stock / maxStock) * 100);\n const isLow = stock <= reorderLevel;\n const isCritical = stock <= reorderLevel * 0.5;\n\n const badgeVariant = isCritical ? 'error' : isLow ? 'warning' : 'success';\n const badgeLabel = isCritical\n ? strings.statusCritical\n : isLow\n ? strings.statusLowStock\n : strings.statusInStock;\n\n return (\n <SmartCard className={cn('inventory-level--component', className)}>\n <Item size=\"small\">\n <ItemContent>\n <ItemTitle>{productName}</ItemTitle>\n {!!variant && (\n <ItemDescription clamp={1}>\n {strings.variantLabel}: {variant}\n </ItemDescription>\n )}\n </ItemContent>\n <ItemActions>\n <Badge variant={badgeVariant}>{badgeLabel}</Badge>\n </ItemActions>\n </Item>\n\n <Text size=\"base\" weight=\"semibold\" className=\"tabular-nums tracking-tight\">{stock}</Text>\n <Text size=\"xs\" type=\"secondary\">\n {strings.unitsAvailable}\n </Text>\n\n <div className=\"mt-4 space-y-2\">\n <div className=\"h-1.5 overflow-hidden rounded-full bg-muted\">\n <div\n className={cn(\n 'h-full rounded-full transition-all',\n isCritical ? 'bg-destructive' : isLow ? 'bg-warning' : 'bg-success',\n )}\n style={{ width: `${pct}%` }}\n />\n </div>\n <div className=\"flex items-center justify-between\">\n <Text size=\"xs\" type=\"secondary\">\n {strings.reorderAtLabel}: <Text tag=\"span\" weight=\"medium\" className=\"tabular-nums\">{reorderLevel}</Text>\n </Text>\n {!!lastRestocked && (\n <Text size=\"xs\" type=\"secondary\">\n {strings.lastRestockedLabel}: {lastRestocked}\n </Text>\n )}\n </div>\n </div>\n </SmartCard>\n );\n}\n\nInventoryLevelCard.displayName = 'InventoryLevelCard';\n","/**\n * Strings for `<ApiKeyList>`. English defaults; deep-merge-overridable.\n */\nexport interface ApiKeyListStrings {\n\ttitle: string;\n\taddAria: string;\n\trowMenuAria: string;\n\tcopyMenuItem: string;\n\tcopiedMenuItem: string;\n\tdeleteMenuItem: string;\n\tcopyToastSuccess: string;\n\tcopyToastError: string;\n\temptyMessage: string;\n}\n\nexport const defaultApiKeyListStrings: ApiKeyListStrings = {\n\ttitle: 'API keys',\n\taddAria: 'Add API key',\n\trowMenuAria: 'Key actions',\n\tcopyMenuItem: 'Copy key',\n\tcopiedMenuItem: 'Copied',\n\tdeleteMenuItem: 'Delete',\n\tcopyToastSuccess: 'Copied to clipboard',\n\tcopyToastError: 'Failed to copy',\n\temptyMessage: 'No keys yet.',\n};\n","/**\n * ApiKeyList — collapsible section listing API keys / credentials with a\n * per-row dropdown menu (Copy / Delete) and an optional add-new action\n * in the header. Generic enough to use for any \"named secret list\":\n * service tokens, webhook URLs, deployment hooks, …\n *\n * Composes:\n * - `base/display/collapsible` (the shadcn-wrapped collapsible shell)\n * - `base/cards/SmartCard` (the surface chrome)\n * - `base/buttons`, `base/badge` (header actions, status pills)\n * - `base/navigation/ActionMenu` (per-row dropdown)\n * - `base/copyable/Copyable` (copy-to-clipboard with toast)\n *\n * Framework-agnostic — every action is callback-driven; the library\n * doesn't fetch, navigate, or render delete confirmations.\n */\nimport { ChevronRight, Copy, Lock, Plus, Trash2 } from 'lucide-react';\nimport { forwardRef, useCallback, useState } from 'react';\nimport { toast } from 'sonner';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards';\nimport {\n\tCollapsible,\n\tCollapsibleContent,\n\tCollapsibleTrigger,\n} from '@/components/base/display/collapsible';\nimport { IconBadge } from '@/components/base/display/icon-badge';\nimport { Item, ItemActions, ItemContent, ItemMedia } from '@/components/base/item';\nimport { ActionMenu, MenuAction } from '@/components/base/navigation/action-menu';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultApiKeyListStrings } from './api-key-list.strings';\nimport type { ApiKeyListItem, ApiKeyListProps } from './api-key-list.types';\n\nexport const ApiKeyList = forwardRef<HTMLDivElement, ApiKeyListProps>(function ApiKeyList({\n\titems,\n\tdefaultOpen = true,\n\topen,\n\tonOpenChange,\n\tonAdd,\n\tonDelete,\n\tonCopy,\n\ttitle,\n\tclassName,\n\tstrings: stringsProp,\n}, ref) {\n\tconst strings = useStrings(defaultApiKeyListStrings, stringsProp);\n\tconst isControlled = open !== undefined;\n\tconst [internalOpen, setInternalOpen] = useState(defaultOpen);\n\tconst expanded = isControlled ? open : internalOpen;\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (!isControlled) setInternalOpen(next);\n\t\t\tonOpenChange?.(next);\n\t\t},\n\t\t[isControlled, onOpenChange],\n\t);\n\n\treturn (\n\t\t<SmartCard ref={ref} className={cn('api-key-list--component', className)}>\n\t\t\t<Collapsible open={expanded} onOpenChange={handleOpenChange}>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<CollapsibleTrigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\t\tclassName=\"h-auto flex-1 justify-start gap-2 rounded-sm px-0 py-0 text-left\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronRight\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'size-4 text-muted-foreground transition-transform',\n\t\t\t\t\t\t\t\t\texpanded && 'rotate-90',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\">\n\t\t\t\t\t\t\t\t{title ?? strings.title}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</CollapsibleTrigger>\n\t\t\t\t\t{!!onAdd && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\t\tonClick={onAdd}\n\t\t\t\t\t\t\taria-label={strings.addAria}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Plus className=\"size-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<CollapsibleContent className=\"pt-3\">\n\t\t\t\t\t{items.length === 0 ? (\n\t\t\t\t\t\t<Text type=\"secondary\">\n\t\t\t\t\t\t\t{strings.emptyMessage}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"flex flex-col gap-2.5\">\n\t\t\t\t\t\t\t{items.map((item) => (\n\t\t\t\t\t\t\t\t<ApiKeyRow\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\tonDelete={onDelete}\n\t\t\t\t\t\t\t\t\tonCopy={onCopy}\n\t\t\t\t\t\t\t\t\tcopyMenuLabel={strings.copyMenuItem}\n\t\t\t\t\t\t\t\t\tcopiedMenuLabel={strings.copiedMenuItem}\n\t\t\t\t\t\t\t\t\tdeleteMenuLabel={strings.deleteMenuItem}\n\t\t\t\t\t\t\t\t\trowMenuAria={strings.rowMenuAria}\n\t\t\t\t\t\t\t\t\tcopyToastSuccess={strings.copyToastSuccess}\n\t\t\t\t\t\t\t\t\tcopyToastError={strings.copyToastError}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</CollapsibleContent>\n\t\t\t</Collapsible>\n\t\t</SmartCard>\n\t);\n});\n\nApiKeyList.displayName = 'ApiKeyList';\n\ninterface ApiKeyRowProps {\n\titem: ApiKeyListItem;\n\tonDelete?: ApiKeyListProps['onDelete'];\n\tonCopy?: ApiKeyListProps['onCopy'];\n\tcopyMenuLabel: string;\n\tcopiedMenuLabel: string;\n\tdeleteMenuLabel: string;\n\trowMenuAria: string;\n\tcopyToastSuccess: string;\n\tcopyToastError: string;\n}\n\nfunction ApiKeyRow({\n\titem,\n\tonDelete,\n\tonCopy,\n\tcopyMenuLabel,\n\tcopiedMenuLabel,\n\tdeleteMenuLabel,\n\trowMenuAria,\n\tcopyToastSuccess,\n\tcopyToastError,\n}: ApiKeyRowProps) {\n\tconst [copied, setCopied] = useState(false);\n\n\tconst handleCopy = useCallback(async () => {\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(item.value);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 1500);\n\t\t\ttoast.success(copyToastSuccess);\n\t\t\tonCopy?.(item.id, item);\n\t\t} catch (err) {\n\t\t\ttoast.error(copyToastError);\n\t\t\tif (import.meta.env?.DEV) {\n\t\t\t\tconsole.warn('[ApiKeyList] copy failed', err);\n\t\t\t}\n\t\t}\n\t}, [item, onCopy, copyToastSuccess, copyToastError]);\n\n\tconst display = item.displayValue ?? item.value;\n\n\treturn (\n\t\t<Item size=\"small\" data-slot=\"api-key-row\" className=\"flex-nowrap\">\n\t\t\t<ItemMedia variant=\"icon\">\n\t\t\t\t<IconBadge\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tshape=\"square\"\n\t\t\t\t\ttone=\"muted\"\n\t\t\t\t\tbordered\n\t\t\t\t\tclassName=\"text-success\"\n\t\t\t\t>\n\t\t\t\t\t{item.icon ?? <Lock className=\"size-3.5\" />}\n\t\t\t\t</IconBadge>\n\t\t\t</ItemMedia>\n\t\t\t<ItemContent className=\"min-w-0 flex-row items-center gap-2.5\">\n\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className=\"w-20 shrink-0 truncate sm:w-24\">\n\t\t\t\t\t{item.name}\n\t\t\t\t</Text>\n\t\t\t\t<span className=\"min-w-0 flex-1 truncate rounded-sm bg-muted px-2 py-1 font-mono text-xs\">\n\t\t\t\t\t{display}\n\t\t\t\t</span>\n\t\t\t</ItemContent>\n\t\t\t<ItemActions className=\"shrink-0\">\n\t\t\t\t<ActionMenu\n\t\t\t\t\tsrText={rowMenuAria}\n\t\t\t\t\talign=\"end\"\n\t\t\t\t\tcloseOnSelect\n\t\t\t\t\tbuttonProps={{ buttonStyle: 'ghost', variant: 'secondary' }}\n\t\t\t\t>\n\t\t\t\t\t<MenuAction\n\t\t\t\t\t\tlabel={copied ? copiedMenuLabel : copyMenuLabel}\n\t\t\t\t\t\ticon={Copy}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tvoid handleCopy();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t/>\n\t\t\t\t\t{!!onDelete && (\n\t\t\t\t\t\t<MenuAction\n\t\t\t\t\t\t\tlabel={deleteMenuLabel}\n\t\t\t\t\t\t\ticon={Trash2}\n\t\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t\t\tonClick={() => onDelete(item.id, item)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</ActionMenu>\n\t\t\t</ItemActions>\n\t\t</Item>\n\t);\n}\n\nApiKeyRow.displayName = 'ApiKeyRow';\n","import {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\ttype ReactNode } from 'react';\nimport { KeyRound,\n\tPlus,\n\tShieldAlert,\n\tTrash2,\n\ttype LucideIcon } from 'lucide-react';\n\nimport { Button,\n\ttype ButtonProps } from '@/components/base/buttons';\nimport { SmartCard,\n\ttype CardPadding,\n\ttype SmartCardSurface } from '@/components/base/cards';\nimport { Copyable } from '@/components/base/copyable';\nimport {\n\tAlert,\n\tAlertAction,\n\tAlertDescription,\n\tAlertTitle,\n\tIconBadge,\n} from '@/components/base/display';\nimport { Checkbox, FormField, Input } from '@/components/base/forms';\nimport { Item, ItemActions, ItemContent, ItemDescription, ItemMedia, ItemTitle } from '@/components/base/item';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { ApiKeyList, type ApiKeyListItem } from '../api-key-list';\n\nexport interface ActionRowAction extends Omit<ButtonProps, 'children'> {\n\tlabel: ReactNode;\n\ticon?: LucideIcon;\n}\n\nexport interface ActionRowProps {\n\ticon?: LucideIcon;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tprimaryAction?: ActionRowAction;\n\tsecondaryAction?: ActionRowAction;\n\tactions?: ReactNode;\n\tdisabled?: boolean;\n\tclassName?: string;\n}\n\nfunction renderAction(action: ActionRowAction | undefined, fallbackVariant: ButtonProps['variant']) {\n\tif (!action) return null;\n\tconst { label, icon: Icon, variant = fallbackVariant, ...buttonProps } = action;\n\n\treturn (\n\t\t<Button {...buttonProps} variant={variant}>\n\t\t\t{!!Icon && <Icon className=\"size-4\" />}\n\t\t\t{label}\n\t\t</Button>\n\t);\n}\n\nexport function ActionRow({\n\ticon: Icon,\n\ttitle,\n\tdescription,\n\tprimaryAction,\n\tsecondaryAction,\n\tactions,\n\tdisabled = false,\n\tclassName,\n}: ActionRowProps) {\n\treturn (\n\t\t<Item\n\t\t\tdata-component=\"action-row\"\n\t\t\tdata-slot=\"action-row\"\n\t\t\tclassName={cn('action-row--component', disabled && 'opacity-60', className)}\n\t\t>\n\t\t\t{!!Icon && (\n\t\t\t\t<ItemMedia variant=\"icon\">\n\t\t\t\t\t<IconBadge icon={Icon} tone=\"muted\" shape=\"square\" size=\"default\" />\n\t\t\t\t</ItemMedia>\n\t\t\t)}\n\t\t\t<ItemContent>\n\t\t\t\t<ItemTitle>{title}</ItemTitle>\n\t\t\t\t{!!description && <ItemDescription>{description}</ItemDescription>}\n\t\t\t</ItemContent>\n\t\t\t<ItemActions className=\"flex-wrap justify-end\">\n\t\t\t\t{actions ?? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{renderAction(secondaryAction, 'secondary')}\n\t\t\t\t\t\t{renderAction(primaryAction, 'primary')}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</ItemActions>\n\t\t</Item>\n\t);\n}\n\nexport interface ActionListProps {\n\ttitle?: ReactNode;\n\tdescription?: ReactNode;\n\tactions?: ReactNode;\n\tchildren?: ReactNode;\n\trows?: readonly ActionRowProps[];\n\tpadding?: CardPadding;\n\tsurface?: SmartCardSurface;\n\tclassName?: string;\n\tcontentClassName?: string;\n}\n\nexport function ActionList({\n\ttitle,\n\tdescription,\n\tactions,\n\tchildren,\n\trows,\n\tpadding = 'default',\n\tsurface = 'card',\n\tclassName,\n\tcontentClassName,\n}: ActionListProps) {\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"action-list\"\n\t\t\tdata-slot=\"action-list\"\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\theaderAction={actions}\n\t\t\tpadding={padding}\n\t\t\tsurface={surface}\n\t\t\tclassName={cn('action-list--component', className)}\n\t\t\tcontentClassName={cn('action-list--content grid gap-2', contentClassName)}\n\t\t>\n\t\t\t{rows?.map((row, index) => (\n\t\t\t\t<ActionRow key={index} {...row} />\n\t\t\t))}\n\t\t\t{children}\n\t\t</SmartCard>\n\t);\n}\n\nexport interface SensitiveActionCardProps {\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tconfirmation?: ReactNode;\n\taction?: ReactNode;\n\ticon?: LucideIcon;\n\tpadding?: CardPadding;\n\tsurface?: SmartCardSurface;\n\tclassName?: string;\n}\n\nexport function SensitiveActionCard({\n\ttitle,\n\tdescription,\n\tconfirmation,\n\taction,\n\ticon: Icon = ShieldAlert,\n\tpadding = 'default',\n\tsurface = 'card',\n\tclassName,\n}: SensitiveActionCardProps) {\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"sensitive-action-card\"\n\t\t\tdata-slot=\"sensitive-action-card\"\n\t\t\tpadding={padding}\n\t\t\tsurface={surface}\n\t\t\tclassName={cn('sensitive-action-card--component border-destructive/30', className)}\n\t\t\tcontentClassName=\"sensitive-action-card--content grid gap-3\"\n\t\t>\n\t\t\t<div className=\"flex min-w-0 items-start gap-3\">\n\t\t\t\t<IconBadge icon={Icon} tone=\"destructive\" shape=\"square\" size=\"default\" />\n\t\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t\t<Text weight=\"semibold\">{title}</Text>\n\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{!!action && <div className=\"shrink-0\">{action}</div>}\n\t\t\t</div>\n\t\t\t{!!confirmation && (\n\t\t\t\t<Alert variant=\"destructive\" role=\"note\" className=\"sensitive-action-card--confirmation\">\n\t\t\t\t\t<AlertDescription>{confirmation}</AlertDescription>\n\t\t\t\t</Alert>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nexport interface CopyableSecretAlertStrings {\n\ttitle: string;\n\tdescription: string;\n\tcopySuccess: string;\n}\n\nexport const defaultCopyableSecretAlertStrings: CopyableSecretAlertStrings = {\n\ttitle: 'Secret created',\n\tdescription: 'Copy this value now. It may not be shown again.',\n\tcopySuccess: 'Secret copied',\n};\n\nexport interface CopyableSecretAlertProps {\n\tvalue: string;\n\tdisplayValue?: ReactNode;\n\ttitle?: ReactNode;\n\tdescription?: ReactNode;\n\taction?: ReactNode;\n\tclassName?: string;\n\tstrings?: StringsProp<CopyableSecretAlertStrings>;\n}\n\nexport function CopyableSecretAlert({\n\tvalue,\n\tdisplayValue,\n\ttitle,\n\tdescription,\n\taction,\n\tclassName,\n\tstrings: stringsProp,\n}: CopyableSecretAlertProps) {\n\tconst strings = useStrings(defaultCopyableSecretAlertStrings, stringsProp);\n\n\treturn (\n\t\t<Alert\n\t\t\tdata-component=\"copyable-secret-alert\"\n\t\t\tdata-slot=\"copyable-secret-alert\"\n\t\t\tvariant=\"success\"\n\t\t\tclassName={cn('copyable-secret-alert--component', className)}\n\t\t>\n\t\t\t<KeyRound className=\"size-4\" />\n\t\t\t<AlertTitle>{title ?? strings.title}</AlertTitle>\n\t\t\t<AlertDescription>\n\t\t\t\t<span className=\"grid gap-2\">\n\t\t\t\t\t<span>{description ?? strings.description}</span>\n\t\t\t\t\t<Copyable\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdisplayValue={displayValue ?? value}\n\t\t\t\t\t\tmono\n\t\t\t\t\t\ttruncate\n\t\t\t\t\t\tclassName=\"copyable-secret-alert--value max-w-full rounded-md bg-background px-2 py-1\"\n\t\t\t\t\t\tsuccessMessage={strings.copySuccess}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t</AlertDescription>\n\t\t\t{!!action && <AlertAction>{action}</AlertAction>}\n\t\t</Alert>\n\t);\n}\n\nexport interface ApiTokenAbility {\n\tid: string;\n\tlabel: ReactNode;\n\tdescription?: ReactNode;\n\tdisabled?: boolean;\n}\n\nexport interface ApiTokenCreatedToken {\n\tvalue: string;\n\tdisplayValue?: ReactNode;\n\tname?: ReactNode;\n}\n\nexport interface ApiTokenCreateValues {\n\tname: string;\n\tabilities: string[];\n}\n\nexport interface ApiTokenManagerStrings {\n\ttitle: string;\n\tdescription: string;\n\tnameLabel: string;\n\tnamePlaceholder: string;\n\tabilitiesLabel: string;\n\tcreate: string;\n\trevokeAll: string;\n\tcreatedTitle: string;\n\tcreatedDescription: string;\n}\n\nexport const defaultApiTokenManagerStrings: ApiTokenManagerStrings = {\n\ttitle: 'API tokens',\n\tdescription: 'Create and revoke access tokens.',\n\tnameLabel: 'Token name',\n\tnamePlaceholder: 'Production deploy key',\n\tabilitiesLabel: 'Abilities',\n\tcreate: 'Create token',\n\trevokeAll: 'Revoke all',\n\tcreatedTitle: 'Token created',\n\tcreatedDescription: 'Copy this token now. It will not be shown again.',\n};\n\nexport interface ApiTokenManagerProps {\n\ttokens: ApiKeyListItem[];\n\tabilities?: readonly ApiTokenAbility[];\n\tcreatedToken?: ApiTokenCreatedToken | null;\n\tname?: string;\n\tdefaultName?: string;\n\tonNameChange?: (name: string) => void;\n\tselectedAbilities?: readonly string[];\n\tdefaultSelectedAbilities?: readonly string[];\n\tonSelectedAbilitiesChange?: (abilities: string[]) => void;\n\tonCreateToken?: (values: ApiTokenCreateValues) => void | Promise<void>;\n\tonRevokeToken?: (id: string, token: ApiKeyListItem) => void | Promise<void>;\n\tonRevokeAllTokens?: () => void | Promise<void>;\n\tonAfterMutate?: (event: { type: 'create' | 'revoke' | 'revoke-all'; payload?: unknown }) => void;\n\tonError?: (error: unknown, context: { phase: 'create' | 'revoke' | 'revoke-all' }) => void;\n\tisCreating?: boolean;\n\tisRevokingAll?: boolean;\n\tdisabled?: boolean;\n\tclassName?: string;\n\tstrings?: StringsProp<ApiTokenManagerStrings>;\n}\n\nexport function ApiTokenManager({\n\ttokens,\n\tabilities = [],\n\tcreatedToken,\n\tname,\n\tdefaultName = '',\n\tonNameChange,\n\tselectedAbilities,\n\tdefaultSelectedAbilities = [],\n\tonSelectedAbilitiesChange,\n\tonCreateToken,\n\tonRevokeToken,\n\tonRevokeAllTokens,\n\tonAfterMutate,\n\tonError,\n\tisCreating = false,\n\tisRevokingAll = false,\n\tdisabled = false,\n\tclassName,\n\tstrings: stringsProp,\n}: ApiTokenManagerProps) {\n\tconst strings = useStrings(defaultApiTokenManagerStrings, stringsProp);\n\tconst isNameControlled = name !== undefined;\n\tconst isAbilitiesControlled = selectedAbilities !== undefined;\n\tconst [internalName, setInternalName] = useState(defaultName);\n\tconst [internalAbilities, setInternalAbilities] = useState<string[]>([...defaultSelectedAbilities]);\n\tconst [pendingPhase, setPendingPhase] = useState<'create' | 'revoke' | 'revoke-all' | null>(null);\n\tconst resolvedName = isNameControlled ? name : internalName;\n\tconst resolvedAbilities = useMemo(\n\t\t() => isAbilitiesControlled ? [...selectedAbilities] : internalAbilities,\n\t\t[internalAbilities, isAbilitiesControlled, selectedAbilities],\n\t);\n\tconst creating = isCreating || pendingPhase === 'create';\n\tconst revokingAll = isRevokingAll || pendingPhase === 'revoke-all';\n\n\tconst setName = useCallback(\n\t\t(nextName: string) => {\n\t\t\tif (!isNameControlled) setInternalName(nextName);\n\t\t\tonNameChange?.(nextName);\n\t\t},\n\t\t[isNameControlled, onNameChange],\n\t);\n\n\tconst setAbilities = useCallback(\n\t\t(nextAbilities: string[]) => {\n\t\t\tif (!isAbilitiesControlled) setInternalAbilities(nextAbilities);\n\t\t\tonSelectedAbilitiesChange?.(nextAbilities);\n\t\t},\n\t\t[isAbilitiesControlled, onSelectedAbilitiesChange],\n\t);\n\n\tconst toggleAbility = useCallback(\n\t\t(abilityId: string, checked: boolean | 'indeterminate') => {\n\t\t\tconst nextChecked = checked === true;\n\t\t\tconst next = nextChecked\n\t\t\t\t? Array.from(new Set([...resolvedAbilities, abilityId]))\n\t\t\t\t: resolvedAbilities.filter((id) => id !== abilityId);\n\t\t\tsetAbilities(next);\n\t\t},\n\t\t[resolvedAbilities, setAbilities],\n\t);\n\n\tconst runMutation = useCallback(\n\t\tasync (\n\t\t\tphase: 'create' | 'revoke' | 'revoke-all',\n\t\t\ttask: () => void | Promise<void>,\n\t\t\tpayload?: unknown,\n\t\t) => {\n\t\t\tsetPendingPhase(phase);\n\t\t\ttry {\n\t\t\t\tawait task();\n\t\t\t\tonAfterMutate?.({ type: phase, payload });\n\t\t\t} catch (error) {\n\t\t\t\tif (import.meta.env?.DEV) {\n\t\t\t\t\tconsole.warn(`[ApiTokenManager] ${phase} failed`, error);\n\t\t\t\t}\n\t\t\t\tonError?.(error, { phase });\n\t\t\t} finally {\n\t\t\t\tsetPendingPhase(null);\n\t\t\t}\n\t\t},\n\t\t[onAfterMutate, onError],\n\t);\n\n\tconst handleCreate = useCallback(() => {\n\t\tif (!onCreateToken) return;\n\t\tconst values = { name: resolvedName, abilities: resolvedAbilities };\n\t\tvoid runMutation('create', () => onCreateToken(values), values);\n\t}, [onCreateToken, resolvedAbilities, resolvedName, runMutation]);\n\n\tconst handleRevoke = useCallback(\n\t\t(id: string, token: ApiKeyListItem) => {\n\t\t\tif (!onRevokeToken) return;\n\t\t\tvoid runMutation('revoke', () => onRevokeToken(id, token), token);\n\t\t},\n\t\t[onRevokeToken, runMutation],\n\t);\n\n\tconst handleRevokeAll = useCallback(() => {\n\t\tif (!onRevokeAllTokens) return;\n\t\tvoid runMutation('revoke-all', onRevokeAllTokens);\n\t}, [onRevokeAllTokens, runMutation]);\n\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"api-token-manager\"\n\t\t\tdata-slot=\"api-token-manager\"\n\t\t\ttitle={strings.title}\n\t\t\tdescription={strings.description}\n\t\t\theaderAction={onRevokeAllTokens ? (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\t\tloading={revokingAll}\n\t\t\t\t\tdisabled={disabled || tokens.length === 0}\n\t\t\t\t\tonClick={handleRevokeAll}\n\t\t\t\t>\n\t\t\t\t\t<Trash2 className=\"size-4\" />\n\t\t\t\t\t{strings.revokeAll}\n\t\t\t\t</Button>\n\t\t\t) : undefined}\n\t\t\tclassName={cn('api-token-manager--component', className)}\n\t\t\tcontentClassName=\"api-token-manager--content grid gap-4\"\n\t\t>\n\t\t\t{!!createdToken && (\n\t\t\t\t<CopyableSecretAlert\n\t\t\t\t\tvalue={createdToken.value}\n\t\t\t\t\tdisplayValue={createdToken.displayValue}\n\t\t\t\t\ttitle={createdToken.name ?? strings.createdTitle}\n\t\t\t\t\tdescription={strings.createdDescription}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<div className=\"api-token-manager--form grid gap-3 rounded-lg border border-border/70 bg-muted/20 p-3\">\n\t\t\t\t<FormField label={strings.nameLabel}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={resolvedName}\n\t\t\t\t\t\tplaceholder={strings.namePlaceholder}\n\t\t\t\t\t\tonChange={(event) => setName(event.currentTarget.value)}\n\t\t\t\t\t\tdisabled={disabled || creating}\n\t\t\t\t\t/>\n\t\t\t\t</FormField>\n\n\t\t\t\t{abilities.length > 0 && (\n\t\t\t\t\t<div className=\"api-token-manager--abilities grid gap-2\">\n\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\">{strings.abilitiesLabel}</Text>\n\t\t\t\t\t\t<div className=\"grid gap-2 sm:grid-cols-2\">\n\t\t\t\t\t\t\t{abilities.map((ability) => {\n\t\t\t\t\t\t\t\tconst checked = resolvedAbilities.includes(ability.id);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tkey={ability.id}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex min-w-0 items-start gap-2 rounded-md border border-border/70 bg-background px-3 py-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\t\t\tchecked={checked}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled || creating || ability.disabled}\n\t\t\t\t\t\t\t\t\t\t\tonCheckedChange={(next) => toggleAbility(ability.id, next)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span className=\"grid min-w-0 gap-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"medium\">{ability.label}</Text>\n\t\t\t\t\t\t\t\t\t\t\t{!!ability.description && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">{ability.description}</Text>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"flex justify-end\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tloading={creating}\n\t\t\t\t\t\tdisabled={disabled || !onCreateToken || resolvedName.trim().length === 0}\n\t\t\t\t\t\tonClick={handleCreate}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Plus className=\"size-4\" />\n\t\t\t\t\t\t{strings.create}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<ApiKeyList\n\t\t\t\titems={tokens}\n\t\t\t\tonDelete={onRevokeToken ? handleRevoke : undefined}\n\t\t\t/>\n\t\t</SmartCard>\n\t);\n}\n\nApiTokenManager.displayName = 'ApiTokenManager';\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAgBA,SAAgB,EAAc,EAAE,YAAS,gBAAiC;CACtE,OACI,kBAAC,GAAD;EAAW,WAAW,EAAG,0BAA0B,CAAS;YACvD,EAAQ,KAAK,MACV,kBAAC,GAAD,EAAA,UAAA;GACI,kBAAC,GAAD,EAAA,UACI,kBAAC,GAAD;IAAW,MAAK;IAAU,OAAA;IAAM,MAAK;cACjC,kBAAC,GAAD;KAAM,MAAK;KAAK,QAAO;KAAW,WAAU;eACvC,EAAE;IACD,CAAA;GACC,CAAA,EACJ,CAAA;GACX,kBAAC,GAAD,EAAA,UAAA,CACI,kBAAC,GAAD,EAAA,UAAY,EAAE,KAAgB,CAAA,GAC9B,kBAAC,GAAD;IAAiB,OAAO;cAAI,EAAE;GAAsB,CAAA,CAC3C,EAAA,CAAA;GACb,kBAAC,GAAD,EAAA,UAAA,CACI,kBAAC,GAAD;IAAO,SAAQ;cAAa,EAAE;GAAY,CAAA,GAC1C,kBAAC,GAAD;IAAM,MAAK;IAAK,MAAK;IAAY,WAAU;cACtC,EAAE;GACD,CAAA,CACG,EAAA,CAAA;EACX,EAAA,GAlBK,EAAE,IAkBP,CACT;CACM,CAAA;AAEnB;AAEA,EAAc,cAAc;;;ACnB5B,IAAa,IAA8D;CAC1E,eAAe;CACf,gBAAgB;CAChB,gBAAgB;CAChB,cAAc;CACd,gBAAgB;CAChB,gBAAgB;CAChB,oBAAoB;AACrB,GASa,IAA8D;CAC1E,UAAU;CACV,oBAAoB,MAAU,GAAG,EAAM;AACxC;;;AC1BA,SAAgB,EAAmB,EAC/B,aACA,gBACA,gBACA,aACA,WACA,cACA,SAAS,KACe;CACxB,IAAM,IAAU,EAAW,GAAkC,CAAW;CACxE,OACI,kBAAC,GAAD;EACI,OAAO;EACM;EACb,WAAW,MAAgB,KAAA,KAAa,kBAAC,GAAD;GAAO,SAAQ;aAAQ,EAAQ,kBAAkB,CAAW;EAAS,CAAA;EAC7G,WAAW,EAAG,8BAA8B,CAAS;YAJzD,CAMI,kBAAC,OAAD;GAAK,WAAU;aACV,EAAS,KAAK,MACX,kBAAC,OAAD,EAAA,UAAA,CACI,kBAAC,GAAD;IAAM,MAAK;IAAK,QAAO;IAAS,WAAU;cACrC,EAAQ;GACP,CAAA,GACN,kBAAC,OAAD;IAAK,WAAU;cACV,EAAQ,YAAY,KAAK,MACtB,kBAAC,OAAD;KAAsB,WAAU;eAAhC,CACI,kBAAC,QAAD,EAAM,WAAW,EAAG,yBAAyB,EAAK,SAAS,eAAe,UAAU,EAAI,CAAA,GACxF,kBAAC,GAAD;MAAM,MAAK;MAAK,WAAW,EAAK,SAAS,oBAAoB;gBACxD,EAAK;KACJ,CAAA,CACL;OALK,EAAK,KAKV,CACR;GACA,CAAA,CACJ,EAAA,GAdK,EAAQ,IAcb,CACR;EACA,CAAA,GAEJ,CAAC,CAAC,KACC,kBAAC,GAAD;GAAQ,SAAQ;GAAY,aAAY;GAAQ,MAAM;GAAQ,WAAU;GAAO,SAAS;aACnF,EAAQ;EACL,CAAA,CAEL;;AAEnB;AAEA,EAAmB,cAAc;;;AClDjC,SAAgB,EAAsB,EAAE,kBAAe,gBAAyC;CAC5F,OACI,kBAAC,GAAD;EAAW,WAAW,EAAG,+BAA+B,CAAS;YAC5D,EAAc,KAAK,MAChB,kBAAC,GAAD;GAAmB,WAAU;aAA7B;IACI,kBAAC,GAAD,EAAA,UACI,kBAAC,GAAD;KAAW,MAAK;KAAU,MAAK;eAC3B,kBAAC,GAAD;MAAM,MAAK;MAAK,QAAO;MAAW,WAAU;gBACvC,EAAE;KACD,CAAA;IACC,CAAA,EACJ,CAAA;IACX,kBAAC,GAAD,EAAA,UAAA,CACI,kBAAC,OAAD;KAAK,WAAU;eAAf,CACI,kBAAC,GAAD,EAAA,UAAY,EAAE,KAAgB,CAAA,GAC9B,kBAAC,GAAD;MAAM,MAAK;MAAK,MAAK;MAAY,WAAU;gBACtC,EAAE;KACD,CAAA,CACL;QACL,kBAAC,GAAD;KAAiB,OAAO;eAAI,EAAE;IAAyB,CAAA,CAC9C,EAAA,CAAA;IACZ,CAAC,CAAC,EAAE,UACD,kBAAC,GAAD,EAAA,UACI,kBAAC,GAAD;KAAW,MAAK;KAAU,OAAA;KAAM,MAAK;eACjC,kBAAC,GAAD;MAAM,MAAK;MAAK,QAAO;MAAO,WAAU;gBACnC,EAAE;KACD,CAAA;IACC,CAAA,EACF,CAAA;GAEf;KA1BK,EAAE,IA0BP,CACT;CACM,CAAA;AAEnB;AAEA,EAAsB,cAAc;;;AC7BpC,SAAgB,EAAkB,EAAE,aAAU,WAAQ,aAAU,gBAAqC;CACjG,IAAM,CAAC,GAAgB,KAAqB,QAAwC;EAChF,IAAM,IAAoC,CAAC;EAC3C,KAAK,IAAM,KAAK,GACZ,EAAS,EAAE,OAAO,EAAE,gBAAgB;EAExC,OAAO;CACX,CAAC,GAEK,IAAe,MAAa,KAAA,GAC5B,IAAiB,KAAgB,IAAS,IAAS,GAEnD,KAAgB,GAAa,MAAkB;EACjD,AAAI,KAAgB,IAChB,EAAS,GAAK,CAAI,IAElB,GAAmB,OAAU;GAAE,GAAG;IAAO,IAAM;EAAK,EAAE;CAE9D;CAEA,OACI,kBAAC,GAAD;EAAW,WAAW,EAAG,8BAA8B,CAAS;YAC5D,kBAAC,GAAD,EAAA,UACK,EAAS,KAAK,MAAM;GACjB,IAAM,IAAO,EAAE,MACT,IAAU,EAAe,EAAE,QAAQ;GACzC,OACI,kBAAC,GAAD,EAAA,UAAA;IACI,kBAAC,GAAD;KAAW,SAAQ;KAAO,WAAU;eAChC,kBAAC,GAAD,CAAO,CAAA;IACA,CAAA;IACX,kBAAC,GAAD,EAAA,UAAA,CACI,kBAAC,GAAD,EAAA,UAAY,EAAE,KAAgB,CAAA,GAC9B,kBAAC,GAAD,EAAA,UAAkB,EAAE,KAAsB,CAAA,CACjC,EAAA,CAAA;IACb,kBAAC,GAAD,EAAA,UACI,kBAAC,GAAD;KACI,cAAY,EAAE;KACL;KACT,kBAAkB,MAAS,EAAa,EAAE,KAAK,CAAI;IACtD,CAAA,EACQ,CAAA;GACX,EAAA,GAfK,EAAE,GAeP;EAEd,CAAC,EACM,CAAA;CACJ,CAAA;AAEnB;AAEA,EAAkB,cAAc;;;AChDhC,SAAgB,EAAmB,EAC/B,gBACA,YACA,UACA,iBACA,aACA,kBACA,cACA,SAAS,KACe;CACxB,IAAM,IAAU,EAAW,GAAkC,CAAW,GAClE,IAAM,KAAK,MAAO,IAAQ,IAAY,GAAG,GACzC,IAAQ,KAAS,GACjB,IAAa,KAAS,IAAe,IAErC,IAAe,IAAa,UAAU,IAAQ,YAAY,WAC1D,IAAa,IACb,EAAQ,iBACR,IACI,EAAQ,iBACR,EAAQ;CAElB,OACI,kBAAC,GAAD;EAAW,WAAW,EAAG,8BAA8B,CAAS;YAAhE;GACI,kBAAC,GAAD;IAAM,MAAK;cAAX,CACI,kBAAC,GAAD,EAAA,UAAA,CACI,kBAAC,GAAD,EAAA,UAAY,EAAuB,CAAA,GAClC,CAAC,CAAC,KACC,kBAAC,GAAD;KAAiB,OAAO;eAAxB;MACK,EAAQ;MAAa;MAAG;KACZ;MAEZ,EAAA,CAAA,GACb,kBAAC,GAAD,EAAA,UACI,kBAAC,GAAD;KAAO,SAAS;eAAe;IAAkB,CAAA,EACxC,CAAA,CACX;;GAEN,kBAAC,GAAD;IAAM,MAAK;IAAO,QAAO;IAAW,WAAU;cAA+B;GAAY,CAAA;GACzF,kBAAC,GAAD;IAAM,MAAK;IAAK,MAAK;cAChB,EAAQ;GACP,CAAA;GAEN,kBAAC,OAAD;IAAK,WAAU;cAAf,CACI,kBAAC,OAAD;KAAK,WAAU;eACX,kBAAC,OAAD;MACI,WAAW,EACP,sCACA,IAAa,mBAAmB,IAAQ,eAAe,YAC3D;MACA,OAAO,EAAE,OAAO,GAAG,EAAI,GAAG;KAC7B,CAAA;IACA,CAAA,GACL,kBAAC,OAAD;KAAK,WAAU;eAAf,CACI,kBAAC,GAAD;MAAM,MAAK;MAAK,MAAK;gBAArB;OACK,EAAQ;OAAe;OAAE,kBAAC,GAAD;QAAM,KAAI;QAAO,QAAO;QAAS,WAAU;kBAAgB;OAAmB,CAAA;MACtG;SACL,CAAC,CAAC,KACC,kBAAC,GAAD;MAAM,MAAK;MAAK,MAAK;gBAArB;OACK,EAAQ;OAAmB;OAAG;MAC7B;OAET;MACJ;;EACE;;AAEnB;AAEA,EAAmB,cAAc;;;AC7EjC,IAAa,IAA8C;CAC1D,OAAO;CACP,SAAS;CACT,aAAa;CACb,cAAc;CACd,gBAAgB;CAChB,gBAAgB;CAChB,kBAAkB;CAClB,gBAAgB;CAChB,cAAc;AACf,GCYa,IAAa,EAA4C,SAAoB,EACzF,UACA,iBAAc,IACd,SACA,iBACA,UACA,aACA,WACA,UACA,cACA,SAAS,KACP,GAAK;CACP,IAAM,IAAU,EAAW,GAA0B,CAAW,GAC1D,IAAe,MAAS,KAAA,GACxB,CAAC,GAAc,KAAmB,EAAS,CAAW,GACtD,IAAW,IAAe,IAAO,GAEjC,IAAmB,GACvB,MAAkB;EAElB,AADK,KAAc,EAAgB,CAAI,GACvC,IAAe,CAAI;CACpB,GACA,CAAC,GAAc,CAAY,CAC5B;CAEA,OACC,kBAAC,GAAD;EAAgB;EAAK,WAAW,EAAG,2BAA2B,CAAS;YACtE,kBAAC,GAAD;GAAa,MAAM;GAAU,cAAc;aAA3C,CACC,kBAAC,OAAD;IAAK,WAAU;cAAf,CACC,kBAAC,GAAD;KAAoB,SAAA;eACnB,kBAAC,GAAD;MACC,MAAK;MACL,SAAQ;MACR,aAAY;MACZ,MAAK;MACL,WAAU;gBALX,CAOC,kBAAC,GAAD;OACC,eAAY;OACZ,WAAW,EACV,qDACA,KAAY,WACb;MACA,CAAA,GACD,kBAAC,GAAD;OAAM,KAAI;OAAO,QAAO;iBACtB,KAAS,EAAQ;MACb,CAAA,CACC;;IACW,CAAA,GACnB,CAAC,CAAC,KACF,kBAAC,GAAD;KACC,SAAQ;KACR,aAAY;KACZ,MAAK;KACL,SAAS;KACT,cAAY,EAAQ;eAEpB,kBAAC,GAAD,EAAM,WAAU,SAAU,CAAA;IACnB,CAAA,CAEL;OACL,kBAAC,GAAD;IAAoB,WAAU;cAC5B,EAAM,WAAW,IACjB,kBAAC,GAAD;KAAM,MAAK;eACT,EAAQ;IACJ,CAAA,IAEN,kBAAC,OAAD;KAAK,WAAU;eACb,EAAM,KAAK,MACX,kBAAC,GAAD;MAEO;MACI;MACF;MACR,eAAe,EAAQ;MACvB,iBAAiB,EAAQ;MACzB,iBAAiB,EAAQ;MACzB,aAAa,EAAQ;MACrB,kBAAkB,EAAQ;MAC1B,gBAAgB,EAAQ;KACxB,GAVK,EAAK,EAUV,CACD;IACG,CAAA;GAEa,CAAA,CACR;;CACH,CAAA;AAEb,CAAC;AAED,EAAW,cAAc;AAczB,SAAS,EAAU,EAClB,SACA,aACA,WACA,kBACA,oBACA,oBACA,gBACA,qBACA,qBACkB;CAClB,IAAM,CAAC,GAAQ,KAAa,EAAS,EAAK,GAEpC,IAAa,EAAY,YAAY;EAC1C,IAAI;GAKH,AAJA,MAAM,UAAU,UAAU,UAAU,EAAK,KAAK,GAC9C,EAAU,EAAI,GACd,iBAAiB,EAAU,EAAK,GAAG,IAAI,GACvC,EAAM,QAAQ,CAAgB,GAC9B,IAAS,EAAK,IAAI,CAAI;EACvB,QAAc;GACb,EAAM,MAAM,CAAc;EAI3B;CACD,GAAG;EAAC;EAAM;EAAQ;EAAkB;CAAc,CAAC,GAE7C,IAAU,EAAK,gBAAgB,EAAK;CAE1C,OACC,kBAAC,GAAD;EAAM,MAAK;EAAQ,aAAU;EAAc,WAAU;YAArD;GACC,kBAAC,GAAD;IAAW,SAAQ;cAClB,kBAAC,GAAD;KACC,MAAK;KACL,OAAM;KACN,MAAK;KACL,UAAA;KACA,WAAU;eAET,EAAK,QAAQ,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA;IAChC,CAAA;GACD,CAAA;GACX,kBAAC,GAAD;IAAa,WAAU;cAAvB,CACC,kBAAC,GAAD;KAAM,KAAI;KAAO,MAAK;KAAK,QAAO;KAAS,WAAU;eACnD,EAAK;IACD,CAAA,GACN,kBAAC,QAAD;KAAM,WAAU;eACd;IACI,CAAA,CACM;;GACb,kBAAC,GAAD;IAAa,WAAU;cACtB,kBAAC,GAAD;KACC,QAAQ;KACR,OAAM;KACN,eAAA;KACA,aAAa;MAAE,aAAa;MAAS,SAAS;KAAY;eAJ3D,CAMC,kBAAC,GAAD;MACC,OAAO,IAAS,IAAkB;MAClC,MAAM;MACN,eAAe;OACd,EAAgB;MACjB;MACA,UAAU,EAAK;KACf,CAAA,GACA,CAAC,CAAC,KACF,kBAAC,GAAD;MACC,OAAO;MACP,MAAM;MACN,SAAQ;MACR,UAAU,EAAK;MACf,eAAe,EAAS,EAAK,IAAI,CAAI;KACrC,CAAA,CAES;;GACA,CAAA;EACR;;AAER;AAEA,EAAU,cAAc;;;AC9KxB,SAAS,EAAa,GAAqC,GAAyC;CACnG,IAAI,CAAC,GAAQ,OAAO;CACpB,IAAM,EAAE,UAAO,MAAM,GAAM,aAAU,GAAiB,GAAG,MAAgB;CAEzE,OACC,kBAAC,GAAD;EAAQ,GAAI;EAAsB;YAAlC,CACE,CAAC,CAAC,KAAQ,kBAAC,GAAD,EAAM,WAAU,SAAU,CAAA,GACpC,CACM;;AAEV;AAEA,SAAgB,GAAU,EACzB,MAAM,GACN,UACA,gBACA,kBACA,oBACA,YACA,cAAW,IACX,gBACkB;CAClB,OACC,kBAAC,GAAD;EACC,kBAAe;EACf,aAAU;EACV,WAAW,EAAG,yBAAyB,KAAY,cAAc,CAAS;YAH3E;GAKE,CAAC,CAAC,KACF,kBAAC,GAAD;IAAW,SAAQ;cAClB,kBAAC,GAAD;KAAW,MAAM;KAAM,MAAK;KAAQ,OAAM;KAAS,MAAK;IAAW,CAAA;GACzD,CAAA;GAEZ,kBAAC,GAAD,EAAA,UAAA,CACC,kBAAC,GAAD,EAAA,UAAY,EAAiB,CAAA,GAC5B,CAAC,CAAC,KAAe,kBAAC,GAAD,EAAA,UAAkB,EAA6B,CAAA,CACrD,EAAA,CAAA;GACb,kBAAC,GAAD;IAAa,WAAU;cACrB,KACA,kBAAA,GAAA,EAAA,UAAA,CACE,EAAa,GAAiB,WAAW,GACzC,EAAa,GAAe,SAAS,CACrC,EAAA,CAAA;GAES,CAAA;EACR;;AAER;AAcA,SAAgB,GAAW,EAC1B,UACA,gBACA,YACA,aACA,SACA,aAAU,WACV,aAAU,QACV,cACA,uBACmB;CACnB,OACC,kBAAC,GAAD;EACC,kBAAe;EACf,aAAU;EACH;EACM;EACb,cAAc;EACL;EACA;EACT,WAAW,EAAG,0BAA0B,CAAS;EACjD,kBAAkB,EAAG,mCAAmC,CAAgB;YATzE,CAWE,GAAM,KAAK,GAAK,MAChB,kBAAC,IAAD,EAAuB,GAAI,EAAM,GAAjB,CAAiB,CACjC,GACA,CACS;;AAEb;AAaA,SAAgB,GAAoB,EACnC,UACA,gBACA,iBACA,WACA,MAAM,IAAO,GACb,aAAU,WACV,aAAU,QACV,gBAC4B;CAC5B,OACC,kBAAC,GAAD;EACC,kBAAe;EACf,aAAU;EACD;EACA;EACT,WAAW,EAAG,0DAA0D,CAAS;EACjF,kBAAiB;YANlB,CAQC,kBAAC,OAAD;GAAK,WAAU;aAAf;IACC,kBAAC,GAAD;KAAW,MAAM;KAAM,MAAK;KAAc,OAAM;KAAS,MAAK;IAAW,CAAA;IACzE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACC,kBAAC,GAAD;MAAM,QAAO;gBAAY;KAAY,CAAA,GACpC,CAAC,CAAC,KACF,kBAAC,GAAD;MAAM,MAAK;MAAK,MAAK;MAAY,WAAU;gBACzC;KACI,CAAA,CAEH;;IACJ,CAAC,CAAC,KAAU,kBAAC,OAAD;KAAK,WAAU;eAAY;IAAY,CAAA;GAChD;MACJ,CAAC,CAAC,KACF,kBAAC,GAAD;GAAO,SAAQ;GAAc,MAAK;GAAO,WAAU;aAClD,kBAAC,GAAD,EAAA,UAAmB,EAA+B,CAAA;EAC5C,CAAA,CAEE;;AAEb;AAQA,IAAa,KAAgE;CAC5E,OAAO;CACP,aAAa;CACb,aAAa;AACd;AAYA,SAAgB,GAAoB,EACnC,UACA,iBACA,UACA,gBACA,WACA,cACA,SAAS,KACmB;CAC5B,IAAM,IAAU,EAAW,IAAmC,CAAW;CAEzE,OACC,kBAAC,GAAD;EACC,kBAAe;EACf,aAAU;EACV,SAAQ;EACR,WAAW,EAAG,oCAAoC,CAAS;YAJ5D;GAMC,kBAAC,GAAD,EAAU,WAAU,SAAU,CAAA;GAC9B,kBAAC,GAAD,EAAA,UAAa,KAAS,EAAQ,MAAkB,CAAA;GAChD,kBAAC,GAAD,EAAA,UACC,kBAAC,QAAD;IAAM,WAAU;cAAhB,CACC,kBAAC,QAAD,EAAA,UAAO,KAAe,EAAQ,YAAkB,CAAA,GAChD,kBAAC,GAAD;KACQ;KACP,cAAc,KAAgB;KAC9B,MAAA;KACA,UAAA;KACA,WAAU;KACV,gBAAgB,EAAQ;IACxB,CAAA,CACI;MACW,CAAA;GACjB,CAAC,CAAC,KAAU,kBAAC,GAAD,EAAA,UAAc,EAAoB,CAAA;EACzC;;AAET;AAgCA,IAAa,KAAwD;CACpE,OAAO;CACP,aAAa;CACb,WAAW;CACX,iBAAiB;CACjB,gBAAgB;CAChB,QAAQ;CACR,WAAW;CACX,cAAc;CACd,oBAAoB;AACrB;AAwBA,SAAgB,GAAgB,EAC/B,WACA,eAAY,CAAC,GACb,iBACA,SACA,iBAAc,IACd,iBACA,sBACA,8BAA2B,CAAC,GAC5B,8BACA,kBACA,kBACA,sBACA,kBACA,YACA,gBAAa,IACb,mBAAgB,IAChB,cAAW,IACX,cACA,SAAS,KACe;CACxB,IAAM,IAAU,EAAW,IAA+B,CAAW,GAC/D,IAAmB,MAAS,KAAA,GAC5B,IAAwB,MAAsB,KAAA,GAC9C,CAAC,GAAc,KAAmB,EAAS,CAAW,GACtD,CAAC,GAAmB,KAAwB,EAAmB,CAAC,GAAG,CAAwB,CAAC,GAC5F,CAAC,GAAc,KAAmB,EAAoD,IAAI,GAC1F,IAAe,IAAmB,IAAO,GACzC,IAAoB,SACnB,IAAwB,CAAC,GAAG,CAAiB,IAAI,GACvD;EAAC;EAAmB;EAAuB;CAAiB,CAC7D,GACM,IAAW,KAAc,MAAiB,UAC1C,IAAc,KAAiB,MAAiB,cAEhD,IAAU,GACd,MAAqB;EAErB,AADK,KAAkB,EAAgB,CAAQ,GAC/C,IAAe,CAAQ;CACxB,GACA,CAAC,GAAkB,CAAY,CAChC,GAEM,IAAe,GACnB,MAA4B;EAE5B,AADK,KAAuB,EAAqB,CAAa,GAC9D,IAA4B,CAAa;CAC1C,GACA,CAAC,GAAuB,CAAyB,CAClD,GAEM,IAAgB,GACpB,GAAmB,MAAuC;EAK1D,EAJoB,MAAY,KAE7B,MAAM,KAAK,IAAI,IAAI,CAAC,GAAG,GAAmB,CAAS,CAAC,CAAC,IACrD,EAAkB,QAAQ,MAAO,MAAO,CAAS,CACnC;CAClB,GACA,CAAC,GAAmB,CAAY,CACjC,GAEM,IAAc,EACnB,OACC,GACA,GACA,MACI;EACJ,EAAgB,CAAK;EACrB,IAAI;GAEH,AADA,MAAM,EAAK,GACX,IAAgB;IAAE,MAAM;IAAO;GAAQ,CAAC;EACzC,SAAS,GAAO;GAIf,IAAU,GAAO,EAAE,SAAM,CAAC;EAC3B,UAAU;GACT,EAAgB,IAAI;EACrB;CACD,GACA,CAAC,GAAe,CAAO,CACxB,GAEM,IAAe,QAAkB;EACtC,IAAI,CAAC,GAAe;EACpB,IAAM,IAAS;GAAE,MAAM;GAAc,WAAW;EAAkB;EAClE,EAAiB,gBAAgB,EAAc,CAAM,GAAG,CAAM;CAC/D,GAAG;EAAC;EAAe;EAAmB;EAAc;CAAW,CAAC,GAE1D,IAAe,GACnB,GAAY,MAA0B;EACjC,KACL,EAAiB,gBAAgB,EAAc,GAAI,CAAK,GAAG,CAAK;CACjE,GACA,CAAC,GAAe,CAAW,CAC5B,GAEM,IAAkB,QAAkB;EACpC,KACL,EAAiB,cAAc,CAAiB;CACjD,GAAG,CAAC,GAAmB,CAAW,CAAC;CAEnC,OACC,kBAAC,GAAD;EACC,kBAAe;EACf,aAAU;EACV,OAAO,EAAQ;EACf,aAAa,EAAQ;EACrB,cAAc,IACb,kBAAC,GAAD;GACC,MAAK;GACL,SAAQ;GACR,aAAY;GACZ,SAAS;GACT,UAAU,KAAY,EAAO,WAAW;GACxC,SAAS;aANV,CAQC,kBAAC,GAAD,EAAQ,WAAU,SAAU,CAAA,GAC3B,EAAQ,SACF;OACL,KAAA;EACJ,WAAW,EAAG,gCAAgC,CAAS;EACvD,kBAAiB;YAnBlB;GAqBE,CAAC,CAAC,KACF,kBAAC,IAAD;IACC,OAAO,EAAa;IACpB,cAAc,EAAa;IAC3B,OAAO,EAAa,QAAQ,EAAQ;IACpC,aAAa,EAAQ;GACrB,CAAA;GAGF,kBAAC,OAAD;IAAK,WAAU;cAAf;KACC,kBAAC,GAAD;MAAW,OAAO,EAAQ;gBACzB,kBAAC,GAAD;OACC,OAAO;OACP,aAAa,EAAQ;OACrB,WAAW,MAAU,EAAQ,EAAM,cAAc,KAAK;OACtD,UAAU,KAAY;MACtB,CAAA;KACS,CAAA;KAEV,EAAU,SAAS,KACnB,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACC,kBAAC,GAAD;OAAM,MAAK;OAAK,QAAO;iBAAY,EAAQ;MAAqB,CAAA,GAChE,kBAAC,OAAD;OAAK,WAAU;iBACb,EAAU,KAAK,MAGd,kBAAC,SAAD;QAEC,WAAU;kBAFX,CAIC,kBAAC,GAAD;SACU,SAPI,EAAkB,SAAS,EAAQ,EAOvC;SACT,UAAU,KAAY,KAAY,EAAQ;SAC1C,kBAAkB,MAAS,EAAc,EAAQ,IAAI,CAAI;QACzD,CAAA,GACD,kBAAC,QAAD;SAAM,WAAU;mBAAhB,CACC,kBAAC,GAAD;UAAM,KAAI;UAAO,QAAO;oBAAU,EAAQ;SAAY,CAAA,GACrD,CAAC,CAAC,EAAQ,eACV,kBAAC,GAAD;UAAM,KAAI;UAAO,MAAK;UAAK,MAAK;oBAAa,EAAQ;SAAkB,CAAA,CAEnE;UACA;UAdD,EAAQ,EAcP,CAER;MACG,CAAA,CACD;;KAGN,kBAAC,OAAD;MAAK,WAAU;gBACd,kBAAC,GAAD;OACC,MAAK;OACL,SAAQ;OACR,SAAS;OACT,UAAU,KAAY,CAAC,KAAiB,EAAa,KAAK,EAAE,WAAW;OACvE,SAAS;iBALV,CAOC,kBAAC,GAAD,EAAM,WAAU,SAAU,CAAA,GACzB,EAAQ,MACF;;KACJ,CAAA;IACD;;GAEL,kBAAC,GAAD;IACC,OAAO;IACP,UAAU,IAAgB,IAAe,KAAA;GACzC,CAAA;EACS;;AAEb;AAEA,GAAgB,cAAc"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/composed/admin/team-member/team-member.tsx","../../../../src/components/composed/admin/admin.strings.ts","../../../../src/components/composed/admin/role-permission/role-permission.tsx","../../../../src/components/composed/admin/conversation-row/conversation-row.tsx","../../../../src/components/composed/admin/settings-toggle/settings-toggle.tsx","../../../../src/components/composed/admin/inventory-level/inventory-level.tsx","../../../../src/components/composed/admin/api-key-list/api-key-list.strings.ts","../../../../src/components/composed/admin/api-key-list/api-key-list.tsx","../../../../src/components/composed/admin/action-surfaces/index.tsx"],"sourcesContent":["import { Badge } from '@/components/base/badge/badge';\nimport { IconBadge } from '@/components/base/display';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\n\nimport type { TeamMemberRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function TeamMemberRow({ members, className }: TeamMemberRowProps) {\n return (\n <ItemGroup className={cn('team-member--component', className)}>\n {members.map((m) => (\n <Item key={m.name}>\n <ItemMedia>\n <IconBadge tone=\"primary\" solid size=\"default\">\n <Text size=\"xs\" weight=\"semibold\" className=\"text-inherit\">\n {m.initials}\n </Text>\n </IconBadge>\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{m.name}</ItemTitle>\n <ItemDescription clamp={1}>{m.role}</ItemDescription>\n </ItemContent>\n <ItemActions>\n <Badge variant=\"secondary\">{m.dept}</Badge>\n <Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n {m.active}\n </Text>\n </ItemActions>\n </Item>\n ))}\n </ItemGroup>\n );\n}\n\nTeamMemberRow.displayName = 'TeamMemberRow';\n","/**\n * Default user-facing strings for the `composed/admin` family.\n *\n * Consumers wire backend i18n at the call site:\n *\n * <InventoryLevelCard strings={{ statusInStock: t('inv.in_stock') }} … />\n */\n\nexport interface InventoryLevelCardStrings {\n\t/** Status pill label when stock > reorderLevel. */\n\tstatusInStock: string;\n\t/** Status pill label when stock <= reorderLevel and > critical. */\n\tstatusLowStock: string;\n\t/** Status pill label when stock is at or below the critical threshold. */\n\tstatusCritical: string;\n\t/** Inline label preceding the variant value (e.g. \"Variant: Large\"). */\n\tvariantLabel: string;\n\t/** Caption below the stock total (e.g. \"units available\"). */\n\tunitsAvailable: string;\n\t/** Inline label preceding the reorder level (e.g. \"Reorder at:\"). */\n\treorderAtLabel: string;\n\t/** Inline label preceding the last-restocked date (e.g. \"Last restocked:\"). */\n\tlastRestockedLabel: string;\n}\n\nexport const defaultInventoryLevelCardStrings: InventoryLevelCardStrings = {\n\tstatusInStock: 'In Stock',\n\tstatusLowStock: 'Low Stock',\n\tstatusCritical: 'Critical',\n\tvariantLabel: 'Variant',\n\tunitsAvailable: 'units available',\n\treorderAtLabel: 'Reorder at',\n\tlastRestockedLabel: 'Last restocked',\n};\n\nexport interface RolePermissionCardStrings {\n\t/** Edit-role button label. */\n\teditRole: string;\n\t/** Format string for the member-count badge. Receives the count. */\n\tformatMemberCount: (count: number) => string;\n}\n\nexport const defaultRolePermissionCardStrings: RolePermissionCardStrings = {\n\teditRole: 'Edit Role',\n\tformatMemberCount: (count) => `${count} members`,\n};\n","/**\n * RolePermissionCard — admin surface for a role with description, member\n * count badge, grouped permission states (success dot vs muted), and an\n * optional Edit button.\n *\n * Strings overridable via `strings` prop. `strings.formatMemberCount` is a\n * function so consumers can localise pluralisation rules.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\nimport { Pencil } from 'lucide-react';\n\nimport { defaultRolePermissionCardStrings } from '../admin.strings';\nimport type { RolePermissionCardProps } from './types';\n\nexport function RolePermissionCard({\n roleName,\n description,\n memberCount,\n sections,\n onEdit,\n className,\n strings: stringsProp,\n}: RolePermissionCardProps) {\n const strings = useStrings(defaultRolePermissionCardStrings, stringsProp);\n return (\n <SmartCard\n title={roleName}\n description={description}\n headerEnd={memberCount !== undefined && <Badge variant=\"info\">{strings.formatMemberCount(memberCount)}</Badge>}\n className={cn('role-permission--component', className)}\n >\n <div className=\"mt-5 space-y-4\">\n {sections.map((section) => (\n <div key={section.name}>\n <Text size=\"xs\" weight=\"medium\" className=\"uppercase tracking-wider text-muted-foreground\">\n {section.name}\n </Text>\n <div className=\"mt-2 flex flex-wrap gap-2\">\n {section.permissions.map((perm) => (\n <div key={perm.label} className=\"flex items-center gap-1.5\">\n <span className={cn('size-2.5 rounded-full', perm.active ? 'bg-success' : 'bg-muted')} />\n <Text size=\"xs\" className={perm.active ? 'text-foreground' : 'text-muted-foreground'}>\n {perm.label}\n </Text>\n </div>\n ))}\n </div>\n </div>\n ))}\n </div>\n\n {!!onEdit && (\n <Button variant=\"secondary\" buttonStyle=\"ghost\" icon={Pencil} className=\"mt-5\" onClick={onEdit}>\n {strings.editRole}\n </Button>\n )}\n </SmartCard>\n );\n}\n\nRolePermissionCard.displayName = 'RolePermissionCard';\n","import { IconBadge } from '@/components/base/display';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\n\nimport type { RecentConversationRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function RecentConversationRow({ conversations, className }: RecentConversationRowProps) {\n return (\n <ItemGroup className={cn('conversation-row--component', className)}>\n {conversations.map((c) => (\n <Item key={c.name} className=\"cursor-pointer\">\n <ItemMedia>\n <IconBadge tone=\"primary\" size=\"default\">\n <Text size=\"xs\" weight=\"semibold\" className=\"text-inherit\">\n {c.initials}\n </Text>\n </IconBadge>\n </ItemMedia>\n <ItemContent>\n <div className=\"flex items-center justify-between gap-2\">\n <ItemTitle>{c.name}</ItemTitle>\n <Text size=\"xs\" type=\"secondary\" className=\"shrink-0 tabular-nums\">\n {c.time}\n </Text>\n </div>\n <ItemDescription clamp={1}>{c.preview}</ItemDescription>\n </ItemContent>\n {!!c.unread && (\n <ItemActions>\n <IconBadge tone=\"primary\" solid size=\"small\">\n <Text size=\"xs\" weight=\"bold\" className=\"text-inherit tabular-nums\">\n {c.unread}\n </Text>\n </IconBadge>\n </ItemActions>\n )}\n </Item>\n ))}\n </ItemGroup>\n );\n}\n\nRecentConversationRow.displayName = 'RecentConversationRow';\n","/**\n * SettingsToggleRow — vertically-stacked list of settings with icon, name,\n * description, and a `<Switch>` per row. Controlled when `values`/`onChange`\n * are passed; otherwise self-managed via local state.\n */\nimport { useState } from 'react';\n\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport { ToggleSwitch } from '@/components/base/forms/fields/switch';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemGroup,\n ItemMedia,\n ItemTitle,\n} from '@/components/base/item';\n\nimport type { SettingsToggleRowProps } from './types';\n\nimport { cn } from '@/lib/utils';\nexport function SettingsToggleRow({ settings, values, onChange, className }: SettingsToggleRowProps) {\n const [internalValues, setInternalValues] = useState<Record<string, boolean>>(() => {\n const defaults: Record<string, boolean> = {};\n for (const s of settings) {\n defaults[s.key] = s.defaultValue ?? false;\n }\n return defaults;\n });\n\n const isControlled = onChange !== undefined;\n const resolvedValues = isControlled && values ? values : internalValues;\n\n const handleToggle = (key: string, next: boolean) => {\n if (isControlled && onChange) {\n onChange(key, next);\n } else {\n setInternalValues((prev) => ({ ...prev, [key]: next }));\n }\n };\n\n return (\n <SmartCard className={cn('settings-toggle--component', className)}>\n <ItemGroup>\n {settings.map((s) => {\n const Icon = s.icon;\n const checked = resolvedValues[s.key] ?? false;\n return (\n <Item key={s.key}>\n <ItemMedia variant=\"icon\" className=\"bg-muted text-muted-foreground rounded-full size-9\">\n <Icon />\n </ItemMedia>\n <ItemContent>\n <ItemTitle>{s.name}</ItemTitle>\n <ItemDescription>{s.desc}</ItemDescription>\n </ItemContent>\n <ItemActions>\n <ToggleSwitch\n aria-label={s.name}\n checked={checked}\n onCheckedChange={(next) => handleToggle(s.key, next)}\n />\n </ItemActions>\n </Item>\n );\n })}\n </ItemGroup>\n </SmartCard>\n );\n}\n\nSettingsToggleRow.displayName = 'SettingsToggleRow';\n","/**\n * InventoryLevelCard — single-product inventory snapshot with stock total,\n * reorder threshold, and a status pill (Critical / Low Stock / In Stock).\n *\n * Status thresholds are computed from `stock`, `reorderLevel`, and the\n * critical threshold (50% of `reorderLevel`). Status pill labels flow via\n * the `strings` prop so consumers can localise without forking the file.\n */\nimport { Badge } from '@/components/base/badge/badge';\nimport { SmartCard } from '@/components/base/cards/smart-card';\nimport {\n Item,\n ItemActions,\n ItemContent,\n ItemDescription,\n ItemTitle,\n} from '@/components/base/item';\nimport { Text } from '@/components/typography/text';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultInventoryLevelCardStrings } from '../admin.strings';\nimport type { InventoryLevelCardProps } from './types';\n\nexport function InventoryLevelCard({\n productName,\n variant,\n stock,\n reorderLevel,\n maxStock,\n lastRestocked,\n className,\n strings: stringsProp,\n}: InventoryLevelCardProps) {\n const strings = useStrings(defaultInventoryLevelCardStrings, stringsProp);\n const pct = Math.round((stock / maxStock) * 100);\n const isLow = stock <= reorderLevel;\n const isCritical = stock <= reorderLevel * 0.5;\n\n const badgeVariant = isCritical ? 'error' : isLow ? 'warning' : 'success';\n const badgeLabel = isCritical\n ? strings.statusCritical\n : isLow\n ? strings.statusLowStock\n : strings.statusInStock;\n\n return (\n <SmartCard className={cn('inventory-level--component', className)}>\n <Item size=\"small\">\n <ItemContent>\n <ItemTitle>{productName}</ItemTitle>\n {!!variant && (\n <ItemDescription clamp={1}>\n {strings.variantLabel}: {variant}\n </ItemDescription>\n )}\n </ItemContent>\n <ItemActions>\n <Badge variant={badgeVariant}>{badgeLabel}</Badge>\n </ItemActions>\n </Item>\n\n <Text weight=\"semibold\" className=\"tabular-nums tracking-tight\">{stock}</Text>\n <Text size=\"xs\" type=\"secondary\">\n {strings.unitsAvailable}\n </Text>\n\n <div className=\"mt-4 space-y-2\">\n <div className=\"h-1.5 overflow-hidden rounded-full bg-muted\">\n <div\n className={cn(\n 'h-full rounded-full transition-all',\n isCritical ? 'bg-destructive' : isLow ? 'bg-warning' : 'bg-success',\n )}\n style={{ width: `${pct}%` }}\n />\n </div>\n <div className=\"flex items-center justify-between\">\n <Text size=\"xs\" type=\"secondary\">\n {strings.reorderAtLabel}: <Text tag=\"span\" weight=\"medium\" className=\"tabular-nums\">{reorderLevel}</Text>\n </Text>\n {!!lastRestocked && (\n <Text size=\"xs\" type=\"secondary\">\n {strings.lastRestockedLabel}: {lastRestocked}\n </Text>\n )}\n </div>\n </div>\n </SmartCard>\n );\n}\n\nInventoryLevelCard.displayName = 'InventoryLevelCard';\n","/**\n * Strings for `<ApiKeyList>`. English defaults; deep-merge-overridable.\n */\nexport interface ApiKeyListStrings {\n\ttitle: string;\n\taddAria: string;\n\trowMenuAria: string;\n\tcopyMenuItem: string;\n\tcopiedMenuItem: string;\n\tdeleteMenuItem: string;\n\tcopyToastSuccess: string;\n\tcopyToastError: string;\n\temptyMessage: string;\n}\n\nexport const defaultApiKeyListStrings: ApiKeyListStrings = {\n\ttitle: 'API keys',\n\taddAria: 'Add API key',\n\trowMenuAria: 'Key actions',\n\tcopyMenuItem: 'Copy key',\n\tcopiedMenuItem: 'Copied',\n\tdeleteMenuItem: 'Delete',\n\tcopyToastSuccess: 'Copied to clipboard',\n\tcopyToastError: 'Failed to copy',\n\temptyMessage: 'No keys yet.',\n};\n","/**\n * ApiKeyList — collapsible section listing API keys / credentials with a\n * per-row dropdown menu (Copy / Delete) and an optional add-new action\n * in the header. Generic enough to use for any \"named secret list\":\n * service tokens, webhook URLs, deployment hooks, …\n *\n * Composes:\n * - `base/display/collapsible` (the shadcn-wrapped collapsible shell)\n * - `base/cards/SmartCard` (the surface chrome)\n * - `base/buttons`, `base/badge` (header actions, status pills)\n * - `base/navigation/ActionMenu` (per-row dropdown)\n * - `base/copyable/Copyable` (copy-to-clipboard with toast)\n *\n * Framework-agnostic — every action is callback-driven; the library\n * doesn't fetch, navigate, or render delete confirmations.\n */\nimport { ChevronRight, Copy, Lock, Plus, Trash2 } from 'lucide-react';\nimport { forwardRef, useCallback, useState } from 'react';\nimport { toast } from 'sonner';\n\nimport { Button } from '@/components/base/buttons';\nimport { SmartCard } from '@/components/base/cards';\nimport {\n\tCollapsible,\n\tCollapsibleContent,\n\tCollapsibleTrigger,\n} from '@/components/base/display/collapsible';\nimport { IconBadge } from '@/components/base/display/icon-badge';\nimport { Item, ItemActions, ItemContent, ItemMedia } from '@/components/base/item';\nimport { ActionMenu, MenuAction } from '@/components/base/navigation/action-menu';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { defaultApiKeyListStrings } from './api-key-list.strings';\nimport type { ApiKeyListItem, ApiKeyListProps } from './api-key-list.types';\n\nexport const ApiKeyList = forwardRef<HTMLDivElement, ApiKeyListProps>(function ApiKeyList({\n\titems,\n\tdefaultOpen = true,\n\topen,\n\tonOpenChange,\n\tonAdd,\n\tonDelete,\n\tonCopy,\n\ttitle,\n\tclassName,\n\tstrings: stringsProp,\n}, ref) {\n\tconst strings = useStrings(defaultApiKeyListStrings, stringsProp);\n\tconst isControlled = open !== undefined;\n\tconst [internalOpen, setInternalOpen] = useState(defaultOpen);\n\tconst expanded = isControlled ? open : internalOpen;\n\n\tconst handleOpenChange = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (!isControlled) setInternalOpen(next);\n\t\t\tonOpenChange?.(next);\n\t\t},\n\t\t[isControlled, onOpenChange],\n\t);\n\n\treturn (\n\t\t<SmartCard ref={ref} className={cn('api-key-list--component', className)}>\n\t\t\t<Collapsible open={expanded} onOpenChange={handleOpenChange}>\n\t\t\t\t<div className=\"flex items-center gap-2\">\n\t\t\t\t\t<CollapsibleTrigger asChild>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\tsize=\"default\"\n\t\t\t\t\t\t\tclassName=\"h-auto flex-1 justify-start gap-2 rounded-sm px-0 py-0 text-left\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ChevronRight\n\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t\t'size-4 text-muted-foreground transition-transform',\n\t\t\t\t\t\t\t\t\texpanded && 'rotate-90',\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\">\n\t\t\t\t\t\t\t\t{title ?? strings.title}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</CollapsibleTrigger>\n\t\t\t\t\t{!!onAdd && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\t\tonClick={onAdd}\n\t\t\t\t\t\t\taria-label={strings.addAria}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Plus className=\"size-4\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t<CollapsibleContent className=\"pt-3\">\n\t\t\t\t\t{items.length === 0 ? (\n\t\t\t\t\t\t<Text type=\"secondary\">\n\t\t\t\t\t\t\t{strings.emptyMessage}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"flex flex-col gap-2.5\">\n\t\t\t\t\t\t\t{items.map((item) => (\n\t\t\t\t\t\t\t\t<ApiKeyRow\n\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\tonDelete={onDelete}\n\t\t\t\t\t\t\t\t\tonCopy={onCopy}\n\t\t\t\t\t\t\t\t\tcopyMenuLabel={strings.copyMenuItem}\n\t\t\t\t\t\t\t\t\tcopiedMenuLabel={strings.copiedMenuItem}\n\t\t\t\t\t\t\t\t\tdeleteMenuLabel={strings.deleteMenuItem}\n\t\t\t\t\t\t\t\t\trowMenuAria={strings.rowMenuAria}\n\t\t\t\t\t\t\t\t\tcopyToastSuccess={strings.copyToastSuccess}\n\t\t\t\t\t\t\t\t\tcopyToastError={strings.copyToastError}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</CollapsibleContent>\n\t\t\t</Collapsible>\n\t\t</SmartCard>\n\t);\n});\n\nApiKeyList.displayName = 'ApiKeyList';\n\ninterface ApiKeyRowProps {\n\titem: ApiKeyListItem;\n\tonDelete?: ApiKeyListProps['onDelete'];\n\tonCopy?: ApiKeyListProps['onCopy'];\n\tcopyMenuLabel: string;\n\tcopiedMenuLabel: string;\n\tdeleteMenuLabel: string;\n\trowMenuAria: string;\n\tcopyToastSuccess: string;\n\tcopyToastError: string;\n}\n\nfunction ApiKeyRow({\n\titem,\n\tonDelete,\n\tonCopy,\n\tcopyMenuLabel,\n\tcopiedMenuLabel,\n\tdeleteMenuLabel,\n\trowMenuAria,\n\tcopyToastSuccess,\n\tcopyToastError,\n}: ApiKeyRowProps) {\n\tconst [copied, setCopied] = useState(false);\n\n\tconst handleCopy = useCallback(async () => {\n\t\ttry {\n\t\t\tawait navigator.clipboard.writeText(item.value);\n\t\t\tsetCopied(true);\n\t\t\tsetTimeout(() => setCopied(false), 1500);\n\t\t\ttoast.success(copyToastSuccess);\n\t\t\tonCopy?.(item.id, item);\n\t\t} catch (err) {\n\t\t\ttoast.error(copyToastError);\n\t\t\tif (import.meta.env?.DEV) {\n\t\t\t\tconsole.warn('[ApiKeyList] copy failed', err);\n\t\t\t}\n\t\t}\n\t}, [item, onCopy, copyToastSuccess, copyToastError]);\n\n\tconst display = item.displayValue ?? item.value;\n\n\treturn (\n\t\t<Item size=\"small\" data-slot=\"api-key-row\" className=\"flex-nowrap\">\n\t\t\t<ItemMedia variant=\"icon\">\n\t\t\t\t<IconBadge\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tshape=\"square\"\n\t\t\t\t\ttone=\"muted\"\n\t\t\t\t\tbordered\n\t\t\t\t\tclassName=\"text-success\"\n\t\t\t\t>\n\t\t\t\t\t{item.icon ?? <Lock className=\"size-3.5\" />}\n\t\t\t\t</IconBadge>\n\t\t\t</ItemMedia>\n\t\t\t<ItemContent className=\"min-w-0 flex-row items-center gap-2.5\">\n\t\t\t\t<Text tag=\"span\" size=\"xs\" weight=\"medium\" className=\"w-20 shrink-0 truncate sm:w-24\">\n\t\t\t\t\t{item.name}\n\t\t\t\t</Text>\n\t\t\t\t<span className=\"min-w-0 flex-1 truncate rounded-sm bg-muted px-2 py-1 font-mono text-xs\">\n\t\t\t\t\t{display}\n\t\t\t\t</span>\n\t\t\t</ItemContent>\n\t\t\t<ItemActions className=\"shrink-0\">\n\t\t\t\t<ActionMenu\n\t\t\t\t\tsrText={rowMenuAria}\n\t\t\t\t\talign=\"end\"\n\t\t\t\t\tcloseOnSelect\n\t\t\t\t\tbuttonProps={{ buttonStyle: 'ghost', variant: 'secondary' }}\n\t\t\t\t>\n\t\t\t\t\t<MenuAction\n\t\t\t\t\t\tlabel={copied ? copiedMenuLabel : copyMenuLabel}\n\t\t\t\t\t\ticon={Copy}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tvoid handleCopy();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t/>\n\t\t\t\t\t{!!onDelete && (\n\t\t\t\t\t\t<MenuAction\n\t\t\t\t\t\t\tlabel={deleteMenuLabel}\n\t\t\t\t\t\t\ticon={Trash2}\n\t\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\t\tdisabled={item.disabled}\n\t\t\t\t\t\t\tonClick={() => onDelete(item.id, item)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</ActionMenu>\n\t\t\t</ItemActions>\n\t\t</Item>\n\t);\n}\n\nApiKeyRow.displayName = 'ApiKeyRow';\n","import {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\ttype ReactNode } from 'react';\nimport { KeyRound,\n\tPlus,\n\tShieldAlert,\n\tTrash2,\n\ttype LucideIcon } from 'lucide-react';\n\nimport { Button,\n\ttype ButtonProps } from '@/components/base/buttons';\nimport { SmartCard,\n\ttype CardPadding,\n\ttype SmartCardSurface } from '@/components/base/cards';\nimport { Copyable } from '@/components/base/copyable';\nimport {\n\tAlert,\n\tAlertAction,\n\tAlertDescription,\n\tAlertTitle,\n\tIconBadge,\n} from '@/components/base/display';\nimport { Checkbox, FormField, Input } from '@/components/base/forms';\nimport { Item, ItemActions, ItemContent, ItemDescription, ItemMedia, ItemTitle } from '@/components/base/item';\nimport { Text } from '@/components/typography';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { ApiKeyList, type ApiKeyListItem } from '../api-key-list';\n\nexport interface ActionRowAction extends Omit<ButtonProps, 'children'> {\n\tlabel: ReactNode;\n\ticon?: LucideIcon;\n}\n\nexport interface ActionRowProps {\n\ticon?: LucideIcon;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tprimaryAction?: ActionRowAction;\n\tsecondaryAction?: ActionRowAction;\n\tactions?: ReactNode;\n\tdisabled?: boolean;\n\tclassName?: string;\n}\n\nfunction renderAction(action: ActionRowAction | undefined, fallbackVariant: ButtonProps['variant']) {\n\tif (!action) return null;\n\tconst { label, icon: Icon, variant = fallbackVariant, ...buttonProps } = action;\n\n\treturn (\n\t\t<Button {...buttonProps} variant={variant}>\n\t\t\t{!!Icon && <Icon className=\"size-4\" />}\n\t\t\t{label}\n\t\t</Button>\n\t);\n}\n\nexport function ActionRow({\n\ticon: Icon,\n\ttitle,\n\tdescription,\n\tprimaryAction,\n\tsecondaryAction,\n\tactions,\n\tdisabled = false,\n\tclassName,\n}: ActionRowProps) {\n\treturn (\n\t\t<Item\n\t\t\tdata-component=\"action-row\"\n\t\t\tdata-slot=\"action-row\"\n\t\t\tclassName={cn('action-row--component', disabled && 'opacity-60', className)}\n\t\t>\n\t\t\t{!!Icon && (\n\t\t\t\t<ItemMedia variant=\"icon\">\n\t\t\t\t\t<IconBadge icon={Icon} tone=\"muted\" shape=\"square\" size=\"default\" />\n\t\t\t\t</ItemMedia>\n\t\t\t)}\n\t\t\t<ItemContent>\n\t\t\t\t<ItemTitle>{title}</ItemTitle>\n\t\t\t\t{!!description && <ItemDescription>{description}</ItemDescription>}\n\t\t\t</ItemContent>\n\t\t\t<ItemActions className=\"flex-wrap justify-end\">\n\t\t\t\t{actions ?? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{renderAction(secondaryAction, 'secondary')}\n\t\t\t\t\t\t{renderAction(primaryAction, 'primary')}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</ItemActions>\n\t\t</Item>\n\t);\n}\n\nexport interface ActionListProps {\n\ttitle?: ReactNode;\n\tdescription?: ReactNode;\n\tactions?: ReactNode;\n\tchildren?: ReactNode;\n\trows?: readonly ActionRowProps[];\n\tpadding?: CardPadding;\n\tsurface?: SmartCardSurface;\n\tclassName?: string;\n\tcontentClassName?: string;\n}\n\nexport function ActionList({\n\ttitle,\n\tdescription,\n\tactions,\n\tchildren,\n\trows,\n\tpadding = 'default',\n\tsurface = 'card',\n\tclassName,\n\tcontentClassName,\n}: ActionListProps) {\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"action-list\"\n\t\t\tdata-slot=\"action-list\"\n\t\t\ttitle={title}\n\t\t\tdescription={description}\n\t\t\theaderAction={actions}\n\t\t\tpadding={padding}\n\t\t\tsurface={surface}\n\t\t\tclassName={cn('action-list--component', className)}\n\t\t\tcontentClassName={cn('action-list--content grid gap-2', contentClassName)}\n\t\t>\n\t\t\t{rows?.map((row, index) => (\n\t\t\t\t<ActionRow key={index} {...row} />\n\t\t\t))}\n\t\t\t{children}\n\t\t</SmartCard>\n\t);\n}\n\nexport interface SensitiveActionCardProps {\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\tconfirmation?: ReactNode;\n\taction?: ReactNode;\n\ticon?: LucideIcon;\n\tpadding?: CardPadding;\n\tsurface?: SmartCardSurface;\n\tclassName?: string;\n}\n\nexport function SensitiveActionCard({\n\ttitle,\n\tdescription,\n\tconfirmation,\n\taction,\n\ticon: Icon = ShieldAlert,\n\tpadding = 'default',\n\tsurface = 'card',\n\tclassName,\n}: SensitiveActionCardProps) {\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"sensitive-action-card\"\n\t\t\tdata-slot=\"sensitive-action-card\"\n\t\t\tpadding={padding}\n\t\t\tsurface={surface}\n\t\t\tclassName={cn('sensitive-action-card--component border-destructive/30', className)}\n\t\t\tcontentClassName=\"sensitive-action-card--content grid gap-3\"\n\t\t>\n\t\t\t<div className=\"flex min-w-0 items-start gap-3\">\n\t\t\t\t<IconBadge icon={Icon} tone=\"destructive\" shape=\"square\" size=\"default\" />\n\t\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t\t<Text weight=\"semibold\">{title}</Text>\n\t\t\t\t\t{!!description && (\n\t\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"mt-0.5\">\n\t\t\t\t\t\t\t{description}\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t\t{!!action && <div className=\"shrink-0\">{action}</div>}\n\t\t\t</div>\n\t\t\t{!!confirmation && (\n\t\t\t\t<Alert variant=\"destructive\" role=\"note\" className=\"sensitive-action-card--confirmation\">\n\t\t\t\t\t<AlertDescription>{confirmation}</AlertDescription>\n\t\t\t\t</Alert>\n\t\t\t)}\n\t\t</SmartCard>\n\t);\n}\n\nexport interface CopyableSecretAlertStrings {\n\ttitle: string;\n\tdescription: string;\n\tcopySuccess: string;\n}\n\nexport const defaultCopyableSecretAlertStrings: CopyableSecretAlertStrings = {\n\ttitle: 'Secret created',\n\tdescription: 'Copy this value now. It may not be shown again.',\n\tcopySuccess: 'Secret copied',\n};\n\nexport interface CopyableSecretAlertProps {\n\tvalue: string;\n\tdisplayValue?: ReactNode;\n\ttitle?: ReactNode;\n\tdescription?: ReactNode;\n\taction?: ReactNode;\n\tclassName?: string;\n\tstrings?: StringsProp<CopyableSecretAlertStrings>;\n}\n\nexport function CopyableSecretAlert({\n\tvalue,\n\tdisplayValue,\n\ttitle,\n\tdescription,\n\taction,\n\tclassName,\n\tstrings: stringsProp,\n}: CopyableSecretAlertProps) {\n\tconst strings = useStrings(defaultCopyableSecretAlertStrings, stringsProp);\n\n\treturn (\n\t\t<Alert\n\t\t\tdata-component=\"copyable-secret-alert\"\n\t\t\tdata-slot=\"copyable-secret-alert\"\n\t\t\tvariant=\"success\"\n\t\t\tclassName={cn('copyable-secret-alert--component', className)}\n\t\t>\n\t\t\t<KeyRound className=\"size-4\" />\n\t\t\t<AlertTitle>{title ?? strings.title}</AlertTitle>\n\t\t\t<AlertDescription>\n\t\t\t\t<span className=\"grid gap-2\">\n\t\t\t\t\t<span>{description ?? strings.description}</span>\n\t\t\t\t\t<Copyable\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdisplayValue={displayValue ?? value}\n\t\t\t\t\t\tmono\n\t\t\t\t\t\ttruncate\n\t\t\t\t\t\tclassName=\"copyable-secret-alert--value max-w-full rounded-md bg-background px-2 py-1\"\n\t\t\t\t\t\tsuccessMessage={strings.copySuccess}\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t</AlertDescription>\n\t\t\t{!!action && <AlertAction>{action}</AlertAction>}\n\t\t</Alert>\n\t);\n}\n\nexport interface ApiTokenAbility {\n\tid: string;\n\tlabel: ReactNode;\n\tdescription?: ReactNode;\n\tdisabled?: boolean;\n}\n\nexport interface ApiTokenCreatedToken {\n\tvalue: string;\n\tdisplayValue?: ReactNode;\n\tname?: ReactNode;\n}\n\nexport interface ApiTokenCreateValues {\n\tname: string;\n\tabilities: string[];\n}\n\nexport interface ApiTokenManagerStrings {\n\ttitle: string;\n\tdescription: string;\n\tnameLabel: string;\n\tnamePlaceholder: string;\n\tabilitiesLabel: string;\n\tcreate: string;\n\trevokeAll: string;\n\tcreatedTitle: string;\n\tcreatedDescription: string;\n}\n\nexport const defaultApiTokenManagerStrings: ApiTokenManagerStrings = {\n\ttitle: 'API tokens',\n\tdescription: 'Create and revoke access tokens.',\n\tnameLabel: 'Token name',\n\tnamePlaceholder: 'Production deploy key',\n\tabilitiesLabel: 'Abilities',\n\tcreate: 'Create token',\n\trevokeAll: 'Revoke all',\n\tcreatedTitle: 'Token created',\n\tcreatedDescription: 'Copy this token now. It will not be shown again.',\n};\n\nexport interface ApiTokenManagerProps {\n\ttokens: ApiKeyListItem[];\n\tabilities?: readonly ApiTokenAbility[];\n\tcreatedToken?: ApiTokenCreatedToken | null;\n\tname?: string;\n\tdefaultName?: string;\n\tonNameChange?: (name: string) => void;\n\tselectedAbilities?: readonly string[];\n\tdefaultSelectedAbilities?: readonly string[];\n\tonSelectedAbilitiesChange?: (abilities: string[]) => void;\n\tonCreateToken?: (values: ApiTokenCreateValues) => void | Promise<void>;\n\tonRevokeToken?: (id: string, token: ApiKeyListItem) => void | Promise<void>;\n\tonRevokeAllTokens?: () => void | Promise<void>;\n\tonAfterMutate?: (event: { type: 'create' | 'revoke' | 'revoke-all'; payload?: unknown }) => void;\n\tonError?: (error: unknown, context: { phase: 'create' | 'revoke' | 'revoke-all' }) => void;\n\tisCreating?: boolean;\n\tisRevokingAll?: boolean;\n\tdisabled?: boolean;\n\tclassName?: string;\n\tstrings?: StringsProp<ApiTokenManagerStrings>;\n}\n\nexport function ApiTokenManager({\n\ttokens,\n\tabilities = [],\n\tcreatedToken,\n\tname,\n\tdefaultName = '',\n\tonNameChange,\n\tselectedAbilities,\n\tdefaultSelectedAbilities = [],\n\tonSelectedAbilitiesChange,\n\tonCreateToken,\n\tonRevokeToken,\n\tonRevokeAllTokens,\n\tonAfterMutate,\n\tonError,\n\tisCreating = false,\n\tisRevokingAll = false,\n\tdisabled = false,\n\tclassName,\n\tstrings: stringsProp,\n}: ApiTokenManagerProps) {\n\tconst strings = useStrings(defaultApiTokenManagerStrings, stringsProp);\n\tconst isNameControlled = name !== undefined;\n\tconst isAbilitiesControlled = selectedAbilities !== undefined;\n\tconst [internalName, setInternalName] = useState(defaultName);\n\tconst [internalAbilities, setInternalAbilities] = useState<string[]>([...defaultSelectedAbilities]);\n\tconst [pendingPhase, setPendingPhase] = useState<'create' | 'revoke' | 'revoke-all' | null>(null);\n\tconst resolvedName = isNameControlled ? name : internalName;\n\tconst resolvedAbilities = useMemo(\n\t\t() => isAbilitiesControlled ? [...selectedAbilities] : internalAbilities,\n\t\t[internalAbilities, isAbilitiesControlled, selectedAbilities],\n\t);\n\tconst creating = isCreating || pendingPhase === 'create';\n\tconst revokingAll = isRevokingAll || pendingPhase === 'revoke-all';\n\n\tconst setName = useCallback(\n\t\t(nextName: string) => {\n\t\t\tif (!isNameControlled) setInternalName(nextName);\n\t\t\tonNameChange?.(nextName);\n\t\t},\n\t\t[isNameControlled, onNameChange],\n\t);\n\n\tconst setAbilities = useCallback(\n\t\t(nextAbilities: string[]) => {\n\t\t\tif (!isAbilitiesControlled) setInternalAbilities(nextAbilities);\n\t\t\tonSelectedAbilitiesChange?.(nextAbilities);\n\t\t},\n\t\t[isAbilitiesControlled, onSelectedAbilitiesChange],\n\t);\n\n\tconst toggleAbility = useCallback(\n\t\t(abilityId: string, checked: boolean | 'indeterminate') => {\n\t\t\tconst nextChecked = checked === true;\n\t\t\tconst next = nextChecked\n\t\t\t\t? Array.from(new Set([...resolvedAbilities, abilityId]))\n\t\t\t\t: resolvedAbilities.filter((id) => id !== abilityId);\n\t\t\tsetAbilities(next);\n\t\t},\n\t\t[resolvedAbilities, setAbilities],\n\t);\n\n\tconst runMutation = useCallback(\n\t\tasync (\n\t\t\tphase: 'create' | 'revoke' | 'revoke-all',\n\t\t\ttask: () => void | Promise<void>,\n\t\t\tpayload?: unknown,\n\t\t) => {\n\t\t\tsetPendingPhase(phase);\n\t\t\ttry {\n\t\t\t\tawait task();\n\t\t\t\tonAfterMutate?.({ type: phase, payload });\n\t\t\t} catch (error) {\n\t\t\t\tif (import.meta.env?.DEV) {\n\t\t\t\t\tconsole.warn(`[ApiTokenManager] ${phase} failed`, error);\n\t\t\t\t}\n\t\t\t\tonError?.(error, { phase });\n\t\t\t} finally {\n\t\t\t\tsetPendingPhase(null);\n\t\t\t}\n\t\t},\n\t\t[onAfterMutate, onError],\n\t);\n\n\tconst handleCreate = useCallback(() => {\n\t\tif (!onCreateToken) return;\n\t\tconst values = { name: resolvedName, abilities: resolvedAbilities };\n\t\tvoid runMutation('create', () => onCreateToken(values), values);\n\t}, [onCreateToken, resolvedAbilities, resolvedName, runMutation]);\n\n\tconst handleRevoke = useCallback(\n\t\t(id: string, token: ApiKeyListItem) => {\n\t\t\tif (!onRevokeToken) return;\n\t\t\tvoid runMutation('revoke', () => onRevokeToken(id, token), token);\n\t\t},\n\t\t[onRevokeToken, runMutation],\n\t);\n\n\tconst handleRevokeAll = useCallback(() => {\n\t\tif (!onRevokeAllTokens) return;\n\t\tvoid runMutation('revoke-all', onRevokeAllTokens);\n\t}, [onRevokeAllTokens, runMutation]);\n\n\treturn (\n\t\t<SmartCard\n\t\t\tdata-component=\"api-token-manager\"\n\t\t\tdata-slot=\"api-token-manager\"\n\t\t\ttitle={strings.title}\n\t\t\tdescription={strings.description}\n\t\t\theaderAction={onRevokeAllTokens ? (\n\t\t\t\t<Button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\tbuttonStyle=\"outline\"\n\t\t\t\t\tloading={revokingAll}\n\t\t\t\t\tdisabled={disabled || tokens.length === 0}\n\t\t\t\t\tonClick={handleRevokeAll}\n\t\t\t\t>\n\t\t\t\t\t<Trash2 className=\"size-4\" />\n\t\t\t\t\t{strings.revokeAll}\n\t\t\t\t</Button>\n\t\t\t) : undefined}\n\t\t\tclassName={cn('api-token-manager--component', className)}\n\t\t\tcontentClassName=\"api-token-manager--content grid gap-4\"\n\t\t>\n\t\t\t{!!createdToken && (\n\t\t\t\t<CopyableSecretAlert\n\t\t\t\t\tvalue={createdToken.value}\n\t\t\t\t\tdisplayValue={createdToken.displayValue}\n\t\t\t\t\ttitle={createdToken.name ?? strings.createdTitle}\n\t\t\t\t\tdescription={strings.createdDescription}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t<div className=\"api-token-manager--form grid gap-3 rounded-lg border border-border/70 bg-muted/20 p-3\">\n\t\t\t\t<FormField label={strings.nameLabel}>\n\t\t\t\t\t<Input\n\t\t\t\t\t\tvalue={resolvedName}\n\t\t\t\t\t\tplaceholder={strings.namePlaceholder}\n\t\t\t\t\t\tonChange={(event) => setName(event.currentTarget.value)}\n\t\t\t\t\t\tdisabled={disabled || creating}\n\t\t\t\t\t/>\n\t\t\t\t</FormField>\n\n\t\t\t\t{abilities.length > 0 && (\n\t\t\t\t\t<div className=\"api-token-manager--abilities grid gap-2\">\n\t\t\t\t\t\t<Text size=\"xs\" weight=\"semibold\">{strings.abilitiesLabel}</Text>\n\t\t\t\t\t\t<div className=\"grid gap-2 sm:grid-cols-2\">\n\t\t\t\t\t\t\t{abilities.map((ability) => {\n\t\t\t\t\t\t\t\tconst checked = resolvedAbilities.includes(ability.id);\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t\t\t\tkey={ability.id}\n\t\t\t\t\t\t\t\t\t\tclassName=\"flex min-w-0 items-start gap-2 rounded-md border border-border/70 bg-background px-3 py-2\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\t\t\t\tchecked={checked}\n\t\t\t\t\t\t\t\t\t\t\tdisabled={disabled || creating || ability.disabled}\n\t\t\t\t\t\t\t\t\t\t\tonCheckedChange={(next) => toggleAbility(ability.id, next)}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<span className=\"grid min-w-0 gap-0.5\">\n\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" weight=\"medium\">{ability.label}</Text>\n\t\t\t\t\t\t\t\t\t\t\t{!!ability.description && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">{ability.description}</Text>\n\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t<div className=\"flex justify-end\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tloading={creating}\n\t\t\t\t\t\tdisabled={disabled || !onCreateToken || resolvedName.trim().length === 0}\n\t\t\t\t\t\tonClick={handleCreate}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Plus className=\"size-4\" />\n\t\t\t\t\t\t{strings.create}\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<ApiKeyList\n\t\t\t\titems={tokens}\n\t\t\t\tonDelete={onRevokeToken ? handleRevoke : undefined}\n\t\t\t/>\n\t\t</SmartCard>\n\t);\n}\n\nApiTokenManager.displayName = 'ApiTokenManager';\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/button-CfQtOuBK.cjs"),r=require("../../../_shared/typography-CWEobAJV.cjs"),i=require("../../../_shared/icon-badge-CU6ZkcER.cjs"),a=require("../../../_shared/badge-C65rt1M9.cjs"),o=require("../../../_shared/cards-m03XN10f.cjs"),s=require("../../../_shared/textarea-bHFAtwYd.cjs"),c=require("../../../_shared/separator-BXn_fnly.cjs"),l=require("../../../_shared/item-ChHblHhR.cjs"),u=require("../../../_shared/data-display-DQUUEzCx.cjs"),d=require("../../../_shared/ai-artifact-Cv8VBibf.cjs");let f=require("react"),p=require("react/jsx-runtime"),m=require("lucide-react");var h={title:`AI Summary`,badgeLabel:`AI`,regenerate:`Regenerate`,confidenceLevels:{low:`low`,medium:`medium`,high:`high`}},g={title:`Classification`,complexityLabel:`Complexity`,flagsLabel:`Flags`,nextStepLabel:`Next Step`,confidencePrefix:`Confidence`,confidenceBands:{low:`Low`,medium:`Medium`,high:`High`}},_={low:1,medium:2,high:3};function v({level:e,label:n}){let i=_[e];return(0,p.jsxs)(`div`,{className:t.cn(`ai-summary--confidence`,`flex items-center gap-1.5`),children:[(0,p.jsx)(`div`,{className:`flex items-center gap-0.5`,children:Array.from({length:3},(e,n)=>(0,p.jsx)(`div`,{className:t.cn(`h-2.5 w-1 rounded-sm`,n<i?`bg-foreground/60`:`bg-muted-foreground/20`)},`bar-${String(n)}`))}),(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,tag:`span`,className:`capitalize`,children:n})]})}function y({data:t,strings:i}){let s=e.useStrings(h,i);return(0,p.jsx)(o.t,{icon:(0,p.jsx)(m.BrainCircuit,{className:`size-4`}),title:s.title,className:`ai-summary--component`,titleSuffix:(0,p.jsx)(a.t,{variant:`secondary`,children:s.badgeLabel}),footerText:(0,p.jsxs)(`div`,{className:`flex w-full items-center justify-between`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,tag:`span`,children:t.generatedAt}),(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,tag:`span`,children:t.model})]}),!!t.onRegenerate&&(0,p.jsxs)(n.t,{variant:`secondary`,buttonStyle:`ghost`,onClick:t.onRegenerate,children:[(0,p.jsx)(m.RefreshCw,{className:`mr-1 h-3 w-3`}),s.regenerate]})]}),children:(0,p.jsxs)(`div`,{className:`space-y-3`,children:[(0,p.jsx)(r.s,{size:`sm`,lineHeight:`relaxed`,children:t.summary}),t.entities.length>0&&(0,p.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.entities.map(e=>(0,p.jsx)(a.t,{variant:`secondary`,children:e},e))}),(0,p.jsx)(v,{level:t.confidence,label:s.confidenceLevels[t.confidence]})]})})}function b({data:n,strings:i}){let s=e.useStrings(g,i),l=n.confidence>=.9?s.confidenceBands.high:n.confidence>=.7?s.confidenceBands.medium:s.confidenceBands.low;return(0,p.jsx)(o.t,{icon:(0,p.jsx)(m.BrainCircuit,{className:`size-4`}),title:s.title,className:`ai-classification--component`,children:(0,p.jsxs)(`div`,{className:`space-y-3`,children:[(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,p.jsx)(a.t,{variant:`primary`,children:n.requestType}),(0,p.jsx)(a.t,{variant:n.urgencyVariant,children:n.urgency}),(0,p.jsx)(a.t,{variant:n.toneVariant,dot:!0,children:n.tone})]}),(0,p.jsx)(u.i,{label:s.complexityLabel,labelClassName:`text-sm font-medium text-foreground`,value:(0,p.jsxs)(`span`,{className:`flex items-center gap-1`,children:[Array.from({length:5},(e,r)=>(0,p.jsx)(`span`,{className:t.cn(`h-1.5 w-3 rounded-sm`,r<n.complexityScore?`bg-foreground/60`:`bg-muted`)},`cx-${String(r)}`)),(0,p.jsxs)(r.s,{tag:`span`,size:`xs`,type:`secondary`,className:`ml-1`,children:[String(n.complexityScore),`/5`]})]})}),n.flags.length>0&&(0,p.jsx)(u.i,{label:s.flagsLabel,labelClassName:`text-sm font-medium text-foreground`,value:(0,p.jsx)(`span`,{className:`flex gap-1`,children:n.flags.map(e=>(0,p.jsx)(a.t,{variant:`warning`,children:e},e))})}),(0,p.jsx)(u.i,{label:s.nextStepLabel,labelClassName:`text-sm font-medium text-foreground`,value:(0,p.jsx)(a.t,{variant:`info`,children:n.suggestedAction})}),(0,p.jsx)(r.s,{size:`sm`,lineHeight:`relaxed`,type:`secondary`,children:n.summary}),(0,p.jsx)(c.t,{}),(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsxs)(a.t,{variant:`secondary`,children:[s.confidencePrefix,`: `,l]}),(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,tag:`span`,children:n.model})]})]})})}var x={title:`AI Confidence`,confidenceLabel:`Overall`,factorsLabel:`Contributing factors`};function S(e){return e>=.85?{label:`High`,variant:`success`}:e>=.6?{label:`Medium`,variant:`warning`}:{label:`Low`,variant:`error`}}function C({score:n,model:i,factors:s,className:c,strings:l}){let d=e.useStrings(x,l),f=Math.round(n*100),{label:h,variant:g}=S(n),_=2*Math.PI*24,v=_-f/100*_;return(0,p.jsxs)(o.t,{icon:(0,p.jsx)(m.Sparkles,{className:`size-4`}),title:d.title,titleSuffix:!!i&&(0,p.jsx)(a.t,{variant:`secondary`,size:`small`,children:i}),className:t.cn(`ai-confidence--component`,c),children:[(0,p.jsxs)(`div`,{className:`grid gap-space-xl md:grid-cols-[auto_minmax(0,1fr)] md:items-center`,children:[(0,p.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,p.jsxs)(`svg`,{width:`56`,height:`56`,viewBox:`0 0 64 64`,"aria-hidden":`true`,children:[(0,p.jsx)(`circle`,{cx:`32`,cy:`32`,r:`24`,fill:`none`,stroke:`currentColor`,strokeWidth:`5`,className:`text-muted/60`}),(0,p.jsx)(`circle`,{cx:`32`,cy:`32`,r:`24`,fill:`none`,stroke:`currentColor`,strokeWidth:`5`,strokeLinecap:`round`,strokeDasharray:_,strokeDashoffset:v,transform:`rotate(-90 32 32)`,className:t.cn(g===`success`&&`text-success`,g===`warning`&&`text-warning`,g===`error`&&`text-destructive`)})]}),(0,p.jsx)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:(0,p.jsxs)(r.s,{weight:`semibold`,className:`tabular-nums leading-none`,children:[f,`%`]})})]}),(0,p.jsxs)(`div`,{className:`grid min-w-0 gap-space-sm`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wide`,children:d.confidenceLabel}),(0,p.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-space-sm`,children:[(0,p.jsx)(a.t,{variant:g,children:h}),!!i&&(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,className:`truncate`,children:i})]})]})]}),!!s&&s.length>0&&(0,p.jsxs)(`div`,{className:`mt-space-xl grid gap-space-md`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wide`,children:d.factorsLabel}),s.map(e=>(0,p.jsxs)(`div`,{className:`grid gap-space-sm`,children:[(0,p.jsx)(u.i,{label:e.label,value:`${Math.round(e.score*100)}%`,mono:!0,labelClassName:`text-xs font-medium text-foreground`,valueClassName:`text-xs font-semibold`}),(0,p.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-muted/70`,children:(0,p.jsx)(`div`,{className:`h-full rounded-full bg-primary`,style:{width:`${Math.round(e.score*100)}%`}})})]},e.label))]})]})}C.displayName=`AiConfidenceCard`;var w={title:`Try asking`,hint:`Tap a prompt to start`};function T({suggestions:n,onPick:r,className:a,strings:s}){let c=e.useStrings(w,s);return(0,p.jsx)(o.t,{icon:(0,p.jsx)(m.Sparkles,{className:`size-4`}),title:c.title,description:c.hint,className:t.cn(`ai-prompt-suggestions--component`,a),children:(0,p.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fit,minmax(min(15rem,100%),1fr))] gap-space-xl`,children:n.map(e=>{let n=e.icon;return(0,p.jsxs)(l.t,{variant:`outline`,render:(0,p.jsx)(`button`,{type:`button`,onClick:()=>r?.(e)}),className:t.cn(`ai-prompt-suggestions--item h-full items-start gap-space-lg px-surface py-surface-sm transition-[border-color,background] duration-150`,`hover:border-foreground/20 hover:bg-muted/40`),children:[!!n&&(0,p.jsx)(l.c,{children:(0,p.jsx)(i.t,{icon:n,tone:`primary`,size:`default`,shape:`square`})}),(0,p.jsxs)(l.r,{className:`min-w-0 gap-space-sm`,children:[(0,p.jsx)(l.u,{children:e.label}),!!e.description&&(0,p.jsx)(l.i,{children:e.description})]})]},e.id)})})})}T.displayName=`AiPromptSuggestions`;var E={title:`Token usage`,input:`Input`,output:`Output`,total:`Total`,cost:`Estimated cost`};function D({model:n,inputTokens:i,outputTokens:s,cost:c,maxTokens:l,className:d,strings:f}){let h=e.useStrings(E,f),g=i+s,_=l?Math.min(100,Math.round(g/l*100)):0;return(0,p.jsxs)(o.t,{icon:(0,p.jsx)(m.Cpu,{className:`size-4`}),title:h.title,titleSuffix:!!n&&(0,p.jsx)(a.t,{variant:`secondary`,children:n}),className:t.cn(`ai-token-usage--component`,d),children:[(0,p.jsx)(`div`,{className:`grid grid-cols-3 gap-2`,children:[{label:h.input,value:i},{label:h.output,value:s},{label:h.total,value:g}].map(e=>(0,p.jsxs)(`div`,{className:`rounded-md bg-muted/40 px-3 py-2`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:e.label}),(0,p.jsx)(r.s,{size:`lg`,weight:`semibold`,className:`tabular-nums`,children:e.value.toLocaleString()})]},e.label))}),!!l&&(0,p.jsxs)(`div`,{className:`mt-3`,children:[(0,p.jsx)(u.i,{label:`${g.toLocaleString()} / ${l.toLocaleString()}`,value:`${_}%`,mono:!0,labelClassName:`text-xs`,valueClassName:`text-xs font-semibold`}),(0,p.jsx)(`div`,{className:`mt-1 h-1.5 w-full overflow-hidden rounded-full bg-muted`,children:(0,p.jsx)(`div`,{className:`h-full rounded-full bg-primary`,style:{width:`${_}%`}})})]}),!!c&&(0,p.jsx)(u.i,{className:`mt-3 rounded-md bg-primary/5 px-3 py-2`,label:h.cost,value:c,mono:!0,labelClassName:`text-xs`,valueClassName:`text-sm font-bold`})]})}D.displayName=`AiTokenUsageCard`;var O={prompt:`Was this helpful?`,thumbsUpAria:`Mark as helpful`,thumbsDownAria:`Mark as not helpful`,commentPlaceholder:`Tell us more (optional)`,submit:`Send feedback`,thanks:`Thanks for your feedback.`};function k({value:i,onVote:a,onSubmitComment:o,allowComment:c=!0,submitted:l=!1,className:u,strings:d}){let h=e.useStrings(O,d),[g,_]=(0,f.useState)(null),[v,y]=(0,f.useState)(``),b=i??g,x=e=>{let t=b===e?null:e;i===void 0&&_(t),a?.(t)};return l?(0,p.jsxs)(`div`,{className:t.cn(`ai-feedback--component`,`inline-flex items-center gap-2 rounded-full bg-success/10 px-3 py-1.5`,u),children:[(0,p.jsx)(m.ThumbsUp,{className:`size-3.5 text-success`}),(0,p.jsx)(r.s,{size:`xs`,type:`success`,weight:`medium`,children:h.thanks})]}):(0,p.jsxs)(`div`,{className:t.cn(`ai-feedback--component inline-flex flex-col gap-2`,u),children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,children:h.prompt}),(0,p.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:b===`up`?`solid`:`ghost`,size:`icon-small`,"aria-label":h.thumbsUpAria,"aria-pressed":b===`up`,onClick:()=>x(`up`),className:t.cn(b===`up`&&`text-success bg-success/15 hover:bg-success/20`),children:(0,p.jsx)(m.ThumbsUp,{className:`size-3.5`})}),(0,p.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:b===`down`?`solid`:`ghost`,size:`icon-small`,"aria-label":h.thumbsDownAria,"aria-pressed":b===`down`,onClick:()=>x(`down`),className:t.cn(b===`down`&&`text-destructive bg-destructive/15 hover:bg-destructive/20`),children:(0,p.jsx)(m.ThumbsDown,{className:`size-3.5`})})]}),!!c&&!!b&&(0,p.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,p.jsx)(s.t,{value:v,onChange:e=>y(e.target.value),placeholder:h.commentPlaceholder,minRows:2}),(0,p.jsx)(`div`,{className:`flex justify-end`,children:(0,p.jsx)(n.t,{type:`button`,onClick:()=>{o?.(v,b),y(``)},disabled:!v.trim(),children:h.submit})})]})]})}k.displayName=`AiFeedback`;var A={title:`Sources`,sourceCount:e=>e===1?`1 source`:`${e} sources`,expand:`Show sources`,collapse:`Hide sources`,visit:`Visit`,relevance:`Relevance`};function j({sources:i,defaultExpanded:a=!1,maxCollapsedRows:o=0,className:s,strings:c}){let u=e.mergeStrings(A,c),[d,h]=(0,f.useState)(a),g=d?i:i.slice(0,Math.max(0,o)),_=i.length-g.length;return(0,p.jsxs)(`div`,{className:t.cn(`ai-citation--component`,`rounded-lg border border-border bg-card px-surface-sm py-surface-sm shadow-xs`,`space-y-space-lg`,s),children:[(0,p.jsxs)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:()=>h(e=>!e),className:t.cn(`ai-citation--trigger h-auto justify-start gap-space-sm rounded-md px-control py-row-y`,`text-muted-foreground hover:text-foreground hover:bg-muted/40`),"aria-expanded":d,"aria-label":d?u.collapse:u.expand,children:[(0,p.jsx)(m.Quote,{className:`size-3.5`}),(0,p.jsxs)(r.s,{size:`xs`,weight:`medium`,children:[u.title,` · `,u.sourceCount(i.length)]}),d?(0,p.jsx)(m.ChevronDown,{className:`size-3.5`}):(0,p.jsx)(m.ChevronRight,{className:`size-3.5`})]}),(d||o>0)&&(0,p.jsxs)(l.o,{children:[g.map((e,t)=>(0,p.jsx)(M,{source:e,index:t+1,strings:u},e.id)),!d&&_>0&&(0,p.jsxs)(r.s,{size:`xs`,type:`secondary`,children:[`+`,_,` more`]})]})]})}j.displayName=`AiCitation`;function M({source:e,index:n,strings:i}){let a=typeof e.relevance==`number`?Math.round(Math.max(0,Math.min(1,e.relevance))*100):null,o=e.url?`a`:`span`,s=e.url?{href:e.url,target:`_blank`,rel:`noopener noreferrer`}:{};return(0,p.jsxs)(l.t,{variant:`outline`,size:`small`,className:`items-start px-surface-sm py-surface-sm`,children:[(0,p.jsx)(l.c,{children:(0,p.jsx)(`span`,{className:`inline-flex size-5 shrink-0 items-center justify-center rounded-full bg-muted text-xs font-semibold text-muted-foreground tabular-nums`,children:n})}),(0,p.jsxs)(l.r,{children:[(0,p.jsx)(l.u,{className:`truncate`,children:(0,p.jsxs)(o,{...s,className:t.cn(`truncate`,e.url&&`hover:text-primary hover:underline`),children:[e.title,!!e.url&&(0,p.jsx)(m.ExternalLink,{className:`ml-1 inline size-3 align-baseline`})]})}),!!e.snippet&&(0,p.jsx)(l.i,{clamp:2,children:e.snippet}),(e.publisher||e.publishedAt)&&(0,p.jsxs)(l.a,{className:`mt-1 justify-start gap-1.5`,children:[!!e.publisher&&(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,children:e.publisher}),!!e.publisher&&!!e.publishedAt&&(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,children:`·`}),!!e.publishedAt&&(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,className:`tabular-nums`,children:e.publishedAt})]})]}),a!==null&&(0,p.jsxs)(l.n,{className:`w-16 flex-col items-end gap-0.5`,children:[(0,p.jsxs)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`tabular-nums`,children:[a,`%`]}),(0,p.jsx)(`div`,{className:`h-1 w-full overflow-hidden rounded-full bg-muted`,"aria-label":i.relevance,children:(0,p.jsx)(`div`,{className:`h-full rounded-full bg-primary`,style:{width:`${a}%`}})})]})]})}var N={sourcePrefix:`Source`,openAria:`Open source {{n}}: {{title}}`};function P(e,t){return e.replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function F({index:i,title:a,url:o,onSelect:s,className:c,strings:l}){let u=e.mergeStrings(N,l),d=P(u.openAria,{n:i,title:a??``}),f=a?`${u.sourcePrefix} ${i}: ${a}`:`${u.sourcePrefix} ${i}`,m=t.cn(`inline-flex h-5 min-w-5 -translate-y-px items-center justify-center rounded px-1`,`align-middle text-xs font-medium tabular-nums`,`bg-muted text-muted-foreground`,`hover:bg-primary/10 hover:text-primary`,`transition-colors duration-150`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,c);return o?(0,p.jsx)(`a`,{href:o,target:`_blank`,rel:`noopener noreferrer`,title:f,"aria-label":d,className:t.cn(`ai-inline-citation--component`,m),children:(0,p.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,className:`leading-none`,children:i})}):s?(0,p.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:s,title:f,"aria-label":d,className:t.cn(`ai-inline-citation--component`,m),children:(0,p.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,className:`leading-none`,children:i})}):(0,p.jsx)(`span`,{title:f,"aria-label":d,className:t.cn(`ai-inline-citation--component`,m),children:(0,p.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,className:`leading-none`,children:i})})}F.displayName=`AiInlineCitation`;var I={versionLabel:`Version`,licenseLabel:`License`,publishedLabel:`Published`,homepageAria:`Open homepage`,repositoryAria:`Open repository`,weeklyDownloadsLabel:`Weekly downloads`};function L({name:n,version:i,description:o,license:s,publishedAt:c,homepage:l,repository:u,weeklyDownloads:d,keywords:f,onSelect:h,className:g,strings:_}){let v=e.useStrings(I,_);return(0,p.jsxs)(h?`button`:`div`,{...h?{type:`button`,onClick:h}:{},className:t.cn(`ai-package-info--component`,`block w-full rounded-lg border border-border/60 bg-card text-left`,h&&`transition-[border-color,background] duration-150 hover:border-foreground/20 hover:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,g),children:[(0,p.jsxs)(`div`,{className:`flex items-start gap-3 px-3.5 py-3`,children:[(0,p.jsx)(`span`,{"aria-hidden":!0,className:`inline-flex size-9 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground`,children:(0,p.jsx)(m.Package,{className:`size-4`})}),(0,p.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(r.s,{weight:`semibold`,className:`truncate font-mono`,children:n}),!!i&&(0,p.jsxs)(a.t,{variant:`secondary`,className:`font-mono tabular-nums`,children:[`v`,i.replace(/^v/,``)]})]}),!!o&&(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,className:`mt-1 line-clamp-2`,children:o}),(s||c||d!==void 0)&&(0,p.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-3 gap-y-1`,children:[!!s&&(0,p.jsx)(R,{label:v.licenseLabel,value:s}),!!c&&(0,p.jsx)(R,{label:v.publishedLabel,value:c}),d!==void 0&&(0,p.jsx)(R,{label:v.weeklyDownloadsLabel,value:String(d)})]}),!!f?.length&&(0,p.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1`,children:f.slice(0,6).map(e=>(0,p.jsx)(a.t,{variant:`secondary`,children:e},e))})]})]}),(l||u)&&(0,p.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-border/60 bg-muted/20 px-3.5 py-2`,children:[!!l&&(0,p.jsxs)(`a`,{href:l,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),"aria-label":v.homepageAria,className:`inline-flex items-center gap-1 rounded text-muted-foreground hover:text-foreground`,children:[(0,p.jsx)(m.Globe,{className:`size-3.5`}),(0,p.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,children:`Homepage`}),(0,p.jsx)(m.ExternalLink,{className:`size-3`})]}),!!l&&!!u&&(0,p.jsx)(`span`,{"aria-hidden":!0,className:`text-muted-foreground/40`,children:`·`}),!!u&&(0,p.jsxs)(`a`,{href:u,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),"aria-label":v.repositoryAria,className:`inline-flex items-center gap-1 rounded text-muted-foreground hover:text-foreground`,children:[(0,p.jsx)(m.Code2,{className:`size-3.5`}),(0,p.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,children:`Repository`}),(0,p.jsx)(m.ExternalLink,{className:`size-3`})]})]})]})}L.displayName=`AiPackageInfo`;function R({label:e,value:t}){return(0,p.jsxs)(`div`,{className:`inline-flex items-baseline gap-1`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,children:e}),(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`tabular-nums`,children:t})]})}var z={expandAria:`Expand directory`,collapseAria:`Collapse directory`,statusLabels:{added:`A`,modified:`M`,removed:`D`,renamed:`R`}},B={added:{row:`before:bg-success`,pill:`bg-success/15 text-success`},modified:{row:`before:bg-warning`,pill:`bg-warning/20 text-warning`},removed:{row:`before:bg-destructive`,pill:`bg-destructive/15 text-destructive`},renamed:{row:`before:bg-info`,pill:`bg-info/15 text-info`}};function V(e){let t=e.split(`.`).pop()?.toLowerCase()??``;return[`ts`,`tsx`,`js`,`jsx`,`mjs`,`cjs`,`json`,`css`,`scss`,`html`,`sh`,`py`,`rs`,`go`].includes(t)?m.FileCode:[`md`,`mdx`,`txt`].includes(t)?m.FileText:m.File}function H({nodes:n,selectedId:r,onSelect:i,hideStatusLabels:a=!1,indent:o=14,className:s,strings:c}){let l=e.useStrings(z,c);return(0,p.jsx)(`div`,{className:t.cn(`ai-file-tree--component`,`overflow-hidden rounded-lg border border-border/60 bg-card font-mono text-xs`,s),children:(0,p.jsx)(`ul`,{children:n.map(e=>(0,p.jsx)(U,{node:e,depth:0,selectedId:r,onSelect:i,hideStatusLabels:a,indent:o,strings:l},e.id))})})}H.displayName=`AiFileTree`;function U({node:e,depth:i,selectedId:a,onSelect:o,hideStatusLabels:s,indent:c,strings:l}){let[u,d]=(0,f.useState)(e.defaultExpanded??i<1),h=e.kind===`directory`,g=a===e.id,_=e.status,v=_?B[_]:void 0,y=e.icon??(h?u?m.FolderOpen:m.Folder:V(e.name)),b=()=>{h?d(e=>!e):o?.(e)},x=(0,p.jsxs)(p.Fragment,{children:[!!_&&!s&&(0,p.jsx)(`span`,{className:t.cn(`inline-flex size-4 shrink-0 items-center justify-center rounded`,`text-xs font-bold leading-none uppercase`,v?.pill),children:l.statusLabels[_]}),!!e.trailing&&(0,p.jsx)(r.s,{tag:`span`,size:`xs`,type:`secondary`,className:`tabular-nums`,children:e.trailing})]});return(0,p.jsxs)(`li`,{children:[(0,p.jsxs)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:b,"aria-expanded":h?u:void 0,"aria-label":h?u?l.collapseAria:l.expandAria:void 0,className:t.cn(`ai-file-tree--row group relative h-auto w-full justify-start gap-1.5 rounded-none px-2 py-1 text-left font-mono text-xs`,`hover:bg-muted/40`,`focus-visible:ring-inset`,g&&`bg-primary/10`,!!_&&`before:absolute before:left-0 before:top-0 before:h-full before:w-0.5`,v?.row,_===`removed`&&`text-muted-foreground/80`),style:{paddingLeft:8+i*c},children:[h?u?(0,p.jsx)(m.ChevronDown,{className:`size-3.5 shrink-0 text-muted-foreground`}):(0,p.jsx)(m.ChevronRight,{className:`size-3.5 shrink-0 text-muted-foreground`}):(0,p.jsx)(`span`,{"aria-hidden":!0,className:`size-3.5 shrink-0`}),(0,p.jsx)(y,{className:t.cn(`size-3.5 shrink-0`,h?`text-muted-foreground`:`text-muted-foreground/80`)}),(0,p.jsx)(`span`,{className:t.cn(`flex-1 truncate`,_===`removed`&&`line-through`),children:e.name}),(0,p.jsx)(`span`,{className:`ml-auto flex items-center gap-1.5`,children:x})]}),h&&u&&!!e.children?.length&&(0,p.jsx)(`ul`,{children:e.children.map(e=>(0,p.jsx)(U,{node:e,depth:i+1,selectedId:a,onSelect:o,hideStatusLabels:s,indent:c,strings:l},e.id))})]})}exports.AiAgent=d.p,exports.AiArtifact=d.t,exports.AiAttachment=d.h,exports.AiChainOfThought=d.a,exports.AiCitation=j,exports.AiClassificationPanel=b,exports.AiCodeBlock=d._,exports.AiConfidenceCard=C,exports.AiConfirmation=d.d,exports.AiFeedback=k,exports.AiFileTree=H,exports.AiInlineCitation=F,exports.AiMessageBubble=d.S,exports.AiPackageInfo=L,exports.AiPromptSuggestions=T,exports.AiReasoning=d.s,exports.AiShimmer=d.y,exports.AiSources=d.l,exports.AiSummaryBlock=y,exports.AiTask=d.r,exports.AiTokenUsageCard=D,exports.AiToolCall=d.b,exports.defaultAiAgentStrings=d.m,exports.defaultAiArtifactStrings=d.n,exports.defaultAiAttachmentStrings=d.g,exports.defaultAiChainOfThoughtStrings=d.o,exports.defaultAiCitationStrings=A,exports.defaultAiCodeBlockStrings=d.v,exports.defaultAiConfidenceCardStrings=x,exports.defaultAiConfirmationStrings=d.f,exports.defaultAiFeedbackStrings=O,exports.defaultAiFileTreeStrings=z,exports.defaultAiInlineCitationStrings=N,exports.defaultAiMessageBubbleStrings=d.C,exports.defaultAiPackageInfoStrings=I,exports.defaultAiPromptSuggestionsStrings=w,exports.defaultAiReasoningStrings=d.c,exports.defaultAiSourcesStrings=d.u,exports.defaultAiTaskStrings=d.i,exports.defaultAiTokenUsageStrings=E,exports.defaultAiToolCallStrings=d.x;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../../lib/strings.cjs"),t=require("../../../lib/utils.cjs"),n=require("../../../_shared/button-CB8e7fui.cjs"),r=require("../../../_shared/typography-sXFd02zl.cjs"),i=require("../../../_shared/icon-badge-CU6ZkcER.cjs"),a=require("../../../_shared/badge-B0Ashqkn.cjs"),o=require("../../../_shared/cards-DvE5gRFf.cjs"),s=require("../../../_shared/textarea-rfnSeHHC.cjs"),c=require("../../../_shared/separator-BXn_fnly.cjs"),l=require("../../../_shared/item-BG2iK1sy.cjs"),u=require("../../../_shared/data-display-DRa39LH8.cjs"),d=require("../../../_shared/ai-artifact-BO0XGFHz.cjs");let f=require("react"),p=require("react/jsx-runtime"),m=require("lucide-react");var h={title:`AI Summary`,badgeLabel:`AI`,regenerate:`Regenerate`,confidenceLevels:{low:`low`,medium:`medium`,high:`high`}},g={title:`Classification`,complexityLabel:`Complexity`,flagsLabel:`Flags`,nextStepLabel:`Next Step`,confidencePrefix:`Confidence`,confidenceBands:{low:`Low`,medium:`Medium`,high:`High`}},_={low:1,medium:2,high:3};function v({level:e,label:n}){let i=_[e];return(0,p.jsxs)(`div`,{className:t.cn(`ai-summary--confidence`,`flex items-center gap-1.5`),children:[(0,p.jsx)(`div`,{className:`flex items-center gap-0.5`,children:Array.from({length:3},(e,n)=>(0,p.jsx)(`div`,{className:t.cn(`h-2.5 w-1 rounded-sm`,n<i?`bg-foreground/60`:`bg-muted-foreground/20`)},`bar-${String(n)}`))}),(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,tag:`span`,className:`capitalize`,children:n})]})}function y({data:t,strings:i}){let s=e.useStrings(h,i);return(0,p.jsx)(o.t,{icon:(0,p.jsx)(m.BrainCircuit,{className:`size-4`}),title:s.title,className:`ai-summary--component`,titleSuffix:(0,p.jsx)(a.t,{variant:`secondary`,children:s.badgeLabel}),footerText:(0,p.jsxs)(`div`,{className:`flex w-full items-center justify-between`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,tag:`span`,children:t.generatedAt}),(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,tag:`span`,children:t.model})]}),!!t.onRegenerate&&(0,p.jsxs)(n.t,{variant:`secondary`,buttonStyle:`ghost`,onClick:t.onRegenerate,children:[(0,p.jsx)(m.RefreshCw,{className:`mr-1 h-3 w-3`}),s.regenerate]})]}),children:(0,p.jsxs)(`div`,{className:`space-y-3`,children:[(0,p.jsx)(r.s,{size:`sm`,lineHeight:`relaxed`,children:t.summary}),t.entities.length>0&&(0,p.jsx)(`div`,{className:`flex flex-wrap gap-1.5`,children:t.entities.map(e=>(0,p.jsx)(a.t,{variant:`secondary`,children:e},e))}),(0,p.jsx)(v,{level:t.confidence,label:s.confidenceLevels[t.confidence]})]})})}function b({data:n,strings:i}){let s=e.useStrings(g,i),l=n.confidence>=.9?s.confidenceBands.high:n.confidence>=.7?s.confidenceBands.medium:s.confidenceBands.low;return(0,p.jsx)(o.t,{icon:(0,p.jsx)(m.BrainCircuit,{className:`size-4`}),title:s.title,className:`ai-classification--component`,children:(0,p.jsxs)(`div`,{className:`space-y-3`,children:[(0,p.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,p.jsx)(a.t,{variant:`primary`,children:n.requestType}),(0,p.jsx)(a.t,{variant:n.urgencyVariant,children:n.urgency}),(0,p.jsx)(a.t,{variant:n.toneVariant,dot:!0,children:n.tone})]}),(0,p.jsx)(u.i,{label:s.complexityLabel,labelClassName:`text-sm font-medium text-foreground`,value:(0,p.jsxs)(`span`,{className:`flex items-center gap-1`,children:[Array.from({length:5},(e,r)=>(0,p.jsx)(`span`,{className:t.cn(`h-1.5 w-3 rounded-sm`,r<n.complexityScore?`bg-foreground/60`:`bg-muted`)},`cx-${String(r)}`)),(0,p.jsxs)(r.s,{tag:`span`,size:`xs`,type:`secondary`,className:`ml-1`,children:[String(n.complexityScore),`/5`]})]})}),n.flags.length>0&&(0,p.jsx)(u.i,{label:s.flagsLabel,labelClassName:`text-sm font-medium text-foreground`,value:(0,p.jsx)(`span`,{className:`flex gap-1`,children:n.flags.map(e=>(0,p.jsx)(a.t,{variant:`warning`,children:e},e))})}),(0,p.jsx)(u.i,{label:s.nextStepLabel,labelClassName:`text-sm font-medium text-foreground`,value:(0,p.jsx)(a.t,{variant:`info`,children:n.suggestedAction})}),(0,p.jsx)(r.s,{size:`sm`,lineHeight:`relaxed`,type:`secondary`,children:n.summary}),(0,p.jsx)(c.t,{}),(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsxs)(a.t,{variant:`secondary`,children:[s.confidencePrefix,`: `,l]}),(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,tag:`span`,children:n.model})]})]})})}var x={title:`AI Confidence`,confidenceLabel:`Overall`,factorsLabel:`Contributing factors`};function S(e){return e>=.85?{label:`High`,variant:`success`}:e>=.6?{label:`Medium`,variant:`warning`}:{label:`Low`,variant:`error`}}function C({score:n,model:i,factors:s,className:c,strings:l}){let d=e.useStrings(x,l),f=Math.round(n*100),{label:h,variant:g}=S(n),_=2*Math.PI*24,v=_-f/100*_;return(0,p.jsxs)(o.t,{icon:(0,p.jsx)(m.Sparkles,{className:`size-4`}),title:d.title,titleSuffix:!!i&&(0,p.jsx)(a.t,{variant:`secondary`,size:`small`,children:i}),className:t.cn(`ai-confidence--component`,c),children:[(0,p.jsxs)(`div`,{className:`grid gap-space-xl md:grid-cols-[auto_minmax(0,1fr)] md:items-center`,children:[(0,p.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,p.jsxs)(`svg`,{width:`56`,height:`56`,viewBox:`0 0 64 64`,"aria-hidden":`true`,children:[(0,p.jsx)(`circle`,{cx:`32`,cy:`32`,r:`24`,fill:`none`,stroke:`currentColor`,strokeWidth:`5`,className:`text-muted/60`}),(0,p.jsx)(`circle`,{cx:`32`,cy:`32`,r:`24`,fill:`none`,stroke:`currentColor`,strokeWidth:`5`,strokeLinecap:`round`,strokeDasharray:_,strokeDashoffset:v,transform:`rotate(-90 32 32)`,className:t.cn(g===`success`&&`text-success`,g===`warning`&&`text-warning`,g===`error`&&`text-destructive`)})]}),(0,p.jsx)(`div`,{className:`absolute inset-0 flex flex-col items-center justify-center`,children:(0,p.jsxs)(r.s,{weight:`semibold`,className:`tabular-nums leading-none`,children:[f,`%`]})})]}),(0,p.jsxs)(`div`,{className:`grid min-w-0 gap-space-sm`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wide`,children:d.confidenceLabel}),(0,p.jsxs)(`div`,{className:`flex min-w-0 flex-wrap items-center gap-space-sm`,children:[(0,p.jsx)(a.t,{variant:g,children:h}),!!i&&(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,className:`truncate`,children:i})]})]})]}),!!s&&s.length>0&&(0,p.jsxs)(`div`,{className:`mt-space-xl grid gap-space-md`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wide`,children:d.factorsLabel}),s.map(e=>(0,p.jsxs)(`div`,{className:`grid gap-space-sm`,children:[(0,p.jsx)(u.i,{label:e.label,value:`${Math.round(e.score*100)}%`,mono:!0,labelClassName:`text-xs font-medium text-foreground`,valueClassName:`text-xs font-semibold`}),(0,p.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-muted/70`,children:(0,p.jsx)(`div`,{className:`h-full rounded-full bg-primary`,style:{width:`${Math.round(e.score*100)}%`}})})]},e.label))]})]})}C.displayName=`AiConfidenceCard`;var w={title:`Try asking`,hint:`Tap a prompt to start`};function T({suggestions:n,onPick:r,className:a,strings:s}){let c=e.useStrings(w,s);return(0,p.jsx)(o.t,{icon:(0,p.jsx)(m.Sparkles,{className:`size-4`}),title:c.title,description:c.hint,className:t.cn(`ai-prompt-suggestions--component`,a),children:(0,p.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fit,minmax(min(15rem,100%),1fr))] gap-space-xl`,children:n.map(e=>{let n=e.icon;return(0,p.jsxs)(l.t,{variant:`outline`,render:(0,p.jsx)(`button`,{type:`button`,onClick:()=>r?.(e)}),className:t.cn(`ai-prompt-suggestions--item h-full items-start gap-space-lg px-surface py-surface-sm transition-[border-color,background] duration-150`,`hover:border-foreground/20 hover:bg-muted/40`),children:[!!n&&(0,p.jsx)(l.c,{children:(0,p.jsx)(i.t,{icon:n,tone:`primary`,size:`default`,shape:`square`})}),(0,p.jsxs)(l.r,{className:`min-w-0 gap-space-sm`,children:[(0,p.jsx)(l.u,{children:e.label}),!!e.description&&(0,p.jsx)(l.i,{children:e.description})]})]},e.id)})})})}T.displayName=`AiPromptSuggestions`;var E={title:`Token usage`,input:`Input`,output:`Output`,total:`Total`,cost:`Estimated cost`};function D({model:n,inputTokens:i,outputTokens:s,cost:c,maxTokens:l,className:d,strings:f}){let h=e.useStrings(E,f),g=i+s,_=l?Math.min(100,Math.round(g/l*100)):0;return(0,p.jsxs)(o.t,{icon:(0,p.jsx)(m.Cpu,{className:`size-4`}),title:h.title,titleSuffix:!!n&&(0,p.jsx)(a.t,{variant:`secondary`,children:n}),className:t.cn(`ai-token-usage--component`,d),children:[(0,p.jsx)(`div`,{className:`grid grid-cols-3 gap-2`,children:[{label:h.input,value:i},{label:h.output,value:s},{label:h.total,value:g}].map(e=>(0,p.jsxs)(`div`,{className:`rounded-md bg-muted/40 px-3 py-2`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`uppercase tracking-wider`,children:e.label}),(0,p.jsx)(r.s,{weight:`semibold`,className:`tabular-nums`,children:e.value.toLocaleString()})]},e.label))}),!!l&&(0,p.jsxs)(`div`,{className:`mt-3`,children:[(0,p.jsx)(u.i,{label:`${g.toLocaleString()} / ${l.toLocaleString()}`,value:`${_}%`,mono:!0,labelClassName:`text-xs`,valueClassName:`text-xs font-semibold`}),(0,p.jsx)(`div`,{className:`mt-1 h-1.5 w-full overflow-hidden rounded-full bg-muted`,children:(0,p.jsx)(`div`,{className:`h-full rounded-full bg-primary`,style:{width:`${_}%`}})})]}),!!c&&(0,p.jsx)(u.i,{className:`mt-3 rounded-md bg-primary/5 px-3 py-2`,label:h.cost,value:c,mono:!0,labelClassName:`text-xs`,valueClassName:`text-sm font-bold`})]})}D.displayName=`AiTokenUsageCard`;var O={prompt:`Was this helpful?`,thumbsUpAria:`Mark as helpful`,thumbsDownAria:`Mark as not helpful`,commentPlaceholder:`Tell us more (optional)`,submit:`Send feedback`,thanks:`Thanks for your feedback.`};function k({value:i,onVote:a,onSubmitComment:o,allowComment:c=!0,submitted:l=!1,className:u,strings:d}){let h=e.useStrings(O,d),[g,_]=(0,f.useState)(null),[v,y]=(0,f.useState)(``),b=i??g,x=e=>{let t=b===e?null:e;i===void 0&&_(t),a?.(t)};return l?(0,p.jsxs)(`div`,{className:t.cn(`ai-feedback--component`,`inline-flex items-center gap-2 rounded-full bg-success/10 px-3 py-1.5`,u),children:[(0,p.jsx)(m.ThumbsUp,{className:`size-3.5 text-success`}),(0,p.jsx)(r.s,{size:`xs`,type:`success`,weight:`medium`,children:h.thanks})]}):(0,p.jsxs)(`div`,{className:t.cn(`ai-feedback--component inline-flex flex-col gap-2`,u),children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,children:h.prompt}),(0,p.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:b===`up`?`solid`:`ghost`,size:`icon-small`,"aria-label":h.thumbsUpAria,"aria-pressed":b===`up`,onClick:()=>x(`up`),className:t.cn(b===`up`&&`text-success bg-success/15 hover:bg-success/20`),children:(0,p.jsx)(m.ThumbsUp,{className:`size-3.5`})}),(0,p.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:b===`down`?`solid`:`ghost`,size:`icon-small`,"aria-label":h.thumbsDownAria,"aria-pressed":b===`down`,onClick:()=>x(`down`),className:t.cn(b===`down`&&`text-destructive bg-destructive/15 hover:bg-destructive/20`),children:(0,p.jsx)(m.ThumbsDown,{className:`size-3.5`})})]}),!!c&&!!b&&(0,p.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,p.jsx)(s.t,{value:v,onChange:e=>y(e.target.value),placeholder:h.commentPlaceholder,minRows:2}),(0,p.jsx)(`div`,{className:`flex justify-end`,children:(0,p.jsx)(n.t,{type:`button`,onClick:()=>{o?.(v,b),y(``)},disabled:!v.trim(),children:h.submit})})]})]})}k.displayName=`AiFeedback`;var A={title:`Sources`,sourceCount:e=>e===1?`1 source`:`${e} sources`,expand:`Show sources`,collapse:`Hide sources`,visit:`Visit`,relevance:`Relevance`};function j({sources:i,defaultExpanded:a=!1,maxCollapsedRows:o=0,className:s,strings:c}){let u=e.mergeStrings(A,c),[d,h]=(0,f.useState)(a),g=d?i:i.slice(0,Math.max(0,o)),_=i.length-g.length;return(0,p.jsxs)(`div`,{className:t.cn(`ai-citation--component`,`rounded-lg border border-border bg-card px-surface-sm py-surface-sm shadow-xs`,`space-y-space-lg`,s),children:[(0,p.jsxs)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:()=>h(e=>!e),className:t.cn(`ai-citation--trigger h-auto justify-start gap-space-sm rounded-md px-control py-row-y`,`text-muted-foreground hover:text-foreground hover:bg-muted/40`),"aria-expanded":d,"aria-label":d?u.collapse:u.expand,children:[(0,p.jsx)(m.Quote,{className:`size-3.5`}),(0,p.jsxs)(r.s,{size:`xs`,weight:`medium`,children:[u.title,` · `,u.sourceCount(i.length)]}),d?(0,p.jsx)(m.ChevronDown,{className:`size-3.5`}):(0,p.jsx)(m.ChevronRight,{className:`size-3.5`})]}),(d||o>0)&&(0,p.jsxs)(l.o,{children:[g.map((e,t)=>(0,p.jsx)(M,{source:e,index:t+1,strings:u},e.id)),!d&&_>0&&(0,p.jsxs)(r.s,{size:`xs`,type:`secondary`,children:[`+`,_,` more`]})]})]})}j.displayName=`AiCitation`;function M({source:e,index:n,strings:i}){let a=typeof e.relevance==`number`?Math.round(Math.max(0,Math.min(1,e.relevance))*100):null,o=e.url?`a`:`span`,s=e.url?{href:e.url,target:`_blank`,rel:`noopener noreferrer`}:{};return(0,p.jsxs)(l.t,{variant:`outline`,size:`small`,className:`items-start px-surface-sm py-surface-sm`,children:[(0,p.jsx)(l.c,{children:(0,p.jsx)(`span`,{className:`inline-flex size-5 shrink-0 items-center justify-center rounded-full bg-muted text-xs font-semibold text-muted-foreground tabular-nums`,children:n})}),(0,p.jsxs)(l.r,{children:[(0,p.jsx)(l.u,{className:`truncate`,children:(0,p.jsxs)(o,{...s,className:t.cn(`truncate`,e.url&&`hover:text-primary hover:underline`),children:[e.title,!!e.url&&(0,p.jsx)(m.ExternalLink,{className:`ml-1 inline size-3 align-baseline`})]})}),!!e.snippet&&(0,p.jsx)(l.i,{clamp:2,children:e.snippet}),(e.publisher||e.publishedAt)&&(0,p.jsxs)(l.a,{className:`mt-1 justify-start gap-1.5`,children:[!!e.publisher&&(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,children:e.publisher}),!!e.publisher&&!!e.publishedAt&&(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,children:`·`}),!!e.publishedAt&&(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,className:`tabular-nums`,children:e.publishedAt})]})]}),a!==null&&(0,p.jsxs)(l.n,{className:`w-16 flex-col items-end gap-0.5`,children:[(0,p.jsxs)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`tabular-nums`,children:[a,`%`]}),(0,p.jsx)(`div`,{className:`h-1 w-full overflow-hidden rounded-full bg-muted`,"aria-label":i.relevance,children:(0,p.jsx)(`div`,{className:`h-full rounded-full bg-primary`,style:{width:`${a}%`}})})]})]})}var N={sourcePrefix:`Source`,openAria:`Open source {{n}}: {{title}}`};function P(e,t){return e.replace(/\{\{\s*(\w+)\s*\}\}/g,(e,n)=>{let r=t[n];return r===void 0?e:String(r)})}function F({index:i,title:a,url:o,onSelect:s,className:c,strings:l}){let u=e.mergeStrings(N,l),d=P(u.openAria,{n:i,title:a??``}),f=a?`${u.sourcePrefix} ${i}: ${a}`:`${u.sourcePrefix} ${i}`,m=t.cn(`inline-flex h-5 min-w-5 -translate-y-px items-center justify-center rounded px-1`,`align-middle text-xs font-medium tabular-nums`,`bg-muted text-muted-foreground`,`hover:bg-primary/10 hover:text-primary`,`transition-colors duration-150`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,c);return o?(0,p.jsx)(`a`,{href:o,target:`_blank`,rel:`noopener noreferrer`,title:f,"aria-label":d,className:t.cn(`ai-inline-citation--component`,m),children:(0,p.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,className:`leading-none`,children:i})}):s?(0,p.jsx)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:s,title:f,"aria-label":d,className:t.cn(`ai-inline-citation--component`,m),children:(0,p.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,className:`leading-none`,children:i})}):(0,p.jsx)(`span`,{title:f,"aria-label":d,className:t.cn(`ai-inline-citation--component`,m),children:(0,p.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,className:`leading-none`,children:i})})}F.displayName=`AiInlineCitation`;var I={versionLabel:`Version`,licenseLabel:`License`,publishedLabel:`Published`,homepageAria:`Open homepage`,repositoryAria:`Open repository`,weeklyDownloadsLabel:`Weekly downloads`};function L({name:n,version:i,description:o,license:s,publishedAt:c,homepage:l,repository:u,weeklyDownloads:d,keywords:f,onSelect:h,className:g,strings:_}){let v=e.useStrings(I,_);return(0,p.jsxs)(h?`button`:`div`,{...h?{type:`button`,onClick:h}:{},className:t.cn(`ai-package-info--component`,`block w-full rounded-lg border border-border/60 bg-card text-left`,h&&`transition-[border-color,background] duration-150 hover:border-foreground/20 hover:bg-muted/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/40`,g),children:[(0,p.jsxs)(`div`,{className:`flex items-start gap-3 px-3.5 py-3`,children:[(0,p.jsx)(`span`,{"aria-hidden":!0,className:`inline-flex size-9 shrink-0 items-center justify-center rounded-md bg-muted text-muted-foreground`,children:(0,p.jsx)(m.Package,{className:`size-4`})}),(0,p.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,p.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,p.jsx)(r.s,{weight:`semibold`,className:`truncate font-mono`,children:n}),!!i&&(0,p.jsxs)(a.t,{variant:`secondary`,className:`font-mono tabular-nums`,children:[`v`,i.replace(/^v/,``)]})]}),!!o&&(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,className:`mt-1 line-clamp-2`,children:o}),(s||c||d!==void 0)&&(0,p.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-x-3 gap-y-1`,children:[!!s&&(0,p.jsx)(R,{label:v.licenseLabel,value:s}),!!c&&(0,p.jsx)(R,{label:v.publishedLabel,value:c}),d!==void 0&&(0,p.jsx)(R,{label:v.weeklyDownloadsLabel,value:String(d)})]}),!!f?.length&&(0,p.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1`,children:f.slice(0,6).map(e=>(0,p.jsx)(a.t,{variant:`secondary`,children:e},e))})]})]}),(l||u)&&(0,p.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-border/60 bg-muted/20 px-3.5 py-2`,children:[!!l&&(0,p.jsxs)(`a`,{href:l,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),"aria-label":v.homepageAria,className:`inline-flex items-center gap-1 rounded text-muted-foreground hover:text-foreground`,children:[(0,p.jsx)(m.Globe,{className:`size-3.5`}),(0,p.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,children:`Homepage`}),(0,p.jsx)(m.ExternalLink,{className:`size-3`})]}),!!l&&!!u&&(0,p.jsx)(`span`,{"aria-hidden":!0,className:`text-muted-foreground/40`,children:`·`}),!!u&&(0,p.jsxs)(`a`,{href:u,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),"aria-label":v.repositoryAria,className:`inline-flex items-center gap-1 rounded text-muted-foreground hover:text-foreground`,children:[(0,p.jsx)(m.Code2,{className:`size-3.5`}),(0,p.jsx)(r.s,{tag:`span`,size:`xs`,weight:`medium`,children:`Repository`}),(0,p.jsx)(m.ExternalLink,{className:`size-3`})]})]})]})}L.displayName=`AiPackageInfo`;function R({label:e,value:t}){return(0,p.jsxs)(`div`,{className:`inline-flex items-baseline gap-1`,children:[(0,p.jsx)(r.s,{size:`xs`,type:`discrete`,children:e}),(0,p.jsx)(r.s,{size:`xs`,type:`secondary`,weight:`medium`,className:`tabular-nums`,children:t})]})}var z={expandAria:`Expand directory`,collapseAria:`Collapse directory`,statusLabels:{added:`A`,modified:`M`,removed:`D`,renamed:`R`}},B={added:{row:`before:bg-success`,pill:`bg-success/15 text-success`},modified:{row:`before:bg-warning`,pill:`bg-warning/20 text-warning`},removed:{row:`before:bg-destructive`,pill:`bg-destructive/15 text-destructive`},renamed:{row:`before:bg-info`,pill:`bg-info/15 text-info`}};function V(e){let t=e.split(`.`).pop()?.toLowerCase()??``;return[`ts`,`tsx`,`js`,`jsx`,`mjs`,`cjs`,`json`,`css`,`scss`,`html`,`sh`,`py`,`rs`,`go`].includes(t)?m.FileCode:[`md`,`mdx`,`txt`].includes(t)?m.FileText:m.File}function H({nodes:n,selectedId:r,onSelect:i,hideStatusLabels:a=!1,indent:o=14,className:s,strings:c}){let l=e.useStrings(z,c);return(0,p.jsx)(`div`,{className:t.cn(`ai-file-tree--component`,`overflow-hidden rounded-lg border border-border/60 bg-card font-mono text-xs`,s),children:(0,p.jsx)(`ul`,{children:n.map(e=>(0,p.jsx)(U,{node:e,depth:0,selectedId:r,onSelect:i,hideStatusLabels:a,indent:o,strings:l},e.id))})})}H.displayName=`AiFileTree`;function U({node:e,depth:i,selectedId:a,onSelect:o,hideStatusLabels:s,indent:c,strings:l}){let[u,d]=(0,f.useState)(e.defaultExpanded??i<1),h=e.kind===`directory`,g=a===e.id,_=e.status,v=_?B[_]:void 0,y=e.icon??(h?u?m.FolderOpen:m.Folder:V(e.name)),b=()=>{h?d(e=>!e):o?.(e)},x=(0,p.jsxs)(p.Fragment,{children:[!!_&&!s&&(0,p.jsx)(`span`,{className:t.cn(`inline-flex size-4 shrink-0 items-center justify-center rounded`,`text-xs font-bold leading-none uppercase`,v?.pill),children:l.statusLabels[_]}),!!e.trailing&&(0,p.jsx)(r.s,{tag:`span`,size:`xs`,type:`secondary`,className:`tabular-nums`,children:e.trailing})]});return(0,p.jsxs)(`li`,{children:[(0,p.jsxs)(n.t,{type:`button`,variant:`secondary`,buttonStyle:`ghost`,size:`small`,onClick:b,"aria-expanded":h?u:void 0,"aria-label":h?u?l.collapseAria:l.expandAria:void 0,className:t.cn(`ai-file-tree--row group relative h-auto w-full justify-start gap-1.5 rounded-none px-2 py-1 text-left font-mono text-xs`,`hover:bg-muted/40`,`focus-visible:ring-inset`,g&&`bg-primary/10`,!!_&&`before:absolute before:left-0 before:top-0 before:h-full before:w-0.5`,v?.row,_===`removed`&&`text-muted-foreground/80`),style:{paddingLeft:8+i*c},children:[h?u?(0,p.jsx)(m.ChevronDown,{className:`size-3.5 shrink-0 text-muted-foreground`}):(0,p.jsx)(m.ChevronRight,{className:`size-3.5 shrink-0 text-muted-foreground`}):(0,p.jsx)(`span`,{"aria-hidden":!0,className:`size-3.5 shrink-0`}),(0,p.jsx)(y,{className:t.cn(`size-3.5 shrink-0`,h?`text-muted-foreground`:`text-muted-foreground/80`)}),(0,p.jsx)(`span`,{className:t.cn(`flex-1 truncate`,_===`removed`&&`line-through`),children:e.name}),(0,p.jsx)(`span`,{className:`ml-auto flex items-center gap-1.5`,children:x})]}),h&&u&&!!e.children?.length&&(0,p.jsx)(`ul`,{children:e.children.map(e=>(0,p.jsx)(U,{node:e,depth:i+1,selectedId:a,onSelect:o,hideStatusLabels:s,indent:c,strings:l},e.id))})]})}exports.AiAgent=d.p,exports.AiArtifact=d.t,exports.AiAttachment=d.h,exports.AiChainOfThought=d.a,exports.AiCitation=j,exports.AiClassificationPanel=b,exports.AiCodeBlock=d._,exports.AiConfidenceCard=C,exports.AiConfirmation=d.d,exports.AiFeedback=k,exports.AiFileTree=H,exports.AiInlineCitation=F,exports.AiMessageBubble=d.S,exports.AiPackageInfo=L,exports.AiPromptSuggestions=T,exports.AiReasoning=d.s,exports.AiShimmer=d.y,exports.AiSources=d.l,exports.AiSummaryBlock=y,exports.AiTask=d.r,exports.AiTokenUsageCard=D,exports.AiToolCall=d.b,exports.defaultAiAgentStrings=d.m,exports.defaultAiArtifactStrings=d.n,exports.defaultAiAttachmentStrings=d.g,exports.defaultAiChainOfThoughtStrings=d.o,exports.defaultAiCitationStrings=A,exports.defaultAiCodeBlockStrings=d.v,exports.defaultAiConfidenceCardStrings=x,exports.defaultAiConfirmationStrings=d.f,exports.defaultAiFeedbackStrings=O,exports.defaultAiFileTreeStrings=z,exports.defaultAiInlineCitationStrings=N,exports.defaultAiMessageBubbleStrings=d.C,exports.defaultAiPackageInfoStrings=I,exports.defaultAiPromptSuggestionsStrings=w,exports.defaultAiReasoningStrings=d.c,exports.defaultAiSourcesStrings=d.u,exports.defaultAiTaskStrings=d.i,exports.defaultAiTokenUsageStrings=E,exports.defaultAiToolCallStrings=d.x;
2
2
  //# sourceMappingURL=index.cjs.map