admin-ui-starter-kit 0.6.8 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1362) 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 +22 -3
  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__display-utilities.md +15 -8
  12. package/.agents/skills/component-library-rules/references/components/base__item.md +7 -7
  13. package/.agents/skills/component-library-rules/references/components/base__money-display.md +4 -0
  14. package/.agents/skills/component-library-rules/references/components/base__typography.md +3 -3
  15. package/.agents/skills/component-library-rules/references/components/composed__commerce-address-card.md +74 -0
  16. package/.agents/skills/component-library-rules/references/components/composed__commerce-cart-summary.md +84 -0
  17. package/.agents/skills/component-library-rules/references/components/composed__commerce-coupon-input.md +52 -0
  18. package/.agents/skills/component-library-rules/references/components/composed__commerce-discount-stack.md +58 -0
  19. package/.agents/skills/component-library-rules/references/components/composed__commerce-inventory-section.md +168 -0
  20. package/.agents/skills/component-library-rules/references/components/composed__commerce-loyalty-points.md +60 -0
  21. package/.agents/skills/component-library-rules/references/components/composed__commerce-order-status.md +62 -0
  22. package/.agents/skills/component-library-rules/references/components/composed__commerce-payment-method.md +58 -0
  23. package/.agents/skills/component-library-rules/references/components/composed__commerce-refund-status.md +58 -0
  24. package/.agents/skills/component-library-rules/references/components/composed__commerce-seo-listing.md +106 -0
  25. package/.agents/skills/component-library-rules/references/components/composed__commerce-shipment-tracking.md +65 -0
  26. package/.agents/skills/component-library-rules/references/components/composed__commerce-subscription-summary.md +66 -0
  27. package/.agents/skills/component-library-rules/references/components/composed__commerce-tax-breakdown.md +60 -0
  28. package/.agents/skills/component-library-rules/references/components/composed__commerce-upcoming-booking.md +62 -0
  29. package/.agents/skills/component-library-rules/references/components/composed__commerce-voucher-entry.md +60 -0
  30. package/.agents/skills/component-library-rules/references/components/composed__commerce.md +29 -143
  31. package/.agents/skills/component-library-rules/references/components/features__products.md +18 -462
  32. package/.agents/skills/component-library-rules/references/components/features__products__actions.md +37 -0
  33. package/.agents/skills/component-library-rules/references/components/features__products__support-rail.md +73 -0
  34. package/.agents/skills/component-library-rules/references/components/features__products__variant-details.md +97 -0
  35. package/.agents/skills/component-library-rules/references/components/features__products__variant-management.md +269 -0
  36. package/.agents/skills/component-library-rules/references/components/layout__layout-auth.md +1 -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-8ryMAXNr.js +48 -0
  97. package/dist/_shared/containers-8ryMAXNr.js.map +1 -0
  98. package/dist/_shared/containers-BcrM8-22.cjs +2 -0
  99. package/dist/_shared/containers-BcrM8-22.cjs.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-B9Lciun3.cjs +2 -0
  105. package/dist/_shared/data-display-B9Lciun3.cjs.map +1 -0
  106. package/dist/_shared/data-display-CYmwUdmU.js +1878 -0
  107. package/dist/_shared/data-display-CYmwUdmU.js.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-CZVEJ3p_.cjs +2 -0
  153. package/dist/_shared/layout-CZVEJ3p_.cjs.map +1 -0
  154. package/dist/_shared/layout-D75TJTaD.js +268 -0
  155. package/dist/_shared/layout-D75TJTaD.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/separator-BXn_fnly.cjs +2 -0
  181. package/dist/_shared/separator-BXn_fnly.cjs.map +1 -0
  182. package/dist/_shared/separator-DiH-j--f.js +20 -0
  183. package/dist/_shared/separator-DiH-j--f.js.map +1 -0
  184. package/dist/_shared/settings-AIgixHbB.cjs +2 -0
  185. package/dist/_shared/settings-AIgixHbB.cjs.map +1 -0
  186. package/dist/_shared/settings-D3KdypJk.js +143 -0
  187. package/dist/_shared/settings-D3KdypJk.js.map +1 -0
  188. package/dist/_shared/sidebar-BzBincq3.js +548 -0
  189. package/dist/_shared/sidebar-BzBincq3.js.map +1 -0
  190. package/dist/_shared/sidebar-D5NLbyow.cjs +2 -0
  191. package/dist/_shared/sidebar-D5NLbyow.cjs.map +1 -0
  192. package/dist/_shared/skeleton-Bc_qa5l_.js +256 -0
  193. package/dist/_shared/skeleton-Bc_qa5l_.js.map +1 -0
  194. package/dist/_shared/skeleton-Wq6G0Kya.cjs +2 -0
  195. package/dist/_shared/skeleton-Wq6G0Kya.cjs.map +1 -0
  196. package/dist/_shared/spinner-C-yoZUk-.cjs +2 -0
  197. package/dist/_shared/spinner-C-yoZUk-.cjs.map +1 -0
  198. package/dist/_shared/spinner-CDVWFN0N.js +67 -0
  199. package/dist/_shared/spinner-CDVWFN0N.js.map +1 -0
  200. package/dist/_shared/table-B70kyH2E.js +1377 -0
  201. package/dist/_shared/table-B70kyH2E.js.map +1 -0
  202. package/dist/_shared/table-DQA2m2F0.cjs +2 -0
  203. package/dist/_shared/table-DQA2m2F0.cjs.map +1 -0
  204. package/dist/_shared/textarea-Dx9yEZY2.js +118 -0
  205. package/dist/_shared/textarea-Dx9yEZY2.js.map +1 -0
  206. package/dist/_shared/textarea-rfnSeHHC.cjs +2 -0
  207. package/dist/_shared/textarea-rfnSeHHC.cjs.map +1 -0
  208. package/dist/_shared/typography-C_kCoR1d.js +204 -0
  209. package/dist/_shared/typography-C_kCoR1d.js.map +1 -0
  210. package/dist/_shared/typography-sXFd02zl.cjs +2 -0
  211. package/dist/_shared/typography-sXFd02zl.cjs.map +1 -0
  212. package/dist/_shared/workspace-Bw-k_HXQ.js +357 -0
  213. package/dist/_shared/workspace-Bw-k_HXQ.js.map +1 -0
  214. package/dist/_shared/workspace-CLUsYC5y.cjs +2 -0
  215. package/dist/_shared/workspace-CLUsYC5y.cjs.map +1 -0
  216. package/dist/components/base/accordion/index.cjs +1 -1
  217. package/dist/components/base/accordion/index.js +1 -1
  218. package/dist/components/base/badge/index.cjs +1 -1
  219. package/dist/components/base/badge/index.js +1 -1
  220. package/dist/components/base/buttons/index.cjs +1 -1
  221. package/dist/components/base/buttons/index.js +2 -2
  222. package/dist/components/base/cards/index.cjs +1 -1
  223. package/dist/components/base/cards/index.js +1 -1
  224. package/dist/components/base/carousel/carousel.d.ts.map +1 -1
  225. package/dist/components/base/carousel/index.cjs +1 -1
  226. package/dist/components/base/carousel/index.cjs.map +1 -1
  227. package/dist/components/base/carousel/index.js +98 -97
  228. package/dist/components/base/carousel/index.js.map +1 -1
  229. package/dist/components/base/combobox/components/combobox-dropdown.d.ts.map +1 -1
  230. package/dist/components/base/combobox/index.cjs +1 -1
  231. package/dist/components/base/combobox/index.js +1 -1
  232. package/dist/components/base/command/command.d.ts +1 -1
  233. package/dist/components/base/command/index.cjs +1 -1
  234. package/dist/components/base/command/index.js +1 -1
  235. package/dist/components/base/copyable/index.cjs +1 -1
  236. package/dist/components/base/copyable/index.js +1 -1
  237. package/dist/components/base/currency/index.cjs +1 -1
  238. package/dist/components/base/currency/index.js +1 -1
  239. package/dist/components/base/date-pickers/index.cjs +1 -1
  240. package/dist/components/base/date-pickers/index.js +2 -2
  241. package/dist/components/base/display/alert.d.ts.map +1 -1
  242. package/dist/components/base/display/chart.cjs +1 -1
  243. package/dist/components/base/display/chart.js +1 -1
  244. package/dist/components/base/display/icon-size.d.ts +6 -0
  245. package/dist/components/base/display/icon-size.d.ts.map +1 -0
  246. package/dist/components/base/display/index.cjs +1 -1
  247. package/dist/components/base/display/index.d.ts +1 -0
  248. package/dist/components/base/display/index.d.ts.map +1 -1
  249. package/dist/components/base/display/index.js +10 -9
  250. package/dist/components/base/display/separator.d.ts +10 -1
  251. package/dist/components/base/display/separator.d.ts.map +1 -1
  252. package/dist/components/base/display/throttle-alert.d.ts.map +1 -1
  253. package/dist/components/base/event-calendar/index.cjs +1 -1
  254. package/dist/components/base/event-calendar/index.cjs.map +1 -1
  255. package/dist/components/base/event-calendar/index.js +4 -4
  256. package/dist/components/base/event-calendar/index.js.map +1 -1
  257. package/dist/components/base/forms/index.cjs +1 -1
  258. package/dist/components/base/forms/index.js +5 -5
  259. package/dist/components/base/item/index.cjs +1 -1
  260. package/dist/components/base/item/index.js +1 -1
  261. package/dist/components/base/item/item.d.ts.map +1 -1
  262. package/dist/components/base/map/index.cjs +1 -1
  263. package/dist/components/base/map/index.cjs.map +1 -1
  264. package/dist/components/base/map/index.js +3 -3
  265. package/dist/components/base/map/index.js.map +1 -1
  266. package/dist/components/base/map/map.d.ts +1 -1
  267. package/dist/components/base/map/map.d.ts.map +1 -1
  268. package/dist/components/base/navigation/dropdown-menu.d.ts +33 -1
  269. package/dist/components/base/navigation/dropdown-menu.d.ts.map +1 -1
  270. package/dist/components/base/navigation/index.cjs +1 -1
  271. package/dist/components/base/navigation/index.js +4 -4
  272. package/dist/components/base/popover-menu/index.cjs +1 -1
  273. package/dist/components/base/popover-menu/index.js +1 -1
  274. package/dist/components/base/spinner/index.cjs +1 -1
  275. package/dist/components/base/spinner/index.js +1 -1
  276. package/dist/components/base/table/index.cjs +1 -1
  277. package/dist/components/base/table/index.js +1 -1
  278. package/dist/components/composed/admin/index.cjs +1 -1
  279. package/dist/components/composed/admin/index.cjs.map +1 -1
  280. package/dist/components/composed/admin/index.js +10 -11
  281. package/dist/components/composed/admin/index.js.map +1 -1
  282. package/dist/components/composed/ai/index.cjs +1 -1
  283. package/dist/components/composed/ai/index.cjs.map +1 -1
  284. package/dist/components/composed/ai/index.js +9 -10
  285. package/dist/components/composed/ai/index.js.map +1 -1
  286. package/dist/components/composed/analytics/index.cjs +1 -1
  287. package/dist/components/composed/analytics/index.cjs.map +1 -1
  288. package/dist/components/composed/analytics/index.js +4 -4
  289. package/dist/components/composed/analytics/index.js.map +1 -1
  290. package/dist/components/composed/cards/index.cjs +1 -1
  291. package/dist/components/composed/cards/index.cjs.map +1 -1
  292. package/dist/components/composed/cards/index.js +13 -15
  293. package/dist/components/composed/cards/index.js.map +1 -1
  294. package/dist/components/composed/commerce/index.cjs +1 -1
  295. package/dist/components/composed/commerce/index.cjs.map +1 -1
  296. package/dist/components/composed/commerce/index.d.ts +2 -0
  297. package/dist/components/composed/commerce/index.d.ts.map +1 -1
  298. package/dist/components/composed/commerce/index.js +1246 -382
  299. package/dist/components/composed/commerce/index.js.map +1 -1
  300. package/dist/components/composed/commerce/inventory-section/index.d.ts +3 -0
  301. package/dist/components/composed/commerce/inventory-section/index.d.ts.map +1 -0
  302. package/dist/components/composed/commerce/inventory-section/inventory-section.d.ts +6 -0
  303. package/dist/components/composed/commerce/inventory-section/inventory-section.d.ts.map +1 -0
  304. package/dist/components/composed/commerce/inventory-section/types.d.ts +85 -0
  305. package/dist/components/composed/commerce/inventory-section/types.d.ts.map +1 -0
  306. package/dist/components/composed/commerce/seo-listing/index.d.ts +4 -0
  307. package/dist/components/composed/commerce/seo-listing/index.d.ts.map +1 -0
  308. package/dist/components/composed/commerce/seo-listing/seo-listing-card.d.ts +6 -0
  309. package/dist/components/composed/commerce/seo-listing/seo-listing-card.d.ts.map +1 -0
  310. package/dist/components/composed/commerce/seo-listing/seo-listing-score.d.ts +6 -0
  311. package/dist/components/composed/commerce/seo-listing/seo-listing-score.d.ts.map +1 -0
  312. package/dist/components/composed/commerce/seo-listing/types.d.ts +68 -0
  313. package/dist/components/composed/commerce/seo-listing/types.d.ts.map +1 -0
  314. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  315. package/dist/components/composed/dark-surfaces/index.cjs.map +1 -1
  316. package/dist/components/composed/dark-surfaces/index.js +8 -8
  317. package/dist/components/composed/dark-surfaces/index.js.map +1 -1
  318. package/dist/components/composed/data-display/index.cjs +1 -1
  319. package/dist/components/composed/data-display/index.js +1 -1
  320. package/dist/components/composed/navigation/index.cjs +1 -1
  321. package/dist/components/composed/navigation/index.cjs.map +1 -1
  322. package/dist/components/composed/navigation/index.js +5 -6
  323. package/dist/components/composed/navigation/index.js.map +1 -1
  324. package/dist/components/composed/onboarding/index.cjs +1 -1
  325. package/dist/components/composed/onboarding/index.js +3 -3
  326. package/dist/components/composed/timelines/index.cjs +1 -1
  327. package/dist/components/composed/timelines/index.js +3 -3
  328. package/dist/components/features/activities/index.cjs +1 -1
  329. package/dist/components/features/activities/index.js +5 -5
  330. package/dist/components/features/ai-chat/index.cjs +1 -1
  331. package/dist/components/features/ai-chat/index.js +5 -5
  332. package/dist/components/features/card/index.cjs +1 -1
  333. package/dist/components/features/card/index.js +4 -4
  334. package/dist/components/features/comments/index.cjs +1 -1
  335. package/dist/components/features/comments/index.js +2 -2
  336. package/dist/components/features/data-view/index.cjs +1 -1
  337. package/dist/components/features/data-view/index.js +2 -2
  338. package/dist/components/features/event-log/index.cjs +1 -1
  339. package/dist/components/features/event-log/index.js +4 -4
  340. package/dist/components/features/filters/index.cjs +1 -1
  341. package/dist/components/features/filters/index.cjs.map +1 -1
  342. package/dist/components/features/filters/index.js +64 -64
  343. package/dist/components/features/filters/index.js.map +1 -1
  344. package/dist/components/features/filters/partials/regular-filter-content.d.ts.map +1 -1
  345. package/dist/components/features/global-search/index.cjs +1 -1
  346. package/dist/components/features/global-search/index.js +4 -4
  347. package/dist/components/features/kanban/index.cjs +1 -1
  348. package/dist/components/features/kanban/index.js +3 -3
  349. package/dist/components/features/media-library/index.cjs +1 -1
  350. package/dist/components/features/media-library/index.cjs.map +1 -1
  351. package/dist/components/features/media-library/index.js +230 -206
  352. package/dist/components/features/media-library/index.js.map +1 -1
  353. package/dist/components/features/media-library/media-library.d.ts.map +1 -1
  354. package/dist/components/features/media-library/media-library.strings.d.ts +2 -0
  355. package/dist/components/features/media-library/media-library.strings.d.ts.map +1 -1
  356. package/dist/components/features/media-library/partials/media-library-partials.d.ts.map +1 -1
  357. package/dist/components/features/mentions/index.cjs +1 -1
  358. package/dist/components/features/mentions/index.js +1 -1
  359. package/dist/components/features/overlays/index.cjs +1 -1
  360. package/dist/components/features/overlays/index.js +1 -1
  361. package/dist/components/features/products/components/index.d.ts +3 -0
  362. package/dist/components/features/products/components/index.d.ts.map +1 -1
  363. package/dist/components/features/products/components/product-options-matrix.d.ts +6 -0
  364. package/dist/components/features/products/components/product-options-matrix.d.ts.map +1 -0
  365. package/dist/components/features/products/components/product-variants-bulk-table.d.ts +6 -0
  366. package/dist/components/features/products/components/product-variants-bulk-table.d.ts.map +1 -0
  367. package/dist/components/features/products/components/product-variants-manager.d.ts +6 -0
  368. package/dist/components/features/products/components/product-variants-manager.d.ts.map +1 -0
  369. package/dist/components/features/products/index.cjs +1 -1
  370. package/dist/components/features/products/index.cjs.map +1 -1
  371. package/dist/components/features/products/index.js +1705 -511
  372. package/dist/components/features/products/index.js.map +1 -1
  373. package/dist/components/features/products/products.strings.d.ts +70 -0
  374. package/dist/components/features/products/products.strings.d.ts.map +1 -1
  375. package/dist/components/features/products/products.types.d.ts +163 -1
  376. package/dist/components/features/products/products.types.d.ts.map +1 -1
  377. package/dist/components/features/resource/index.cjs +1 -1
  378. package/dist/components/features/resource/index.js +5 -5
  379. package/dist/components/features/rich-text-editor/index.cjs +1 -1
  380. package/dist/components/features/rich-text-editor/index.js +1 -1
  381. package/dist/components/features/schema-form/index.cjs +1 -1
  382. package/dist/components/features/schema-form/index.js +8 -8
  383. package/dist/components/features/suggestions/index.cjs +1 -1
  384. package/dist/components/features/suggestions/index.js +1 -1
  385. package/dist/components/features/sync/index.cjs +1 -1
  386. package/dist/components/features/sync/index.js +2 -2
  387. package/dist/components/layout/auth/index.cjs +1 -1
  388. package/dist/components/layout/auth/index.js +1 -1
  389. package/dist/components/layout/containers/index.cjs +1 -1
  390. package/dist/components/layout/containers/index.js +1 -1
  391. package/dist/components/layout/header/index.cjs +1 -1
  392. package/dist/components/layout/header/index.js +1 -1
  393. package/dist/components/layout/hooks/index.cjs +1 -1
  394. package/dist/components/layout/hooks/index.js +1 -1
  395. package/dist/components/layout/index.cjs +1 -1
  396. package/dist/components/layout/index.js +8 -8
  397. package/dist/components/layout/page/index.cjs +1 -1
  398. package/dist/components/layout/page/index.js +1 -1
  399. package/dist/components/layout/page/page-content.d.ts +1 -1
  400. package/dist/components/layout/page/page-content.d.ts.map +1 -1
  401. package/dist/components/layout/settings/index.cjs +1 -1
  402. package/dist/components/layout/settings/index.js +1 -1
  403. package/dist/components/layout/sidebar/index.cjs +1 -1
  404. package/dist/components/layout/sidebar/index.js +2 -2
  405. package/dist/components/layout/workspace/index.cjs +1 -1
  406. package/dist/components/layout/workspace/index.js +1 -1
  407. package/dist/components/typography/index.cjs +1 -1
  408. package/dist/components/typography/index.js +1 -1
  409. package/dist/components/typography/text-link.d.ts +3 -1
  410. package/dist/components/typography/text-link.d.ts.map +1 -1
  411. package/dist/components/typography/text.d.ts.map +1 -1
  412. package/dist/lib/ui-provider/types.d.ts +1 -1
  413. package/dist/lib/ui-provider/types.d.ts.map +1 -1
  414. package/dist/lib/utils.cjs +1 -1
  415. package/dist/lib/utils.cjs.map +1 -1
  416. package/dist/lib/utils.d.ts.map +1 -1
  417. package/dist/lib/utils.js +1 -0
  418. package/dist/lib/utils.js.map +1 -1
  419. package/dist/services/actions/index.cjs +1 -1
  420. package/dist/services/actions/index.js +1 -1
  421. package/dist/showcase/assets/AreaChart-iGBzUSAV.js +6 -0
  422. package/dist/showcase/assets/CompositeItem-1e8qsdC5.js +1 -0
  423. package/dist/showcase/assets/CompositeRoot-DneCUh3i.js +1 -0
  424. package/dist/showcase/assets/DialogTrigger-CVhas4X-.js +1 -0
  425. package/dist/showcase/assets/LabelableContext-Bfc22fLa.js +1 -0
  426. package/dist/showcase/assets/MenuTrigger-WTiiOMpe.js +1 -0
  427. package/dist/showcase/assets/PreviewLayout-ClbLOtTa.js +1 -0
  428. package/dist/showcase/assets/RadioGroup-DEBYMgi5.js +1 -0
  429. package/dist/showcase/assets/ScrollAreaCorner-CilamsvS.js +1 -0
  430. package/dist/showcase/assets/Separator-DSecBOlo.js +1 -0
  431. package/dist/showcase/assets/ToolbarRootContext-BY_Czi0-.js +1 -0
  432. package/dist/showcase/assets/accordion-FV2cJ9V1.js +171 -0
  433. package/dist/showcase/assets/accordion-variants-DRNuXgFT.js +1 -0
  434. package/dist/showcase/assets/action-menu-uhMTzBIl.js +1 -0
  435. package/dist/showcase/assets/actions-C3kChFSc.js +310 -0
  436. package/dist/showcase/assets/actions-DizTzuf8.js +38 -0
  437. package/dist/showcase/assets/activities-DQ7u_XKr.js +500 -0
  438. package/dist/showcase/assets/activities-feed-card-DoxFXr20.js +1 -0
  439. package/dist/showcase/assets/admin-CRVq1bj-.js +140 -0
  440. package/dist/showcase/assets/ai-DMBh2BKA.js +207 -0
  441. package/dist/showcase/assets/ai-artifact-DnSz7Xj1.js +2 -0
  442. package/dist/showcase/assets/ai-chat-Ba60tj9x.js +568 -0
  443. package/dist/showcase/assets/ai-elements-CaMbMARm.js +387 -0
  444. package/dist/showcase/assets/ai-tool-call-Cg11pnXq.js +1 -0
  445. package/dist/showcase/assets/alert-AeDTPQQ5.js +62 -0
  446. package/dist/showcase/assets/alert-BQucj-0f.js +1 -0
  447. package/dist/showcase/assets/alert-DY0yMYc3.js +93 -0
  448. package/dist/showcase/assets/api-key-list-DZiVRCkz.js +73 -0
  449. package/dist/showcase/assets/api-key-list-DuoC5nyO.js +1 -0
  450. package/dist/showcase/assets/app-sidebar-D_RbOUZC.js +1 -0
  451. package/dist/showcase/assets/arrow-down-J_5dmfVv.js +1 -0
  452. package/dist/showcase/assets/arrow-left-DeKmFjyi.js +1 -0
  453. package/dist/showcase/assets/arrow-right-ztHj2bIY.js +1 -0
  454. package/dist/showcase/assets/arrow-up-CCenfeVW.js +1 -0
  455. package/dist/showcase/assets/arrow-up-right-URGvP7LF.js +1 -0
  456. package/dist/showcase/assets/avatar-CTFW3AQa.js +1 -0
  457. package/dist/showcase/assets/avatar-DH3vm33j.js +1 -0
  458. package/dist/showcase/assets/avatar-DRi6ZWB2.js +67 -0
  459. package/dist/showcase/assets/avatar-eEOgFI6D.js +57 -0
  460. package/dist/showcase/assets/badge-C9RqIyT7.js +31 -0
  461. package/dist/showcase/assets/badge-check-CRkt0WPY.js +1 -0
  462. package/dist/showcase/assets/bell-B-bFEx5I.js +1 -0
  463. package/dist/showcase/assets/boolean-indicator-CD3scHDz.js +1 -0
  464. package/dist/showcase/assets/bot-DbSsnrvR.js +1 -0
  465. package/dist/showcase/assets/box-BDLbaerX.js +1 -0
  466. package/dist/showcase/assets/braces-nP1Ffv07.js +1 -0
  467. package/dist/showcase/assets/brain-B69nRyRF.js +1 -0
  468. package/dist/showcase/assets/brand-WHRuwaVX.js +36 -0
  469. package/dist/showcase/assets/breadcrumb-CYxS57Ko.js +1 -0
  470. package/dist/showcase/assets/breadcrumb-viDsLdax.js +52 -0
  471. package/dist/showcase/assets/breadcrumbs-CX6eCwn4.js +1 -0
  472. package/dist/showcase/assets/briefcase-BCMmOuh2.js +1 -0
  473. package/dist/showcase/assets/building-2-DCSQxFoC.js +1 -0
  474. package/dist/showcase/assets/button-It_u4rRb.js +44 -0
  475. package/dist/showcase/assets/button-group-B2NgHAyn.js +1 -0
  476. package/dist/showcase/assets/buttons-ClK1qR3J.js +272 -0
  477. package/dist/showcase/assets/calendar-CX89JdTd.js +16 -0
  478. package/dist/showcase/assets/calendar-DV83xhzB.js +1 -0
  479. package/dist/showcase/assets/calendar-HrkenM2F.js +1 -0
  480. package/dist/showcase/assets/calendar-days-O55Ncg5j.js +1 -0
  481. package/dist/showcase/assets/camera-C6hO-Q3l.js +1 -0
  482. package/dist/showcase/assets/card-CXet5wLR.js +1 -0
  483. package/dist/showcase/assets/card-ChwovoeQ.js +188 -0
  484. package/dist/showcase/assets/card-checkbox-group-DN7Ui724.js +1 -0
  485. package/dist/showcase/assets/card-primitives-C5YmKK4H.js +1 -0
  486. package/dist/showcase/assets/card-radio-group-DaiWsziy.js +1 -0
  487. package/dist/showcase/assets/cards-CpYk7Lcz.js +354 -0
  488. package/dist/showcase/assets/carousel-CaoSMqW3.js +452 -0
  489. package/dist/showcase/assets/cell-renderers-BTLGZyvy.js +1 -0
  490. package/dist/showcase/assets/chart-DukdMlSE.js +358 -0
  491. package/dist/showcase/assets/chart-column-BqDA22mr.js +1 -0
  492. package/dist/showcase/assets/checkbox-CJg8G3-s.js +1 -0
  493. package/dist/showcase/assets/checkbox-DlOCnOfc.js +1 -0
  494. package/dist/showcase/assets/chevron-down-CjLLqYjs.js +1 -0
  495. package/dist/showcase/assets/chevron-left-lE5l5Y1q.js +1 -0
  496. package/dist/showcase/assets/chevron-up-WpyEPcvJ.js +1 -0
  497. package/dist/showcase/assets/chevrons-up-down-CPkjAe_j.js +1 -0
  498. package/dist/showcase/assets/circle-B9E-rFdh.js +1 -0
  499. package/dist/showcase/assets/circle-alert-DX4Q8Agf.js +1 -0
  500. package/dist/showcase/assets/circle-check-BdcUhuQ7.js +1 -0
  501. package/dist/showcase/assets/circle-check-big-CeaAGVP1.js +1 -0
  502. package/dist/showcase/assets/circle-dot-DoXkol-T.js +1 -0
  503. package/dist/showcase/assets/circle-question-mark-CYE6Hj4n.js +1 -0
  504. package/dist/showcase/assets/circle-x-BpB4A5gs.js +1 -0
  505. package/dist/showcase/assets/clock-3-B7Fa1qg-.js +1 -0
  506. package/dist/showcase/assets/clock-B1cuTZnL.js +1 -0
  507. package/dist/showcase/assets/code-xml-C_ICl6NY.js +1 -0
  508. package/dist/showcase/assets/collapsible-CtrQcEWW.js +27 -0
  509. package/dist/showcase/assets/collapsible-XZ4qRG4O.js +1 -0
  510. package/dist/showcase/assets/collapsible-ZP3Pv6SI.js +1 -0
  511. package/dist/showcase/assets/combobox-GMkDgk_z.js +685 -0
  512. package/dist/showcase/assets/command-BXhyoNX1.js +1 -0
  513. package/dist/showcase/assets/command-DNHjxTyl.js +1 -0
  514. package/dist/showcase/assets/comment-composer-BtE5Erp8.js +1 -0
  515. package/dist/showcase/assets/comment-item-TztxmXc7.js +1 -0
  516. package/dist/showcase/assets/comments-CEMkLRtb.js +357 -0
  517. package/dist/showcase/assets/commerce-BtvCQH0C.js +19 -0
  518. package/dist/showcase/assets/commerce-address-card-8PUGRwNW.js +33 -0
  519. package/dist/showcase/assets/commerce-cart-summary-nrO5v1O8.js +43 -0
  520. package/dist/showcase/assets/commerce-coupon-input-C-sT1FNq.js +11 -0
  521. package/dist/showcase/assets/commerce-discount-stack-BdGk8tbD.js +17 -0
  522. package/dist/showcase/assets/commerce-inventory-section-BnBu7wK5.js +123 -0
  523. package/dist/showcase/assets/commerce-loyalty-points-Bjei3EdW.js +19 -0
  524. package/dist/showcase/assets/commerce-order-status--TMOLhrS.js +21 -0
  525. package/dist/showcase/assets/commerce-payment-method-C8fVquyN.js +17 -0
  526. package/dist/showcase/assets/commerce-refund-status-Cs6dbewH.js +17 -0
  527. package/dist/showcase/assets/commerce-seo-listing-C4WvKFei.js +61 -0
  528. package/dist/showcase/assets/commerce-shipment-tracking-BcezyjSw.js +24 -0
  529. package/dist/showcase/assets/commerce-subscription-summary-BjhnmqOx.js +25 -0
  530. package/dist/showcase/assets/commerce-tax-breakdown-js8xMRDn.js +19 -0
  531. package/dist/showcase/assets/commerce-upcoming-booking-doggTqfA.js +20 -0
  532. package/dist/showcase/assets/commerce-voucher-entry-ByMZAiZO.js +19 -0
  533. package/dist/showcase/assets/composite-D2jjTQvZ.js +1 -0
  534. package/dist/showcase/assets/conditional-rendering-Cy3xN7KO.js +1 -0
  535. package/dist/showcase/assets/contact-card-BSH_KDbf.js +65 -0
  536. package/dist/showcase/assets/content-container-Q9Bp8aFE.js +1 -0
  537. package/dist/showcase/assets/copyable-8_0ImOB2.js +1 -0
  538. package/dist/showcase/assets/copyable-B3R9lXVu.js +96 -0
  539. package/dist/showcase/assets/course-card-zh8fH-6n.js +77 -0
  540. package/dist/showcase/assets/cpu-DlPQMchp.js +1 -0
  541. package/dist/showcase/assets/credit-card-DeuhwEKG.js +1 -0
  542. package/dist/showcase/assets/css-variables-BxE5DqUm.js +1223 -0
  543. package/dist/showcase/assets/currency-D3DomSfR.js +148 -0
  544. package/dist/showcase/assets/dark-surfaces-DYh199dt.js +90 -0
  545. package/dist/showcase/assets/data-view-HJme-PWk.js +124 -0
  546. package/dist/showcase/assets/data-view-s5TQvt4f.js +4 -0
  547. package/dist/showcase/assets/database-KGU1LGqB.js +1 -0
  548. package/dist/showcase/assets/date-block-CxFhNxK2.js +1 -0
  549. package/dist/showcase/assets/date-block-DmRDymLD.js +1 -0
  550. package/dist/showcase/assets/date-picker-CScVl5jV.js +1 -0
  551. package/dist/showcase/assets/date-pickers-D4EmH-RF.js +73 -0
  552. package/dist/showcase/assets/dense-info-DXbmG0Nf.js +106 -0
  553. package/dist/showcase/assets/design-system-consistency-D_j9P0qR.js +264 -0
  554. package/dist/showcase/assets/dialog-BHymSzYi.js +1 -0
  555. package/dist/showcase/assets/dialog-CGr-za_Y.js +1 -0
  556. package/dist/showcase/assets/dialog-DeXQn0Lm.js +1 -0
  557. package/dist/showcase/assets/display-utilities-Y1wtHZNJ.js +4 -0
  558. package/dist/showcase/assets/display-utilities.examples-BMKQv0ep.js +309 -0
  559. package/dist/showcase/assets/dist-DfpWey5P.js +1 -0
  560. package/dist/showcase/assets/dist-DrnHE1zU.js +45 -0
  561. package/dist/showcase/assets/dollar-sign-DzPcAVIr.js +1 -0
  562. package/dist/showcase/assets/download-YQyeAxpe.js +1 -0
  563. package/dist/showcase/assets/dropdown-menu-DijrdxTg.js +1 -0
  564. package/dist/showcase/assets/dropzone-CJQVfB6l.js +1 -0
  565. package/dist/showcase/assets/earth-CzKdl3sr.js +1 -0
  566. package/dist/showcase/assets/ellipsis-Bm3jOBg8.js +1 -0
  567. package/dist/showcase/assets/ellipsis-vertical-BfYWo5Lf.js +1 -0
  568. package/dist/showcase/assets/empty-BdJ7O2MX.js +1 -0
  569. package/dist/showcase/assets/empty-item-BQdBtp6f.js +49 -0
  570. package/dist/showcase/assets/empty-state-62UU8y5C.js +1 -0
  571. package/dist/showcase/assets/empty-state-CCL_J3tY.js +190 -0
  572. package/dist/showcase/assets/enhanced-activities-CC1UzTfz.js +357 -0
  573. package/dist/showcase/assets/enhanced-combobox-B9cjPsF6.js +1 -0
  574. package/dist/showcase/assets/esm-B-fRlXh3.js +2 -0
  575. package/dist/showcase/assets/event-calendar-Bhwxq8YS.js +138 -0
  576. package/dist/showcase/assets/event-log-CnKaX_Qy.js +330 -0
  577. package/dist/showcase/assets/example-DDhaO2UY.js +1 -0
  578. package/dist/showcase/assets/external-link-CANOM2jg.js +1 -0
  579. package/dist/showcase/assets/eye-Bipckkwy.js +1 -0
  580. package/dist/showcase/assets/feature-announcement-lwmHkJsA.js +34 -0
  581. package/dist/showcase/assets/file-D3AT65yE.js +1 -0
  582. package/dist/showcase/assets/file-text-BzM5AARd.js +1 -0
  583. package/dist/showcase/assets/filter-layout-Dcg6Bnrn.js +1 -0
  584. package/dist/showcase/assets/filters-CqlLV9PM.js +139 -0
  585. package/dist/showcase/assets/fixtures-yK2xR5Qs.js +1 -0
  586. package/dist/showcase/assets/flag-DwDsuNoj.js +1 -0
  587. package/dist/showcase/assets/folder-open-CU6X87LZ.js +1 -0
  588. package/dist/showcase/assets/form-field-CpRcKtwS.js +1 -0
  589. package/dist/showcase/assets/form-sizing-Bv0A0Oi0.js +1 -0
  590. package/dist/showcase/assets/format-DmB3OvZa.js +1 -0
  591. package/dist/showcase/assets/forms-htLZTBP2.js +915 -0
  592. package/dist/showcase/assets/funnel-Dg-pRz2W.js +1 -0
  593. package/dist/showcase/assets/generic-C19aoW0F.js +1 -0
  594. package/dist/showcase/assets/getPseudoElementBounds-r_QLBIGn.js +1 -0
  595. package/dist/showcase/assets/gift-CpwvL7we.js +1 -0
  596. package/dist/showcase/assets/giftcard-cards-DHZQPc_n.js +85 -0
  597. package/dist/showcase/assets/git-branch-CZga8VLM.js +1 -0
  598. package/dist/showcase/assets/global-search-DqJo5jCc.js +1 -0
  599. package/dist/showcase/assets/global-search-_HODxZaU.js +215 -0
  600. package/dist/showcase/assets/globe-pWzZwcAv.js +1 -0
  601. package/dist/showcase/assets/gradient-card-D9fPawlx.js +58 -0
  602. package/dist/showcase/assets/grip-vertical-oqI1TI-N.js +1 -0
  603. package/dist/showcase/assets/hash-DQPCJKw8.js +1 -0
  604. package/dist/showcase/assets/header-DkCzYf6f.js +1 -0
  605. package/dist/showcase/assets/header-notifications-CPiuGNR5.js +1 -0
  606. package/dist/showcase/assets/heart-0z9BLROt.js +1 -0
  607. package/dist/showcase/assets/hooks-CXwg9TyF.js +220 -0
  608. package/dist/showcase/assets/house-Bg4YZsNF.js +1 -0
  609. package/dist/showcase/assets/icon-badge-CrSkFExw.js +1 -0
  610. package/dist/showcase/assets/icon-badge-D1fdev_s.js +37 -0
  611. package/dist/showcase/assets/icon-size-BHn0d6Zp.js +1 -0
  612. package/dist/showcase/assets/image-BXWnqpeJ.js +1 -0
  613. package/dist/showcase/assets/inbox-CObYzZZR.js +1 -0
  614. package/dist/showcase/assets/index-DBheiRxz.css +2 -0
  615. package/dist/showcase/assets/index-DSBghWdd.js +10 -0
  616. package/dist/showcase/assets/inertValue-DOcq7b5x.js +1 -0
  617. package/dist/showcase/assets/info-wAcLD6Uj.js +1 -0
  618. package/dist/showcase/assets/inline-stat-CufTTte_.js +1 -0
  619. package/dist/showcase/assets/inline-stat-D4GrY6tT.js +15 -0
  620. package/dist/showcase/assets/input-Bq9vs-9_.js +1 -0
  621. package/dist/showcase/assets/input-DsP89oH1.js +1 -0
  622. package/dist/showcase/assets/input-group-CCaNByLp.js +1 -0
  623. package/dist/showcase/assets/input-group-m-swxf-o.js +47 -0
  624. package/dist/showcase/assets/inputs-BSEM9vfa.js +155 -0
  625. package/dist/showcase/assets/installation-uRaDUCjH.js +134 -0
  626. package/dist/showcase/assets/invoice-header-D48jDTWC.js +36 -0
  627. package/dist/showcase/assets/invoice-items-jRLo8FHu.js +36 -0
  628. package/dist/showcase/assets/invoice-mini-DLS8PQrl.js +14 -0
  629. package/dist/showcase/assets/invoice-table-D4y33M95.js +30 -0
  630. package/dist/showcase/assets/isSameDay-Cn7Vlp79.js +1 -0
  631. package/dist/showcase/assets/isToday-B0jKMww1.js +1 -0
  632. package/dist/showcase/assets/italic-BHsKu0Gj.js +1 -0
  633. package/dist/showcase/assets/item-BLXAOZLR.js +1 -0
  634. package/dist/showcase/assets/item-C8eCX4DH.js +140 -0
  635. package/dist/showcase/assets/item-D5xwkRvf.js +1 -0
  636. package/dist/showcase/assets/kanban-ujfZHhvd.js +188 -0
  637. package/dist/showcase/assets/key-round-B_fKEPa6.js +1 -0
  638. package/dist/showcase/assets/label-NSapdBaB.js +1 -0
  639. package/dist/showcase/assets/languages-TkdVe7-2.js +1 -0
  640. package/dist/showcase/assets/layers-1IEBbvoc.js +1 -0
  641. package/dist/showcase/assets/layout-app-shell-D4PFTEsD.js +608 -0
  642. package/dist/showcase/assets/layout-auth-BTriDNME.js +790 -0
  643. package/dist/showcase/assets/layout-containers-CLJfaL-J.js +101 -0
  644. package/dist/showcase/assets/layout-header-CsNPnQde.js +203 -0
  645. package/dist/showcase/assets/layout-page-CSejcBCR.js +315 -0
  646. package/dist/showcase/assets/layout-primitives-D1MJs2E3.js +34 -0
  647. package/dist/showcase/assets/layout-sidebar-CO8Hdnoh.js +224 -0
  648. package/dist/showcase/assets/layout-users-BgrXF4nn.js +117 -0
  649. package/dist/showcase/assets/layout-workspace-DLg1f_o-.js +191 -0
  650. package/dist/showcase/assets/lib-B7vzArq-.js +1 -0
  651. package/dist/showcase/assets/list-checks-tsvYcEx2.js +1 -0
  652. package/dist/showcase/assets/lock-CPztxP5s.js +1 -0
  653. package/dist/showcase/assets/lock-keyhole-BHaFzps8.js +1 -0
  654. package/dist/showcase/assets/mail-DFoR3rHO.js +1 -0
  655. package/dist/showcase/assets/mail-check-QV1zqP5D.js +1 -0
  656. package/dist/showcase/assets/map-BOo4UMER.js +124 -0
  657. package/dist/showcase/assets/map-pin-CEcA7jdk.js +1 -0
  658. package/dist/showcase/assets/media-library-CKR3NF1Y.js +699 -0
  659. package/dist/showcase/assets/mention-inline-suggestions-Chbuzkb7.js +1 -0
  660. package/dist/showcase/assets/mentions-syVuen0M.js +138 -0
  661. package/dist/showcase/assets/menus-COIxEKPm.js +171 -0
  662. package/dist/showcase/assets/message-square-CYSVV7nZ.js +1 -0
  663. package/dist/showcase/assets/metadata-list-BHIfOKD6.js +1 -0
  664. package/dist/showcase/assets/metadata-list-DLI17y0k.js +286 -0
  665. package/dist/showcase/assets/metric-bar-OTyaeNJY.js +1 -0
  666. package/dist/showcase/assets/metric-grid-BcjDZqHZ.js +1 -0
  667. package/dist/showcase/assets/metric-opI4qu4r.js +1 -0
  668. package/dist/showcase/assets/metric-trend-chip-BvhqlY9f.js +1 -0
  669. package/dist/showcase/assets/metrics-analytics-bar-Z8xY1Gwq.js +44 -0
  670. package/dist/showcase/assets/metrics-analytics-cards-DfzbV-8j.js +50 -0
  671. package/dist/showcase/assets/metrics-comparison-C71X-WeV.js +76 -0
  672. package/dist/showcase/assets/metrics-heatmap-Cs1ixWQX.js +27 -0
  673. package/dist/showcase/assets/metrics-inline-badge-DP1guaTx.js +17 -0
  674. package/dist/showcase/assets/metrics-kpi-row-CVwHH3rN.js +31 -0
  675. package/dist/showcase/assets/metrics-micro-grid-CQGKibEU.js +42 -0
  676. package/dist/showcase/assets/metrics-overview-DPGjh2Gi.js +192 -0
  677. package/dist/showcase/assets/metrics-stat-cards-C3k7Uyt1.js +54 -0
  678. package/dist/showcase/assets/minus-BTHZFjKs.js +1 -0
  679. package/dist/showcase/assets/money-display-B8BodAKb.js +1 -0
  680. package/dist/showcase/assets/money-display-C7TuSgzA.js +3 -0
  681. package/dist/showcase/assets/month-year-picker-DQcCIbM9.js +1 -0
  682. package/dist/showcase/assets/navigation-BjYK7JTx.js +231 -0
  683. package/dist/showcase/assets/navigation-DkkHPGFq.js +90 -0
  684. package/dist/showcase/assets/navigation-extras-drFz7Xmf.js +43 -0
  685. package/dist/showcase/assets/notification-banner-CATA6COT.js +1 -0
  686. package/dist/showcase/assets/onboarding-checklist-CjGo74ic.js +119 -0
  687. package/dist/showcase/assets/overflow-tab-bar-BYRykiZn.js +1 -0
  688. package/dist/showcase/assets/overlays-BtfkqYL1.js +159 -0
  689. package/dist/showcase/assets/overlays-CzmrvPNh.js +408 -0
  690. package/dist/showcase/assets/overview-B5ckb1et.js +184 -0
  691. package/dist/showcase/assets/package-Db-MTVUx.js +1 -0
  692. package/dist/showcase/assets/package-check-UP9srP8w.js +1 -0
  693. package/dist/showcase/assets/page-BFvDdpX3.js +1 -0
  694. package/dist/showcase/assets/page-action-button-CROlcZJb.js +1 -0
  695. package/dist/showcase/assets/page-header-B8xYCCzF.js +1 -0
  696. package/dist/showcase/assets/pagination-B7j6cJXU.js +1 -0
  697. package/dist/showcase/assets/pagination-B8LN9MT7.js +42 -0
  698. package/dist/showcase/assets/paperclip-CAcGOT6G.js +1 -0
  699. package/dist/showcase/assets/password-input-DzO1QEsL.js +1 -0
  700. package/dist/showcase/assets/pencil-Db0qlNpO.js +1 -0
  701. package/dist/showcase/assets/phone-BHkprQ5O.js +1 -0
  702. package/dist/showcase/assets/placeholder-pattern-Ba0rjJa5.js +1 -0
  703. package/dist/showcase/assets/plus-CaAfJIjc.js +1 -0
  704. package/dist/showcase/assets/popover-BZsIv1AP.js +1 -0
  705. package/dist/showcase/assets/popover-DCfeA2ZY.js +1 -0
  706. package/dist/showcase/assets/popover-menu-kjcHCICE.js +1 -0
  707. package/dist/showcase/assets/product-empty-state-CSdeHHZT.js +1 -0
  708. package/dist/showcase/assets/product-option-action-menu-FvgEaWA7.js +1 -0
  709. package/dist/showcase/assets/product-rows-Cb8gLOeV.js +1 -0
  710. package/dist/showcase/assets/product-structure-card-CFqufBoJ.js +1 -0
  711. package/dist/showcase/assets/product-variant-action-menu-BvSn7PuK.js +1 -0
  712. package/dist/showcase/assets/products-D1aG4KFi.js +61 -0
  713. package/dist/showcase/assets/progress-2NWkkA6x.js +18 -0
  714. package/dist/showcase/assets/progress-DECH8qUu.js +1 -0
  715. package/dist/showcase/assets/progress-DHsjY-V1.js +1 -0
  716. package/dist/showcase/assets/props-table-CzpevabQ.js +1 -0
  717. package/dist/showcase/assets/props.generated-CXbCZMUk.json +42824 -0
  718. package/dist/showcase/assets/qr-code-DLeRQu83.js +1 -0
  719. package/dist/showcase/assets/quote-eFsPYmD1.js +1 -0
  720. package/dist/showcase/assets/receipt-V9T3dONa.js +1 -0
  721. package/dist/showcase/assets/receipt-text-866Msgc2.js +1 -0
  722. package/dist/showcase/assets/refinement-guide-BoerkamA.js +189 -0
  723. package/dist/showcase/assets/refresh-cw-Crg4uqw8.js +1 -0
  724. package/dist/showcase/assets/resolveValueLabel-D8poX7JF.js +1 -0
  725. package/dist/showcase/assets/resource-Ca8tGlsX.js +139 -0
  726. package/dist/showcase/assets/resource-aE-LkpW8.js +1 -0
  727. package/dist/showcase/assets/resource-selector-card-DzDG2Wl6.js +43 -0
  728. package/dist/showcase/assets/rich-text-editor-BCTbpMcY.js +143 -0
  729. package/dist/showcase/assets/rich-text-editor-CdklzzLj.js +124 -0
  730. package/dist/showcase/assets/rotate-ccw-CCPhnEPA.js +1 -0
  731. package/dist/showcase/assets/route-CODe9_7c.js +1 -0
  732. package/dist/showcase/assets/save-B_ze9MC9.js +1 -0
  733. package/dist/showcase/assets/schema-form-CEmpu59s.js +327 -0
  734. package/dist/showcase/assets/scroll-area-BM0asGLD.js +32 -0
  735. package/dist/showcase/assets/scroll-area-zRw8lSrA.js +1 -0
  736. package/dist/showcase/assets/section-DLqBJGPH.js +1 -0
  737. package/dist/showcase/assets/select-B0ivd5pJ.js +1 -0
  738. package/dist/showcase/assets/select-BrPUZL6Z.js +1 -0
  739. package/dist/showcase/assets/send-B4jTMdd9.js +1 -0
  740. package/dist/showcase/assets/separator-7f_tdxB3.js +28 -0
  741. package/dist/showcase/assets/separator-BvhVS5L0.js +1 -0
  742. package/dist/showcase/assets/separator-DeMF0eCd.js +1 -0
  743. package/dist/showcase/assets/separator-Dsqit2yw.js +1 -0
  744. package/dist/showcase/assets/settings-2-DnZeyxSR.js +1 -0
  745. package/dist/showcase/assets/settings-GFwewlvm.js +1 -0
  746. package/dist/showcase/assets/sheet-B06fRKgl.js +1 -0
  747. package/dist/showcase/assets/shield-NNzIJA-o.js +1 -0
  748. package/dist/showcase/assets/shield-alert-dlgSUsVl.js +1 -0
  749. package/dist/showcase/assets/shield-check-CkqmRaJd.js +1 -0
  750. package/dist/showcase/assets/shopping-bag-x4S32KGc.js +1 -0
  751. package/dist/showcase/assets/showcase-CiXeaTrT.js +132 -0
  752. package/dist/showcase/assets/sidebar-BDOvomlZ.js +1 -0
  753. package/dist/showcase/assets/sidebar.context-M_w0AsBU.js +1 -0
  754. package/dist/showcase/assets/skeleton-C0-TGyFP.js +29 -0
  755. package/dist/showcase/assets/skeleton-ClY9N5IF.js +1 -0
  756. package/dist/showcase/assets/skeleton-CyCX3AHa.js +1 -0
  757. package/dist/showcase/assets/skeleton-JapnB0xo.js +1 -0
  758. package/dist/showcase/assets/slider-BagnbSUE.js +1 -0
  759. package/dist/showcase/assets/smart-card-BA097ZGN.js +1 -0
  760. package/dist/showcase/assets/sonner-bg55zTHJ.js +22 -0
  761. package/dist/showcase/assets/sortable.esm-DCj5rKPd.js +5 -0
  762. package/dist/showcase/assets/sparkles-a2TsduRv.js +1 -0
  763. package/dist/showcase/assets/spinner-BRTHJLPS.js +49 -0
  764. package/dist/showcase/assets/spinner-RQ5TsGWE.js +30 -0
  765. package/dist/showcase/assets/spinner-yQrc4KLG.js +1 -0
  766. package/dist/showcase/assets/square-pen-wg5I0K5c.js +1 -0
  767. package/dist/showcase/assets/stacked-avatars-BGpGV4Is.js +1 -0
  768. package/dist/showcase/assets/star-Ccv6TKPm.js +1 -0
  769. package/dist/showcase/assets/startOfDay-BslQvd9l.js +1 -0
  770. package/dist/showcase/assets/styles-CMmKOMCT.js +1 -0
  771. package/dist/showcase/assets/suggestions--A7bRqHY.js +126 -0
  772. package/dist/showcase/assets/support-rail-b2WhhyFB.js +26 -0
  773. package/dist/showcase/assets/switch-Cv_v9byU.js +1 -0
  774. package/dist/showcase/assets/switch-DY-b3cEd.js +1 -0
  775. package/dist/showcase/assets/switch-card-C-Q3eon2.js +1 -0
  776. package/dist/showcase/assets/sync-BmH6kK2e.js +124 -0
  777. package/dist/showcase/assets/table-DAil3SVn.js +686 -0
  778. package/dist/showcase/assets/table-DNimuqS6.js +1 -0
  779. package/dist/showcase/assets/table-actions-Bgp9_jhZ.js +1 -0
  780. package/dist/showcase/assets/tabs-DN23r2we.js +1 -0
  781. package/dist/showcase/assets/tabs-RbFeMoGk.js +19 -0
  782. package/dist/showcase/assets/tags-input-Cp-ikGn_.js +1 -0
  783. package/dist/showcase/assets/text-button-CPxfmks9.js +1 -0
  784. package/dist/showcase/assets/text-link-BBHsgNSW.js +1 -0
  785. package/dist/showcase/assets/textarea-BGe_VCrI.js +1 -0
  786. package/dist/showcase/assets/textarea-DAV6cQCw.js +1 -0
  787. package/dist/showcase/assets/throttle-alert-B85zpgs4.js +1 -0
  788. package/dist/showcase/assets/timelines-BptCi-0C.js +200 -0
  789. package/dist/showcase/assets/toggle-group-B4tIG940.js +1 -0
  790. package/dist/showcase/assets/toggles-BSkNLAjb.js +71 -0
  791. package/dist/showcase/assets/toggles-group-CQIwVA__.js +32 -0
  792. package/dist/showcase/assets/tooltip-DN6bKPgk.js +31 -0
  793. package/dist/showcase/assets/trash-2-DZ5FSAFb.js +1 -0
  794. package/dist/showcase/assets/trending-up-DtSjt9AO.js +1 -0
  795. package/dist/showcase/assets/truck-B0QFWMMH.js +1 -0
  796. package/dist/showcase/assets/typography-8sXlmgaD.js +223 -0
  797. package/dist/showcase/assets/ui-badge-C4odkkUK.js +28 -0
  798. package/dist/showcase/assets/ui-card-CU1Ga8J6.js +30 -0
  799. package/dist/showcase/assets/ui-table-Bp-MkWh5.js +42 -0
  800. package/dist/showcase/assets/upload-tray-DT0HesKW.js +138 -0
  801. package/dist/showcase/assets/use-layout-link-BsJvjSZp.js +1 -0
  802. package/dist/showcase/assets/useAriaLabelledBy-Bl2oGr7T.js +1 -0
  803. package/dist/showcase/assets/useCollapsiblePanel-C8-r9Srt.js +1 -0
  804. package/dist/showcase/assets/useCompositeItem-DVZX40q_.js +1 -0
  805. package/dist/showcase/assets/useCompositeListItem-DWggcwRs.js +1 -0
  806. package/dist/showcase/assets/useLabelableId-Dx_-xVBr.js +1 -0
  807. package/dist/showcase/assets/useOpenInteractionType-CKNY2kPx.js +1 -0
  808. package/dist/showcase/assets/useRender-Bk8pPQUW.js +1 -0
  809. package/dist/showcase/assets/useTriggerFocusGuards-D74GGv1k.js +1 -0
  810. package/dist/showcase/assets/useValueChanged-BjYsvuOC.js +1 -0
  811. package/dist/showcase/assets/user-DlFWtE-h.js +1 -0
  812. package/dist/showcase/assets/user-plus-NGAALkPS.js +1 -0
  813. package/dist/showcase/assets/users-DYPDZwd6.js +1 -0
  814. package/dist/showcase/assets/variant-details-DtdWm8Bt.js +50 -0
  815. package/dist/showcase/assets/variant-management-Dk_P-wBF.js +209 -0
  816. package/dist/showcase/assets/vendor-profile-Bf1kKKdO.js +37 -0
  817. package/dist/showcase/assets/video-BObmzTOM.js +1 -0
  818. package/dist/showcase/assets/visually-hidden-rJ25V2wc.js +1 -0
  819. package/dist/showcase/assets/weight-input-DpQ3yEQ3.js +1 -0
  820. package/dist/showcase/assets/wrench-Df-eIMsM.js +1 -0
  821. package/dist/showcase/assets/x-DVQ0XpIT.js +1 -0
  822. package/dist/showcase/assets/zap-_0WPgXWT.js +1 -0
  823. package/dist/showcase/index.html +2 -2
  824. package/dist/style.css +1 -1
  825. package/package.json +1 -1
  826. package/src/css/themes/shadcn.default.css +2 -2
  827. package/src/css/tokens/components.css +17 -2
  828. package/src/css/tokens/foundation.css +4 -2
  829. package/dist/_shared/accordion-8B4OFqiT.cjs +0 -2
  830. package/dist/_shared/accordion-8B4OFqiT.cjs.map +0 -1
  831. package/dist/_shared/accordion-DlpTSZ3p.js +0 -135
  832. package/dist/_shared/accordion-DlpTSZ3p.js.map +0 -1
  833. package/dist/_shared/action-menu-BYrYdpkR.cjs +0 -2
  834. package/dist/_shared/action-menu-BYrYdpkR.cjs.map +0 -1
  835. package/dist/_shared/action-menu-CYwMZX-b.js +0 -96
  836. package/dist/_shared/action-menu-CYwMZX-b.js.map +0 -1
  837. package/dist/_shared/ai-artifact-BylloxGO.js +0 -1099
  838. package/dist/_shared/ai-artifact-BylloxGO.js.map +0 -1
  839. package/dist/_shared/ai-artifact-DfT97Mpi.cjs +0 -3
  840. package/dist/_shared/ai-artifact-DfT97Mpi.cjs.map +0 -1
  841. package/dist/_shared/auth-1Ht9Kevx.js +0 -643
  842. package/dist/_shared/auth-1Ht9Kevx.js.map +0 -1
  843. package/dist/_shared/auth-DTN6sFXM.cjs +0 -2
  844. package/dist/_shared/auth-DTN6sFXM.cjs.map +0 -1
  845. package/dist/_shared/badge-LSAgdmGt.cjs +0 -2
  846. package/dist/_shared/badge-LSAgdmGt.cjs.map +0 -1
  847. package/dist/_shared/badge-nZ2zbAV4.js +0 -110
  848. package/dist/_shared/badge-nZ2zbAV4.js.map +0 -1
  849. package/dist/_shared/breadcrumbs-CuT0YIfo.js +0 -105
  850. package/dist/_shared/breadcrumbs-CuT0YIfo.js.map +0 -1
  851. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs +0 -2
  852. package/dist/_shared/breadcrumbs-jNzlYqS9.cjs.map +0 -1
  853. package/dist/_shared/button-Be2ayMxF.js +0 -192
  854. package/dist/_shared/button-Be2ayMxF.js.map +0 -1
  855. package/dist/_shared/button-CfQtOuBK.cjs +0 -2
  856. package/dist/_shared/button-CfQtOuBK.cjs.map +0 -1
  857. package/dist/_shared/buttons-DABiSx6N.cjs +0 -2
  858. package/dist/_shared/buttons-DABiSx6N.cjs.map +0 -1
  859. package/dist/_shared/buttons-DYQqQPpk.js +0 -137
  860. package/dist/_shared/buttons-DYQqQPpk.js.map +0 -1
  861. package/dist/_shared/card-radio-group-DKhZhBFV.cjs +0 -2
  862. package/dist/_shared/card-radio-group-DKhZhBFV.cjs.map +0 -1
  863. package/dist/_shared/card-radio-group-DRjmLN5s.js +0 -150
  864. package/dist/_shared/card-radio-group-DRjmLN5s.js.map +0 -1
  865. package/dist/_shared/cards-BJctT9KD.js +0 -428
  866. package/dist/_shared/cards-BJctT9KD.js.map +0 -1
  867. package/dist/_shared/cards-m03XN10f.cjs +0 -2
  868. package/dist/_shared/cards-m03XN10f.cjs.map +0 -1
  869. package/dist/_shared/combobox-BdBpeD3C.cjs +0 -2
  870. package/dist/_shared/combobox-BdBpeD3C.cjs.map +0 -1
  871. package/dist/_shared/combobox-D9tU_83-.js +0 -954
  872. package/dist/_shared/combobox-D9tU_83-.js.map +0 -1
  873. package/dist/_shared/command-BbJB0pjP.cjs +0 -2
  874. package/dist/_shared/command-BbJB0pjP.cjs.map +0 -1
  875. package/dist/_shared/command-IP2wy_HN.js +0 -39
  876. package/dist/_shared/command-IP2wy_HN.js.map +0 -1
  877. package/dist/_shared/comments-B_WKQUol.js +0 -952
  878. package/dist/_shared/comments-B_WKQUol.js.map +0 -1
  879. package/dist/_shared/comments-DMHMNObS.cjs +0 -2
  880. package/dist/_shared/comments-DMHMNObS.cjs.map +0 -1
  881. package/dist/_shared/containers-CB7zaAvN.cjs +0 -2
  882. package/dist/_shared/containers-CB7zaAvN.cjs.map +0 -1
  883. package/dist/_shared/containers-CLBmhGfs.js +0 -48
  884. package/dist/_shared/containers-CLBmhGfs.js.map +0 -1
  885. package/dist/_shared/copyable-BJYx2SlN.js +0 -38
  886. package/dist/_shared/copyable-BJYx2SlN.js.map +0 -1
  887. package/dist/_shared/copyable-DiDEjp8Z.cjs +0 -2
  888. package/dist/_shared/copyable-DiDEjp8Z.cjs.map +0 -1
  889. package/dist/_shared/data-display-4E_irfF2.js +0 -1878
  890. package/dist/_shared/data-display-4E_irfF2.js.map +0 -1
  891. package/dist/_shared/data-display-BPn-7qFO.cjs +0 -2
  892. package/dist/_shared/data-display-BPn-7qFO.cjs.map +0 -1
  893. package/dist/_shared/date-picker-CvqLnlxm.js +0 -1361
  894. package/dist/_shared/date-picker-CvqLnlxm.js.map +0 -1
  895. package/dist/_shared/date-picker-D83fCi2g.cjs +0 -2
  896. package/dist/_shared/date-picker-D83fCi2g.cjs.map +0 -1
  897. package/dist/_shared/date-pickers-C6ku2BPp.cjs +0 -2
  898. package/dist/_shared/date-pickers-C6ku2BPp.cjs.map +0 -1
  899. package/dist/_shared/date-pickers-RdbwIhdY.js +0 -329
  900. package/dist/_shared/date-pickers-RdbwIhdY.js.map +0 -1
  901. package/dist/_shared/display-DFVeSuWL.js +0 -986
  902. package/dist/_shared/display-DFVeSuWL.js.map +0 -1
  903. package/dist/_shared/display-Lr3xTd4a.cjs +0 -2
  904. package/dist/_shared/display-Lr3xTd4a.cjs.map +0 -1
  905. package/dist/_shared/dropdown-menu-CHQzQWUK.cjs +0 -2
  906. package/dist/_shared/dropdown-menu-CHQzQWUK.cjs.map +0 -1
  907. package/dist/_shared/dropdown-menu-CoWmrjYX.js +0 -147
  908. package/dist/_shared/dropdown-menu-CoWmrjYX.js.map +0 -1
  909. package/dist/_shared/form-sizing-DJus3nK3.cjs +0 -2
  910. package/dist/_shared/form-sizing-DJus3nK3.cjs.map +0 -1
  911. package/dist/_shared/form-sizing-DWjJsQSR.js +0 -42
  912. package/dist/_shared/form-sizing-DWjJsQSR.js.map +0 -1
  913. package/dist/_shared/forms-BA8Aa_fi.js +0 -3534
  914. package/dist/_shared/forms-BA8Aa_fi.js.map +0 -1
  915. package/dist/_shared/forms-CNjjdFcf.cjs +0 -2
  916. package/dist/_shared/forms-CNjjdFcf.cjs.map +0 -1
  917. package/dist/_shared/header-BEsz1_so.cjs +0 -2
  918. package/dist/_shared/header-BEsz1_so.cjs.map +0 -1
  919. package/dist/_shared/header-bJx8z6zT.js +0 -447
  920. package/dist/_shared/header-bJx8z6zT.js.map +0 -1
  921. package/dist/_shared/hooks-gRgVhyY2.js +0 -95
  922. package/dist/_shared/hooks-gRgVhyY2.js.map +0 -1
  923. package/dist/_shared/hooks-nFiRfUxX.cjs +0 -2
  924. package/dist/_shared/hooks-nFiRfUxX.cjs.map +0 -1
  925. package/dist/_shared/input-CzJzVyQ0.js +0 -182
  926. package/dist/_shared/input-CzJzVyQ0.js.map +0 -1
  927. package/dist/_shared/input-Dvvmn96E.cjs +0 -2
  928. package/dist/_shared/input-Dvvmn96E.cjs.map +0 -1
  929. package/dist/_shared/item-CVjjpHQd.js +0 -226
  930. package/dist/_shared/item-CVjjpHQd.js.map +0 -1
  931. package/dist/_shared/item-ChHblHhR.cjs +0 -2
  932. package/dist/_shared/item-ChHblHhR.cjs.map +0 -1
  933. package/dist/_shared/layout-C_dYiKtE.cjs +0 -2
  934. package/dist/_shared/layout-C_dYiKtE.cjs.map +0 -1
  935. package/dist/_shared/layout-nigj488k.js +0 -268
  936. package/dist/_shared/layout-nigj488k.js.map +0 -1
  937. package/dist/_shared/mentions-BE51BNeq.cjs +0 -2
  938. package/dist/_shared/mentions-BE51BNeq.cjs.map +0 -1
  939. package/dist/_shared/mentions-CBhP29St.js +0 -506
  940. package/dist/_shared/mentions-CBhP29St.js.map +0 -1
  941. package/dist/_shared/money-display-BFk9Gu21.cjs +0 -2
  942. package/dist/_shared/money-display-BFk9Gu21.cjs.map +0 -1
  943. package/dist/_shared/money-display-DpuLnsK2.js +0 -198
  944. package/dist/_shared/money-display-DpuLnsK2.js.map +0 -1
  945. package/dist/_shared/navigation-CWK_YQ5Y.js +0 -436
  946. package/dist/_shared/navigation-CWK_YQ5Y.js.map +0 -1
  947. package/dist/_shared/navigation-DTBMb7-M.cjs +0 -2
  948. package/dist/_shared/navigation-DTBMb7-M.cjs.map +0 -1
  949. package/dist/_shared/overlays-BJLczwpz.js +0 -735
  950. package/dist/_shared/overlays-BJLczwpz.js.map +0 -1
  951. package/dist/_shared/overlays-DbaPLT67.cjs +0 -2
  952. package/dist/_shared/overlays-DbaPLT67.cjs.map +0 -1
  953. package/dist/_shared/popover-menu-D_t6rCvN.cjs +0 -2
  954. package/dist/_shared/popover-menu-D_t6rCvN.cjs.map +0 -1
  955. package/dist/_shared/popover-menu-f2O6R_27.js +0 -93
  956. package/dist/_shared/popover-menu-f2O6R_27.js.map +0 -1
  957. package/dist/_shared/rich-text-editor-DmZHbsms.js +0 -620
  958. package/dist/_shared/rich-text-editor-DmZHbsms.js.map +0 -1
  959. package/dist/_shared/rich-text-editor-DqUU-H7i.cjs +0 -2
  960. package/dist/_shared/rich-text-editor-DqUU-H7i.cjs.map +0 -1
  961. package/dist/_shared/settings-D-HAOE3R.js +0 -143
  962. package/dist/_shared/settings-D-HAOE3R.js.map +0 -1
  963. package/dist/_shared/settings-DkL3bOk0.cjs +0 -2
  964. package/dist/_shared/settings-DkL3bOk0.cjs.map +0 -1
  965. package/dist/_shared/sidebar-BTyx7ipN.cjs +0 -2
  966. package/dist/_shared/sidebar-BTyx7ipN.cjs.map +0 -1
  967. package/dist/_shared/sidebar-DkBNualh.js +0 -548
  968. package/dist/_shared/sidebar-DkBNualh.js.map +0 -1
  969. package/dist/_shared/skeleton-DwF5VdMh.cjs +0 -2
  970. package/dist/_shared/skeleton-DwF5VdMh.cjs.map +0 -1
  971. package/dist/_shared/skeleton-yUXqeWzB.js +0 -256
  972. package/dist/_shared/skeleton-yUXqeWzB.js.map +0 -1
  973. package/dist/_shared/spinner-BDrUzfTo.cjs +0 -2
  974. package/dist/_shared/spinner-BDrUzfTo.cjs.map +0 -1
  975. package/dist/_shared/spinner-CuVZhJhN.js +0 -67
  976. package/dist/_shared/spinner-CuVZhJhN.js.map +0 -1
  977. package/dist/_shared/table-Cq0jkSm5.js +0 -1377
  978. package/dist/_shared/table-Cq0jkSm5.js.map +0 -1
  979. package/dist/_shared/table-GqTKCC8F.cjs +0 -2
  980. package/dist/_shared/table-GqTKCC8F.cjs.map +0 -1
  981. package/dist/_shared/textarea-C0iZwWdD.js +0 -118
  982. package/dist/_shared/textarea-C0iZwWdD.js.map +0 -1
  983. package/dist/_shared/textarea-bHFAtwYd.cjs +0 -2
  984. package/dist/_shared/textarea-bHFAtwYd.cjs.map +0 -1
  985. package/dist/_shared/typography-5bLhAYaK.js +0 -201
  986. package/dist/_shared/typography-5bLhAYaK.js.map +0 -1
  987. package/dist/_shared/typography-CWEobAJV.cjs +0 -2
  988. package/dist/_shared/typography-CWEobAJV.cjs.map +0 -1
  989. package/dist/_shared/workspace-5UId04M9.js +0 -357
  990. package/dist/_shared/workspace-5UId04M9.js.map +0 -1
  991. package/dist/_shared/workspace-BMws_rFf.cjs +0 -2
  992. package/dist/_shared/workspace-BMws_rFf.cjs.map +0 -1
  993. package/dist/showcase/assets/AreaChart-oKO7Ng_P.js +0 -6
  994. package/dist/showcase/assets/CompositeItem-CK7jBYU8.js +0 -1
  995. package/dist/showcase/assets/CompositeRoot-_AuToqhT.js +0 -1
  996. package/dist/showcase/assets/DialogTrigger-C44ZZXQ9.js +0 -1
  997. package/dist/showcase/assets/LabelableContext-DLVZlnur.js +0 -1
  998. package/dist/showcase/assets/PreviewLayout-Oik7TDHN.js +0 -1
  999. package/dist/showcase/assets/RadioGroup-DeYb8CGE.js +0 -1
  1000. package/dist/showcase/assets/ScrollAreaCorner-BZlE_Bil.js +0 -1
  1001. package/dist/showcase/assets/Separator-uiIktHzk.js +0 -1
  1002. package/dist/showcase/assets/ToolbarRootContext-CEzj5dKk.js +0 -1
  1003. package/dist/showcase/assets/accordion-B_wg_YOp.js +0 -171
  1004. package/dist/showcase/assets/accordion-variants-O6U7E38x.js +0 -1
  1005. package/dist/showcase/assets/action-menu-D_wGvb_o.js +0 -1
  1006. package/dist/showcase/assets/actions-u4Fl4zm1.js +0 -310
  1007. package/dist/showcase/assets/activities-C6iITHzB.js +0 -500
  1008. package/dist/showcase/assets/activities-feed-card-OpYs16UV.js +0 -1
  1009. package/dist/showcase/assets/admin-Bq15E5Wd.js +0 -140
  1010. package/dist/showcase/assets/ai-DcUzGTlb.js +0 -207
  1011. package/dist/showcase/assets/ai-artifact-BUAu1_jV.js +0 -2
  1012. package/dist/showcase/assets/ai-chat-C6OWWBqh.js +0 -568
  1013. package/dist/showcase/assets/ai-elements-CCe4Aqj_.js +0 -387
  1014. package/dist/showcase/assets/ai-tool-call-B_NF1ePn.js +0 -1
  1015. package/dist/showcase/assets/alert-B4VWkFPE.js +0 -1
  1016. package/dist/showcase/assets/alert-BDIqciKo.js +0 -62
  1017. package/dist/showcase/assets/alert-jvCEGWe6.js +0 -93
  1018. package/dist/showcase/assets/api-key-list-BH8mde9A.js +0 -1
  1019. package/dist/showcase/assets/api-key-list-CA6O3hsc.js +0 -73
  1020. package/dist/showcase/assets/app-sidebar-DsMTwSAB.js +0 -1
  1021. package/dist/showcase/assets/arrow-down-BzPC0rON.js +0 -1
  1022. package/dist/showcase/assets/arrow-left-DNehZvF-.js +0 -1
  1023. package/dist/showcase/assets/arrow-right-CKIgWncF.js +0 -1
  1024. package/dist/showcase/assets/arrow-up-YjujZi8v.js +0 -1
  1025. package/dist/showcase/assets/arrow-up-right-KnVxFmw9.js +0 -1
  1026. package/dist/showcase/assets/avatar-BBLri7tX.js +0 -57
  1027. package/dist/showcase/assets/avatar-BeFx8JQd.js +0 -1
  1028. package/dist/showcase/assets/avatar-CFWUZzaF.js +0 -67
  1029. package/dist/showcase/assets/avatar-D6exHRSK.js +0 -1
  1030. package/dist/showcase/assets/badge-check-BfY3RIjR.js +0 -1
  1031. package/dist/showcase/assets/badge-jGj2HQsg.js +0 -31
  1032. package/dist/showcase/assets/bell-CTDSIOv8.js +0 -1
  1033. package/dist/showcase/assets/boolean-indicator-C1u7OFcR.js +0 -1
  1034. package/dist/showcase/assets/bot-D-iqtYiQ.js +0 -1
  1035. package/dist/showcase/assets/box-DxjjLEh2.js +0 -1
  1036. package/dist/showcase/assets/braces-B6XLlZwJ.js +0 -1
  1037. package/dist/showcase/assets/brain-BdNpswBH.js +0 -1
  1038. package/dist/showcase/assets/brand-C6srYuIa.js +0 -36
  1039. package/dist/showcase/assets/breadcrumb-BaeV7C4t.js +0 -52
  1040. package/dist/showcase/assets/breadcrumb-jKu4EUFo.js +0 -1
  1041. package/dist/showcase/assets/breadcrumbs-D7vYX_5y.js +0 -1
  1042. package/dist/showcase/assets/briefcase-cs9wyoxL.js +0 -1
  1043. package/dist/showcase/assets/building-2-rcMEYcbf.js +0 -1
  1044. package/dist/showcase/assets/button-group-D1oXfasP.js +0 -1
  1045. package/dist/showcase/assets/button-oBRwhAhs.js +0 -44
  1046. package/dist/showcase/assets/buttons-D_SDu9w3.js +0 -272
  1047. package/dist/showcase/assets/calendar-CGTiVckW.js +0 -1
  1048. package/dist/showcase/assets/calendar-ChLkVME0.js +0 -16
  1049. package/dist/showcase/assets/calendar-CjMPvWfI.js +0 -1
  1050. package/dist/showcase/assets/calendar-days-CNom8Y38.js +0 -1
  1051. package/dist/showcase/assets/camera-D0rjOOcs.js +0 -1
  1052. package/dist/showcase/assets/card-CYz4UxYz.js +0 -1
  1053. package/dist/showcase/assets/card-D9updr3B.js +0 -188
  1054. package/dist/showcase/assets/card-primitives-BQ0hSEWX.js +0 -1
  1055. package/dist/showcase/assets/card-radio-group-CrNG04Bl.js +0 -1
  1056. package/dist/showcase/assets/cards-D4Lw-AI6.js +0 -354
  1057. package/dist/showcase/assets/carousel-C6Mmapzw.js +0 -449
  1058. package/dist/showcase/assets/cell-renderers-BF80Z3jW.js +0 -1
  1059. package/dist/showcase/assets/chart-BHgMfUB5.js +0 -358
  1060. package/dist/showcase/assets/chart-column-CE_VhlUz.js +0 -1
  1061. package/dist/showcase/assets/checkbox-CDLT09vU.js +0 -1
  1062. package/dist/showcase/assets/checkbox-Dj24Tegr.js +0 -1
  1063. package/dist/showcase/assets/chevron-down-1GeJ4hOO.js +0 -1
  1064. package/dist/showcase/assets/chevron-left-wqlWv2Qy.js +0 -1
  1065. package/dist/showcase/assets/chevron-up-CZAm-2rZ.js +0 -1
  1066. package/dist/showcase/assets/chevrons-up-down-DgysGYWR.js +0 -1
  1067. package/dist/showcase/assets/circle-C9Ooo8Lv.js +0 -1
  1068. package/dist/showcase/assets/circle-alert-C6XBfkf2.js +0 -1
  1069. package/dist/showcase/assets/circle-check-DvCYlVmL.js +0 -1
  1070. package/dist/showcase/assets/circle-check-big-C8o9clAE.js +0 -1
  1071. package/dist/showcase/assets/circle-dot-BoYf3vOR.js +0 -1
  1072. package/dist/showcase/assets/circle-question-mark-DYPX0qe9.js +0 -1
  1073. package/dist/showcase/assets/circle-x-GosnT0l7.js +0 -1
  1074. package/dist/showcase/assets/clock-3-DklFhayq.js +0 -1
  1075. package/dist/showcase/assets/clock-BvwTkk1w.js +0 -1
  1076. package/dist/showcase/assets/code-xml-AGOwtN8Z.js +0 -1
  1077. package/dist/showcase/assets/collapsible-CBkbr3ho.js +0 -1
  1078. package/dist/showcase/assets/collapsible-CmY1SA28.js +0 -27
  1079. package/dist/showcase/assets/collapsible-DfDnQ_t_.js +0 -1
  1080. package/dist/showcase/assets/combobox-BsZQo7hF.js +0 -685
  1081. package/dist/showcase/assets/command-B0Q84gg6.js +0 -1
  1082. package/dist/showcase/assets/command-BtADdA65.js +0 -1
  1083. package/dist/showcase/assets/comment-composer-BmBnkba9.js +0 -1
  1084. package/dist/showcase/assets/comment-item-y5mTfSmU.js +0 -1
  1085. package/dist/showcase/assets/comments-BuYiGPxI.js +0 -357
  1086. package/dist/showcase/assets/commerce-21Ef_rsW.js +0 -267
  1087. package/dist/showcase/assets/composite-fKT6fZFs.js +0 -1
  1088. package/dist/showcase/assets/conditional-rendering-DsTG0sOE.js +0 -1
  1089. package/dist/showcase/assets/contact-card-S8koA9Sr.js +0 -65
  1090. package/dist/showcase/assets/content-container-B4gW5fmA.js +0 -1
  1091. package/dist/showcase/assets/copyable-D2xL2rMm.js +0 -96
  1092. package/dist/showcase/assets/copyable-gLrmPayI.js +0 -1
  1093. package/dist/showcase/assets/course-card-B8eEvF7a.js +0 -77
  1094. package/dist/showcase/assets/cpu-Cp1On3tr.js +0 -1
  1095. package/dist/showcase/assets/credit-card-QbZMZB90.js +0 -1
  1096. package/dist/showcase/assets/css-variables-BXICo9fV.js +0 -1205
  1097. package/dist/showcase/assets/currency-D2MSLjLt.js +0 -149
  1098. package/dist/showcase/assets/dark-surfaces-CJsxuvQU.js +0 -90
  1099. package/dist/showcase/assets/data-view-syhKhdz9.js +0 -124
  1100. package/dist/showcase/assets/data-view-znnAeb6b.js +0 -4
  1101. package/dist/showcase/assets/database-isLkCvDd.js +0 -1
  1102. package/dist/showcase/assets/date-block-BDn9lGVM.js +0 -1
  1103. package/dist/showcase/assets/date-block-CqRL1xfo.js +0 -1
  1104. package/dist/showcase/assets/date-picker-DNcmSgQk.js +0 -1
  1105. package/dist/showcase/assets/date-pickers-3lQUDDS7.js +0 -73
  1106. package/dist/showcase/assets/dense-info-CfvqiIpM.js +0 -106
  1107. package/dist/showcase/assets/design-system-consistency-C3yRhKwF.js +0 -264
  1108. package/dist/showcase/assets/dialog-DiAkrPHO.js +0 -1
  1109. package/dist/showcase/assets/dialog-feUFM03m.js +0 -1
  1110. package/dist/showcase/assets/dialog-ruVOqJnB.js +0 -1
  1111. package/dist/showcase/assets/display-utilities-SPJxlrkp.js +0 -4
  1112. package/dist/showcase/assets/display-utilities.examples-ByRydMl0.js +0 -302
  1113. package/dist/showcase/assets/dist-C9DVZddl.js +0 -45
  1114. package/dist/showcase/assets/dist-DNARKM_B.js +0 -1
  1115. package/dist/showcase/assets/dollar-sign-CUDuWyun.js +0 -1
  1116. package/dist/showcase/assets/download-CIbh9VUU.js +0 -1
  1117. package/dist/showcase/assets/dropdown-menu-MoIAG0ES.js +0 -1
  1118. package/dist/showcase/assets/dropzone-D0kHIUuh.js +0 -1
  1119. package/dist/showcase/assets/earth-BpNTeF25.js +0 -1
  1120. package/dist/showcase/assets/ellipsis-B9w0cuoH.js +0 -1
  1121. package/dist/showcase/assets/ellipsis-vertical-DHbOsjTF.js +0 -1
  1122. package/dist/showcase/assets/empty-DvYVgcNF.js +0 -1
  1123. package/dist/showcase/assets/empty-item-oFM5kPCp.js +0 -49
  1124. package/dist/showcase/assets/empty-state-DTq86muv.js +0 -1
  1125. package/dist/showcase/assets/empty-state-De7XCht-.js +0 -190
  1126. package/dist/showcase/assets/enhanced-activities--XHjx99M.js +0 -357
  1127. package/dist/showcase/assets/enhanced-combobox-CX_mTkei.js +0 -1
  1128. package/dist/showcase/assets/esm-XXqBjGGF.js +0 -2
  1129. package/dist/showcase/assets/event-calendar-zTiCWOF5.js +0 -138
  1130. package/dist/showcase/assets/event-log-C_zSlY6y.js +0 -330
  1131. package/dist/showcase/assets/example-Cv05rz75.js +0 -1
  1132. package/dist/showcase/assets/external-link-DaR-AMyf.js +0 -1
  1133. package/dist/showcase/assets/eye-CDSbB0kZ.js +0 -1
  1134. package/dist/showcase/assets/feature-announcement-DJ26ZDVB.js +0 -34
  1135. package/dist/showcase/assets/file-DPSK5cGC.js +0 -1
  1136. package/dist/showcase/assets/file-text-BBWpAppG.js +0 -1
  1137. package/dist/showcase/assets/filter-layout-CZRGcd6Z.js +0 -1
  1138. package/dist/showcase/assets/filters-Bn7hYUeq.js +0 -139
  1139. package/dist/showcase/assets/flag-BRs-GTCx.js +0 -1
  1140. package/dist/showcase/assets/folder-open-DnFjlB3X.js +0 -1
  1141. package/dist/showcase/assets/form-field-SW-Yp7H7.js +0 -1
  1142. package/dist/showcase/assets/form-sizing-Dltt6Fj-.js +0 -1
  1143. package/dist/showcase/assets/format-Bki5m7M3.js +0 -1
  1144. package/dist/showcase/assets/forms-CAUL2gGq.js +0 -915
  1145. package/dist/showcase/assets/funnel-D6g2Suhd.js +0 -1
  1146. package/dist/showcase/assets/generic-CU6JNqKO.js +0 -1
  1147. package/dist/showcase/assets/getPseudoElementBounds-yqDwWA_y.js +0 -1
  1148. package/dist/showcase/assets/gift-B2Qp9Vqt.js +0 -1
  1149. package/dist/showcase/assets/giftcard-cards-Dk0DYoN2.js +0 -85
  1150. package/dist/showcase/assets/git-branch-CPtvCNGc.js +0 -1
  1151. package/dist/showcase/assets/global-search-D1ow01VA.js +0 -1
  1152. package/dist/showcase/assets/global-search-DQR2AgDO.js +0 -215
  1153. package/dist/showcase/assets/globe-BiZgUZFZ.js +0 -1
  1154. package/dist/showcase/assets/gradient-card-D5isLy3_.js +0 -58
  1155. package/dist/showcase/assets/hash-NJ5ohGOa.js +0 -1
  1156. package/dist/showcase/assets/header-Df9uYSSH.js +0 -1
  1157. package/dist/showcase/assets/header-notifications-sPR5NuON.js +0 -1
  1158. package/dist/showcase/assets/heart-C4t7PVKW.js +0 -1
  1159. package/dist/showcase/assets/hooks-0TKg0ZAK.js +0 -220
  1160. package/dist/showcase/assets/house-CuLXFtjd.js +0 -1
  1161. package/dist/showcase/assets/icon-badge-Cr6DD-_7.js +0 -1
  1162. package/dist/showcase/assets/icon-badge-DMdMSSRL.js +0 -37
  1163. package/dist/showcase/assets/image-DYjJaO0i.js +0 -1
  1164. package/dist/showcase/assets/inbox-DGF8FgvV.js +0 -1
  1165. package/dist/showcase/assets/index-ATou_nFA.js +0 -10
  1166. package/dist/showcase/assets/index-C8U-r6l7.css +0 -2
  1167. package/dist/showcase/assets/inertValue-CBi0sj8C.js +0 -1
  1168. package/dist/showcase/assets/info-DLaTRPUT.js +0 -1
  1169. package/dist/showcase/assets/inline-stat-DGpunTNF.js +0 -1
  1170. package/dist/showcase/assets/inline-stat-rUaaOSmR.js +0 -15
  1171. package/dist/showcase/assets/input-Cmrgo51H.js +0 -1
  1172. package/dist/showcase/assets/input-CnmnWnGb.js +0 -1
  1173. package/dist/showcase/assets/input-group-BwujFvXM.js +0 -1
  1174. package/dist/showcase/assets/input-group-DvXgZtra.js +0 -47
  1175. package/dist/showcase/assets/inputs-CjzW_R8z.js +0 -155
  1176. package/dist/showcase/assets/installation-2dW-rmF2.js +0 -134
  1177. package/dist/showcase/assets/invoice-header-DeWxMKCe.js +0 -36
  1178. package/dist/showcase/assets/invoice-items-Dxb95w0e.js +0 -36
  1179. package/dist/showcase/assets/invoice-mini-EMzCkmR7.js +0 -14
  1180. package/dist/showcase/assets/invoice-table-ClWJaclJ.js +0 -30
  1181. package/dist/showcase/assets/isSameDay-BNPzVySj.js +0 -1
  1182. package/dist/showcase/assets/isToday-D6n7oLej.js +0 -1
  1183. package/dist/showcase/assets/italic-B8w3dpYw.js +0 -1
  1184. package/dist/showcase/assets/item-B8_dwOlT.js +0 -1
  1185. package/dist/showcase/assets/item-Baq-Mmy2.js +0 -1
  1186. package/dist/showcase/assets/item-BtMuqGwy.js +0 -140
  1187. package/dist/showcase/assets/kanban-B-QxvKMg.js +0 -188
  1188. package/dist/showcase/assets/key-round-CrBIyzIa.js +0 -1
  1189. package/dist/showcase/assets/label-VWe_nbHh.js +0 -1
  1190. package/dist/showcase/assets/languages-N0uGt5nC.js +0 -1
  1191. package/dist/showcase/assets/layers-DEZvT5cX.js +0 -1
  1192. package/dist/showcase/assets/layout-app-shell-T9UqKX2o.js +0 -608
  1193. package/dist/showcase/assets/layout-auth-IVC4DuU3.js +0 -790
  1194. package/dist/showcase/assets/layout-containers-naBpuH05.js +0 -101
  1195. package/dist/showcase/assets/layout-header-9i_7ygKU.js +0 -203
  1196. package/dist/showcase/assets/layout-page-CrEUiJpW.js +0 -315
  1197. package/dist/showcase/assets/layout-primitives-DPrVHpu3.js +0 -34
  1198. package/dist/showcase/assets/layout-sidebar-D7z6-kPu.js +0 -224
  1199. package/dist/showcase/assets/layout-users-Cov9D84d.js +0 -117
  1200. package/dist/showcase/assets/layout-workspace-Czlmi8gY.js +0 -191
  1201. package/dist/showcase/assets/lib-DNMH46Rn.js +0 -1
  1202. package/dist/showcase/assets/list-checks-DygDRIGi.js +0 -1
  1203. package/dist/showcase/assets/lock-DqEahakB.js +0 -1
  1204. package/dist/showcase/assets/lock-keyhole-CETEK3R0.js +0 -1
  1205. package/dist/showcase/assets/mail-LKhBlrEc.js +0 -1
  1206. package/dist/showcase/assets/mail-check-BOTjWQJf.js +0 -1
  1207. package/dist/showcase/assets/map-0vJT2r8C.js +0 -124
  1208. package/dist/showcase/assets/map-pin-D0qrpDJI.js +0 -1
  1209. package/dist/showcase/assets/media-library-Bp99WaS9.js +0 -699
  1210. package/dist/showcase/assets/mention-inline-suggestions-mlV7LRvD.js +0 -1
  1211. package/dist/showcase/assets/mentions-Cmd1zxOR.js +0 -138
  1212. package/dist/showcase/assets/menus-CtjFPoDr.js +0 -171
  1213. package/dist/showcase/assets/message-square-BXyvikcZ.js +0 -1
  1214. package/dist/showcase/assets/metadata-list-DLUBcy7E.js +0 -286
  1215. package/dist/showcase/assets/metadata-list-F3bWXtZB.js +0 -1
  1216. package/dist/showcase/assets/metric-CXPRptlh.js +0 -1
  1217. package/dist/showcase/assets/metric-bar-BY25WVZ0.js +0 -1
  1218. package/dist/showcase/assets/metric-grid-DQtf9y6E.js +0 -1
  1219. package/dist/showcase/assets/metric-trend-chip-CXHpkj3U.js +0 -1
  1220. package/dist/showcase/assets/metrics-analytics-bar-BIuwiVrn.js +0 -44
  1221. package/dist/showcase/assets/metrics-analytics-cards-yx5lMGQf.js +0 -50
  1222. package/dist/showcase/assets/metrics-comparison-BC_7jLXf.js +0 -76
  1223. package/dist/showcase/assets/metrics-heatmap-C_nhCljz.js +0 -27
  1224. package/dist/showcase/assets/metrics-inline-badge-3oySQnoR.js +0 -17
  1225. package/dist/showcase/assets/metrics-kpi-row-zS4-oiTO.js +0 -31
  1226. package/dist/showcase/assets/metrics-micro-grid-UJkA2LNR.js +0 -42
  1227. package/dist/showcase/assets/metrics-overview-DQFr22ol.js +0 -192
  1228. package/dist/showcase/assets/metrics-stat-cards-DnBirxKV.js +0 -54
  1229. package/dist/showcase/assets/minus-BOVQEx6C.js +0 -1
  1230. package/dist/showcase/assets/money-display-DV7xlrNV.js +0 -1
  1231. package/dist/showcase/assets/money-display-DxnM5--7.js +0 -1
  1232. package/dist/showcase/assets/month-year-picker-BzRXCrQ7.js +0 -1
  1233. package/dist/showcase/assets/navigation-ChJKLv4Y.js +0 -90
  1234. package/dist/showcase/assets/navigation-D7VJsKrP.js +0 -231
  1235. package/dist/showcase/assets/navigation-extras-BVc1xQuB.js +0 -43
  1236. package/dist/showcase/assets/notification-banner-1ivcmPLe.js +0 -1
  1237. package/dist/showcase/assets/onboarding-checklist-CbARgwpX.js +0 -119
  1238. package/dist/showcase/assets/overflow-tab-bar-DlqMmyTx.js +0 -1
  1239. package/dist/showcase/assets/overlays-DkWO50b8.js +0 -159
  1240. package/dist/showcase/assets/overlays-KKZpxWjt.js +0 -408
  1241. package/dist/showcase/assets/overview-BjQe-YZE.js +0 -184
  1242. package/dist/showcase/assets/package-DhQRoFDo.js +0 -1
  1243. package/dist/showcase/assets/package-check-CBgGiccG.js +0 -1
  1244. package/dist/showcase/assets/page-BWTmyV5J.js +0 -1
  1245. package/dist/showcase/assets/page-action-button-DV-YYRA4.js +0 -1
  1246. package/dist/showcase/assets/page-header-Bmg4NU_P.js +0 -1
  1247. package/dist/showcase/assets/pagination-ByQ_OXRU.js +0 -1
  1248. package/dist/showcase/assets/pagination-Db5CuoBb.js +0 -42
  1249. package/dist/showcase/assets/paperclip-BQNPUzG_.js +0 -1
  1250. package/dist/showcase/assets/password-input-CPvjzM1f.js +0 -1
  1251. package/dist/showcase/assets/pencil-DuBakHme.js +0 -1
  1252. package/dist/showcase/assets/phone-t94LTB1m.js +0 -1
  1253. package/dist/showcase/assets/placeholder-pattern-BNou2ep-.js +0 -1
  1254. package/dist/showcase/assets/plus-BRcp6JhT.js +0 -1
  1255. package/dist/showcase/assets/popover-CVuJP03o.js +0 -1
  1256. package/dist/showcase/assets/popover-D_P2gTn8.js +0 -1
  1257. package/dist/showcase/assets/popover-menu-DGY5jEk4.js +0 -1
  1258. package/dist/showcase/assets/products-8sUfDMPU.js +0 -423
  1259. package/dist/showcase/assets/progress-BrMvIZIz.js +0 -1
  1260. package/dist/showcase/assets/progress-CSXZAavT.js +0 -18
  1261. package/dist/showcase/assets/progress-Dvqpf_O0.js +0 -1
  1262. package/dist/showcase/assets/props-table-BAfz1Zc6.js +0 -1
  1263. package/dist/showcase/assets/props.generated-CuVoOKYT.json +0 -41746
  1264. package/dist/showcase/assets/qr-code-C-CaHJQ2.js +0 -1
  1265. package/dist/showcase/assets/quote-Ci80eS0u.js +0 -1
  1266. package/dist/showcase/assets/receipt-jvwbPuE3.js +0 -1
  1267. package/dist/showcase/assets/receipt-text-CT0GiMQm.js +0 -1
  1268. package/dist/showcase/assets/refinement-guide-BnCQ9-6f.js +0 -189
  1269. package/dist/showcase/assets/refresh-cw-CXDARnCe.js +0 -1
  1270. package/dist/showcase/assets/resolveValueLabel-DJanfUim.js +0 -1
  1271. package/dist/showcase/assets/resource-Bir-z7ie.js +0 -139
  1272. package/dist/showcase/assets/resource-D19qhfYP.js +0 -1
  1273. package/dist/showcase/assets/resource-selector-card-BUbuu-QH.js +0 -43
  1274. package/dist/showcase/assets/rich-text-editor-BCtz589M.js +0 -124
  1275. package/dist/showcase/assets/rich-text-editor-uu9FmB8B.js +0 -143
  1276. package/dist/showcase/assets/rotate-ccw-DEIVfiHA.js +0 -1
  1277. package/dist/showcase/assets/route-B5vtDLsE.js +0 -1
  1278. package/dist/showcase/assets/save-DQ4Up8ZB.js +0 -1
  1279. package/dist/showcase/assets/schema-form-D7wbdl5u.js +0 -327
  1280. package/dist/showcase/assets/scroll-area-B0QD6o1Y.js +0 -32
  1281. package/dist/showcase/assets/scroll-area-BoZ1SrfI.js +0 -1
  1282. package/dist/showcase/assets/section-BXsVHOsI.js +0 -1
  1283. package/dist/showcase/assets/select-CW8SYsOY.js +0 -1
  1284. package/dist/showcase/assets/select-DmRqLSoG.js +0 -1
  1285. package/dist/showcase/assets/send-Dxs1-xSj.js +0 -1
  1286. package/dist/showcase/assets/separator-BLOG_8oO.js +0 -1
  1287. package/dist/showcase/assets/separator-DZC_uQU-.js +0 -1
  1288. package/dist/showcase/assets/separator-OlLHRN7k.js +0 -28
  1289. package/dist/showcase/assets/settings-2-BSpgytsy.js +0 -1
  1290. package/dist/showcase/assets/settings-CCNP7XOu.js +0 -1
  1291. package/dist/showcase/assets/sheet-DIfJjbgA.js +0 -1
  1292. package/dist/showcase/assets/shield-D2gTWkwA.js +0 -1
  1293. package/dist/showcase/assets/shield-alert-C-3oWpoe.js +0 -1
  1294. package/dist/showcase/assets/shield-check-D11r1eJ8.js +0 -1
  1295. package/dist/showcase/assets/shopping-bag-DAeaVQ5O.js +0 -1
  1296. package/dist/showcase/assets/showcase-GdZcH6OR.js +0 -132
  1297. package/dist/showcase/assets/sidebar-RBzHNuB7.js +0 -1
  1298. package/dist/showcase/assets/sidebar.context-Dyw470Qp.js +0 -1
  1299. package/dist/showcase/assets/skeleton-B7crngMw.js +0 -1
  1300. package/dist/showcase/assets/skeleton-BwEVNdGJ.js +0 -1
  1301. package/dist/showcase/assets/skeleton-DM73_ueB.js +0 -1
  1302. package/dist/showcase/assets/skeleton-cHsWJOtO.js +0 -29
  1303. package/dist/showcase/assets/slider-DRPnIs0S.js +0 -1
  1304. package/dist/showcase/assets/smart-card-DER7dpD9.js +0 -1
  1305. package/dist/showcase/assets/sonner-Go1YsPBH.js +0 -22
  1306. package/dist/showcase/assets/sortable.esm-q6LdsxSr.js +0 -5
  1307. package/dist/showcase/assets/sparkles-DqH40POl.js +0 -1
  1308. package/dist/showcase/assets/spinner-C0YWWxyj.js +0 -1
  1309. package/dist/showcase/assets/spinner-CpHNR13f.js +0 -30
  1310. package/dist/showcase/assets/spinner-Dwvf24e9.js +0 -49
  1311. package/dist/showcase/assets/square-pen-D-xHmIA0.js +0 -1
  1312. package/dist/showcase/assets/stacked-avatars-C92NYKIa.js +0 -1
  1313. package/dist/showcase/assets/star-dD4CAJ83.js +0 -1
  1314. package/dist/showcase/assets/startOfDay-BXZshd4g.js +0 -1
  1315. package/dist/showcase/assets/styles-BPJdkO_3.js +0 -1
  1316. package/dist/showcase/assets/suggestions-CyhKme4Q.js +0 -126
  1317. package/dist/showcase/assets/switch-C7DVTgQd.js +0 -1
  1318. package/dist/showcase/assets/switch-LU6nljdS.js +0 -1
  1319. package/dist/showcase/assets/sync-bERw1shm.js +0 -124
  1320. package/dist/showcase/assets/table-BuIv4nqB.js +0 -686
  1321. package/dist/showcase/assets/table-CDMDtBgJ.js +0 -1
  1322. package/dist/showcase/assets/table-actions-DsK7d8Yb.js +0 -1
  1323. package/dist/showcase/assets/tabs-BDryywGb.js +0 -19
  1324. package/dist/showcase/assets/tabs-BNaZmM48.js +0 -1
  1325. package/dist/showcase/assets/tags-input-CzE_5BJl.js +0 -1
  1326. package/dist/showcase/assets/text-button-B1m5cpX_.js +0 -1
  1327. package/dist/showcase/assets/text-link-CqjW10Ce.js +0 -1
  1328. package/dist/showcase/assets/textarea-xJ3EE8R9.js +0 -1
  1329. package/dist/showcase/assets/textarea-xOekToAG.js +0 -1
  1330. package/dist/showcase/assets/throttle-alert-BH1HMiaI.js +0 -1
  1331. package/dist/showcase/assets/timelines-DjWkuOz3.js +0 -200
  1332. package/dist/showcase/assets/toggle-group-Css6pfUI.js +0 -1
  1333. package/dist/showcase/assets/toggles-DhDrn3YH.js +0 -71
  1334. package/dist/showcase/assets/toggles-group-e4xtKzkl.js +0 -32
  1335. package/dist/showcase/assets/tooltip-DMvMUrGe.js +0 -31
  1336. package/dist/showcase/assets/trash-2-zILxQmtX.js +0 -1
  1337. package/dist/showcase/assets/trending-up-CRH278ig.js +0 -1
  1338. package/dist/showcase/assets/truck-At9CEKg7.js +0 -1
  1339. package/dist/showcase/assets/typography-B0ehvSV4.js +0 -223
  1340. package/dist/showcase/assets/ui-badge-CyLWYf3f.js +0 -28
  1341. package/dist/showcase/assets/ui-card-BPnLZmkJ.js +0 -30
  1342. package/dist/showcase/assets/ui-table-C-zXhcOm.js +0 -42
  1343. package/dist/showcase/assets/upload-tray-IyQJEM9n.js +0 -138
  1344. package/dist/showcase/assets/use-layout-link-Cux4giQO.js +0 -1
  1345. package/dist/showcase/assets/useAriaLabelledBy-Bo0rTGvc.js +0 -1
  1346. package/dist/showcase/assets/useCollapsiblePanel-CzU-1LY3.js +0 -1
  1347. package/dist/showcase/assets/useCompositeItem-CJFNnVql.js +0 -1
  1348. package/dist/showcase/assets/useCompositeListItem-BAuO9hue.js +0 -1
  1349. package/dist/showcase/assets/useLabelableId-HuACs9ba.js +0 -1
  1350. package/dist/showcase/assets/useOpenInteractionType-MEUfJuxN.js +0 -1
  1351. package/dist/showcase/assets/useRender-B-6DpRfj.js +0 -1
  1352. package/dist/showcase/assets/useTriggerFocusGuards-B-mRyUJJ.js +0 -1
  1353. package/dist/showcase/assets/useValueChanged-CVn_Rfso.js +0 -1
  1354. package/dist/showcase/assets/user-eelwPGBI.js +0 -1
  1355. package/dist/showcase/assets/user-plus-DhswMZvb.js +0 -1
  1356. package/dist/showcase/assets/users-BVMmaveS.js +0 -1
  1357. package/dist/showcase/assets/vendor-profile-FHaiInTe.js +0 -37
  1358. package/dist/showcase/assets/video-C42fxAyj.js +0 -1
  1359. package/dist/showcase/assets/visually-hidden-BwzlEinj.js +0 -1
  1360. package/dist/showcase/assets/wrench-EKI7PaKp.js +0 -1
  1361. package/dist/showcase/assets/x--LIqlhum.js +0 -1
  1362. package/dist/showcase/assets/zap-C1fX30vt.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"header-CWyOry0f.js","names":[],"sources":["../../src/components/layout/header/partials/header-breadcrumbs.tsx","../../src/components/layout/header/header.tsx","../../src/components/layout/header/header.types.ts","../../src/components/layout/header/partials/header-search.tsx","../../src/components/layout/header/partials/header-global-search-trigger.tsx","../../src/components/layout/header/partials/header-tool-button.tsx","../../src/components/layout/header/partials/header-tool-popover.tsx","../../src/components/layout/header/partials/header-user-menu.tsx","../../src/components/layout/header/partials/header-notifications.tsx"],"sourcesContent":["/** HeaderBreadcrumbs — breadcrumbs trail with optional sidebar trigger. */\nimport * as React from 'react';\n\nimport { Separator } from '@/components/base/display/separator';\nimport { Breadcrumbs } from '@/components/base/navigation/breadcrumbs';\nimport { SidebarTrigger } from '@/components/base/sidebar';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport type { BreadcrumbItem } from '../../layout.types';\nimport type { HeaderBreadcrumbsProps } from '../header.types';\n\nexport function HeaderBreadcrumbs({\n\tbreadcrumbs = [],\n\thomeBreadcrumb = null,\n\tshowSidebarTrigger = true,\n\ttriggerSlot,\n\trenderLink,\n\tLinkComponent,\n\tclassName,\n}: HeaderBreadcrumbsProps) {\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\tconst items = React.useMemo<BreadcrumbItem[]>(() => {\n\t\tconst out: BreadcrumbItem[] = [];\n\t\tif (homeBreadcrumb) out.push(homeBreadcrumb);\n\t\tout.push(...breadcrumbs);\n\t\treturn out;\n\t}, [homeBreadcrumb, breadcrumbs]);\n\n\tconst showCrumbs = items.length > 0;\n\n\treturn (\n\t\t<div className={cn('relative flex min-h-9 min-w-0 items-stretch gap-3 overflow-hidden', className)}>\n\t\t\t{!!showSidebarTrigger && (\n\t\t\t\t<div className=\"relative flex min-h-9 items-center justify-center gap-2\">\n\t\t\t\t\t{triggerSlot ?? <SidebarTrigger className=\"size-7 [&_svg]:size-4\" />}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t\t{!!showCrumbs && (\n\t\t\t\t<>\n\t\t\t\t\t{!!showSidebarTrigger && <Separator orientation=\"vertical\" className=\"h-auto self-stretch\" />}\n\t\t\t\t\t<div className=\"flex min-w-0 flex-1 items-center overflow-hidden\">\n\t\t\t\t\t\t<Breadcrumbs\n\t\t\t\t\t\t\tbreadcrumbs={items}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\trenderLink={resolvedRenderLink}\n\t\t\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\t\t'min-w-0 overflow-hidden',\n\t\t\t\t\t\t\t\t'[&_[data-slot=breadcrumb-list]]:flex-nowrap [&_[data-slot=breadcrumb-list]]:overflow-hidden [&_[data-slot=breadcrumb-list]]:break-normal',\n\t\t\t\t\t\t\t\t'[&_[data-slot=breadcrumb-item]]:min-w-0 [&_[data-slot=breadcrumb-item]]:shrink',\n\t\t\t\t\t\t\t\t'[&_[data-slot=breadcrumb-link]]:truncate [&_[data-slot=breadcrumb-page]]:truncate',\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n","/** Header — sticky top bar with breadcrumbs and slot-driven content regions. */\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../hooks';\nimport { HeaderBreadcrumbs } from './partials/header-breadcrumbs';\nimport type { HeaderProps } from './header.types';\n\nexport function Header({\n\tshowBreadcrumbs = true,\n\tbreadcrumbs = [],\n\thomeBreadcrumb = null,\n\tshowSidebarTrigger = true,\n\tbrand,\n\tleftContent,\n\tcenterContent,\n\trightContent,\n\tslots,\n\trenderLink,\n\tLinkComponent,\n\tclassName,\n\tcontentClassName,\n\tleftClassName,\n\tcenterClassName,\n\trightClassName,\n\tbreadcrumbsClassName,\n}: HeaderProps) {\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\n\treturn (\n\t\t<header\n\t\t\tclassName={cn(\n\t\t\t\t'sticky top-0 z-40 flex min-h-shell-header items-center border-b bg-background/70 px-4 py-2 backdrop-blur-md transition-[width,height] ease-linear md:px-5',\n\t\t\t\t'dark:bg-topbar',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t>\n\t\t\t<div className={cn('flex min-h-9 min-w-0 flex-1 items-stretch gap-4', contentClassName)}>\n\t\t\t\t{!!(slots?.brand ?? brand) && (\n\t\t\t\t\t<div className=\"hidden min-w-0 shrink-0 items-center md:flex\">\n\t\t\t\t\t\t{slots?.brand ?? brand}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{!!showBreadcrumbs && (slots?.breadcrumbs ?? (\n\t\t\t\t\t<div className=\"min-w-0 flex-1\">\n\t\t\t\t\t\t<HeaderBreadcrumbs\n\t\t\t\t\t\t\tbreadcrumbs={breadcrumbs}\n\t\t\t\t\t\t\thomeBreadcrumb={homeBreadcrumb}\n\t\t\t\t\t\t\tshowSidebarTrigger={showSidebarTrigger}\n\t\t\t\t\t\t\trenderLink={resolvedRenderLink}\n\t\t\t\t\t\t\tclassName={breadcrumbsClassName}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t))}\n\n\t\t\t\t{!!(slots?.left ?? leftContent) && (\n\t\t\t\t\t<div className={cn('flex min-w-0 items-center', leftClassName)}>\n\t\t\t\t\t\t{slots?.left ?? leftContent}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{!!(slots?.center ?? centerContent) && (\n\t\t\t\t\t<div className={cn('hidden min-w-0 shrink-0 items-center justify-center lg:flex', centerClassName)}>\n\t\t\t\t\t\t{slots?.center ?? centerContent}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\n\t\t\t\t{!!(slots?.right ?? rightContent) && (\n\t\t\t\t\t<div className={cn('ml-auto flex shrink-0 items-center gap-2', rightClassName)}>\n\t\t\t\t\t\t{slots?.right ?? rightContent}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</header>\n\t);\n}\n","/**\n * Header layout and partial types.\n *\n * This layer is intentionally framework-neutral: links and route state enter\n * through `renderLink`, and app-specific content enters through slots.\n */\nimport type { ComponentType, ReactNode } from 'react';\n\nimport type { StringsProp } from '@/lib/strings';\n\nimport type {\n\tBreadcrumbItem,\n\tLayoutNavigationAdapter,\n\tLayoutUser,\n\tLinkComponent,\n} from '../layout.types';\n\nexport interface HeaderBreadcrumbsProps extends LayoutNavigationAdapter {\n\tbreadcrumbs?: BreadcrumbItem[];\n\thomeBreadcrumb?: BreadcrumbItem | null;\n\tshowSidebarTrigger?: boolean;\n\ttriggerSlot?: ReactNode;\n\tclassName?: string;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n\nexport type NotificationTone = 'info' | 'success' | 'warning' | 'error';\n\nexport interface HeaderNotification {\n\tid: string | number;\n\ttitle: ReactNode;\n\tdescription?: ReactNode;\n\ttime?: ReactNode;\n\tread?: boolean;\n\ttone?: NotificationTone;\n\thref?: string;\n}\n\nexport interface HeaderNotificationsStrings {\n\ttriggerLabel: string;\n\theading: string;\n\tmarkAllRead: string;\n\tempty: string;\n\tviewAll: string;\n}\n\nexport const defaultHeaderNotificationsStrings: HeaderNotificationsStrings = {\n\ttriggerLabel: 'Notifications',\n\theading: 'Notifications',\n\tmarkAllRead: 'Mark all as read',\n\tempty: 'No new notifications',\n\tviewAll: 'View all notifications',\n};\n\nexport interface HeaderNotificationsProps extends LayoutNavigationAdapter {\n\tnotifications?: HeaderNotification[];\n\tunreadCount?: number;\n\tonNotificationClick?: (notification: HeaderNotification) => void;\n\tonMarkAllRead?: () => void;\n\tonViewAll?: () => void;\n\tviewAllHref?: string;\n\talign?: 'start' | 'center' | 'end';\n\tside?: 'top' | 'right' | 'bottom' | 'left';\n\tstrings?: StringsProp<HeaderNotificationsStrings>;\n\tclassName?: string;\n\tcontentClassName?: string;\n\trenderNotification?: (notification: HeaderNotification) => ReactNode;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n\nexport interface HeaderSearchStrings {\n\tplaceholder: string;\n\tshortcutMac: string;\n\tshortcutPc: string;\n}\n\nexport const defaultHeaderSearchStrings: HeaderSearchStrings = {\n\tplaceholder: 'Search...',\n\tshortcutMac: '⌘K',\n\tshortcutPc: 'Ctrl+K',\n};\n\nexport interface HeaderSearchProps {\n\tonOpen?: () => void;\n\tisMac?: boolean;\n\tenableShortcut?: boolean;\n\tstrings?: StringsProp<HeaderSearchStrings>;\n\tclassName?: string;\n\ticonClassName?: string;\n\tshortcutSlot?: ReactNode;\n}\n\nexport interface HeaderGlobalSearchTriggerProps extends HeaderSearchProps {\n\topen?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n}\n\nexport interface HeaderToolButtonProps {\n\tlabel: string;\n\ticon: ComponentType<{ className?: string }>;\n\tactive?: boolean;\n\tdisabled?: boolean;\n\tbadge?: ReactNode;\n\tonClick?: () => void;\n\tclassName?: string;\n\ticonClassName?: string;\n}\n\nexport interface HeaderToolPopoverProps {\n\tlabel: string;\n\ticon: ComponentType<{ className?: string }>;\n\topen?: boolean;\n\tdefaultOpen?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n\tactive?: boolean;\n\tdisabled?: boolean;\n\tbadge?: ReactNode;\n\talign?: 'start' | 'center' | 'end';\n\tside?: 'top' | 'right' | 'bottom' | 'left';\n\tsideOffset?: number;\n\tclassName?: string;\n\ttriggerClassName?: string;\n\tcontentClassName?: string;\n\tchildren?: ReactNode;\n}\n\nexport interface HeaderUserMenuProps {\n\tuser: LayoutUser;\n\tshowEmail?: boolean;\n\tcustomContent?: ReactNode;\n\tonProfile?: () => void;\n\tonSettings?: () => void;\n\tonLogout?: () => void;\n\talign?: 'start' | 'center' | 'end';\n\tside?: 'top' | 'right' | 'bottom' | 'left';\n\tstrings?: StringsProp<HeaderUserMenuStrings>;\n\ttriggerClassName?: string;\n\tcontentClassName?: string;\n\trenderTrigger?: (user: LayoutUser) => ReactNode;\n}\n\nexport interface HeaderUserMenuStrings {\n\tprofile: string;\n\tsettings: string;\n\tlogout: string;\n}\n\nexport const defaultHeaderUserMenuStrings: HeaderUserMenuStrings = {\n\tprofile: 'Profile',\n\tsettings: 'Settings',\n\tlogout: 'Log out',\n};\n\nexport interface HeaderSlots {\n\t/** Leading brand/logo region before breadcrumbs. */\n\tbrand?: ReactNode;\n\t/** Replaces the breadcrumb/sidebar-trigger region. */\n\tbreadcrumbs?: ReactNode;\n\t/** Leading content after breadcrumbs. Prefer this over `leftContent` for new code. */\n\tleft?: ReactNode;\n\t/** Center content, usually search or a scope switcher. */\n\tcenter?: ReactNode;\n\t/** Trailing content, usually notifications/user menu/actions. */\n\tright?: ReactNode;\n}\n\nexport interface HeaderProps extends LayoutNavigationAdapter {\n\tshowBreadcrumbs?: boolean;\n\tbreadcrumbs?: BreadcrumbItem[];\n\thomeBreadcrumb?: BreadcrumbItem | null;\n\tshowSidebarTrigger?: boolean;\n\tbrand?: ReactNode;\n\t/** @deprecated Prefer `slots.left`. */\n\tleftContent?: ReactNode;\n\t/** @deprecated Prefer `slots.center`. */\n\tcenterContent?: ReactNode;\n\t/** @deprecated Prefer `slots.right`. */\n\trightContent?: ReactNode;\n\tslots?: HeaderSlots;\n\tclassName?: string;\n\tcontentClassName?: string;\n\tleftClassName?: string;\n\tcenterClassName?: string;\n\trightClassName?: string;\n\tbreadcrumbsClassName?: string;\n\t/** @deprecated Prefer `renderLink`. */\n\tLinkComponent?: LinkComponent;\n}\n","/** HeaderSearch — framework-neutral search trigger with optional Cmd/Ctrl+K. */\nimport { useMemo } from 'react';\nimport { Command, Search } from 'lucide-react';\n\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { useCommandShortcut } from '../../hooks';\nimport {\n\tdefaultHeaderSearchStrings,\n\ttype HeaderSearchProps,\n} from '../header.types';\n\nfunction detectMac(): boolean {\n\tif (typeof navigator === 'undefined') return false;\n\tconst ua = (navigator as Navigator & { userAgentData?: { platform?: string } }).userAgentData;\n\tif (ua?.platform) return ua.platform === 'macOS';\n\treturn /Mac|iPhone|iPad/.test(navigator.platform);\n}\n\nexport function HeaderSearch({\n\tonOpen,\n\tisMac,\n\tenableShortcut = true,\n\tstrings: stringsProp,\n\tclassName,\n\ticonClassName,\n\tshortcutSlot,\n}: HeaderSearchProps) {\n\tconst strings = useStrings(defaultHeaderSearchStrings, stringsProp);\n\tconst isMacResolved = useMemo(() => isMac ?? detectMac(), [isMac]);\n\tuseCommandShortcut({ key: 'k', enabled: enableShortcut, onTrigger: onOpen });\n\n\tconst shortcutTitle = isMacResolved ? strings.shortcutMac : strings.shortcutPc;\n\tconst shortcut = shortcutSlot ?? (\n\t\t<kbd className=\"header-search--shortcut hidden h-5 shrink-0 items-center gap-space-sm rounded-md border border-border/70 bg-background/60 px-space-sm font-mono text-xs text-muted-foreground lg:inline-flex\">\n\t\t\t{isMacResolved ? (\n\t\t\t\t<>\n\t\t\t\t\t<Command className=\"size-icon-sm text-muted-foreground\" aria-hidden=\"true\" />\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">K</Text>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\">Ctrl+K</Text>\n\t\t\t)}\n\t\t</kbd>\n\t);\n\n\treturn (\n\t\t<Button\n\t\t\tdata-component=\"header-search\"\n\t\t\tdata-slot=\"header-search-trigger\"\n\t\t\ttype=\"button\"\n\t\t\tvariant=\"secondary\"\n\t\t\tbuttonStyle=\"outline\"\n\t\t\tonClick={onOpen}\n\t\t\tclassName={cn(\n\t\t\t\t'header-search--component header-search--trigger h-control-sm w-full min-w-52 justify-start gap-space-md rounded-lg border-border/80 bg-muted/40 px-control-sm text-foreground shadow-none transition-[background-color,border-color,color,box-shadow] hover:border-border hover:bg-muted/60 hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background dark:border-border/80 dark:bg-muted dark:hover:bg-muted/60 dark:hover:text-foreground',\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\ttitle={shortcutTitle}\n\t\t>\n\t\t\t<Search data-slot=\"header-search-icon\" className={cn('header-search--icon size-icon shrink-0 text-muted-foreground', iconClassName)} aria-hidden=\"true\" />\n\t\t\t<Text tag=\"span\" size=\"xs\" type=\"secondary\" data-slot=\"header-search-placeholder\" className=\"header-search--placeholder flex-1 text-left\">\n\t\t\t\t{strings.placeholder}\n\t\t\t</Text>\n\t\t\t{shortcut}\n\t\t\t<span className=\"sr-only\">{strings.placeholder}</span>\n\t\t</Button>\n\t);\n}\n","/** HeaderGlobalSearchTrigger — header search trigger with controlled open callback. */\nimport { HeaderSearch } from './header-search';\nimport type { HeaderGlobalSearchTriggerProps } from '../header.types';\n\nexport function HeaderGlobalSearchTrigger({\n\tonOpen,\n\tonOpenChange,\n\t...props\n}: HeaderGlobalSearchTriggerProps) {\n\treturn (\n\t\t<HeaderSearch\n\t\t\t{...props}\n\t\t\tonOpen={() => {\n\t\t\t\tonOpen?.();\n\t\t\t\tonOpenChange?.(true);\n\t\t\t}}\n\t\t/>\n\t);\n}\n","/** HeaderToolButton — icon control for dense app headers. */\nimport * as React from 'react';\n\nimport { Button } from '@/components/base/buttons';\nimport { cn } from '@/lib/utils';\n\nimport type { HeaderToolButtonProps } from '../header.types';\n\nexport const HeaderToolButton = React.forwardRef<\n\tHTMLButtonElement,\n\tHeaderToolButtonProps\n>((\n\t{\n\t\tlabel,\n\t\ticon: Icon,\n\t\tactive = false,\n\t\tdisabled = false,\n\t\tbadge,\n\t\tonClick,\n\t\tclassName,\n\t\ticonClassName,\n\t},\n\tref,\n) => (\n\t<Button\n\t\tref={ref}\n\t\tdata-component=\"header-tool-button\"\n\t\tdata-slot=\"header-tool-button\"\n\t\ttype=\"button\"\n\t\tvariant=\"secondary\"\n\t\tbuttonStyle=\"ghost\"\n\t\tsize=\"icon-small\"\n\t\taria-label={label}\n\t\taria-pressed={active || undefined}\n\t\ttitle={label}\n\t\tdisabled={disabled}\n\t\tonClick={onClick}\n\t\tclassName={cn(\n\t\t\t'header-tool-button--component header-tool-button--trigger relative size-control rounded-lg text-foreground transition-[background-color,color,box-shadow] hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1 focus-visible:ring-offset-background',\n\t\t\tactive && 'bg-accent text-accent-foreground',\n\t\t\tclassName,\n\t\t)}\n\t>\n\t\t<Icon\n\t\t\tdata-slot=\"header-tool-icon\"\n\t\t\tclassName={cn('header-tool-button--icon size-icon', iconClassName)}\n\t\t\taria-hidden=\"true\"\n\t\t/>\n\t\t{!!badge && (\n\t\t\t<span data-slot=\"header-tool-badge\" className=\"header-tool-button--badge absolute right-space-xs top-space-xs flex min-h-space-lg min-w-space-lg items-center justify-center rounded-full bg-destructive px-space-2xs text-xs font-medium leading-none text-destructive-foreground\">\n\t\t\t\t{badge}\n\t\t\t</span>\n\t\t)}\n\t\t<span className=\"sr-only\">{label}</span>\n\t</Button>\n));\n\nHeaderToolButton.displayName = 'HeaderToolButton';\n","/** HeaderToolPopover — controlled header icon trigger plus popover content. */\nimport {\n\tPopover,\n\tPopoverContent,\n\tPopoverTrigger,\n} from '@/components/base/popover';\nimport { cn } from '@/lib/utils';\n\nimport type { HeaderToolPopoverProps } from '../header.types';\nimport { HeaderToolButton } from './header-tool-button';\n\nexport function HeaderToolPopover({\n\tlabel,\n\ticon,\n\topen,\n\tdefaultOpen,\n\tonOpenChange,\n\tactive,\n\tdisabled,\n\tbadge,\n\talign = 'end',\n\tside = 'bottom',\n\tsideOffset = 8,\n\tclassName,\n\ttriggerClassName,\n\tcontentClassName,\n\tchildren,\n}: HeaderToolPopoverProps) {\n\treturn (\n\t\t<Popover\n\t\t\topen={open}\n\t\t\tdefaultOpen={defaultOpen}\n\t\t\tonOpenChange={onOpenChange}\n\t\t>\n\t\t\t<PopoverTrigger asChild>\n\t\t\t\t<HeaderToolButton\n\t\t\t\t\tlabel={label}\n\t\t\t\t\ticon={icon}\n\t\t\t\t\tactive={active ?? open}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tbadge={badge}\n\t\t\t\t\tclassName={triggerClassName}\n\t\t\t\t/>\n\t\t\t</PopoverTrigger>\n\t\t\t<PopoverContent\n\t\t\t\tdata-component=\"header-tool-popover\"\n\t\t\t\tdata-slot=\"header-tool-popover-content\"\n\t\t\t\talign={align}\n\t\t\t\tside={side}\n\t\t\t\tsideOffset={sideOffset}\n\t\t\t\tclassName={cn(\n\t\t\t\t\t'header-tool-popover--component w-80 max-w-[calc(100vw-2rem)] p-0',\n\t\t\t\t\tclassName,\n\t\t\t\t\tcontentClassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</PopoverContent>\n\t\t</Popover>\n\t);\n}\n","/** HeaderUserMenu — avatar/name trigger with consumer-wired menu callbacks. */\nimport type { ReactElement } from 'react';\n\nimport { ChevronsUpDown, LogOut, Settings, User } from 'lucide-react';\n\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/base/display/avatar';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuTrigger,\n} from '@/components/base/navigation/dropdown-menu';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport {\n\tdefaultHeaderUserMenuStrings,\n\ttype HeaderUserMenuProps,\n} from '../header.types';\n\nfunction deriveInitials(name: string): string {\n\treturn name\n\t\t.split(' ')\n\t\t.map((part) => part[0])\n\t\t.filter(Boolean)\n\t\t.slice(0, 2)\n\t\t.join('')\n\t\t.toUpperCase();\n}\n\nexport function HeaderUserMenu({\n\tuser,\n\tshowEmail = true,\n\tcustomContent,\n\tonProfile,\n\tonSettings,\n\tonLogout,\n\talign = 'end',\n\tside = 'bottom',\n\tstrings: stringsProp,\n\ttriggerClassName,\n\tcontentClassName,\n\trenderTrigger,\n}: HeaderUserMenuProps) {\n\tconst strings = useStrings(defaultHeaderUserMenuStrings, stringsProp);\n\tconst initials = deriveInitials(user.name);\n\n\tconst defaultContent = (\n\t\t<>\n\t\t\t{!!onProfile && (\n\t\t\t\t<DropdownMenuItem onClick={onProfile}>\n\t\t\t\t\t<User className=\"mr-space-md size-icon\" aria-hidden=\"true\" />\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className=\"text-inherit\">{strings.profile}</Text>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t)}\n\t\t\t{!!onSettings && (\n\t\t\t\t<DropdownMenuItem onClick={onSettings}>\n\t\t\t\t\t<Settings className=\"mr-space-md size-icon\" aria-hidden=\"true\" />\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className=\"text-inherit\">{strings.settings}</Text>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t)}\n\t\t\t{!!(onProfile || onSettings) && !!onLogout && <DropdownMenuSeparator />}\n\t\t\t{!!onLogout && (\n\t\t\t\t<DropdownMenuItem onClick={onLogout}>\n\t\t\t\t\t<LogOut className=\"mr-space-md size-icon\" aria-hidden=\"true\" />\n\t\t\t\t\t<Text tag=\"span\" size=\"xs\" className=\"text-inherit\">{strings.logout}</Text>\n\t\t\t\t</DropdownMenuItem>\n\t\t\t)}\n\t\t</>\n\t);\n\n\tconst trigger = renderTrigger?.(user) ?? (\n\t\t<Button\n\t\t\tdata-component=\"header-user-menu\"\n\t\t\tdata-slot=\"header-user-menu-trigger\"\n\t\t\ttype=\"button\"\n\t\t\tvariant=\"secondary\"\n\t\t\tbuttonStyle=\"ghost\"\n\t\t\tclassName={cn(\n\t\t\t\t'header-user-menu--component header-user-menu--trigger group h-control-lg max-w-56 justify-start gap-space-md rounded-lg px-space-sm pr-space-md text-foreground shadow-none hover:bg-foreground/5 data-[state=open]:bg-foreground/5',\n\t\t\t\tshowEmail ? 'py-space-sm' : 'py-space-xs',\n\t\t\t\t'dark:text-background dark:hover:bg-topbar-accent/50',\n\t\t\t\ttriggerClassName,\n\t\t\t)}\n\t\t>\n\t\t\t<Avatar data-slot=\"header-user-avatar\" className=\"header-user-menu--avatar size-avatar-sm overflow-hidden rounded-full ring-1 ring-border/60\">\n\t\t\t\t{!!user.avatar && <AvatarImage src={user.avatar} alt={user.name} />}\n\t\t\t\t<AvatarFallback className=\"rounded-md bg-success text-xs font-semibold text-background\">\n\t\t\t\t\t{initials}\n\t\t\t\t</AvatarFallback>\n\t\t\t</Avatar>\n\t\t\t<div data-slot=\"header-user-identity\" className=\"header-user-menu--identity grid min-w-0 flex-1 text-left leading-none\">\n\t\t\t\t<Text size=\"xs\" weight=\"medium\" className=\"truncate\">{user.name}</Text>\n\t\t\t\t{!!showEmail && !!user.email && (\n\t\t\t\t\t<Text size=\"xs\" type=\"secondary\" className=\"truncate\">{user.email}</Text>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t<ChevronsUpDown className=\"header-user-menu--chevron size-icon-sm shrink-0 text-muted-foreground\" aria-hidden=\"true\" />\n\t\t</Button>\n\t);\n\n\treturn (\n\t\t<DropdownMenu>\n\t\t\t<DropdownMenuTrigger render={trigger as ReactElement} />\n\t\t\t<DropdownMenuContent\n\t\t\t\tdata-component=\"header-user-menu-content\"\n\t\t\t\tdata-slot=\"header-user-menu-content\"\n\t\t\t\tclassName={cn('header-user-menu--content w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg p-surface-sm', contentClassName)}\n\t\t\t\talign={align}\n\t\t\t\tside={side}\n\t\t\t>\n\t\t\t\t{customContent ?? defaultContent}\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t);\n}\n","/** HeaderNotifications — bell dropdown for consumer-supplied notifications. */\nimport type { ReactElement } from 'react';\n\nimport { Bell } from 'lucide-react';\n\nimport { Badge } from '@/components/base/badge';\nimport { Button } from '@/components/base/buttons';\nimport { Text } from '@/components/typography';\nimport {\n\tDropdownMenu,\n\tDropdownMenuContent,\n\tDropdownMenuGroup,\n\tDropdownMenuItem,\n\tDropdownMenuLabel,\n\tDropdownMenuLinkItem,\n\tDropdownMenuSeparator,\n\tDropdownMenuTrigger,\n} from '@/components/base/navigation/dropdown-menu';\nimport { useStrings } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\n\nimport { useLayoutLinkRenderer } from '../../hooks';\nimport {\n\tdefaultHeaderNotificationsStrings,\n\ttype HeaderNotification,\n\ttype HeaderNotificationsProps,\n} from '../header.types';\n\nexport function HeaderNotifications({\n\tnotifications = [],\n\tunreadCount = 0,\n\tonNotificationClick,\n\tonMarkAllRead,\n\tonViewAll,\n\tviewAllHref,\n\trenderLink,\n\tLinkComponent,\n\talign = 'end',\n\tside = 'bottom',\n\tstrings: stringsProp,\n\tclassName,\n\tcontentClassName,\n\trenderNotification,\n}: HeaderNotificationsProps) {\n\tconst strings = useStrings(defaultHeaderNotificationsStrings, stringsProp);\n\tconst resolvedRenderLink = useLayoutLinkRenderer({ renderLink, LinkComponent });\n\tconst badgeText = unreadCount > 99 ? '99+' : String(unreadCount);\n\n\treturn (\n\t\t<DropdownMenu>\n\t\t\t<DropdownMenuTrigger\n\t\t\t\trender={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tdata-component=\"header-notifications\"\n\t\t\t\t\t\tdata-slot=\"header-notifications-trigger\"\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\tsize=\"icon-small\"\n\t\t\t\t\t\taria-label={strings.triggerLabel}\n\t\t\t\t\t\tclassName={cn('header-notifications--component header-notifications--trigger relative', className)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Bell className=\"size-4\" aria-hidden=\"true\" />\n\t\t\t\t\t\t{unreadCount > 0 && (\n\t\t\t\t\t\t\t<Badge\n\t\t\t\t\t\t\t\tvariant=\"error\"\n\t\t\t\t\t\t\t\tclassName=\"absolute -right-1 -top-1 flex h-4.5 min-w-4.5 items-center justify-center rounded-full px-1 py-0 leading-none\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{badgeText}\n\t\t\t\t\t\t\t</Badge>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</Button>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<DropdownMenuContent\n\t\t\t\tdata-component=\"header-notifications-content\"\n\t\t\t\tdata-slot=\"header-notifications-content\"\n\t\t\t\tclassName={cn('header-notifications--content w-80 max-w-[calc(100vw-2rem)]', contentClassName)}\n\t\t\t\talign={align}\n\t\t\t\tside={side}\n\t\t\t>\n\t\t\t\t<DropdownMenuGroup>\n\t\t\t\t\t<DropdownMenuLabel className=\"header-notifications--label flex items-center justify-between gap-3\">\n\t\t\t\t\t\t<Text tag=\"span\" weight=\"semibold\">{strings.heading}</Text>\n\t\t\t\t\t\t{unreadCount > 0 && !!onMarkAllRead && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tbuttonStyle=\"ghost\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tonClick={onMarkAllRead}\n\t\t\t\t\t\t\t\tclassName=\"h-auto px-1 py-0 text-xs\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{strings.markAllRead}\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DropdownMenuLabel>\n\t\t\t\t\t<DropdownMenuSeparator />\n\n\t\t\t\t\t{notifications.length === 0 ? (\n\t\t\t\t\t\t<div className=\"header-notifications--empty p-4 text-center\">\n\t\t\t\t\t\t\t<Text type=\"secondary\">{strings.empty}</Text>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"space-y-1 p-1\">\n\t\t\t\t\t\t\t{notifications.map((notification) => (\n\t\t\t\t\t\t\t\t<NotificationRow\n\t\t\t\t\t\t\t\t\tkey={notification.id}\n\t\t\t\t\t\t\t\t\tnotification={notification}\n\t\t\t\t\t\t\t\t\tonClick={onNotificationClick}\n\t\t\t\t\t\t\t\t\trenderLink={resolvedRenderLink}\n\t\t\t\t\t\t\t\t\trenderNotification={renderNotification}\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</DropdownMenuGroup>\n\n\t\t\t\t{!!(onViewAll || viewAllHref) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<DropdownMenuSeparator />\n\t\t\t\t\t\t{viewAllHref ? (\n\t\t\t\t\t\t\t<DropdownMenuLinkItem\n\t\t\t\t\t\t\t\thref={viewAllHref}\n\t\t\t\t\t\t\t\trender={(props) =>\n\t\t\t\t\t\t\t\t\tresolvedRenderLink({\n\t\t\t\t\t\t\t\t\t\t...props,\n\t\t\t\t\t\t\t\t\t\thref: viewAllHref,\n\t\t\t\t\t\t\t\t\t\tchildren: props.children,\n\t\t\t\t\t\t\t\t\t}) as ReactElement\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\t{strings.viewAll}\n\t\t\t\t\t\t\t</DropdownMenuLinkItem>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<DropdownMenuItem onClick={onViewAll}>{strings.viewAll}</DropdownMenuItem>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</DropdownMenuContent>\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction NotificationRow({\n\tnotification,\n\tonClick,\n\trenderLink,\n\trenderNotification,\n}: {\n\tnotification: HeaderNotification;\n\tonClick?: (n: HeaderNotification) => void;\n\trenderLink: NonNullable<HeaderNotificationsProps['renderLink']>;\n\trenderNotification?: HeaderNotificationsProps['renderNotification'];\n}) {\n\tif (renderNotification) return renderNotification(notification);\n\n\tconst content = (\n\t\t<div className=\"header-notifications--item-content min-w-0 space-y-1\">\n\t\t\t<Text weight=\"medium\">{notification.title}</Text>\n\t\t\t{!!notification.description && <Text size=\"xs\" type=\"secondary\">{notification.description}</Text>}\n\t\t\t{!!notification.time && <Text size=\"xs\" type=\"secondary\">{notification.time}</Text>}\n\t\t</div>\n\t);\n\n\tconst className = cn(\n\t\t'header-notifications--item items-start rounded-md px-3 py-2',\n\t\t!notification.read && 'bg-muted/40',\n\t);\n\n\tif (notification.href) {\n\t\treturn (\n\t\t\t<DropdownMenuLinkItem\n\t\t\t\thref={notification.href}\n\t\t\t\tclassName={className}\n\t\t\t\tonClick={() => onClick?.(notification)}\n\t\t\t\trender={(props) =>\n\t\t\t\t\trenderLink({\n\t\t\t\t\t\t...props,\n\t\t\t\t\t\thref: notification.href,\n\t\t\t\t\t\tchildren: props.children,\n\t\t\t\t\t}) as ReactElement\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</DropdownMenuLinkItem>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DropdownMenuItem onClick={() => onClick?.(notification)} className={className}>\n\t\t\t{content}\n\t\t</DropdownMenuItem>\n\t);\n}\n\n/** @deprecated Re-exported for backwards compat — use `HeaderNotification`. */\nexport type Notification = HeaderNotification;\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/utils.cjs"),n=require("./badge-B0Ashqkn.cjs"),r=require("./layout.types-CXFAjJCj.cjs");let i=require("react");i=e.t(i,1);let a=require("react/jsx-runtime");function o({renderLink:e,LinkComponent:t}={}){return(0,i.useMemo)(()=>r.r({renderLink:e,LinkComponent:t}),[e,t])}function s(e){if(e.startsWith(`#/`))return e.slice(1).split(`?`)[0]?.split(`#`)[0]||`/`;try{return new URL(e,`http://local.invalid`).pathname}catch{return e}}function c(e,t){let n=s(e);return n===t||n.startsWith(t+`/`)||n.startsWith(t+`?`)}function l(e){return e.label??e.title??``}function u(e,t){let n=l(e);return e.handle??e.href??(typeof n==`string`||typeof n==`number`?n:`nav-${t??0}`)}function d({value:e,size:r=`default`}){return(0,a.jsx)(n.t,{variant:`secondary`,className:t.cn(`ml-auto rounded-full tabular-nums text-sidebar-foreground`,r===`small`?`h-4 min-w-4 px-1.5`:`h-5 min-w-5 px-1.5`),children:e})}function f(e,t,n){return e&&n&&n[e]!=null?n[e]:t}function p({icon:e,iconMap:n={},size:r=20,className:o=`size-4`,...s}){if(!e)return null;if(typeof e==`string`){let t=n[e];return t?(0,a.jsx)(t,{className:o}):null}return i.isValidElement(e)?i.cloneElement(e,{className:t.cn(o,e.props.className),...s}):typeof e==`function`||typeof e==`object`&&e&&`$$typeof`in e?(0,a.jsx)(e,{className:o,width:r,height:r,...s}):null}function m(e,t,n,r,i){return e({href:t.href,children:n,className:r,active:i,disabled:t.disabled||!t.href,external:t.external})}function h(e=`/`){return(0,i.useCallback)(t=>!!t&&c(e,s(t)),[e])}function g({key:e,enabled:t=!0,onTrigger:n,preventDefault:r=!0}){(0,i.useEffect)(()=>{if(!t||!n||typeof document>`u`)return;let i=t=>{(t.metaKey||t.ctrlKey)&&t.key.toLowerCase()===e.toLowerCase()&&(r&&t.preventDefault(),n())};return document.addEventListener(`keydown`,i),()=>document.removeEventListener(`keydown`,i)},[t,e,n,r])}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return s}});
2
+ //# sourceMappingURL=hooks-B4Cop5YI.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-B4Cop5YI.cjs","names":[],"sources":["../../src/components/layout/hooks/use-layout-link.tsx","../../src/components/layout/sidebar/sidebar.utils.tsx","../../src/components/layout/hooks/use-active-path.ts","../../src/components/layout/hooks/use-command-shortcut.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport {\n\tresolveLayoutLinkRenderer,\n\ttype LayoutLinkRenderer,\n\ttype LayoutNavigationAdapter,\n} from '../layout.types';\n\nexport function useLayoutLinkRenderer({\n\trenderLink,\n\tLinkComponent,\n}: LayoutNavigationAdapter = {}): LayoutLinkRenderer {\n\treturn useMemo(\n\t\t() => resolveLayoutLinkRenderer({ renderLink, LinkComponent }),\n\t\t[renderLink, LinkComponent],\n\t);\n}\n"," \n/** Sidebar utilities — pure path helpers, labels, icon rendering, badge pill. */\nimport * as React from 'react';\n\nimport { Badge } from '@/components/base/badge';\nimport { cn } from '@/lib/utils';\n\nimport type { LayoutIconSource, LayoutLinkRenderer } from '../layout.types';\nimport type { SidebarNavItem } from './sidebar.types';\n\nexport function toPath(href: string): string {\n\tif (href.startsWith('#/')) {\n\t\treturn href.slice(1).split('?')[0]?.split('#')[0] || '/';\n\t}\n\n\ttry {\n\t\treturn new URL(href, 'http://local.invalid').pathname;\n\t} catch {\n\t\treturn href;\n\t}\n}\n\nexport function isPathMatch(currentUrl: string, path: string): boolean {\n\tconst currentPath = toPath(currentUrl);\n\treturn currentPath === path || currentPath.startsWith(path + '/') || currentPath.startsWith(path + '?');\n}\n\nexport function getNavLabel(item: Pick<SidebarNavItem, 'label' | 'title'>): React.ReactNode {\n\treturn item.label ?? item.title ?? '';\n}\n\nexport function getNavKey(item: SidebarNavItem, fallbackIndex?: number): React.Key {\n\tconst label = getNavLabel(item);\n\treturn item.handle ?? item.href ?? (typeof label === 'string' || typeof label === 'number' ? label : `nav-${fallbackIndex ?? 0}`);\n}\n\nexport function NavBadge({\n\tvalue,\n\tsize = 'default',\n}: {\n\tvalue: string | number;\n\tsize?: 'default' | 'small';\n}) {\n\treturn (\n\t\t<Badge\n\t\t\tvariant=\"secondary\"\n\t\t\tclassName={cn(\n\t\t\t\t'ml-auto rounded-full tabular-nums text-sidebar-foreground',\n\t\t\t\tsize === 'small' ? 'h-4 min-w-4 px-1.5' : 'h-5 min-w-5 px-1.5',\n\t\t\t)}\n\t\t>\n\t\t\t{value}\n\t\t</Badge>\n\t);\n}\n\nexport function resolveNavBadge(\n\thandle: string | undefined,\n\titemBadge: string | number | undefined,\n\tliveBadges: Record<string, string | number> | undefined,\n): string | number | undefined {\n\tif (handle && liveBadges && liveBadges[handle] != null) {\n\t\treturn liveBadges[handle];\n\t}\n\treturn itemBadge;\n}\n\nexport interface DynamicIconProps extends React.SVGProps<SVGSVGElement> {\n\ticon: LayoutIconSource;\n\ticonMap?: Record<string, React.ComponentType<{ className?: string }>>;\n\tsize?: number;\n\tclassName?: string;\n}\n\nexport function DynamicIcon({\n\ticon,\n\ticonMap = {},\n\tsize = 20,\n\tclassName = 'size-4',\n\t...props\n}: DynamicIconProps) {\n\tif (!icon) return null;\n\n\tif (typeof icon === 'string') {\n\t\tconst IconComponent = iconMap[icon];\n\t\treturn IconComponent ? <IconComponent className={className} /> : null;\n\t}\n\n\tif (React.isValidElement(icon)) {\n\t\treturn React.cloneElement(icon as React.ReactElement<React.SVGProps<SVGSVGElement>>, {\n\t\t\tclassName: cn(className, (icon.props as { className?: string }).className),\n\t\t\t...props,\n\t\t});\n\t}\n\n\tif (\n\t\ttypeof icon === 'function'\n\t\t|| (typeof icon === 'object' && icon !== null && '$$typeof' in icon)\n\t) {\n\t\tconst IconComponent = icon as React.ElementType<React.SVGProps<SVGSVGElement>>;\n\t\treturn <IconComponent className={className} width={size} height={size} {...props} />;\n\t}\n\n\treturn null;\n}\n\nexport function renderSidebarLink(\n\trenderLink: LayoutLinkRenderer,\n\titem: SidebarNavItem,\n\tchildren: React.ReactNode,\n\tclassName?: string,\n\tactive?: boolean,\n) {\n\treturn renderLink({\n\t\thref: item.href,\n\t\tchildren,\n\t\tclassName,\n\t\tactive,\n\t\tdisabled: item.disabled || !item.href,\n\t\texternal: item.external,\n\t});\n}\n","import { useCallback } from 'react';\n\nimport { isPathMatch, toPath } from '../sidebar/sidebar.utils';\n\nexport function useActivePath(currentUrl = '/') {\n\treturn useCallback(\n\t\t(href?: string) => !!href && isPathMatch(currentUrl, toPath(href)),\n\t\t[currentUrl],\n\t);\n}\n","import { useEffect } from 'react';\n\nexport interface UseCommandShortcutOptions {\n\tkey: string;\n\tenabled?: boolean;\n\tonTrigger?: () => void;\n\tpreventDefault?: boolean;\n}\n\nexport function useCommandShortcut({\n\tkey,\n\tenabled = true,\n\tonTrigger,\n\tpreventDefault = true,\n}: UseCommandShortcutOptions) {\n\tuseEffect(() => {\n\t\tif (!enabled || !onTrigger || typeof document === 'undefined') return;\n\n\t\tconst handler = (event: KeyboardEvent) => {\n\t\t\tif (!(event.metaKey || event.ctrlKey)) return;\n\t\t\tif (event.key.toLowerCase() !== key.toLowerCase()) return;\n\t\t\tif (preventDefault) event.preventDefault();\n\t\t\tonTrigger();\n\t\t};\n\n\t\tdocument.addEventListener('keydown', handler);\n\t\treturn () => document.removeEventListener('keydown', handler);\n\t}, [enabled, key, onTrigger, preventDefault]);\n}\n"],"mappings":"sNAQA,SAAgB,EAAsB,CACrC,aACA,iBAC4B,CAAC,EAAuB,CACpD,OAAA,EAAA,EAAA,aACO,EAAA,EAA0B,CAAE,aAAY,eAAc,CAAC,EAC7D,CAAC,EAAY,CAAa,CAC3B,CACD,CCNA,SAAgB,EAAO,EAAsB,CAC5C,GAAI,EAAK,WAAW,IAAI,EACvB,OAAO,EAAK,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,IAAM,IAGtD,GAAI,CACH,OAAO,IAAI,IAAI,EAAM,sBAAsB,EAAE,QAC9C,MAAQ,CACP,OAAO,CACR,CACD,CAEA,SAAgB,EAAY,EAAoB,EAAuB,CACtE,IAAM,EAAc,EAAO,CAAU,EACrC,OAAO,IAAgB,GAAQ,EAAY,WAAW,EAAO,GAAG,GAAK,EAAY,WAAW,EAAO,GAAG,CACvG,CAEA,SAAgB,EAAY,EAAgE,CAC3F,OAAO,EAAK,OAAS,EAAK,OAAS,EACpC,CAEA,SAAgB,EAAU,EAAsB,EAAmC,CAClF,IAAM,EAAQ,EAAY,CAAI,EAC9B,OAAO,EAAK,QAAU,EAAK,OAAS,OAAO,GAAU,UAAY,OAAO,GAAU,SAAW,EAAQ,OAAO,GAAiB,IAC9H,CAEA,SAAgB,EAAS,CACxB,QACA,OAAO,WAIL,CACF,OACC,EAAA,EAAA,KAAC,EAAA,EAAD,CACC,QAAQ,YACR,UAAW,EAAA,GACV,4DACA,IAAS,QAAU,qBAAuB,oBAC3C,WAEC,CACK,CAAA,CAET,CAEA,SAAgB,EACf,EACA,EACA,EAC8B,CAI9B,OAHI,GAAU,GAAc,EAAW,IAAW,KAC1C,EAAW,GAEZ,CACR,CASA,SAAgB,EAAY,CAC3B,OACA,UAAU,CAAC,EACX,OAAO,GACP,YAAY,SACZ,GAAG,GACiB,CACpB,GAAI,CAAC,EAAM,OAAO,KAElB,GAAI,OAAO,GAAS,SAAU,CAC7B,IAAM,EAAgB,EAAQ,GAC9B,OAAO,GAAgB,EAAA,EAAA,KAAC,EAAD,CAA0B,WAAY,CAAA,EAAI,IAClE,CAiBA,OAfI,EAAM,eAAe,CAAI,EACrB,EAAM,aAAa,EAA2D,CACpF,UAAW,EAAA,GAAG,EAAY,EAAK,MAAiC,SAAS,EACzE,GAAG,CACJ,CAAC,EAID,OAAO,GAAS,YACZ,OAAO,GAAS,UAAY,GAAiB,aAAc,GAGxD,EAAA,EAAA,KAAC,EAAD,CAA0B,YAAW,MAAO,EAAM,OAAQ,EAAM,GAAI,CAAQ,CAAA,EAG7E,IACR,CAEA,SAAgB,EACf,EACA,EACA,EACA,EACA,EACC,CACD,OAAO,EAAW,CACjB,KAAM,EAAK,KACX,WACA,YACA,SACA,SAAU,EAAK,UAAY,CAAC,EAAK,KACjC,SAAU,EAAK,QAChB,CAAC,CACF,CCrHA,SAAgB,EAAc,EAAa,IAAK,CAC/C,OAAA,EAAA,EAAA,aACE,GAAkB,CAAC,CAAC,GAAQ,EAAY,EAAY,EAAO,CAAI,CAAC,EACjE,CAAC,CAAU,CACZ,CACD,CCAA,SAAgB,EAAmB,CAClC,MACA,UAAU,GACV,YACA,iBAAiB,IACY,EAC7B,EAAA,EAAA,eAAgB,CACf,GAAI,CAAC,GAAW,CAAC,GAAa,OAAO,SAAa,IAAa,OAE/D,IAAM,EAAW,GAAyB,EACnC,EAAM,SAAW,EAAM,UACzB,EAAM,IAAI,YAAY,IAAM,EAAI,YAAY,IAC5C,GAAgB,EAAM,eAAe,EACzC,EAAU,EACX,EAGA,OADA,SAAS,iBAAiB,UAAW,CAAO,MAC/B,SAAS,oBAAoB,UAAW,CAAO,CAC7D,EAAG,CAAC,EAAS,EAAK,EAAW,CAAc,CAAC,CAC7C"}
@@ -0,0 +1,95 @@
1
+ import { cn as e } from "../lib/utils.js";
2
+ import { t } from "./badge-DOJpEtsa.js";
3
+ import { r as n } from "./layout.types-ip8BYRa7.js";
4
+ import * as r from "react";
5
+ import { useCallback as i, useEffect as a, useMemo as o } from "react";
6
+ import { jsx as s } from "react/jsx-runtime";
7
+ //#region src/components/layout/hooks/use-layout-link.tsx
8
+ function c({ renderLink: e, LinkComponent: t } = {}) {
9
+ return o(() => n({
10
+ renderLink: e,
11
+ LinkComponent: t
12
+ }), [e, t]);
13
+ }
14
+ //#endregion
15
+ //#region src/components/layout/sidebar/sidebar.utils.tsx
16
+ function l(e) {
17
+ if (e.startsWith("#/")) return e.slice(1).split("?")[0]?.split("#")[0] || "/";
18
+ try {
19
+ return new URL(e, "http://local.invalid").pathname;
20
+ } catch {
21
+ return e;
22
+ }
23
+ }
24
+ function u(e, t) {
25
+ let n = l(e);
26
+ return n === t || n.startsWith(t + "/") || n.startsWith(t + "?");
27
+ }
28
+ function d(e) {
29
+ return e.label ?? e.title ?? "";
30
+ }
31
+ function f(e, t) {
32
+ let n = d(e);
33
+ return e.handle ?? e.href ?? (typeof n == "string" || typeof n == "number" ? n : `nav-${t ?? 0}`);
34
+ }
35
+ function p({ value: n, size: r = "default" }) {
36
+ return /* @__PURE__ */ s(t, {
37
+ variant: "secondary",
38
+ className: e("ml-auto rounded-full tabular-nums text-sidebar-foreground", r === "small" ? "h-4 min-w-4 px-1.5" : "h-5 min-w-5 px-1.5"),
39
+ children: n
40
+ });
41
+ }
42
+ function m(e, t, n) {
43
+ return e && n && n[e] != null ? n[e] : t;
44
+ }
45
+ function h({ icon: t, iconMap: n = {}, size: i = 20, className: a = "size-4", ...o }) {
46
+ if (!t) return null;
47
+ if (typeof t == "string") {
48
+ let e = n[t];
49
+ return e ? /* @__PURE__ */ s(e, { className: a }) : null;
50
+ }
51
+ return r.isValidElement(t) ? r.cloneElement(t, {
52
+ className: e(a, t.props.className),
53
+ ...o
54
+ }) : typeof t == "function" || typeof t == "object" && t && "$$typeof" in t ? /* @__PURE__ */ s(t, {
55
+ className: a,
56
+ width: i,
57
+ height: i,
58
+ ...o
59
+ }) : null;
60
+ }
61
+ function g(e, t, n, r, i) {
62
+ return e({
63
+ href: t.href,
64
+ children: n,
65
+ className: r,
66
+ active: i,
67
+ disabled: t.disabled || !t.href,
68
+ external: t.external
69
+ });
70
+ }
71
+ //#endregion
72
+ //#region src/components/layout/hooks/use-active-path.ts
73
+ function _(e = "/") {
74
+ return i((t) => !!t && u(e, l(t)), [e]);
75
+ }
76
+ //#endregion
77
+ //#region src/components/layout/hooks/use-command-shortcut.ts
78
+ function v({ key: e, enabled: t = !0, onTrigger: n, preventDefault: r = !0 }) {
79
+ a(() => {
80
+ if (!t || !n || typeof document > "u") return;
81
+ let i = (t) => {
82
+ (t.metaKey || t.ctrlKey) && t.key.toLowerCase() === e.toLowerCase() && (r && t.preventDefault(), n());
83
+ };
84
+ return document.addEventListener("keydown", i), () => document.removeEventListener("keydown", i);
85
+ }, [
86
+ t,
87
+ e,
88
+ n,
89
+ r
90
+ ]);
91
+ }
92
+ //#endregion
93
+ export { f as a, g as c, c as d, p as i, m as l, _ as n, d as o, h as r, u as s, v as t, l as u };
94
+
95
+ //# sourceMappingURL=hooks-CFUZJW_S.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-CFUZJW_S.js","names":[],"sources":["../../src/components/layout/hooks/use-layout-link.tsx","../../src/components/layout/sidebar/sidebar.utils.tsx","../../src/components/layout/hooks/use-active-path.ts","../../src/components/layout/hooks/use-command-shortcut.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport {\n\tresolveLayoutLinkRenderer,\n\ttype LayoutLinkRenderer,\n\ttype LayoutNavigationAdapter,\n} from '../layout.types';\n\nexport function useLayoutLinkRenderer({\n\trenderLink,\n\tLinkComponent,\n}: LayoutNavigationAdapter = {}): LayoutLinkRenderer {\n\treturn useMemo(\n\t\t() => resolveLayoutLinkRenderer({ renderLink, LinkComponent }),\n\t\t[renderLink, LinkComponent],\n\t);\n}\n"," \n/** Sidebar utilities — pure path helpers, labels, icon rendering, badge pill. */\nimport * as React from 'react';\n\nimport { Badge } from '@/components/base/badge';\nimport { cn } from '@/lib/utils';\n\nimport type { LayoutIconSource, LayoutLinkRenderer } from '../layout.types';\nimport type { SidebarNavItem } from './sidebar.types';\n\nexport function toPath(href: string): string {\n\tif (href.startsWith('#/')) {\n\t\treturn href.slice(1).split('?')[0]?.split('#')[0] || '/';\n\t}\n\n\ttry {\n\t\treturn new URL(href, 'http://local.invalid').pathname;\n\t} catch {\n\t\treturn href;\n\t}\n}\n\nexport function isPathMatch(currentUrl: string, path: string): boolean {\n\tconst currentPath = toPath(currentUrl);\n\treturn currentPath === path || currentPath.startsWith(path + '/') || currentPath.startsWith(path + '?');\n}\n\nexport function getNavLabel(item: Pick<SidebarNavItem, 'label' | 'title'>): React.ReactNode {\n\treturn item.label ?? item.title ?? '';\n}\n\nexport function getNavKey(item: SidebarNavItem, fallbackIndex?: number): React.Key {\n\tconst label = getNavLabel(item);\n\treturn item.handle ?? item.href ?? (typeof label === 'string' || typeof label === 'number' ? label : `nav-${fallbackIndex ?? 0}`);\n}\n\nexport function NavBadge({\n\tvalue,\n\tsize = 'default',\n}: {\n\tvalue: string | number;\n\tsize?: 'default' | 'small';\n}) {\n\treturn (\n\t\t<Badge\n\t\t\tvariant=\"secondary\"\n\t\t\tclassName={cn(\n\t\t\t\t'ml-auto rounded-full tabular-nums text-sidebar-foreground',\n\t\t\t\tsize === 'small' ? 'h-4 min-w-4 px-1.5' : 'h-5 min-w-5 px-1.5',\n\t\t\t)}\n\t\t>\n\t\t\t{value}\n\t\t</Badge>\n\t);\n}\n\nexport function resolveNavBadge(\n\thandle: string | undefined,\n\titemBadge: string | number | undefined,\n\tliveBadges: Record<string, string | number> | undefined,\n): string | number | undefined {\n\tif (handle && liveBadges && liveBadges[handle] != null) {\n\t\treturn liveBadges[handle];\n\t}\n\treturn itemBadge;\n}\n\nexport interface DynamicIconProps extends React.SVGProps<SVGSVGElement> {\n\ticon: LayoutIconSource;\n\ticonMap?: Record<string, React.ComponentType<{ className?: string }>>;\n\tsize?: number;\n\tclassName?: string;\n}\n\nexport function DynamicIcon({\n\ticon,\n\ticonMap = {},\n\tsize = 20,\n\tclassName = 'size-4',\n\t...props\n}: DynamicIconProps) {\n\tif (!icon) return null;\n\n\tif (typeof icon === 'string') {\n\t\tconst IconComponent = iconMap[icon];\n\t\treturn IconComponent ? <IconComponent className={className} /> : null;\n\t}\n\n\tif (React.isValidElement(icon)) {\n\t\treturn React.cloneElement(icon as React.ReactElement<React.SVGProps<SVGSVGElement>>, {\n\t\t\tclassName: cn(className, (icon.props as { className?: string }).className),\n\t\t\t...props,\n\t\t});\n\t}\n\n\tif (\n\t\ttypeof icon === 'function'\n\t\t|| (typeof icon === 'object' && icon !== null && '$$typeof' in icon)\n\t) {\n\t\tconst IconComponent = icon as React.ElementType<React.SVGProps<SVGSVGElement>>;\n\t\treturn <IconComponent className={className} width={size} height={size} {...props} />;\n\t}\n\n\treturn null;\n}\n\nexport function renderSidebarLink(\n\trenderLink: LayoutLinkRenderer,\n\titem: SidebarNavItem,\n\tchildren: React.ReactNode,\n\tclassName?: string,\n\tactive?: boolean,\n) {\n\treturn renderLink({\n\t\thref: item.href,\n\t\tchildren,\n\t\tclassName,\n\t\tactive,\n\t\tdisabled: item.disabled || !item.href,\n\t\texternal: item.external,\n\t});\n}\n","import { useCallback } from 'react';\n\nimport { isPathMatch, toPath } from '../sidebar/sidebar.utils';\n\nexport function useActivePath(currentUrl = '/') {\n\treturn useCallback(\n\t\t(href?: string) => !!href && isPathMatch(currentUrl, toPath(href)),\n\t\t[currentUrl],\n\t);\n}\n","import { useEffect } from 'react';\n\nexport interface UseCommandShortcutOptions {\n\tkey: string;\n\tenabled?: boolean;\n\tonTrigger?: () => void;\n\tpreventDefault?: boolean;\n}\n\nexport function useCommandShortcut({\n\tkey,\n\tenabled = true,\n\tonTrigger,\n\tpreventDefault = true,\n}: UseCommandShortcutOptions) {\n\tuseEffect(() => {\n\t\tif (!enabled || !onTrigger || typeof document === 'undefined') return;\n\n\t\tconst handler = (event: KeyboardEvent) => {\n\t\t\tif (!(event.metaKey || event.ctrlKey)) return;\n\t\t\tif (event.key.toLowerCase() !== key.toLowerCase()) return;\n\t\t\tif (preventDefault) event.preventDefault();\n\t\t\tonTrigger();\n\t\t};\n\n\t\tdocument.addEventListener('keydown', handler);\n\t\treturn () => document.removeEventListener('keydown', handler);\n\t}, [enabled, key, onTrigger, preventDefault]);\n}\n"],"mappings":";;;;;;;AAQA,SAAgB,EAAsB,EACrC,eACA,qBAC4B,CAAC,GAAuB;CACpD,OAAO,QACA,EAA0B;EAAE;EAAY;CAAc,CAAC,GAC7D,CAAC,GAAY,CAAa,CAC3B;AACD;;;ACNA,SAAgB,EAAO,GAAsB;CAC5C,IAAI,EAAK,WAAW,IAAI,GACvB,OAAO,EAAK,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,MAAM;CAGtD,IAAI;EACH,OAAO,IAAI,IAAI,GAAM,sBAAsB,EAAE;CAC9C,QAAQ;EACP,OAAO;CACR;AACD;AAEA,SAAgB,EAAY,GAAoB,GAAuB;CACtE,IAAM,IAAc,EAAO,CAAU;CACrC,OAAO,MAAgB,KAAQ,EAAY,WAAW,IAAO,GAAG,KAAK,EAAY,WAAW,IAAO,GAAG;AACvG;AAEA,SAAgB,EAAY,GAAgE;CAC3F,OAAO,EAAK,SAAS,EAAK,SAAS;AACpC;AAEA,SAAgB,EAAU,GAAsB,GAAmC;CAClF,IAAM,IAAQ,EAAY,CAAI;CAC9B,OAAO,EAAK,UAAU,EAAK,SAAS,OAAO,KAAU,YAAY,OAAO,KAAU,WAAW,IAAQ,OAAO,KAAiB;AAC9H;AAEA,SAAgB,EAAS,EACxB,UACA,UAAO,aAIL;CACF,OACC,kBAAC,GAAD;EACC,SAAQ;EACR,WAAW,EACV,6DACA,MAAS,UAAU,uBAAuB,oBAC3C;YAEC;CACK,CAAA;AAET;AAEA,SAAgB,EACf,GACA,GACA,GAC8B;CAI9B,OAHI,KAAU,KAAc,EAAW,MAAW,OAC1C,EAAW,KAEZ;AACR;AASA,SAAgB,EAAY,EAC3B,SACA,aAAU,CAAC,GACX,UAAO,IACP,eAAY,UACZ,GAAG,KACiB;CACpB,IAAI,CAAC,GAAM,OAAO;CAElB,IAAI,OAAO,KAAS,UAAU;EAC7B,IAAM,IAAgB,EAAQ;EAC9B,OAAO,IAAgB,kBAAC,GAAD,EAA0B,aAAY,CAAA,IAAI;CAClE;CAiBA,OAfI,EAAM,eAAe,CAAI,IACrB,EAAM,aAAa,GAA2D;EACpF,WAAW,EAAG,GAAY,EAAK,MAAiC,SAAS;EACzE,GAAG;CACJ,CAAC,IAID,OAAO,KAAS,cACZ,OAAO,KAAS,YAAY,KAAiB,cAAc,IAGxD,kBAAC,GAAD;EAA0B;EAAW,OAAO;EAAM,QAAQ;EAAM,GAAI;CAAQ,CAAA,IAG7E;AACR;AAEA,SAAgB,EACf,GACA,GACA,GACA,GACA,GACC;CACD,OAAO,EAAW;EACjB,MAAM,EAAK;EACX;EACA;EACA;EACA,UAAU,EAAK,YAAY,CAAC,EAAK;EACjC,UAAU,EAAK;CAChB,CAAC;AACF;;;ACrHA,SAAgB,EAAc,IAAa,KAAK;CAC/C,OAAO,GACL,MAAkB,CAAC,CAAC,KAAQ,EAAY,GAAY,EAAO,CAAI,CAAC,GACjE,CAAC,CAAU,CACZ;AACD;;;ACAA,SAAgB,EAAmB,EAClC,QACA,aAAU,IACV,cACA,oBAAiB,MACY;CAC7B,QAAgB;EACf,IAAI,CAAC,KAAW,CAAC,KAAa,OAAO,WAAa,KAAa;EAE/D,IAAM,KAAW,MAAyB;GACnC,GAAM,WAAW,EAAM,YACzB,EAAM,IAAI,YAAY,MAAM,EAAI,YAAY,MAC5C,KAAgB,EAAM,eAAe,GACzC,EAAU;EACX;EAGA,OADA,SAAS,iBAAiB,WAAW,CAAO,SAC/B,SAAS,oBAAoB,WAAW,CAAO;CAC7D,GAAG;EAAC;EAAS;EAAK;EAAW;CAAc,CAAC;AAC7C"}
@@ -0,0 +1,15 @@
1
+ //#region src/components/base/display/icon-size.ts
2
+ var e = {
3
+ default: "size-icon",
4
+ small: "size-icon-sm"
5
+ }, t = {
6
+ default: "[&>svg]:size-icon",
7
+ small: "[&>svg]:size-icon-sm"
8
+ }, n = {
9
+ default: "[&_svg:not([class*='size-'])]:size-icon",
10
+ small: "[&_svg:not([class*='size-'])]:size-icon-sm"
11
+ };
12
+ //#endregion
13
+ export { n, e as r, t };
14
+
15
+ //# sourceMappingURL=icon-size-CMNigtUu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-size-CMNigtUu.js","names":[],"sources":["../../src/components/base/display/icon-size.ts"],"sourcesContent":["import type { ComponentScale } from '@/lib/ui-provider';\n\nexport type IconScale = ComponentScale;\n\nexport const ICON_SIZE_CLASSNAMES: Record<IconScale, string> = {\n\tdefault: 'size-icon',\n\tsmall: 'size-icon-sm',\n};\n\nexport const ICON_CHILD_SIZE_CLASSNAMES: Record<IconScale, string> = {\n\tdefault: '[&>svg]:size-icon',\n\tsmall: '[&>svg]:size-icon-sm',\n};\n\nexport const ICON_DESCENDANT_SIZE_CLASSNAMES: Record<IconScale, string> = {\n\tdefault: \"[&_svg:not([class*='size-'])]:size-icon\",\n\tsmall: \"[&_svg:not([class*='size-'])]:size-icon-sm\",\n};\n"],"mappings":";AAIA,IAAa,IAAkD;CAC9D,SAAS;CACT,OAAO;AACR,GAEa,IAAwD;CACpE,SAAS;CACT,OAAO;AACR,GAEa,IAA6D;CACzE,SAAS;CACT,OAAO;AACR"}
@@ -0,0 +1,2 @@
1
+ var e={default:`size-icon`,small:`size-icon-sm`},t={default:`[&>svg]:size-icon`,small:`[&>svg]:size-icon-sm`},n={default:`[&_svg:not([class*='size-'])]:size-icon`,small:`[&_svg:not([class*='size-'])]:size-icon-sm`};Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return t}});
2
+ //# sourceMappingURL=icon-size-D2NnYd0K.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-size-D2NnYd0K.cjs","names":[],"sources":["../../src/components/base/display/icon-size.ts"],"sourcesContent":["import type { ComponentScale } from '@/lib/ui-provider';\n\nexport type IconScale = ComponentScale;\n\nexport const ICON_SIZE_CLASSNAMES: Record<IconScale, string> = {\n\tdefault: 'size-icon',\n\tsmall: 'size-icon-sm',\n};\n\nexport const ICON_CHILD_SIZE_CLASSNAMES: Record<IconScale, string> = {\n\tdefault: '[&>svg]:size-icon',\n\tsmall: '[&>svg]:size-icon-sm',\n};\n\nexport const ICON_DESCENDANT_SIZE_CLASSNAMES: Record<IconScale, string> = {\n\tdefault: \"[&_svg:not([class*='size-'])]:size-icon\",\n\tsmall: \"[&_svg:not([class*='size-'])]:size-icon-sm\",\n};\n"],"mappings":"AAIA,IAAa,EAAkD,CAC9D,QAAS,YACT,MAAO,cACR,EAEa,EAAwD,CACpE,QAAS,oBACT,MAAO,sBACR,EAEa,EAA6D,CACzE,QAAS,0CACT,MAAO,4CACR"}
@@ -0,0 +1,182 @@
1
+ import { useStrings as e } from "../lib/strings.js";
2
+ import { o as t } from "./ui-provider-Dz2qXgZQ.js";
3
+ import { cn as n } from "../lib/utils.js";
4
+ import { s as r } from "./typography-C_kCoR1d.js";
5
+ import { a as i, f as a, i as o, l as s, n as c, o as l, r as u, t as d, u as f } from "./form-sizing-VNEGzvM7.js";
6
+ import * as p from "react";
7
+ import { memo as m, useCallback as h, useId as g, useMemo as _, useRef as v, useState as y } from "react";
8
+ import { jsx as b, jsxs as x } from "react/jsx-runtime";
9
+ import { CircleXIcon as S, Loader2Icon as C } from "lucide-react";
10
+ //#region src/components/base/forms/fields/hooks/use-form-field-state.ts
11
+ function w({ controlledValue: e, defaultValue: t, maxLength: n, showCharacterCount: r, providedId: i, idPrefix: a = "field", hasOnChange: o }) {
12
+ let s = g(), c = i || `${a}${s}`, [l, u] = y(t || ""), d = e !== void 0, f = (d ? e : l) ?? "", p = !!(o && !d && !t), m = f.length, v = n !== void 0, b = r === !1 ? !1 : !!(r || v), x = f !== "", S = h((e) => v && e.length > n, [v, n]), C = h((e) => S(e) ? !1 : (d || u(e), !0), [d, S]), w = h(() => {
13
+ d || u("");
14
+ }, [d]);
15
+ return _(() => ({
16
+ id: c,
17
+ value: f,
18
+ isControlled: d,
19
+ isReactHookForm: p,
20
+ characterCount: m,
21
+ hasCharacterLimit: v,
22
+ showCount: b,
23
+ hasValue: x,
24
+ updateValue: C,
25
+ clearValue: w,
26
+ wouldExceedLimit: S
27
+ }), [
28
+ c,
29
+ f,
30
+ d,
31
+ p,
32
+ m,
33
+ v,
34
+ b,
35
+ x,
36
+ C,
37
+ w,
38
+ S
39
+ ]);
40
+ }
41
+ //#endregion
42
+ //#region src/components/base/forms/fields/input.tsx
43
+ var ee = { clear: "Clear input" }, T = (e, t, n) => {
44
+ let r = e || "";
45
+ return t && r && (r = t + r), n && r && (r += n), r;
46
+ };
47
+ function E({ className: p, type: m = "text", startIcon: g, endIcon: y, startAddon: E, endAddon: D, maxLength: O, showCharacterCount: te, clearable: ne, onClear: k, isLoading: A, returnValueWithAddons: j, invalid: re, size: M, onChange: N, value: ie, defaultValue: ae, id: oe, strings: se, ...P }, F) {
48
+ let I = v(null), ce = e(ee, se), { defaultControlSize: le } = t(), L = a(M, le), R = h((e) => {
49
+ typeof F == "function" ? F(e) : F && (F.current = e), I.current = e;
50
+ }, [F]), { id: z, value: B, isReactHookForm: V, characterCount: H, hasCharacterLimit: U, showCount: W, hasValue: G, updateValue: K, clearValue: q, wouldExceedLimit: J } = w({
51
+ controlledValue: ie,
52
+ defaultValue: ae,
53
+ maxLength: O,
54
+ showCharacterCount: te,
55
+ providedId: oe,
56
+ idPrefix: "input",
57
+ hasOnChange: N !== void 0
58
+ }), Y = !!ne, X = !!A, ue = !!y, de = !!D, Z = m === "file", Q = !!re, fe = _(() => {
59
+ let e = L === "small" ? "ps-control-sm" : "ps-control", t = L === "small" ? "pe-control-sm" : "pe-control";
60
+ return g && (e = l[L]), E && (e = d[L]), y && (t = o[L]), D && (t = u[L]), (Y && G || X) && (t = o[L]), W && (t = c[L]), `${e} ${t}`;
61
+ }, [
62
+ g,
63
+ E,
64
+ y,
65
+ D,
66
+ Y,
67
+ G,
68
+ X,
69
+ W,
70
+ L
71
+ ]), pe = h((e) => {
72
+ let t = e.target.value;
73
+ if (!J(t) && (K(t), N)) if (j) {
74
+ let n = T(t, E, D);
75
+ N({
76
+ ...e,
77
+ target: {
78
+ ...e.target,
79
+ value: n
80
+ },
81
+ currentTarget: {
82
+ ...e.currentTarget,
83
+ value: n
84
+ }
85
+ });
86
+ } else N(e);
87
+ }, [
88
+ N,
89
+ j,
90
+ E,
91
+ D,
92
+ K,
93
+ J
94
+ ]), me = h(() => {
95
+ let e = j ? T("", E, D) : "", t = {
96
+ target: { value: e },
97
+ currentTarget: { value: e }
98
+ };
99
+ q(), N?.(t), k?.(), I.current?.focus();
100
+ }, [
101
+ j,
102
+ E,
103
+ D,
104
+ q,
105
+ N,
106
+ k
107
+ ]), he = Y && G && !W && !X, ge = X && !W, $ = ue && !Y && !W && !X, _e = de && !Y && !W && !X;
108
+ return /* @__PURE__ */ x("div", {
109
+ className: n("input--component", "relative"),
110
+ children: [
111
+ /* @__PURE__ */ b("input", {
112
+ ref: R,
113
+ id: z,
114
+ type: m,
115
+ ...!V && { value: B },
116
+ onChange: pe,
117
+ maxLength: O,
118
+ "aria-invalid": Q || void 0,
119
+ disabled: P.disabled || A,
120
+ className: n("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground", "border-input flex w-full min-w-0 rounded-radius border", "transition-[color,box-shadow] outline-none", "disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", f[L], s[L], "file:inline-flex file:h-control-file file:border file:bg-transparent file:px-control file:font-medium", "file:text-pxs", Z ? "cursor-pointer bg-background text-foreground file:cursor-pointer file:rounded-md file:border-input file:bg-background file:text-foreground" : "bg-transparent", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 aria-invalid:border-destructive aria-invalid:text-destructive", "aria-invalid:placeholder:text-destructive/40", Z ? "read-only:bg-background" : "read-only:bg-muted", fe, p),
121
+ ...P
122
+ }),
123
+ !!g && /* @__PURE__ */ b("div", {
124
+ className: n("pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-control", P.disabled && "opacity-50", Q ? "text-destructive" : "text-muted-foreground/80"),
125
+ children: /* @__PURE__ */ b(g, {
126
+ className: i[L],
127
+ "aria-hidden": "true"
128
+ })
129
+ }),
130
+ !!E && /* @__PURE__ */ b("span", {
131
+ className: n("pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center", L === "small" ? "ps-control-sm text-pxs" : "ps-control text-sm", P.disabled && "opacity-50", Q ? "text-destructive" : "text-muted-foreground"),
132
+ children: E
133
+ }),
134
+ !!$ && !!y && /* @__PURE__ */ b("div", {
135
+ className: n("pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-control", P.disabled && "opacity-50", Q ? "text-destructive" : "text-muted-foreground/80"),
136
+ children: /* @__PURE__ */ b(y, {
137
+ className: i[L],
138
+ "aria-hidden": "true"
139
+ })
140
+ }),
141
+ !!_e && /* @__PURE__ */ b("span", {
142
+ className: n("pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center", L === "small" ? "pe-control-sm text-pxs" : "pe-control text-sm", P.disabled && "opacity-50", Q ? "text-destructive" : "text-muted-foreground"),
143
+ children: D
144
+ }),
145
+ !!W && /* @__PURE__ */ b("div", {
146
+ className: n("pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center tabular-nums", L === "small" ? "pe-control-sm text-pxs" : "pe-control text-sm", P.disabled && "opacity-50", Q ? "text-destructive" : "text-muted-foreground"),
147
+ "aria-live": "polite",
148
+ role: "status",
149
+ children: /* @__PURE__ */ x(r, {
150
+ tag: "span",
151
+ size: L === "small" ? "xxs" : "xs",
152
+ type: Q ? "error" : "secondary",
153
+ children: [H, U ? `/${O}` : ""]
154
+ })
155
+ }),
156
+ !!ge && /* @__PURE__ */ b("div", {
157
+ className: n("pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-control", Q ? "text-destructive" : "text-muted-foreground/80"),
158
+ children: /* @__PURE__ */ b(C, {
159
+ className: n(i[L], "animate-spin"),
160
+ "aria-hidden": "true"
161
+ })
162
+ }),
163
+ !!he && /* @__PURE__ */ b("button", {
164
+ type: "button",
165
+ className: "text-muted-foreground/80 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute inset-y-0 end-0 flex h-full w-control-clear items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus-visible:z-10 focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",
166
+ "aria-label": ce.clear,
167
+ onClick: me,
168
+ disabled: A,
169
+ children: /* @__PURE__ */ b(S, {
170
+ className: i[L],
171
+ "aria-hidden": "true"
172
+ })
173
+ })
174
+ ]
175
+ });
176
+ }
177
+ var D = m(p.forwardRef(E));
178
+ D.displayName = "Input";
179
+ //#endregion
180
+ export { w as n, D as t };
181
+
182
+ //# sourceMappingURL=input-BEhrcsk7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-BEhrcsk7.js","names":[],"sources":["../../src/components/base/forms/fields/hooks/use-form-field-state.ts","../../src/components/base/forms/fields/input.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, useId } from 'react';\n\nexport interface UseFormFieldStateOptions {\n /** Controlled value from parent */\n controlledValue?: string;\n /** Default value for uncontrolled mode */\n defaultValue?: string;\n /** Maximum character length */\n maxLength?: number;\n /** Whether to show character count */\n showCharacterCount?: boolean;\n /** Provided ID or auto-generate */\n providedId?: string;\n /** Prefix for auto-generated ID */\n idPrefix?: string;\n /** Whether onChange is provided (for react-hook-form detection) */\n hasOnChange?: boolean;\n}\n\nexport interface UseFormFieldStateReturn {\n /** Generated or provided ID */\n id: string;\n /** Current value (controlled or internal) */\n value: string;\n /** Whether component is in controlled mode */\n isControlled: boolean;\n /** Whether using react-hook-form (has onChange but no controlled value) */\n isReactHookForm: boolean;\n /** Current character count */\n characterCount: number;\n /** Whether a character limit is set */\n hasCharacterLimit: boolean;\n /** Whether to show character count UI */\n showCount: boolean;\n /** Whether the field has a value */\n hasValue: boolean;\n /** Update value - returns false if blocked by character limit */\n updateValue: (newValue: string) => boolean;\n /** Clear the value */\n clearValue: () => void;\n /** Check if a new value would exceed the character limit */\n wouldExceedLimit: (newValue: string) => boolean;\n}\n\n/**\n * Shared hook for managing form field state including:\n * - Controlled vs uncontrolled value handling\n * - Character counting and limits\n * - React Hook Form compatibility detection\n * - ID generation\n */\nexport function useFormFieldState({\n controlledValue,\n defaultValue,\n maxLength,\n showCharacterCount,\n providedId,\n idPrefix = 'field',\n hasOnChange,\n}: UseFormFieldStateOptions): UseFormFieldStateReturn {\n // Generate stable ID using React 18's useId (SSR-safe)\n const reactId = useId();\n const id = providedId || `${idPrefix}${reactId}`;\n\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState(defaultValue || '');\n\n // Determine control mode\n const isControlled = controlledValue !== undefined;\n\n // Normalize value (handle null from backend)\n const rawValue = isControlled ? controlledValue : internalValue;\n const value = rawValue ?? '';\n\n // React Hook Form detection: has onChange but no controlled value or defaultValue\n const isReactHookForm = Boolean(hasOnChange && !isControlled && !defaultValue);\n\n // Character counting\n const characterCount = value.length;\n const hasCharacterLimit = maxLength !== undefined;\n const showCount = showCharacterCount === false ? false : Boolean(showCharacterCount || hasCharacterLimit);\n const hasValue = value !== '';\n\n // Check if value would exceed limit\n const wouldExceedLimit = useCallback(\n (newValue: string) => {\n return hasCharacterLimit && newValue.length > maxLength;\n },\n [hasCharacterLimit, maxLength]\n );\n\n // Update value (respects character limit, updates internal state if uncontrolled)\n const updateValue = useCallback(\n (newValue: string): boolean => {\n if (wouldExceedLimit(newValue)) {\n return false;\n }\n if (!isControlled) {\n setInternalValue(newValue);\n }\n return true;\n },\n [isControlled, wouldExceedLimit]\n );\n\n // Clear value\n const clearValue = useCallback(() => {\n if (!isControlled) {\n setInternalValue('');\n }\n }, [isControlled]);\n\n return useMemo(\n () => ({\n id,\n value,\n isControlled,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n }),\n [\n id,\n value,\n isControlled,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n ]\n );\n}\n","import { CircleXIcon, Loader2Icon, type LucideIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { useRef, useCallback, useMemo, memo } from 'react';\nimport { Text } from '@/components/typography';\nimport { useFormsConfig, type FormControlSize } from '@/lib/ui-provider';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\nimport {\n formControlAddonOffsetClasses,\n formControlCountOffsetClasses,\n formControlEndAddonOffsetClasses,\n formControlEndIconOffsetClasses,\n formControlIconClasses,\n formControlIconOffsetClasses,\n formControlPaddingClasses,\n formControlSizeClasses,\n resolveFormControlSize,\n} from '../form-sizing';\nimport { useFormFieldState } from './hooks';\n\nexport interface InputStrings {\n clear: string;\n}\n\nexport const defaultInputStrings: InputStrings = {\n clear: 'Clear input',\n};\n\n/**\n * Helper function to get value with prefix/suffix\n */\nconst getValueWithAddons = (value: string, startAddon?: string, endAddon?: string): string => {\n let result = value || '';\n if (startAddon && result) result = startAddon + result;\n if (endAddon && result) result = result + endAddon;\n return result;\n};\n\nexport interface InputProps extends Omit<React.ComponentProps<'input'>, 'onChange' | 'size'> {\n // Icon props\n startIcon?: LucideIcon;\n endIcon?: LucideIcon;\n\n // Add-on props (visual prefix/suffix inside input)\n startAddon?: string;\n endAddon?: string;\n\n // Character limit\n maxLength?: number;\n showCharacterCount?: boolean;\n\n // Clear button\n clearable?: boolean;\n onClear?: () => void;\n\n // Loading state\n isLoading?: boolean;\n\n // Return value with addons in onChange\n returnValueWithAddons?: boolean;\n\n // Error state for styling (passed from FormField)\n invalid?: boolean;\n\n // Visual size\n size?: FormControlSize;\n\n // Value props\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n value?: string;\n defaultValue?: string;\n\n // String overrides (e.g. clear button aria-label)\n strings?: StringsProp<InputStrings>;\n}\n\nfunction InputImpl(\n\t{\n\t\tclassName,\n\t\ttype = 'text',\n\t\tstartIcon: StartIcon,\n\t\tendIcon: EndIcon,\n\t\tstartAddon,\n\t\tendAddon,\n\t\tmaxLength,\n\t\tshowCharacterCount,\n\t\tclearable,\n\t\tonClear,\n\t\tisLoading,\n\t\treturnValueWithAddons,\n\t\tinvalid,\n\t\tsize: sizeProp,\n\t\tonChange,\n\t\tvalue: controlledValue,\n\t\tdefaultValue,\n\t\tid: providedId,\n\t\tstrings: stringsProp,\n\t\t...props\n\t}: InputProps,\n\tforwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const inputRef = useRef<HTMLInputElement>(null);\n const strings = useStrings(defaultInputStrings, stringsProp);\n const { defaultControlSize } = useFormsConfig();\n const size = resolveFormControlSize(sizeProp, defaultControlSize);\n\n // Memoize ref callback to avoid recreation on every render\n const setRefs = useCallback(\n (node: HTMLInputElement | null) => {\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n inputRef.current = node;\n },\n [forwardedRef]\n );\n\n // Use shared form field state hook\n const {\n id,\n value: inputValue,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n } = useFormFieldState({\n controlledValue,\n defaultValue,\n maxLength,\n showCharacterCount,\n providedId,\n idPrefix: 'input',\n hasOnChange: onChange !== undefined,\n });\n\n // Derive display states (simple booleans, no need for useMemo)\n const isClearable = !!clearable;\n const isShowingLoading = !!isLoading;\n const hasEndIcon = !!EndIcon;\n const hasEndAddon = !!endAddon;\n const isFileInput = type === 'file';\n const hasError = !!invalid;\n\n // Memoize padding classes based on add-ons and icons\n // Addon padding sized so the value sits adjacent to the addon — `ps-3`\n // baseline + a measured space for addon text. Wider addons can override\n // via `className` (`ps-16` etc.) at the call site.\n const inputPaddingClasses = useMemo(() => {\n let paddingStart = size === 'small' ? 'ps-control-sm' : 'ps-control';\n let paddingEnd = size === 'small' ? 'pe-control-sm' : 'pe-control';\n\n if (StartIcon) paddingStart = formControlIconOffsetClasses[size];\n if (startAddon) paddingStart = formControlAddonOffsetClasses[size];\n\n if (EndIcon) paddingEnd = formControlEndIconOffsetClasses[size];\n if (endAddon) paddingEnd = formControlEndAddonOffsetClasses[size];\n if ((isClearable && hasValue) || isShowingLoading) paddingEnd = formControlEndIconOffsetClasses[size];\n if (showCount) paddingEnd = formControlCountOffsetClasses[size];\n\n return `${paddingStart} ${paddingEnd}`;\n }, [StartIcon, startAddon, EndIcon, endAddon, isClearable, hasValue, isShowingLoading, showCount, size]);\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n\n // Check character limit\n if (wouldExceedLimit(newValue)) {\n return;\n }\n\n // Update internal state if uncontrolled\n updateValue(newValue);\n\n // Call external onChange with modified event if addons are requested\n if (onChange) {\n if (returnValueWithAddons) {\n const valueWithAddons = getValueWithAddons(newValue, startAddon, endAddon);\n const modifiedEvent = {\n ...e,\n target: { ...e.target, value: valueWithAddons },\n currentTarget: { ...e.currentTarget, value: valueWithAddons },\n };\n onChange(modifiedEvent as React.ChangeEvent<HTMLInputElement>);\n } else {\n onChange(e);\n }\n }\n },\n [onChange, returnValueWithAddons, startAddon, endAddon, updateValue, wouldExceedLimit]\n );\n\n const handleClear = useCallback(() => {\n const clearValueWithAddons = returnValueWithAddons\n ? getValueWithAddons('', startAddon, endAddon)\n : '';\n const syntheticEvent = {\n target: { value: clearValueWithAddons },\n currentTarget: { value: clearValueWithAddons },\n } as React.ChangeEvent<HTMLInputElement>;\n\n // Clear internal state\n clearValue();\n\n // Notify parent\n onChange?.(syntheticEvent);\n\n // Execute optional onClear callback\n onClear?.();\n\n // Focus the input after clearing\n inputRef.current?.focus();\n }, [returnValueWithAddons, startAddon, endAddon, clearValue, onChange, onClear]);\n\n // Determine what to show in the end position (priority order)\n const showClearButton = isClearable && hasValue && !showCount && !isShowingLoading;\n const showLoadingSpinner = isShowingLoading && !showCount;\n const showEndIcon = hasEndIcon && !isClearable && !showCount && !isShowingLoading;\n const showEndAddon = hasEndAddon && !isClearable && !showCount && !isShowingLoading;\n\n return (\n <div className={cn('input--component', 'relative')}>\n <input\n ref={setRefs}\n id={id}\n type={type}\n {...(!isReactHookForm && { value: inputValue })}\n onChange={handleInputChange}\n maxLength={maxLength}\n aria-invalid={hasError || undefined}\n disabled={props.disabled || isLoading}\n className={cn(\n // Base styles\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground',\n 'border-input flex w-full min-w-0 rounded-radius border',\n 'transition-[color,box-shadow] outline-none',\n 'disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n formControlSizeClasses[size],\n formControlPaddingClasses[size],\n // File input styles\n 'file:inline-flex file:h-control-file file:border file:bg-transparent file:px-control file:font-medium',\n 'file:text-pxs',\n isFileInput\n ? 'cursor-pointer bg-background text-foreground file:cursor-pointer file:rounded-md file:border-input file:bg-background file:text-foreground'\n : 'bg-transparent',\n // Focus styles\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n // Invalid/error styles — destructive border, ring, value text\n 'aria-invalid:ring-destructive/20 aria-invalid:border-destructive aria-invalid:text-destructive',\n 'aria-invalid:placeholder:text-destructive/40',\n // Read-only styles\n isFileInput\n ? 'read-only:bg-background'\n : 'read-only:bg-muted',\n // Dynamic padding\n inputPaddingClasses,\n className\n )}\n {...props}\n />\n\n {/* Start Icon */}\n {!!StartIcon && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-control',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <StartIcon className={formControlIconClasses[size]} aria-hidden=\"true\" />\n </div>\n )}\n\n {/* Start Add-on */}\n {!!startAddon && (\n <span\n className={cn(\n 'pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center',\n size === 'small' ? 'ps-control-sm text-pxs' : 'ps-control text-sm',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n >\n {startAddon}\n </span>\n )}\n\n {/* End Icon */}\n {!!showEndIcon && !!EndIcon && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-control',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <EndIcon className={formControlIconClasses[size]} aria-hidden=\"true\" />\n </div>\n )}\n\n {/* End Add-on */}\n {!!showEndAddon && (\n <span\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center',\n size === 'small' ? 'pe-control-sm text-pxs' : 'pe-control text-sm',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n >\n {endAddon}\n </span>\n )}\n\n {/* Character Count */}\n {!!showCount && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center tabular-nums',\n size === 'small' ? 'pe-control-sm text-pxs' : 'pe-control text-sm',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n aria-live=\"polite\"\n role=\"status\"\n >\n <Text tag=\"span\" size={size === 'small' ? 'xxs' : 'xs'} type={hasError ? 'error' : 'secondary'}>\n {characterCount}\n {hasCharacterLimit ? `/${maxLength}` : ''}\n </Text>\n </div>\n )}\n\n {/* Loading Spinner */}\n {!!showLoadingSpinner && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-control',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <Loader2Icon className={cn(formControlIconClasses[size], 'animate-spin')} aria-hidden=\"true\" />\n </div>\n )}\n\n {/* Clear Button */}\n {!!showClearButton && (\n <button\n type=\"button\"\n className=\"text-muted-foreground/80 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute inset-y-0 end-0 flex h-full w-control-clear items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus-visible:z-10 focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\"\n aria-label={strings.clear}\n onClick={handleClear}\n disabled={isLoading}\n >\n <CircleXIcon className={formControlIconClasses[size]} aria-hidden=\"true\" />\n </button>\n )}\n </div>\n );\n}\n\n// forwardRef + memo (needed for callers that require refs, e.g. segmented inputs)\nconst Input = memo(React.forwardRef<HTMLInputElement, InputProps>(InputImpl));\nInput.displayName = 'Input';\n\nexport { Input };\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/strings.cjs"),n=require("./ui-provider-CrsJ_dGn.cjs"),r=require("../lib/utils.cjs"),i=require("./typography-sXFd02zl.cjs"),a=require("./form-sizing-lBFpJWv4.cjs");let o=require("react");o=e.t(o,1);let s=require("react/jsx-runtime"),c=require("lucide-react");function l({controlledValue:e,defaultValue:t,maxLength:n,showCharacterCount:r,providedId:i,idPrefix:a=`field`,hasOnChange:s}){let c=(0,o.useId)(),l=i||`${a}${c}`,[u,d]=(0,o.useState)(t||``),f=e!==void 0,p=(f?e:u)??``,m=!!(s&&!f&&!t),h=p.length,g=n!==void 0,_=r===!1?!1:!!(r||g),v=p!==``,y=(0,o.useCallback)(e=>g&&e.length>n,[g,n]),b=(0,o.useCallback)(e=>y(e)?!1:(f||d(e),!0),[f,y]),x=(0,o.useCallback)(()=>{f||d(``)},[f]);return(0,o.useMemo)(()=>({id:l,value:p,isControlled:f,isReactHookForm:m,characterCount:h,hasCharacterLimit:g,showCount:_,hasValue:v,updateValue:b,clearValue:x,wouldExceedLimit:y}),[l,p,f,m,h,g,_,v,b,x,y])}var u={clear:`Clear input`},d=(e,t,n)=>{let r=e||``;return t&&r&&(r=t+r),n&&r&&(r+=n),r};function f({className:e,type:f=`text`,startIcon:p,endIcon:m,startAddon:h,endAddon:g,maxLength:_,showCharacterCount:v,clearable:y,onClear:b,isLoading:x,returnValueWithAddons:S,invalid:C,size:w,onChange:T,value:E,defaultValue:D,id:O,strings:k,...A},j){let M=(0,o.useRef)(null),N=t.useStrings(u,k),{defaultControlSize:P}=n.o(),F=a.f(w,P),I=(0,o.useCallback)(e=>{typeof j==`function`?j(e):j&&(j.current=e),M.current=e},[j]),{id:L,value:R,isReactHookForm:z,characterCount:B,hasCharacterLimit:V,showCount:H,hasValue:U,updateValue:W,clearValue:G,wouldExceedLimit:K}=l({controlledValue:E,defaultValue:D,maxLength:_,showCharacterCount:v,providedId:O,idPrefix:`input`,hasOnChange:T!==void 0}),q=!!y,J=!!x,Y=!!m,X=!!g,Z=f===`file`,Q=!!C,$=(0,o.useMemo)(()=>{let e=F===`small`?`ps-control-sm`:`ps-control`,t=F===`small`?`pe-control-sm`:`pe-control`;return p&&(e=a.o[F]),h&&(e=a.t[F]),m&&(t=a.i[F]),g&&(t=a.r[F]),(q&&U||J)&&(t=a.i[F]),H&&(t=a.n[F]),`${e} ${t}`},[p,h,m,g,q,U,J,H,F]),ee=(0,o.useCallback)(e=>{let t=e.target.value;if(!K(t)&&(W(t),T))if(S){let n=d(t,h,g);T({...e,target:{...e.target,value:n},currentTarget:{...e.currentTarget,value:n}})}else T(e)},[T,S,h,g,W,K]),te=(0,o.useCallback)(()=>{let e=S?d(``,h,g):``,t={target:{value:e},currentTarget:{value:e}};G(),T?.(t),b?.(),M.current?.focus()},[S,h,g,G,T,b]),ne=q&&U&&!H&&!J,re=J&&!H,ie=Y&&!q&&!H&&!J,ae=X&&!q&&!H&&!J;return(0,s.jsxs)(`div`,{className:r.cn(`input--component`,`relative`),children:[(0,s.jsx)(`input`,{ref:I,id:L,type:f,...!z&&{value:R},onChange:ee,maxLength:_,"aria-invalid":Q||void 0,disabled:A.disabled||x,className:r.cn(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground`,`border-input flex w-full min-w-0 rounded-radius border`,`transition-[color,box-shadow] outline-none`,`disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,a.u[F],a.l[F],`file:inline-flex file:h-control-file file:border file:bg-transparent file:px-control file:font-medium`,`file:text-pxs`,Z?`cursor-pointer bg-background text-foreground file:cursor-pointer file:rounded-md file:border-input file:bg-background file:text-foreground`:`bg-transparent`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 aria-invalid:border-destructive aria-invalid:text-destructive`,`aria-invalid:placeholder:text-destructive/40`,Z?`read-only:bg-background`:`read-only:bg-muted`,$,e),...A}),!!p&&(0,s.jsx)(`div`,{className:r.cn(`pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-control`,A.disabled&&`opacity-50`,Q?`text-destructive`:`text-muted-foreground/80`),children:(0,s.jsx)(p,{className:a.a[F],"aria-hidden":`true`})}),!!h&&(0,s.jsx)(`span`,{className:r.cn(`pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center`,F===`small`?`ps-control-sm text-pxs`:`ps-control text-sm`,A.disabled&&`opacity-50`,Q?`text-destructive`:`text-muted-foreground`),children:h}),!!ie&&!!m&&(0,s.jsx)(`div`,{className:r.cn(`pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-control`,A.disabled&&`opacity-50`,Q?`text-destructive`:`text-muted-foreground/80`),children:(0,s.jsx)(m,{className:a.a[F],"aria-hidden":`true`})}),!!ae&&(0,s.jsx)(`span`,{className:r.cn(`pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center`,F===`small`?`pe-control-sm text-pxs`:`pe-control text-sm`,A.disabled&&`opacity-50`,Q?`text-destructive`:`text-muted-foreground`),children:g}),!!H&&(0,s.jsx)(`div`,{className:r.cn(`pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center tabular-nums`,F===`small`?`pe-control-sm text-pxs`:`pe-control text-sm`,A.disabled&&`opacity-50`,Q?`text-destructive`:`text-muted-foreground`),"aria-live":`polite`,role:`status`,children:(0,s.jsxs)(i.s,{tag:`span`,size:F===`small`?`xxs`:`xs`,type:Q?`error`:`secondary`,children:[B,V?`/${_}`:``]})}),!!re&&(0,s.jsx)(`div`,{className:r.cn(`pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-control`,Q?`text-destructive`:`text-muted-foreground/80`),children:(0,s.jsx)(c.Loader2Icon,{className:r.cn(a.a[F],`animate-spin`),"aria-hidden":`true`})}),!!ne&&(0,s.jsx)(`button`,{type:`button`,className:`text-muted-foreground/80 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute inset-y-0 end-0 flex h-full w-control-clear items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus-visible:z-10 focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,"aria-label":N.clear,onClick:te,disabled:x,children:(0,s.jsx)(c.CircleXIcon,{className:a.a[F],"aria-hidden":`true`})})]})}var p=(0,o.memo)(o.forwardRef(f));p.displayName=`Input`,Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return p}});
2
+ //# sourceMappingURL=input-DGvh-izk.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-DGvh-izk.cjs","names":[],"sources":["../../src/components/base/forms/fields/hooks/use-form-field-state.ts","../../src/components/base/forms/fields/input.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, useId } from 'react';\n\nexport interface UseFormFieldStateOptions {\n /** Controlled value from parent */\n controlledValue?: string;\n /** Default value for uncontrolled mode */\n defaultValue?: string;\n /** Maximum character length */\n maxLength?: number;\n /** Whether to show character count */\n showCharacterCount?: boolean;\n /** Provided ID or auto-generate */\n providedId?: string;\n /** Prefix for auto-generated ID */\n idPrefix?: string;\n /** Whether onChange is provided (for react-hook-form detection) */\n hasOnChange?: boolean;\n}\n\nexport interface UseFormFieldStateReturn {\n /** Generated or provided ID */\n id: string;\n /** Current value (controlled or internal) */\n value: string;\n /** Whether component is in controlled mode */\n isControlled: boolean;\n /** Whether using react-hook-form (has onChange but no controlled value) */\n isReactHookForm: boolean;\n /** Current character count */\n characterCount: number;\n /** Whether a character limit is set */\n hasCharacterLimit: boolean;\n /** Whether to show character count UI */\n showCount: boolean;\n /** Whether the field has a value */\n hasValue: boolean;\n /** Update value - returns false if blocked by character limit */\n updateValue: (newValue: string) => boolean;\n /** Clear the value */\n clearValue: () => void;\n /** Check if a new value would exceed the character limit */\n wouldExceedLimit: (newValue: string) => boolean;\n}\n\n/**\n * Shared hook for managing form field state including:\n * - Controlled vs uncontrolled value handling\n * - Character counting and limits\n * - React Hook Form compatibility detection\n * - ID generation\n */\nexport function useFormFieldState({\n controlledValue,\n defaultValue,\n maxLength,\n showCharacterCount,\n providedId,\n idPrefix = 'field',\n hasOnChange,\n}: UseFormFieldStateOptions): UseFormFieldStateReturn {\n // Generate stable ID using React 18's useId (SSR-safe)\n const reactId = useId();\n const id = providedId || `${idPrefix}${reactId}`;\n\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState(defaultValue || '');\n\n // Determine control mode\n const isControlled = controlledValue !== undefined;\n\n // Normalize value (handle null from backend)\n const rawValue = isControlled ? controlledValue : internalValue;\n const value = rawValue ?? '';\n\n // React Hook Form detection: has onChange but no controlled value or defaultValue\n const isReactHookForm = Boolean(hasOnChange && !isControlled && !defaultValue);\n\n // Character counting\n const characterCount = value.length;\n const hasCharacterLimit = maxLength !== undefined;\n const showCount = showCharacterCount === false ? false : Boolean(showCharacterCount || hasCharacterLimit);\n const hasValue = value !== '';\n\n // Check if value would exceed limit\n const wouldExceedLimit = useCallback(\n (newValue: string) => {\n return hasCharacterLimit && newValue.length > maxLength;\n },\n [hasCharacterLimit, maxLength]\n );\n\n // Update value (respects character limit, updates internal state if uncontrolled)\n const updateValue = useCallback(\n (newValue: string): boolean => {\n if (wouldExceedLimit(newValue)) {\n return false;\n }\n if (!isControlled) {\n setInternalValue(newValue);\n }\n return true;\n },\n [isControlled, wouldExceedLimit]\n );\n\n // Clear value\n const clearValue = useCallback(() => {\n if (!isControlled) {\n setInternalValue('');\n }\n }, [isControlled]);\n\n return useMemo(\n () => ({\n id,\n value,\n isControlled,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n }),\n [\n id,\n value,\n isControlled,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n ]\n );\n}\n","import { CircleXIcon, Loader2Icon, type LucideIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { useRef, useCallback, useMemo, memo } from 'react';\nimport { Text } from '@/components/typography';\nimport { useFormsConfig, type FormControlSize } from '@/lib/ui-provider';\nimport { useStrings, type StringsProp } from '@/lib/strings';\nimport { cn } from '@/lib/utils';\nimport {\n formControlAddonOffsetClasses,\n formControlCountOffsetClasses,\n formControlEndAddonOffsetClasses,\n formControlEndIconOffsetClasses,\n formControlIconClasses,\n formControlIconOffsetClasses,\n formControlPaddingClasses,\n formControlSizeClasses,\n resolveFormControlSize,\n} from '../form-sizing';\nimport { useFormFieldState } from './hooks';\n\nexport interface InputStrings {\n clear: string;\n}\n\nexport const defaultInputStrings: InputStrings = {\n clear: 'Clear input',\n};\n\n/**\n * Helper function to get value with prefix/suffix\n */\nconst getValueWithAddons = (value: string, startAddon?: string, endAddon?: string): string => {\n let result = value || '';\n if (startAddon && result) result = startAddon + result;\n if (endAddon && result) result = result + endAddon;\n return result;\n};\n\nexport interface InputProps extends Omit<React.ComponentProps<'input'>, 'onChange' | 'size'> {\n // Icon props\n startIcon?: LucideIcon;\n endIcon?: LucideIcon;\n\n // Add-on props (visual prefix/suffix inside input)\n startAddon?: string;\n endAddon?: string;\n\n // Character limit\n maxLength?: number;\n showCharacterCount?: boolean;\n\n // Clear button\n clearable?: boolean;\n onClear?: () => void;\n\n // Loading state\n isLoading?: boolean;\n\n // Return value with addons in onChange\n returnValueWithAddons?: boolean;\n\n // Error state for styling (passed from FormField)\n invalid?: boolean;\n\n // Visual size\n size?: FormControlSize;\n\n // Value props\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n value?: string;\n defaultValue?: string;\n\n // String overrides (e.g. clear button aria-label)\n strings?: StringsProp<InputStrings>;\n}\n\nfunction InputImpl(\n\t{\n\t\tclassName,\n\t\ttype = 'text',\n\t\tstartIcon: StartIcon,\n\t\tendIcon: EndIcon,\n\t\tstartAddon,\n\t\tendAddon,\n\t\tmaxLength,\n\t\tshowCharacterCount,\n\t\tclearable,\n\t\tonClear,\n\t\tisLoading,\n\t\treturnValueWithAddons,\n\t\tinvalid,\n\t\tsize: sizeProp,\n\t\tonChange,\n\t\tvalue: controlledValue,\n\t\tdefaultValue,\n\t\tid: providedId,\n\t\tstrings: stringsProp,\n\t\t...props\n\t}: InputProps,\n\tforwardedRef: React.ForwardedRef<HTMLInputElement>,\n) {\n const inputRef = useRef<HTMLInputElement>(null);\n const strings = useStrings(defaultInputStrings, stringsProp);\n const { defaultControlSize } = useFormsConfig();\n const size = resolveFormControlSize(sizeProp, defaultControlSize);\n\n // Memoize ref callback to avoid recreation on every render\n const setRefs = useCallback(\n (node: HTMLInputElement | null) => {\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n inputRef.current = node;\n },\n [forwardedRef]\n );\n\n // Use shared form field state hook\n const {\n id,\n value: inputValue,\n isReactHookForm,\n characterCount,\n hasCharacterLimit,\n showCount,\n hasValue,\n updateValue,\n clearValue,\n wouldExceedLimit,\n } = useFormFieldState({\n controlledValue,\n defaultValue,\n maxLength,\n showCharacterCount,\n providedId,\n idPrefix: 'input',\n hasOnChange: onChange !== undefined,\n });\n\n // Derive display states (simple booleans, no need for useMemo)\n const isClearable = !!clearable;\n const isShowingLoading = !!isLoading;\n const hasEndIcon = !!EndIcon;\n const hasEndAddon = !!endAddon;\n const isFileInput = type === 'file';\n const hasError = !!invalid;\n\n // Memoize padding classes based on add-ons and icons\n // Addon padding sized so the value sits adjacent to the addon — `ps-3`\n // baseline + a measured space for addon text. Wider addons can override\n // via `className` (`ps-16` etc.) at the call site.\n const inputPaddingClasses = useMemo(() => {\n let paddingStart = size === 'small' ? 'ps-control-sm' : 'ps-control';\n let paddingEnd = size === 'small' ? 'pe-control-sm' : 'pe-control';\n\n if (StartIcon) paddingStart = formControlIconOffsetClasses[size];\n if (startAddon) paddingStart = formControlAddonOffsetClasses[size];\n\n if (EndIcon) paddingEnd = formControlEndIconOffsetClasses[size];\n if (endAddon) paddingEnd = formControlEndAddonOffsetClasses[size];\n if ((isClearable && hasValue) || isShowingLoading) paddingEnd = formControlEndIconOffsetClasses[size];\n if (showCount) paddingEnd = formControlCountOffsetClasses[size];\n\n return `${paddingStart} ${paddingEnd}`;\n }, [StartIcon, startAddon, EndIcon, endAddon, isClearable, hasValue, isShowingLoading, showCount, size]);\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n\n // Check character limit\n if (wouldExceedLimit(newValue)) {\n return;\n }\n\n // Update internal state if uncontrolled\n updateValue(newValue);\n\n // Call external onChange with modified event if addons are requested\n if (onChange) {\n if (returnValueWithAddons) {\n const valueWithAddons = getValueWithAddons(newValue, startAddon, endAddon);\n const modifiedEvent = {\n ...e,\n target: { ...e.target, value: valueWithAddons },\n currentTarget: { ...e.currentTarget, value: valueWithAddons },\n };\n onChange(modifiedEvent as React.ChangeEvent<HTMLInputElement>);\n } else {\n onChange(e);\n }\n }\n },\n [onChange, returnValueWithAddons, startAddon, endAddon, updateValue, wouldExceedLimit]\n );\n\n const handleClear = useCallback(() => {\n const clearValueWithAddons = returnValueWithAddons\n ? getValueWithAddons('', startAddon, endAddon)\n : '';\n const syntheticEvent = {\n target: { value: clearValueWithAddons },\n currentTarget: { value: clearValueWithAddons },\n } as React.ChangeEvent<HTMLInputElement>;\n\n // Clear internal state\n clearValue();\n\n // Notify parent\n onChange?.(syntheticEvent);\n\n // Execute optional onClear callback\n onClear?.();\n\n // Focus the input after clearing\n inputRef.current?.focus();\n }, [returnValueWithAddons, startAddon, endAddon, clearValue, onChange, onClear]);\n\n // Determine what to show in the end position (priority order)\n const showClearButton = isClearable && hasValue && !showCount && !isShowingLoading;\n const showLoadingSpinner = isShowingLoading && !showCount;\n const showEndIcon = hasEndIcon && !isClearable && !showCount && !isShowingLoading;\n const showEndAddon = hasEndAddon && !isClearable && !showCount && !isShowingLoading;\n\n return (\n <div className={cn('input--component', 'relative')}>\n <input\n ref={setRefs}\n id={id}\n type={type}\n {...(!isReactHookForm && { value: inputValue })}\n onChange={handleInputChange}\n maxLength={maxLength}\n aria-invalid={hasError || undefined}\n disabled={props.disabled || isLoading}\n className={cn(\n // Base styles\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground',\n 'border-input flex w-full min-w-0 rounded-radius border',\n 'transition-[color,box-shadow] outline-none',\n 'disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50',\n formControlSizeClasses[size],\n formControlPaddingClasses[size],\n // File input styles\n 'file:inline-flex file:h-control-file file:border file:bg-transparent file:px-control file:font-medium',\n 'file:text-pxs',\n isFileInput\n ? 'cursor-pointer bg-background text-foreground file:cursor-pointer file:rounded-md file:border-input file:bg-background file:text-foreground'\n : 'bg-transparent',\n // Focus styles\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n // Invalid/error styles — destructive border, ring, value text\n 'aria-invalid:ring-destructive/20 aria-invalid:border-destructive aria-invalid:text-destructive',\n 'aria-invalid:placeholder:text-destructive/40',\n // Read-only styles\n isFileInput\n ? 'read-only:bg-background'\n : 'read-only:bg-muted',\n // Dynamic padding\n inputPaddingClasses,\n className\n )}\n {...props}\n />\n\n {/* Start Icon */}\n {!!StartIcon && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center ps-control',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <StartIcon className={formControlIconClasses[size]} aria-hidden=\"true\" />\n </div>\n )}\n\n {/* Start Add-on */}\n {!!startAddon && (\n <span\n className={cn(\n 'pointer-events-none absolute inset-y-0 start-0 flex items-center justify-center',\n size === 'small' ? 'ps-control-sm text-pxs' : 'ps-control text-sm',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n >\n {startAddon}\n </span>\n )}\n\n {/* End Icon */}\n {!!showEndIcon && !!EndIcon && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-control',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <EndIcon className={formControlIconClasses[size]} aria-hidden=\"true\" />\n </div>\n )}\n\n {/* End Add-on */}\n {!!showEndAddon && (\n <span\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center',\n size === 'small' ? 'pe-control-sm text-pxs' : 'pe-control text-sm',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n >\n {endAddon}\n </span>\n )}\n\n {/* Character Count */}\n {!!showCount && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center tabular-nums',\n size === 'small' ? 'pe-control-sm text-pxs' : 'pe-control text-sm',\n props.disabled && 'opacity-50',\n hasError ? 'text-destructive' : 'text-muted-foreground'\n )}\n aria-live=\"polite\"\n role=\"status\"\n >\n <Text tag=\"span\" size={size === 'small' ? 'xxs' : 'xs'} type={hasError ? 'error' : 'secondary'}>\n {characterCount}\n {hasCharacterLimit ? `/${maxLength}` : ''}\n </Text>\n </div>\n )}\n\n {/* Loading Spinner */}\n {!!showLoadingSpinner && (\n <div\n className={cn(\n 'pointer-events-none absolute inset-y-0 end-0 flex items-center justify-center pe-control',\n hasError ? 'text-destructive' : 'text-muted-foreground/80'\n )}\n >\n <Loader2Icon className={cn(formControlIconClasses[size], 'animate-spin')} aria-hidden=\"true\" />\n </div>\n )}\n\n {/* Clear Button */}\n {!!showClearButton && (\n <button\n type=\"button\"\n className=\"text-muted-foreground/80 hover:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 absolute inset-y-0 end-0 flex h-full w-control-clear items-center justify-center rounded-e-md transition-[color,box-shadow] outline-none focus-visible:z-10 focus-visible:ring-[3px] disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\"\n aria-label={strings.clear}\n onClick={handleClear}\n disabled={isLoading}\n >\n <CircleXIcon className={formControlIconClasses[size]} aria-hidden=\"true\" />\n </button>\n )}\n </div>\n );\n}\n\n// forwardRef + memo (needed for callers that require refs, e.g. segmented inputs)\nconst Input = memo(React.forwardRef<HTMLInputElement, InputProps>(InputImpl));\nInput.displayName = 'Input';\n\nexport { Input };\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require("./chunk-CMqjfN_6.cjs"),t=require("./ui-provider-CrsJ_dGn.cjs"),n=require("../lib/utils.cjs"),r=require("./typography-sXFd02zl.cjs"),i=require("./icon-size-D2NnYd0K.cjs"),a=require("./separator-q42IlFFA.cjs");let o=require("react");o=e.t(o,1);let s=require("react/jsx-runtime"),c=require("class-variance-authority"),l=require("@base-ui/react/merge-props"),u=require("@base-ui/react/use-render");function d({className:e,...t}){return(0,s.jsx)(`div`,{role:`list`,"data-slot":`item-group`,className:n.cn(`group/item-group flex w-full flex-col gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2`,e),...t})}function f({className:e,...t}){return(0,s.jsx)(a.t,{"data-slot":`item-separator`,orientation:`horizontal`,className:n.cn(`my-2`,e),...t})}var p=(0,c.cva)(`group/item flex w-full flex-wrap items-center rounded-2xl border text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 [a]:transition-colors [a]:hover:bg-muted`,{variants:{variant:{default:`border-transparent`,outline:`border-border`,muted:`border-transparent bg-muted/50`},size:{default:`gap-3.5 px-4 py-3.5`,sm:`gap-3.5 px-3.5 py-3`,xs:`gap-2.5 px-3 py-2.5 in-data-[slot=dropdown-menu-content]:p-0`}},defaultVariants:{variant:`default`,size:`default`}});function m({className:e,variant:t=`default`,size:r=`default`,render:i,...a}){return(0,u.useRender)({defaultTagName:`div`,props:(0,l.mergeProps)({className:n.cn(p({variant:t,size:r,className:e}))},a),render:i,state:{slot:`item`,variant:t,size:r}})}var h=(0,c.cva)(`flex shrink-0 items-center justify-center gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start [&_svg]:pointer-events-none`,{variants:{variant:{default:`bg-transparent`,icon:`[&_svg:not([class*='size-'])]:size-4`,image:`size-10 overflow-hidden rounded-xl group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 group-data-[size=xs]/item:rounded-lg [&_img]:size-full [&_img]:object-cover`}},defaultVariants:{variant:`default`}});function g({className:e,variant:t=`default`,...r}){return(0,s.jsx)(`div`,{"data-slot":`item-media`,"data-variant":t,className:n.cn(h({variant:t,className:e})),...r})}function _({className:e,...t}){return(0,s.jsx)(`div`,{"data-slot":`item-content`,className:n.cn(`flex flex-1 flex-col gap-1 group-data-[size=xs]/item:gap-0.5 [&+[data-slot=item-content]]:flex-none`,e),...t})}function v({className:e,...t}){return(0,s.jsx)(`div`,{"data-slot":`item-title`,className:n.cn(`line-clamp-1 flex w-fit items-center gap-2 text-sm leading-snug font-medium underline-offset-4`,e),...t})}function y({className:e,...t}){return(0,s.jsx)(`p`,{"data-slot":`item-description`,className:n.cn(`line-clamp-2 text-left text-sm font-normal text-muted-foreground [&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary`,e),...t})}function b({className:e,...t}){return(0,s.jsx)(`div`,{"data-slot":`item-actions`,className:n.cn(`flex items-center gap-2`,e),...t})}function x({className:e,...t}){return(0,s.jsx)(`div`,{"data-slot":`item-header`,className:n.cn(`flex basis-full items-center justify-between gap-2`,e),...t})}function S({className:e,...t}){return(0,s.jsx)(`div`,{"data-slot":`item-footer`,className:n.cn(`flex basis-full items-center justify-between gap-2`,e),...t})}var C=(0,o.forwardRef)(function({size:e,variant:r,padding:i=`collapsed`,render:a,className:o,...c},l){let{defaultSize:u=`default`,defaultVariant:d=`default`}=t.s(),f=e??u;return(0,s.jsx)(m,{ref:l,size:f===`small`?`xs`:`sm`,variant:r??d,render:a,className:n.cn(`item--component gap-space-lg rounded-radius py-row-y`,i==="default"?`px-row-x`:`px-0`,f===`small`?`text-pxs`:`text-sm`,o),...c})});C.displayName=`Item`;var w=(0,o.forwardRef)(function({className:e,role:t,...r},i){return(0,s.jsx)(d,{ref:i,role:t,className:n.cn(`gap-space-sm has-data-[size=sm]:gap-space-sm has-data-[size=xs]:gap-space-sm`,e),...r})});w.displayName=`ItemGroup`;var T=(0,o.forwardRef)(function(e,t){return(0,s.jsx)(f,{ref:t,...e})});T.displayName=`ItemSeparator`;var E=(0,o.forwardRef)(function({variant:e=`default`,className:t,...r},a){return(0,s.jsx)(g,{ref:a,variant:e===`image`||e===`avatar`?`image`:`default`,className:n.cn(`group-has-data-[slot=item-description]/item:translate-y-0`,e===`icon`?n.cn(i.n.default,`group-data-[size=xs]/item:[&_svg:not([class*='size-'])]:size-icon-sm`):void 0,e===`avatar`?`rounded-full group-data-[size=sm]/item:rounded-full group-data-[size=xs]/item:rounded-full`:void 0,t),...r})});E.displayName=`ItemMedia`;var D=(0,o.forwardRef)(function({className:e,...t},r){return(0,s.jsx)(_,{ref:r,className:n.cn(`gap-space-2xs group-data-[size=xs]/item:gap-space-2xs`,e),...t})});D.displayName=`ItemContent`;var O=(0,o.forwardRef)(function({className:e,...t},n){return(0,s.jsx)(b,{ref:n,className:e,...t})});O.displayName=`ItemActions`;var k=(0,o.forwardRef)(function({className:e,...t},n){return(0,s.jsx)(x,{ref:n,className:e,...t})});k.displayName=`ItemHeader`;var A=(0,o.forwardRef)(function({className:e,...t},n){return(0,s.jsx)(S,{ref:n,className:e,...t})});A.displayName=`ItemFooter`;var j=(0,o.forwardRef)(function({bold:e=!0,className:t,children:i,...a},o){return(0,s.jsx)(v,{ref:o,className:n.cn(`m-0 text-inherit [&>p]:m-0 [&>p]:text-left`,t),...a,children:(0,s.jsx)(r.s,{tag:`span`,size:`inherit`,weight:e?`semibold`:`regular`,className:`leading-tight`,children:i})})});j.displayName=`ItemTitle`;var M={1:`line-clamp-1`,2:`line-clamp-2`,3:`line-clamp-3`,4:`line-clamp-4`,none:`line-clamp-none`},N=(0,o.forwardRef)(function({clamp:e=2,className:t,children:r,...i},a){return(0,s.jsx)(y,{ref:a,className:n.cn(`mt-0 text-xs text-muted-foreground leading-tight`,M[e],t),...i,children:r})});N.displayName=`ItemDescription`,Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return j}});
2
+ //# sourceMappingURL=item-BG2iK1sy.cjs.map