admin-ui-starter-kit 0.6.7 → 0.6.8

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 (1216) hide show
  1. package/.agents/skills/component-library-rules/SKILL.md +2 -2
  2. package/.agents/skills/component-library-rules/references/components/INDEX.json +15 -1
  3. package/.agents/skills/component-library-rules/references/components/INDEX.md +15 -1
  4. package/.agents/skills/component-library-rules/references/components/base__boolean-indicator.md +33 -0
  5. package/.agents/skills/component-library-rules/references/components/base__cards.md +3 -2
  6. package/.agents/skills/component-library-rules/references/components/base__collapsible.md +39 -0
  7. package/.agents/skills/component-library-rules/references/components/base__conditional-rendering.md +39 -0
  8. package/.agents/skills/component-library-rules/references/components/base__date-block.md +39 -0
  9. package/.agents/skills/component-library-rules/references/components/base__dialog.md +39 -0
  10. package/.agents/skills/component-library-rules/references/components/base__display-utilities.md +59 -95
  11. package/.agents/skills/component-library-rules/references/components/base__item.md +4 -3
  12. package/.agents/skills/component-library-rules/references/components/base__money-display.md +39 -0
  13. package/.agents/skills/component-library-rules/references/components/base__notification-banner.md +39 -0
  14. package/.agents/skills/component-library-rules/references/components/base__placeholder-pattern.md +39 -0
  15. package/.agents/skills/component-library-rules/references/components/base__progress.md +33 -0
  16. package/.agents/skills/component-library-rules/references/components/base__qr-code.md +39 -0
  17. package/.agents/skills/component-library-rules/references/components/base__separator.md +33 -0
  18. package/.agents/skills/component-library-rules/references/components/base__skeleton.md +55 -0
  19. package/.agents/skills/component-library-rules/references/components/base__throttle-alert.md +39 -0
  20. package/.agents/skills/component-library-rules/references/components/base__visually-hidden.md +39 -0
  21. package/.agents/skills/component-library-rules/references/components/layout__layout-page.md +2 -1
  22. package/.agents/skills/component-library-rules/references/ui-provider.md +2 -2
  23. package/dist/_shared/accordion-8B4OFqiT.cjs +2 -0
  24. package/dist/_shared/accordion-8B4OFqiT.cjs.map +1 -0
  25. package/dist/_shared/accordion-DlpTSZ3p.js +135 -0
  26. package/dist/_shared/accordion-DlpTSZ3p.js.map +1 -0
  27. package/dist/_shared/action-menu-BYrYdpkR.cjs +2 -0
  28. package/dist/_shared/action-menu-BYrYdpkR.cjs.map +1 -0
  29. package/dist/_shared/action-menu-CYwMZX-b.js +96 -0
  30. package/dist/_shared/action-menu-CYwMZX-b.js.map +1 -0
  31. package/dist/_shared/ai-artifact-BylloxGO.js +1099 -0
  32. package/dist/_shared/ai-artifact-BylloxGO.js.map +1 -0
  33. package/dist/_shared/ai-artifact-DfT97Mpi.cjs +3 -0
  34. package/dist/_shared/ai-artifact-DfT97Mpi.cjs.map +1 -0
  35. package/dist/_shared/auth-1Ht9Kevx.js +643 -0
  36. package/dist/_shared/auth-1Ht9Kevx.js.map +1 -0
  37. package/dist/_shared/auth-DTN6sFXM.cjs +2 -0
  38. package/dist/_shared/auth-DTN6sFXM.cjs.map +1 -0
  39. package/dist/_shared/badge-LSAgdmGt.cjs +2 -0
  40. package/dist/_shared/badge-LSAgdmGt.cjs.map +1 -0
  41. package/dist/_shared/badge-nZ2zbAV4.js +110 -0
  42. package/dist/_shared/badge-nZ2zbAV4.js.map +1 -0
  43. package/dist/_shared/button-Be2ayMxF.js +192 -0
  44. package/dist/_shared/button-Be2ayMxF.js.map +1 -0
  45. package/dist/_shared/button-CfQtOuBK.cjs +2 -0
  46. package/dist/_shared/button-CfQtOuBK.cjs.map +1 -0
  47. package/dist/_shared/buttons-DABiSx6N.cjs +2 -0
  48. package/dist/_shared/buttons-DABiSx6N.cjs.map +1 -0
  49. package/dist/_shared/buttons-DYQqQPpk.js +137 -0
  50. package/dist/_shared/buttons-DYQqQPpk.js.map +1 -0
  51. package/dist/_shared/card-radio-group-DKhZhBFV.cjs +2 -0
  52. package/dist/_shared/card-radio-group-DKhZhBFV.cjs.map +1 -0
  53. package/dist/_shared/card-radio-group-DRjmLN5s.js +150 -0
  54. package/dist/_shared/card-radio-group-DRjmLN5s.js.map +1 -0
  55. package/dist/_shared/cards-BJctT9KD.js +428 -0
  56. package/dist/_shared/cards-BJctT9KD.js.map +1 -0
  57. package/dist/_shared/cards-m03XN10f.cjs +2 -0
  58. package/dist/_shared/cards-m03XN10f.cjs.map +1 -0
  59. package/dist/_shared/combobox-BdBpeD3C.cjs +2 -0
  60. package/dist/_shared/combobox-BdBpeD3C.cjs.map +1 -0
  61. package/dist/_shared/combobox-D9tU_83-.js +954 -0
  62. package/dist/_shared/combobox-D9tU_83-.js.map +1 -0
  63. package/dist/_shared/command-BbJB0pjP.cjs +2 -0
  64. package/dist/_shared/command-BbJB0pjP.cjs.map +1 -0
  65. package/dist/_shared/command-IP2wy_HN.js +39 -0
  66. package/dist/_shared/command-IP2wy_HN.js.map +1 -0
  67. package/dist/_shared/comments-B_WKQUol.js +952 -0
  68. package/dist/_shared/comments-B_WKQUol.js.map +1 -0
  69. package/dist/_shared/comments-DMHMNObS.cjs +2 -0
  70. package/dist/_shared/comments-DMHMNObS.cjs.map +1 -0
  71. package/dist/_shared/copyable-BJYx2SlN.js +38 -0
  72. package/dist/_shared/copyable-BJYx2SlN.js.map +1 -0
  73. package/dist/_shared/copyable-DiDEjp8Z.cjs +2 -0
  74. package/dist/_shared/copyable-DiDEjp8Z.cjs.map +1 -0
  75. package/dist/_shared/data-display-4E_irfF2.js +1878 -0
  76. package/dist/_shared/data-display-4E_irfF2.js.map +1 -0
  77. package/dist/_shared/data-display-BPn-7qFO.cjs +2 -0
  78. package/dist/_shared/data-display-BPn-7qFO.cjs.map +1 -0
  79. package/dist/_shared/date-picker-CvqLnlxm.js +1361 -0
  80. package/dist/_shared/date-picker-CvqLnlxm.js.map +1 -0
  81. package/dist/_shared/date-picker-D83fCi2g.cjs +2 -0
  82. package/dist/_shared/date-picker-D83fCi2g.cjs.map +1 -0
  83. package/dist/_shared/date-pickers-C6ku2BPp.cjs +2 -0
  84. package/dist/_shared/date-pickers-C6ku2BPp.cjs.map +1 -0
  85. package/dist/_shared/date-pickers-RdbwIhdY.js +329 -0
  86. package/dist/_shared/date-pickers-RdbwIhdY.js.map +1 -0
  87. package/dist/_shared/display-DFVeSuWL.js +986 -0
  88. package/dist/_shared/display-DFVeSuWL.js.map +1 -0
  89. package/dist/_shared/display-Lr3xTd4a.cjs +2 -0
  90. package/dist/_shared/display-Lr3xTd4a.cjs.map +1 -0
  91. package/dist/_shared/forms-BA8Aa_fi.js +3534 -0
  92. package/dist/_shared/forms-BA8Aa_fi.js.map +1 -0
  93. package/dist/_shared/forms-CNjjdFcf.cjs +2 -0
  94. package/dist/_shared/forms-CNjjdFcf.cjs.map +1 -0
  95. package/dist/_shared/header-BEsz1_so.cjs +2 -0
  96. package/dist/_shared/header-BEsz1_so.cjs.map +1 -0
  97. package/dist/_shared/header-bJx8z6zT.js +447 -0
  98. package/dist/_shared/header-bJx8z6zT.js.map +1 -0
  99. package/dist/_shared/hooks-gRgVhyY2.js +95 -0
  100. package/dist/_shared/hooks-gRgVhyY2.js.map +1 -0
  101. package/dist/_shared/hooks-nFiRfUxX.cjs +2 -0
  102. package/dist/_shared/hooks-nFiRfUxX.cjs.map +1 -0
  103. package/dist/_shared/input-CzJzVyQ0.js +182 -0
  104. package/dist/_shared/input-CzJzVyQ0.js.map +1 -0
  105. package/dist/_shared/input-Dvvmn96E.cjs +2 -0
  106. package/dist/_shared/input-Dvvmn96E.cjs.map +1 -0
  107. package/dist/_shared/item-CVjjpHQd.js +226 -0
  108. package/dist/_shared/item-CVjjpHQd.js.map +1 -0
  109. package/dist/_shared/item-ChHblHhR.cjs +2 -0
  110. package/dist/_shared/item-ChHblHhR.cjs.map +1 -0
  111. package/dist/_shared/layout-C_dYiKtE.cjs +2 -0
  112. package/dist/_shared/layout-C_dYiKtE.cjs.map +1 -0
  113. package/dist/_shared/layout-nigj488k.js +268 -0
  114. package/dist/_shared/layout-nigj488k.js.map +1 -0
  115. package/dist/_shared/mentions-BE51BNeq.cjs +2 -0
  116. package/dist/_shared/mentions-BE51BNeq.cjs.map +1 -0
  117. package/dist/_shared/mentions-CBhP29St.js +506 -0
  118. package/dist/_shared/mentions-CBhP29St.js.map +1 -0
  119. package/dist/_shared/money-display-BFk9Gu21.cjs +2 -0
  120. package/dist/_shared/money-display-BFk9Gu21.cjs.map +1 -0
  121. package/dist/_shared/money-display-DpuLnsK2.js +198 -0
  122. package/dist/_shared/money-display-DpuLnsK2.js.map +1 -0
  123. package/dist/_shared/navigation-CWK_YQ5Y.js +436 -0
  124. package/dist/_shared/navigation-CWK_YQ5Y.js.map +1 -0
  125. package/dist/_shared/navigation-DTBMb7-M.cjs +2 -0
  126. package/dist/_shared/navigation-DTBMb7-M.cjs.map +1 -0
  127. package/dist/_shared/overlays-BJLczwpz.js +735 -0
  128. package/dist/_shared/overlays-BJLczwpz.js.map +1 -0
  129. package/dist/_shared/overlays-DbaPLT67.cjs +2 -0
  130. package/dist/_shared/overlays-DbaPLT67.cjs.map +1 -0
  131. package/dist/_shared/popover-menu-D_t6rCvN.cjs +2 -0
  132. package/dist/_shared/popover-menu-D_t6rCvN.cjs.map +1 -0
  133. package/dist/_shared/popover-menu-f2O6R_27.js +93 -0
  134. package/dist/_shared/popover-menu-f2O6R_27.js.map +1 -0
  135. package/dist/_shared/rich-text-editor-DmZHbsms.js +620 -0
  136. package/dist/_shared/rich-text-editor-DmZHbsms.js.map +1 -0
  137. package/dist/_shared/rich-text-editor-DqUU-H7i.cjs +2 -0
  138. package/dist/_shared/rich-text-editor-DqUU-H7i.cjs.map +1 -0
  139. package/dist/_shared/settings-D-HAOE3R.js +143 -0
  140. package/dist/_shared/settings-D-HAOE3R.js.map +1 -0
  141. package/dist/_shared/settings-DkL3bOk0.cjs +2 -0
  142. package/dist/_shared/settings-DkL3bOk0.cjs.map +1 -0
  143. package/dist/_shared/sidebar-BTyx7ipN.cjs +2 -0
  144. package/dist/_shared/sidebar-BTyx7ipN.cjs.map +1 -0
  145. package/dist/_shared/sidebar-DkBNualh.js +548 -0
  146. package/dist/_shared/sidebar-DkBNualh.js.map +1 -0
  147. package/dist/_shared/skeleton-DwF5VdMh.cjs +2 -0
  148. package/dist/_shared/skeleton-DwF5VdMh.cjs.map +1 -0
  149. package/dist/_shared/skeleton-yUXqeWzB.js +256 -0
  150. package/dist/_shared/skeleton-yUXqeWzB.js.map +1 -0
  151. package/dist/_shared/spinner-BDrUzfTo.cjs +2 -0
  152. package/dist/_shared/spinner-BDrUzfTo.cjs.map +1 -0
  153. package/dist/_shared/spinner-CuVZhJhN.js +67 -0
  154. package/dist/_shared/spinner-CuVZhJhN.js.map +1 -0
  155. package/dist/_shared/table-Cq0jkSm5.js +1377 -0
  156. package/dist/_shared/table-Cq0jkSm5.js.map +1 -0
  157. package/dist/_shared/table-GqTKCC8F.cjs +2 -0
  158. package/dist/_shared/table-GqTKCC8F.cjs.map +1 -0
  159. package/dist/_shared/textarea-C0iZwWdD.js +118 -0
  160. package/dist/_shared/textarea-C0iZwWdD.js.map +1 -0
  161. package/dist/_shared/textarea-bHFAtwYd.cjs +2 -0
  162. package/dist/_shared/textarea-bHFAtwYd.cjs.map +1 -0
  163. package/dist/_shared/typography-5bLhAYaK.js +201 -0
  164. package/dist/_shared/typography-5bLhAYaK.js.map +1 -0
  165. package/dist/_shared/typography-CWEobAJV.cjs +2 -0
  166. package/dist/_shared/typography-CWEobAJV.cjs.map +1 -0
  167. package/dist/_shared/ui-provider-CrsJ_dGn.cjs +2 -0
  168. package/dist/_shared/ui-provider-CrsJ_dGn.cjs.map +1 -0
  169. package/dist/_shared/ui-provider-Dz2qXgZQ.js +89 -0
  170. package/dist/_shared/ui-provider-Dz2qXgZQ.js.map +1 -0
  171. package/dist/_shared/workspace-5UId04M9.js +357 -0
  172. package/dist/_shared/workspace-5UId04M9.js.map +1 -0
  173. package/dist/_shared/workspace-BMws_rFf.cjs +2 -0
  174. package/dist/_shared/workspace-BMws_rFf.cjs.map +1 -0
  175. package/dist/components/base/accordion/index.cjs +1 -1
  176. package/dist/components/base/accordion/index.js +1 -1
  177. package/dist/components/base/badge/index.cjs +1 -1
  178. package/dist/components/base/badge/index.js +1 -1
  179. package/dist/components/base/buttons/button.d.ts.map +1 -1
  180. package/dist/components/base/buttons/index.cjs +1 -1
  181. package/dist/components/base/buttons/index.js +2 -2
  182. package/dist/components/base/buttons/tooltip-button.d.ts.map +1 -1
  183. package/dist/components/base/cards/index.cjs +1 -1
  184. package/dist/components/base/cards/index.js +2 -2
  185. package/dist/components/base/cards/partials/card-primitives.d.ts.map +1 -1
  186. package/dist/components/base/cards/smart-card.d.ts.map +1 -1
  187. package/dist/components/base/cards/smart-card.types.d.ts +7 -3
  188. package/dist/components/base/cards/smart-card.types.d.ts.map +1 -1
  189. package/dist/components/base/carousel/index.cjs +1 -1
  190. package/dist/components/base/carousel/index.js +1 -1
  191. package/dist/components/base/combobox/index.cjs +1 -1
  192. package/dist/components/base/combobox/index.js +1 -1
  193. package/dist/components/base/command/index.cjs +1 -1
  194. package/dist/components/base/command/index.js +1 -1
  195. package/dist/components/base/copyable/index.cjs +1 -1
  196. package/dist/components/base/copyable/index.js +1 -1
  197. package/dist/components/base/currency/index.cjs +1 -1
  198. package/dist/components/base/currency/index.js +1 -1
  199. package/dist/components/base/date-pickers/index.cjs +1 -1
  200. package/dist/components/base/date-pickers/index.js +2 -2
  201. package/dist/components/base/display/chart.cjs +1 -1
  202. package/dist/components/base/display/chart.js +1 -1
  203. package/dist/components/base/display/index.cjs +1 -1
  204. package/dist/components/base/display/index.js +5 -5
  205. package/dist/components/base/display/skeleton.d.ts +52 -1
  206. package/dist/components/base/display/skeleton.d.ts.map +1 -1
  207. package/dist/components/base/event-calendar/index.cjs +1 -1
  208. package/dist/components/base/event-calendar/index.js +4 -4
  209. package/dist/components/base/forms/fields/file-upload.d.ts.map +1 -1
  210. package/dist/components/base/forms/index.cjs +1 -1
  211. package/dist/components/base/forms/index.js +5 -5
  212. package/dist/components/base/item/index.cjs +1 -1
  213. package/dist/components/base/item/index.js +1 -1
  214. package/dist/components/base/item/item.d.ts.map +1 -1
  215. package/dist/components/base/item/item.types.d.ts +3 -0
  216. package/dist/components/base/item/item.types.d.ts.map +1 -1
  217. package/dist/components/base/map/index.cjs +1 -1
  218. package/dist/components/base/map/index.js +2 -2
  219. package/dist/components/base/navigation/index.cjs +1 -1
  220. package/dist/components/base/navigation/index.js +2 -2
  221. package/dist/components/base/popover-menu/index.cjs +1 -1
  222. package/dist/components/base/popover-menu/index.js +1 -1
  223. package/dist/components/base/spinner/index.cjs +1 -1
  224. package/dist/components/base/spinner/index.js +1 -1
  225. package/dist/components/base/table/index.cjs +1 -1
  226. package/dist/components/base/table/index.js +1 -1
  227. package/dist/components/base/toaster/index.cjs +1 -1
  228. package/dist/components/base/toaster/index.cjs.map +1 -1
  229. package/dist/components/base/toaster/index.js +82 -23
  230. package/dist/components/base/toaster/index.js.map +1 -1
  231. package/dist/components/base/toaster/toaster.d.ts +1 -1
  232. package/dist/components/base/toaster/toaster.d.ts.map +1 -1
  233. package/dist/components/composed/admin/api-key-list/api-key-list.d.ts.map +1 -1
  234. package/dist/components/composed/admin/index.cjs +1 -1
  235. package/dist/components/composed/admin/index.cjs.map +1 -1
  236. package/dist/components/composed/admin/index.js +67 -67
  237. package/dist/components/composed/admin/index.js.map +1 -1
  238. package/dist/components/composed/ai/index.cjs +1 -1
  239. package/dist/components/composed/ai/index.js +8 -8
  240. package/dist/components/composed/analytics/index.cjs +1 -1
  241. package/dist/components/composed/analytics/index.cjs.map +1 -1
  242. package/dist/components/composed/analytics/index.js +12 -12
  243. package/dist/components/composed/analytics/index.js.map +1 -1
  244. package/dist/components/composed/cards/index.cjs +1 -1
  245. package/dist/components/composed/cards/index.js +7 -7
  246. package/dist/components/composed/commerce/index.cjs +1 -1
  247. package/dist/components/composed/commerce/index.cjs.map +1 -1
  248. package/dist/components/composed/commerce/index.js +9 -9
  249. package/dist/components/composed/commerce/index.js.map +1 -1
  250. package/dist/components/composed/dark-surfaces/index.cjs +1 -1
  251. package/dist/components/composed/dark-surfaces/index.js +4 -4
  252. package/dist/components/composed/data-display/dense-info-card/partials/dense-info-dashboard.d.ts.map +1 -1
  253. package/dist/components/composed/data-display/dense-info-card/partials/dense-info-financial.d.ts.map +1 -1
  254. package/dist/components/composed/data-display/dense-info-card/partials/dense-info-score.d.ts.map +1 -1
  255. package/dist/components/composed/data-display/index.cjs +1 -1
  256. package/dist/components/composed/data-display/index.js +1 -1
  257. package/dist/components/composed/data-display/resource-selector-card.d.ts.map +1 -1
  258. package/dist/components/composed/navigation/index.cjs +1 -1
  259. package/dist/components/composed/navigation/index.js +5 -5
  260. package/dist/components/composed/onboarding/index.cjs +1 -1
  261. package/dist/components/composed/onboarding/index.js +3 -3
  262. package/dist/components/composed/timelines/index.cjs +1 -1
  263. package/dist/components/composed/timelines/index.js +3 -3
  264. package/dist/components/features/activities/index.cjs +1 -1
  265. package/dist/components/features/activities/index.js +5 -5
  266. package/dist/components/features/ai-chat/index.cjs +1 -1
  267. package/dist/components/features/ai-chat/index.js +5 -5
  268. package/dist/components/features/card/index.cjs +1 -1
  269. package/dist/components/features/card/index.js +4 -4
  270. package/dist/components/features/comments/index.cjs +1 -1
  271. package/dist/components/features/comments/index.js +2 -2
  272. package/dist/components/features/data-view/index.cjs +1 -1
  273. package/dist/components/features/data-view/index.js +2 -2
  274. package/dist/components/features/event-log/index.cjs +1 -1
  275. package/dist/components/features/event-log/index.js +5 -5
  276. package/dist/components/features/filters/index.cjs +1 -1
  277. package/dist/components/features/filters/index.cjs.map +1 -1
  278. package/dist/components/features/filters/index.js +190 -190
  279. package/dist/components/features/filters/index.js.map +1 -1
  280. package/dist/components/features/filters/partials/filters-button.d.ts.map +1 -1
  281. package/dist/components/features/global-search/index.cjs +1 -1
  282. package/dist/components/features/global-search/index.js +4 -4
  283. package/dist/components/features/kanban/index.cjs +1 -1
  284. package/dist/components/features/kanban/index.js +3 -3
  285. package/dist/components/features/media-library/index.cjs +1 -1
  286. package/dist/components/features/media-library/index.js +10 -10
  287. package/dist/components/features/mentions/index.cjs +1 -1
  288. package/dist/components/features/mentions/index.js +1 -1
  289. package/dist/components/features/overlays/index.cjs +1 -1
  290. package/dist/components/features/overlays/index.js +1 -1
  291. package/dist/components/features/products/index.cjs +1 -1
  292. package/dist/components/features/products/index.js +11 -11
  293. package/dist/components/features/resource/index.cjs +1 -1
  294. package/dist/components/features/resource/index.js +5 -5
  295. package/dist/components/features/rich-text-editor/index.cjs +1 -1
  296. package/dist/components/features/rich-text-editor/index.js +1 -1
  297. package/dist/components/features/schema-form/index.cjs +1 -1
  298. package/dist/components/features/schema-form/index.js +8 -8
  299. package/dist/components/features/suggestions/index.cjs +1 -1
  300. package/dist/components/features/suggestions/index.js +1 -1
  301. package/dist/components/features/sync/index.cjs +1 -1
  302. package/dist/components/features/sync/index.js +2 -2
  303. package/dist/components/layout/auth/index.cjs +1 -1
  304. package/dist/components/layout/auth/index.js +1 -1
  305. package/dist/components/layout/header/index.cjs +1 -1
  306. package/dist/components/layout/header/index.js +1 -1
  307. package/dist/components/layout/hooks/index.cjs +1 -1
  308. package/dist/components/layout/hooks/index.js +1 -1
  309. package/dist/components/layout/index.cjs +1 -1
  310. package/dist/components/layout/index.js +7 -7
  311. package/dist/components/layout/page/index.cjs +1 -1
  312. package/dist/components/layout/page/index.js +1 -1
  313. package/dist/components/layout/page/page.types.d.ts +5 -0
  314. package/dist/components/layout/page/page.types.d.ts.map +1 -1
  315. package/dist/components/layout/page/partials/page-header.d.ts +1 -1
  316. package/dist/components/layout/page/partials/page-header.d.ts.map +1 -1
  317. package/dist/components/layout/settings/index.cjs +1 -1
  318. package/dist/components/layout/settings/index.js +1 -1
  319. package/dist/components/layout/sidebar/index.cjs +1 -1
  320. package/dist/components/layout/sidebar/index.js +2 -2
  321. package/dist/components/layout/workspace/index.cjs +1 -1
  322. package/dist/components/layout/workspace/index.js +1 -1
  323. package/dist/components/typography/index.cjs +1 -1
  324. package/dist/components/typography/index.js +1 -1
  325. package/dist/index.cjs +1 -1
  326. package/dist/index.js +1 -1
  327. package/dist/lib/ui-provider/defaults.d.ts.map +1 -1
  328. package/dist/lib/ui-provider/index.cjs +1 -1
  329. package/dist/lib/ui-provider/index.d.ts +1 -1
  330. package/dist/lib/ui-provider/index.d.ts.map +1 -1
  331. package/dist/lib/ui-provider/index.js +1 -1
  332. package/dist/lib/ui-provider/types.d.ts +14 -0
  333. package/dist/lib/ui-provider/types.d.ts.map +1 -1
  334. package/dist/services/actions/index.cjs +1 -1
  335. package/dist/services/actions/index.js +1 -1
  336. package/dist/showcase/assets/AreaChart-oKO7Ng_P.js +6 -0
  337. package/dist/showcase/assets/CompositeItem-CK7jBYU8.js +1 -0
  338. package/dist/showcase/assets/CompositeRoot-_AuToqhT.js +1 -0
  339. package/dist/showcase/assets/DialogTrigger-C44ZZXQ9.js +1 -0
  340. package/dist/showcase/assets/LabelableContext-DLVZlnur.js +1 -0
  341. package/dist/showcase/assets/PreviewLayout-Oik7TDHN.js +1 -0
  342. package/dist/showcase/assets/RadioGroup-DeYb8CGE.js +1 -0
  343. package/dist/showcase/assets/ScrollAreaCorner-BZlE_Bil.js +1 -0
  344. package/dist/showcase/assets/Separator-uiIktHzk.js +1 -0
  345. package/dist/showcase/assets/ToolbarRootContext-CEzj5dKk.js +1 -0
  346. package/dist/showcase/assets/accordion-B_wg_YOp.js +171 -0
  347. package/dist/showcase/assets/accordion-variants-O6U7E38x.js +1 -0
  348. package/dist/showcase/assets/action-menu-D_wGvb_o.js +1 -0
  349. package/dist/showcase/assets/actions-u4Fl4zm1.js +310 -0
  350. package/dist/showcase/assets/activities-C6iITHzB.js +500 -0
  351. package/dist/showcase/assets/activities-feed-card-OpYs16UV.js +1 -0
  352. package/dist/showcase/assets/admin-Bq15E5Wd.js +140 -0
  353. package/dist/showcase/assets/ai-DcUzGTlb.js +207 -0
  354. package/dist/showcase/assets/ai-artifact-BUAu1_jV.js +2 -0
  355. package/dist/showcase/assets/ai-chat-C6OWWBqh.js +568 -0
  356. package/dist/showcase/assets/ai-elements-CCe4Aqj_.js +387 -0
  357. package/dist/showcase/assets/ai-tool-call-B_NF1ePn.js +1 -0
  358. package/dist/showcase/assets/alert-B4VWkFPE.js +1 -0
  359. package/dist/showcase/assets/alert-BDIqciKo.js +62 -0
  360. package/dist/showcase/assets/alert-jvCEGWe6.js +93 -0
  361. package/dist/showcase/assets/api-key-list-BH8mde9A.js +1 -0
  362. package/dist/showcase/assets/api-key-list-CA6O3hsc.js +73 -0
  363. package/dist/showcase/assets/app-sidebar-DsMTwSAB.js +1 -0
  364. package/dist/showcase/assets/arrow-down-BzPC0rON.js +1 -0
  365. package/dist/showcase/assets/arrow-left-DNehZvF-.js +1 -0
  366. package/dist/showcase/assets/arrow-right-CKIgWncF.js +1 -0
  367. package/dist/showcase/assets/arrow-up-YjujZi8v.js +1 -0
  368. package/dist/showcase/assets/arrow-up-right-KnVxFmw9.js +1 -0
  369. package/dist/showcase/assets/avatar-BBLri7tX.js +57 -0
  370. package/dist/showcase/assets/avatar-BeFx8JQd.js +1 -0
  371. package/dist/showcase/assets/avatar-CFWUZzaF.js +67 -0
  372. package/dist/showcase/assets/avatar-D6exHRSK.js +1 -0
  373. package/dist/showcase/assets/badge-check-BfY3RIjR.js +1 -0
  374. package/dist/showcase/assets/badge-jGj2HQsg.js +31 -0
  375. package/dist/showcase/assets/bell-CTDSIOv8.js +1 -0
  376. package/dist/showcase/assets/boolean-indicator-C1u7OFcR.js +1 -0
  377. package/dist/showcase/assets/bot-D-iqtYiQ.js +1 -0
  378. package/dist/showcase/assets/box-DxjjLEh2.js +1 -0
  379. package/dist/showcase/assets/braces-B6XLlZwJ.js +1 -0
  380. package/dist/showcase/assets/brain-BdNpswBH.js +1 -0
  381. package/dist/showcase/assets/brand-C6srYuIa.js +36 -0
  382. package/dist/showcase/assets/breadcrumb-BaeV7C4t.js +52 -0
  383. package/dist/showcase/assets/breadcrumb-jKu4EUFo.js +1 -0
  384. package/dist/showcase/assets/breadcrumbs-D7vYX_5y.js +1 -0
  385. package/dist/showcase/assets/briefcase-cs9wyoxL.js +1 -0
  386. package/dist/showcase/assets/building-2-rcMEYcbf.js +1 -0
  387. package/dist/showcase/assets/button-group-D1oXfasP.js +1 -0
  388. package/dist/showcase/assets/button-oBRwhAhs.js +44 -0
  389. package/dist/showcase/assets/buttons-D_SDu9w3.js +272 -0
  390. package/dist/showcase/assets/calendar-CGTiVckW.js +1 -0
  391. package/dist/showcase/assets/calendar-ChLkVME0.js +16 -0
  392. package/dist/showcase/assets/calendar-CjMPvWfI.js +1 -0
  393. package/dist/showcase/assets/calendar-days-CNom8Y38.js +1 -0
  394. package/dist/showcase/assets/camera-D0rjOOcs.js +1 -0
  395. package/dist/showcase/assets/card-CYz4UxYz.js +1 -0
  396. package/dist/showcase/assets/card-D9updr3B.js +188 -0
  397. package/dist/showcase/assets/card-primitives-BQ0hSEWX.js +1 -0
  398. package/dist/showcase/assets/card-radio-group-CrNG04Bl.js +1 -0
  399. package/dist/showcase/assets/cards-D4Lw-AI6.js +354 -0
  400. package/dist/showcase/assets/carousel-C6Mmapzw.js +449 -0
  401. package/dist/showcase/assets/cell-renderers-BF80Z3jW.js +1 -0
  402. package/dist/showcase/assets/chart-BHgMfUB5.js +358 -0
  403. package/dist/showcase/assets/chart-column-CE_VhlUz.js +1 -0
  404. package/dist/showcase/assets/checkbox-CDLT09vU.js +1 -0
  405. package/dist/showcase/assets/checkbox-Dj24Tegr.js +1 -0
  406. package/dist/showcase/assets/chevron-down-1GeJ4hOO.js +1 -0
  407. package/dist/showcase/assets/chevron-left-wqlWv2Qy.js +1 -0
  408. package/dist/showcase/assets/chevron-up-CZAm-2rZ.js +1 -0
  409. package/dist/showcase/assets/chevrons-up-down-DgysGYWR.js +1 -0
  410. package/dist/showcase/assets/circle-C9Ooo8Lv.js +1 -0
  411. package/dist/showcase/assets/circle-alert-C6XBfkf2.js +1 -0
  412. package/dist/showcase/assets/circle-check-DvCYlVmL.js +1 -0
  413. package/dist/showcase/assets/circle-check-big-C8o9clAE.js +1 -0
  414. package/dist/showcase/assets/circle-dot-BoYf3vOR.js +1 -0
  415. package/dist/showcase/assets/circle-question-mark-DYPX0qe9.js +1 -0
  416. package/dist/showcase/assets/circle-x-GosnT0l7.js +1 -0
  417. package/dist/showcase/assets/clock-3-DklFhayq.js +1 -0
  418. package/dist/showcase/assets/clock-BvwTkk1w.js +1 -0
  419. package/dist/showcase/assets/code-xml-AGOwtN8Z.js +1 -0
  420. package/dist/showcase/assets/collapsible-CBkbr3ho.js +1 -0
  421. package/dist/showcase/assets/collapsible-CmY1SA28.js +27 -0
  422. package/dist/showcase/assets/collapsible-DfDnQ_t_.js +1 -0
  423. package/dist/showcase/assets/combobox-BsZQo7hF.js +685 -0
  424. package/dist/showcase/assets/command-B0Q84gg6.js +1 -0
  425. package/dist/showcase/assets/command-BtADdA65.js +1 -0
  426. package/dist/showcase/assets/comment-composer-BmBnkba9.js +1 -0
  427. package/dist/showcase/assets/comment-item-y5mTfSmU.js +1 -0
  428. package/dist/showcase/assets/comments-BuYiGPxI.js +357 -0
  429. package/dist/showcase/assets/commerce-21Ef_rsW.js +267 -0
  430. package/dist/showcase/assets/composite-fKT6fZFs.js +1 -0
  431. package/dist/showcase/assets/conditional-rendering-DsTG0sOE.js +1 -0
  432. package/dist/showcase/assets/contact-card-S8koA9Sr.js +65 -0
  433. package/dist/showcase/assets/content-container-B4gW5fmA.js +1 -0
  434. package/dist/showcase/assets/copyable-D2xL2rMm.js +96 -0
  435. package/dist/showcase/assets/copyable-gLrmPayI.js +1 -0
  436. package/dist/showcase/assets/course-card-B8eEvF7a.js +77 -0
  437. package/dist/showcase/assets/cpu-Cp1On3tr.js +1 -0
  438. package/dist/showcase/assets/credit-card-QbZMZB90.js +1 -0
  439. package/dist/showcase/assets/css-variables-BXICo9fV.js +1205 -0
  440. package/dist/showcase/assets/currency-D2MSLjLt.js +149 -0
  441. package/dist/showcase/assets/dark-surfaces-CJsxuvQU.js +90 -0
  442. package/dist/showcase/assets/data-view-syhKhdz9.js +124 -0
  443. package/dist/showcase/assets/data-view-znnAeb6b.js +4 -0
  444. package/dist/showcase/assets/database-isLkCvDd.js +1 -0
  445. package/dist/showcase/assets/date-block-BDn9lGVM.js +1 -0
  446. package/dist/showcase/assets/date-block-CqRL1xfo.js +1 -0
  447. package/dist/showcase/assets/date-picker-DNcmSgQk.js +1 -0
  448. package/dist/showcase/assets/date-pickers-3lQUDDS7.js +73 -0
  449. package/dist/showcase/assets/dense-info-CfvqiIpM.js +106 -0
  450. package/dist/showcase/assets/design-system-consistency-C3yRhKwF.js +264 -0
  451. package/dist/showcase/assets/dialog-DiAkrPHO.js +1 -0
  452. package/dist/showcase/assets/dialog-feUFM03m.js +1 -0
  453. package/dist/showcase/assets/dialog-ruVOqJnB.js +1 -0
  454. package/dist/showcase/assets/display-utilities-SPJxlrkp.js +4 -0
  455. package/dist/showcase/assets/display-utilities.examples-ByRydMl0.js +302 -0
  456. package/dist/showcase/assets/dist-C9DVZddl.js +45 -0
  457. package/dist/showcase/assets/dist-DNARKM_B.js +1 -0
  458. package/dist/showcase/assets/dollar-sign-CUDuWyun.js +1 -0
  459. package/dist/showcase/assets/download-CIbh9VUU.js +1 -0
  460. package/dist/showcase/assets/dropdown-menu-MoIAG0ES.js +1 -0
  461. package/dist/showcase/assets/dropzone-D0kHIUuh.js +1 -0
  462. package/dist/showcase/assets/earth-BpNTeF25.js +1 -0
  463. package/dist/showcase/assets/ellipsis-B9w0cuoH.js +1 -0
  464. package/dist/showcase/assets/ellipsis-vertical-DHbOsjTF.js +1 -0
  465. package/dist/showcase/assets/empty-DvYVgcNF.js +1 -0
  466. package/dist/showcase/assets/empty-item-oFM5kPCp.js +49 -0
  467. package/dist/showcase/assets/empty-state-DTq86muv.js +1 -0
  468. package/dist/showcase/assets/empty-state-De7XCht-.js +190 -0
  469. package/dist/showcase/assets/enhanced-activities--XHjx99M.js +357 -0
  470. package/dist/showcase/assets/enhanced-combobox-CX_mTkei.js +1 -0
  471. package/dist/showcase/assets/esm-XXqBjGGF.js +2 -0
  472. package/dist/showcase/assets/event-calendar-zTiCWOF5.js +138 -0
  473. package/dist/showcase/assets/event-log-C_zSlY6y.js +330 -0
  474. package/dist/showcase/assets/example-Cv05rz75.js +1 -0
  475. package/dist/showcase/assets/external-link-DaR-AMyf.js +1 -0
  476. package/dist/showcase/assets/eye-CDSbB0kZ.js +1 -0
  477. package/dist/showcase/assets/feature-announcement-DJ26ZDVB.js +34 -0
  478. package/dist/showcase/assets/file-DPSK5cGC.js +1 -0
  479. package/dist/showcase/assets/file-text-BBWpAppG.js +1 -0
  480. package/dist/showcase/assets/filter-layout-CZRGcd6Z.js +1 -0
  481. package/dist/showcase/assets/filters-Bn7hYUeq.js +139 -0
  482. package/dist/showcase/assets/flag-BRs-GTCx.js +1 -0
  483. package/dist/showcase/assets/folder-open-DnFjlB3X.js +1 -0
  484. package/dist/showcase/assets/form-field-SW-Yp7H7.js +1 -0
  485. package/dist/showcase/assets/format-Bki5m7M3.js +1 -0
  486. package/dist/showcase/assets/forms-CAUL2gGq.js +915 -0
  487. package/dist/showcase/assets/funnel-D6g2Suhd.js +1 -0
  488. package/dist/showcase/assets/generic-CU6JNqKO.js +1 -0
  489. package/dist/showcase/assets/getPseudoElementBounds-yqDwWA_y.js +1 -0
  490. package/dist/showcase/assets/gift-B2Qp9Vqt.js +1 -0
  491. package/dist/showcase/assets/giftcard-cards-Dk0DYoN2.js +85 -0
  492. package/dist/showcase/assets/git-branch-CPtvCNGc.js +1 -0
  493. package/dist/showcase/assets/global-search-D1ow01VA.js +1 -0
  494. package/dist/showcase/assets/global-search-DQR2AgDO.js +215 -0
  495. package/dist/showcase/assets/globe-BiZgUZFZ.js +1 -0
  496. package/dist/showcase/assets/gradient-card-D5isLy3_.js +58 -0
  497. package/dist/showcase/assets/hash-NJ5ohGOa.js +1 -0
  498. package/dist/showcase/assets/header-Df9uYSSH.js +1 -0
  499. package/dist/showcase/assets/header-notifications-sPR5NuON.js +1 -0
  500. package/dist/showcase/assets/heart-C4t7PVKW.js +1 -0
  501. package/dist/showcase/assets/hooks-0TKg0ZAK.js +220 -0
  502. package/dist/showcase/assets/house-CuLXFtjd.js +1 -0
  503. package/dist/showcase/assets/icon-badge-Cr6DD-_7.js +1 -0
  504. package/dist/showcase/assets/icon-badge-DMdMSSRL.js +37 -0
  505. package/dist/showcase/assets/image-DYjJaO0i.js +1 -0
  506. package/dist/showcase/assets/inbox-DGF8FgvV.js +1 -0
  507. package/dist/showcase/assets/index-ATou_nFA.js +10 -0
  508. package/dist/showcase/assets/index-C8U-r6l7.css +2 -0
  509. package/dist/showcase/assets/inertValue-CBi0sj8C.js +1 -0
  510. package/dist/showcase/assets/info-DLaTRPUT.js +1 -0
  511. package/dist/showcase/assets/inline-stat-DGpunTNF.js +1 -0
  512. package/dist/showcase/assets/inline-stat-rUaaOSmR.js +15 -0
  513. package/dist/showcase/assets/input-Cmrgo51H.js +1 -0
  514. package/dist/showcase/assets/input-CnmnWnGb.js +1 -0
  515. package/dist/showcase/assets/input-group-BwujFvXM.js +1 -0
  516. package/dist/showcase/assets/input-group-DvXgZtra.js +47 -0
  517. package/dist/showcase/assets/inputs-CjzW_R8z.js +155 -0
  518. package/dist/showcase/assets/installation-2dW-rmF2.js +134 -0
  519. package/dist/showcase/assets/invoice-header-DeWxMKCe.js +36 -0
  520. package/dist/showcase/assets/invoice-items-Dxb95w0e.js +36 -0
  521. package/dist/showcase/assets/invoice-mini-EMzCkmR7.js +14 -0
  522. package/dist/showcase/assets/invoice-table-ClWJaclJ.js +30 -0
  523. package/dist/showcase/assets/isSameDay-BNPzVySj.js +1 -0
  524. package/dist/showcase/assets/isToday-D6n7oLej.js +1 -0
  525. package/dist/showcase/assets/italic-B8w3dpYw.js +1 -0
  526. package/dist/showcase/assets/item-B8_dwOlT.js +1 -0
  527. package/dist/showcase/assets/item-Baq-Mmy2.js +1 -0
  528. package/dist/showcase/assets/item-BtMuqGwy.js +140 -0
  529. package/dist/showcase/assets/kanban-B-QxvKMg.js +188 -0
  530. package/dist/showcase/assets/key-round-CrBIyzIa.js +1 -0
  531. package/dist/showcase/assets/label-VWe_nbHh.js +1 -0
  532. package/dist/showcase/assets/languages-N0uGt5nC.js +1 -0
  533. package/dist/showcase/assets/layers-DEZvT5cX.js +1 -0
  534. package/dist/showcase/assets/layout-app-shell-T9UqKX2o.js +608 -0
  535. package/dist/showcase/assets/layout-auth-IVC4DuU3.js +790 -0
  536. package/dist/showcase/assets/layout-containers-naBpuH05.js +101 -0
  537. package/dist/showcase/assets/layout-header-9i_7ygKU.js +203 -0
  538. package/dist/showcase/assets/layout-page-CrEUiJpW.js +315 -0
  539. package/dist/showcase/assets/layout-primitives-DPrVHpu3.js +34 -0
  540. package/dist/showcase/assets/layout-sidebar-D7z6-kPu.js +224 -0
  541. package/dist/showcase/assets/layout-users-Cov9D84d.js +117 -0
  542. package/dist/showcase/assets/layout-workspace-Czlmi8gY.js +191 -0
  543. package/dist/showcase/assets/lib-DNMH46Rn.js +1 -0
  544. package/dist/showcase/assets/list-checks-DygDRIGi.js +1 -0
  545. package/dist/showcase/assets/lock-DqEahakB.js +1 -0
  546. package/dist/showcase/assets/lock-keyhole-CETEK3R0.js +1 -0
  547. package/dist/showcase/assets/mail-LKhBlrEc.js +1 -0
  548. package/dist/showcase/assets/mail-check-BOTjWQJf.js +1 -0
  549. package/dist/showcase/assets/map-0vJT2r8C.js +124 -0
  550. package/dist/showcase/assets/map-pin-D0qrpDJI.js +1 -0
  551. package/dist/showcase/assets/media-library-Bp99WaS9.js +699 -0
  552. package/dist/showcase/assets/mention-inline-suggestions-mlV7LRvD.js +1 -0
  553. package/dist/showcase/assets/mentions-Cmd1zxOR.js +138 -0
  554. package/dist/showcase/assets/menus-CtjFPoDr.js +171 -0
  555. package/dist/showcase/assets/message-square-BXyvikcZ.js +1 -0
  556. package/dist/showcase/assets/metadata-list-DLUBcy7E.js +286 -0
  557. package/dist/showcase/assets/metadata-list-F3bWXtZB.js +1 -0
  558. package/dist/showcase/assets/metric-CXPRptlh.js +1 -0
  559. package/dist/showcase/assets/metric-bar-BY25WVZ0.js +1 -0
  560. package/dist/showcase/assets/metric-grid-DQtf9y6E.js +1 -0
  561. package/dist/showcase/assets/metric-trend-chip-CXHpkj3U.js +1 -0
  562. package/dist/showcase/assets/metrics-analytics-bar-BIuwiVrn.js +44 -0
  563. package/dist/showcase/assets/metrics-analytics-cards-yx5lMGQf.js +50 -0
  564. package/dist/showcase/assets/metrics-comparison-BC_7jLXf.js +76 -0
  565. package/dist/showcase/assets/metrics-heatmap-C_nhCljz.js +27 -0
  566. package/dist/showcase/assets/metrics-inline-badge-3oySQnoR.js +17 -0
  567. package/dist/showcase/assets/metrics-kpi-row-zS4-oiTO.js +31 -0
  568. package/dist/showcase/assets/metrics-micro-grid-UJkA2LNR.js +42 -0
  569. package/dist/showcase/assets/metrics-overview-DQFr22ol.js +192 -0
  570. package/dist/showcase/assets/metrics-stat-cards-DnBirxKV.js +54 -0
  571. package/dist/showcase/assets/minus-BOVQEx6C.js +1 -0
  572. package/dist/showcase/assets/money-display-DV7xlrNV.js +1 -0
  573. package/dist/showcase/assets/money-display-DxnM5--7.js +1 -0
  574. package/dist/showcase/assets/month-year-picker-BzRXCrQ7.js +1 -0
  575. package/dist/showcase/assets/navigation-ChJKLv4Y.js +90 -0
  576. package/dist/showcase/assets/navigation-D7VJsKrP.js +231 -0
  577. package/dist/showcase/assets/navigation-extras-BVc1xQuB.js +43 -0
  578. package/dist/showcase/assets/notification-banner-1ivcmPLe.js +1 -0
  579. package/dist/showcase/assets/onboarding-checklist-CbARgwpX.js +119 -0
  580. package/dist/showcase/assets/overflow-tab-bar-DlqMmyTx.js +1 -0
  581. package/dist/showcase/assets/overlays-DkWO50b8.js +159 -0
  582. package/dist/showcase/assets/overlays-KKZpxWjt.js +408 -0
  583. package/dist/showcase/assets/overview-BjQe-YZE.js +184 -0
  584. package/dist/showcase/assets/package-DhQRoFDo.js +1 -0
  585. package/dist/showcase/assets/package-check-CBgGiccG.js +1 -0
  586. package/dist/showcase/assets/page-BWTmyV5J.js +1 -0
  587. package/dist/showcase/assets/page-action-button-DV-YYRA4.js +1 -0
  588. package/dist/showcase/assets/page-header-Bmg4NU_P.js +1 -0
  589. package/dist/showcase/assets/pagination-ByQ_OXRU.js +1 -0
  590. package/dist/showcase/assets/pagination-Db5CuoBb.js +42 -0
  591. package/dist/showcase/assets/paperclip-BQNPUzG_.js +1 -0
  592. package/dist/showcase/assets/password-input-CPvjzM1f.js +1 -0
  593. package/dist/showcase/assets/pencil-DuBakHme.js +1 -0
  594. package/dist/showcase/assets/phone-t94LTB1m.js +1 -0
  595. package/dist/showcase/assets/placeholder-pattern-BNou2ep-.js +1 -0
  596. package/dist/showcase/assets/plus-BRcp6JhT.js +1 -0
  597. package/dist/showcase/assets/popover-CVuJP03o.js +1 -0
  598. package/dist/showcase/assets/popover-D_P2gTn8.js +1 -0
  599. package/dist/showcase/assets/popover-menu-DGY5jEk4.js +1 -0
  600. package/dist/showcase/assets/products-8sUfDMPU.js +423 -0
  601. package/dist/showcase/assets/progress-BrMvIZIz.js +1 -0
  602. package/dist/showcase/assets/progress-CSXZAavT.js +18 -0
  603. package/dist/showcase/assets/progress-Dvqpf_O0.js +1 -0
  604. package/dist/showcase/assets/props-table-BAfz1Zc6.js +1 -0
  605. package/dist/showcase/assets/props.generated-CuVoOKYT.json +41746 -0
  606. package/dist/showcase/assets/qr-code-C-CaHJQ2.js +1 -0
  607. package/dist/showcase/assets/quote-Ci80eS0u.js +1 -0
  608. package/dist/showcase/assets/receipt-jvwbPuE3.js +1 -0
  609. package/dist/showcase/assets/receipt-text-CT0GiMQm.js +1 -0
  610. package/dist/showcase/assets/refinement-guide-BnCQ9-6f.js +189 -0
  611. package/dist/showcase/assets/refresh-cw-CXDARnCe.js +1 -0
  612. package/dist/showcase/assets/resolveValueLabel-DJanfUim.js +1 -0
  613. package/dist/showcase/assets/resource-Bir-z7ie.js +139 -0
  614. package/dist/showcase/assets/resource-D19qhfYP.js +1 -0
  615. package/dist/showcase/assets/resource-selector-card-BUbuu-QH.js +43 -0
  616. package/dist/showcase/assets/rich-text-editor-BCtz589M.js +124 -0
  617. package/dist/showcase/assets/rich-text-editor-uu9FmB8B.js +143 -0
  618. package/dist/showcase/assets/rotate-ccw-DEIVfiHA.js +1 -0
  619. package/dist/showcase/assets/route-B5vtDLsE.js +1 -0
  620. package/dist/showcase/assets/save-DQ4Up8ZB.js +1 -0
  621. package/dist/showcase/assets/schema-form-D7wbdl5u.js +327 -0
  622. package/dist/showcase/assets/scroll-area-B0QD6o1Y.js +32 -0
  623. package/dist/showcase/assets/scroll-area-BoZ1SrfI.js +1 -0
  624. package/dist/showcase/assets/section-BXsVHOsI.js +1 -0
  625. package/dist/showcase/assets/select-CW8SYsOY.js +1 -0
  626. package/dist/showcase/assets/select-DmRqLSoG.js +1 -0
  627. package/dist/showcase/assets/send-Dxs1-xSj.js +1 -0
  628. package/dist/showcase/assets/separator-BLOG_8oO.js +1 -0
  629. package/dist/showcase/assets/separator-DZC_uQU-.js +1 -0
  630. package/dist/showcase/assets/separator-OlLHRN7k.js +28 -0
  631. package/dist/showcase/assets/settings-2-BSpgytsy.js +1 -0
  632. package/dist/showcase/assets/settings-CCNP7XOu.js +1 -0
  633. package/dist/showcase/assets/sheet-DIfJjbgA.js +1 -0
  634. package/dist/showcase/assets/shield-D2gTWkwA.js +1 -0
  635. package/dist/showcase/assets/shield-alert-C-3oWpoe.js +1 -0
  636. package/dist/showcase/assets/shield-check-D11r1eJ8.js +1 -0
  637. package/dist/showcase/assets/shopping-bag-DAeaVQ5O.js +1 -0
  638. package/dist/showcase/assets/showcase-GdZcH6OR.js +132 -0
  639. package/dist/showcase/assets/sidebar-RBzHNuB7.js +1 -0
  640. package/dist/showcase/assets/sidebar.context-Dyw470Qp.js +1 -0
  641. package/dist/showcase/assets/skeleton-B7crngMw.js +1 -0
  642. package/dist/showcase/assets/skeleton-BwEVNdGJ.js +1 -0
  643. package/dist/showcase/assets/skeleton-DM73_ueB.js +1 -0
  644. package/dist/showcase/assets/skeleton-cHsWJOtO.js +29 -0
  645. package/dist/showcase/assets/slider-DRPnIs0S.js +1 -0
  646. package/dist/showcase/assets/smart-card-DER7dpD9.js +1 -0
  647. package/dist/showcase/assets/sonner-Go1YsPBH.js +22 -0
  648. package/dist/showcase/assets/sortable.esm-q6LdsxSr.js +5 -0
  649. package/dist/showcase/assets/sparkles-DqH40POl.js +1 -0
  650. package/dist/showcase/assets/spinner-C0YWWxyj.js +1 -0
  651. package/dist/showcase/assets/spinner-CpHNR13f.js +30 -0
  652. package/dist/showcase/assets/spinner-Dwvf24e9.js +49 -0
  653. package/dist/showcase/assets/square-pen-D-xHmIA0.js +1 -0
  654. package/dist/showcase/assets/stacked-avatars-C92NYKIa.js +1 -0
  655. package/dist/showcase/assets/star-dD4CAJ83.js +1 -0
  656. package/dist/showcase/assets/startOfDay-BXZshd4g.js +1 -0
  657. package/dist/showcase/assets/styles-BPJdkO_3.js +1 -0
  658. package/dist/showcase/assets/suggestions-CyhKme4Q.js +126 -0
  659. package/dist/showcase/assets/switch-C7DVTgQd.js +1 -0
  660. package/dist/showcase/assets/switch-LU6nljdS.js +1 -0
  661. package/dist/showcase/assets/sync-bERw1shm.js +124 -0
  662. package/dist/showcase/assets/table-BuIv4nqB.js +686 -0
  663. package/dist/showcase/assets/table-CDMDtBgJ.js +1 -0
  664. package/dist/showcase/assets/table-actions-DsK7d8Yb.js +1 -0
  665. package/dist/showcase/assets/tabs-BDryywGb.js +19 -0
  666. package/dist/showcase/assets/tabs-BNaZmM48.js +1 -0
  667. package/dist/showcase/assets/tags-input-CzE_5BJl.js +1 -0
  668. package/dist/showcase/assets/text-button-B1m5cpX_.js +1 -0
  669. package/dist/showcase/assets/text-link-CqjW10Ce.js +1 -0
  670. package/dist/showcase/assets/textarea-xJ3EE8R9.js +1 -0
  671. package/dist/showcase/assets/textarea-xOekToAG.js +1 -0
  672. package/dist/showcase/assets/throttle-alert-BH1HMiaI.js +1 -0
  673. package/dist/showcase/assets/timelines-DjWkuOz3.js +200 -0
  674. package/dist/showcase/assets/toggle-group-Css6pfUI.js +1 -0
  675. package/dist/showcase/assets/toggles-DhDrn3YH.js +71 -0
  676. package/dist/showcase/assets/toggles-group-e4xtKzkl.js +32 -0
  677. package/dist/showcase/assets/tooltip-DMvMUrGe.js +31 -0
  678. package/dist/showcase/assets/trash-2-zILxQmtX.js +1 -0
  679. package/dist/showcase/assets/trending-up-CRH278ig.js +1 -0
  680. package/dist/showcase/assets/truck-At9CEKg7.js +1 -0
  681. package/dist/showcase/assets/typography-B0ehvSV4.js +223 -0
  682. package/dist/showcase/assets/ui-badge-CyLWYf3f.js +28 -0
  683. package/dist/showcase/assets/ui-card-BPnLZmkJ.js +30 -0
  684. package/dist/showcase/assets/ui-table-C-zXhcOm.js +42 -0
  685. package/dist/showcase/assets/upload-tray-IyQJEM9n.js +138 -0
  686. package/dist/showcase/assets/use-layout-link-Cux4giQO.js +1 -0
  687. package/dist/showcase/assets/useAriaLabelledBy-Bo0rTGvc.js +1 -0
  688. package/dist/showcase/assets/useCollapsiblePanel-CzU-1LY3.js +1 -0
  689. package/dist/showcase/assets/useCompositeItem-CJFNnVql.js +1 -0
  690. package/dist/showcase/assets/useCompositeListItem-BAuO9hue.js +1 -0
  691. package/dist/showcase/assets/useLabelableId-HuACs9ba.js +1 -0
  692. package/dist/showcase/assets/useOpenInteractionType-MEUfJuxN.js +1 -0
  693. package/dist/showcase/assets/useRender-B-6DpRfj.js +1 -0
  694. package/dist/showcase/assets/useTriggerFocusGuards-B-mRyUJJ.js +1 -0
  695. package/dist/showcase/assets/useValueChanged-CVn_Rfso.js +1 -0
  696. package/dist/showcase/assets/user-eelwPGBI.js +1 -0
  697. package/dist/showcase/assets/user-plus-DhswMZvb.js +1 -0
  698. package/dist/showcase/assets/users-BVMmaveS.js +1 -0
  699. package/dist/showcase/assets/vendor-profile-FHaiInTe.js +37 -0
  700. package/dist/showcase/assets/video-C42fxAyj.js +1 -0
  701. package/dist/showcase/assets/visually-hidden-BwzlEinj.js +1 -0
  702. package/dist/showcase/assets/wrench-EKI7PaKp.js +1 -0
  703. package/dist/showcase/assets/x--LIqlhum.js +1 -0
  704. package/dist/showcase/assets/zap-C1fX30vt.js +1 -0
  705. package/dist/showcase/index.html +2 -2
  706. package/dist/style.css +1 -1
  707. package/package.json +1 -1
  708. package/src/css/tokens/foundation.css +1 -1
  709. package/src/css/tokens/primitives.css +1 -1
  710. package/src/css/tokens/states.css +3 -0
  711. package/dist/_shared/accordion-CxjH2WZG.js +0 -135
  712. package/dist/_shared/accordion-CxjH2WZG.js.map +0 -1
  713. package/dist/_shared/accordion-mTdJmy23.cjs +0 -2
  714. package/dist/_shared/accordion-mTdJmy23.cjs.map +0 -1
  715. package/dist/_shared/action-menu-BrHF4nss.cjs +0 -2
  716. package/dist/_shared/action-menu-BrHF4nss.cjs.map +0 -1
  717. package/dist/_shared/action-menu-Crn22LKo.js +0 -96
  718. package/dist/_shared/action-menu-Crn22LKo.js.map +0 -1
  719. package/dist/_shared/ai-artifact-CS2Pv-bu.js +0 -1099
  720. package/dist/_shared/ai-artifact-CS2Pv-bu.js.map +0 -1
  721. package/dist/_shared/ai-artifact-R4bxz5Iq.cjs +0 -3
  722. package/dist/_shared/ai-artifact-R4bxz5Iq.cjs.map +0 -1
  723. package/dist/_shared/alert-BisCSsOE.cjs +0 -2
  724. package/dist/_shared/alert-BisCSsOE.cjs.map +0 -1
  725. package/dist/_shared/alert-D23Q7I0W.js +0 -81
  726. package/dist/_shared/alert-D23Q7I0W.js.map +0 -1
  727. package/dist/_shared/auth-BV9Daibu.cjs +0 -2
  728. package/dist/_shared/auth-BV9Daibu.cjs.map +0 -1
  729. package/dist/_shared/auth-DACpcTnL.js +0 -643
  730. package/dist/_shared/auth-DACpcTnL.js.map +0 -1
  731. package/dist/_shared/badge-B4oBB5BJ.js +0 -110
  732. package/dist/_shared/badge-B4oBB5BJ.js.map +0 -1
  733. package/dist/_shared/badge-DvUA9Pr2.cjs +0 -2
  734. package/dist/_shared/badge-DvUA9Pr2.cjs.map +0 -1
  735. package/dist/_shared/button-BMiPFJIb.cjs +0 -2
  736. package/dist/_shared/button-BMiPFJIb.cjs.map +0 -1
  737. package/dist/_shared/button-vv59_uS_.js +0 -189
  738. package/dist/_shared/button-vv59_uS_.js.map +0 -1
  739. package/dist/_shared/buttons-CvqIMv3I.js +0 -137
  740. package/dist/_shared/buttons-CvqIMv3I.js.map +0 -1
  741. package/dist/_shared/buttons-tCkWktN3.cjs +0 -2
  742. package/dist/_shared/buttons-tCkWktN3.cjs.map +0 -1
  743. package/dist/_shared/card-radio-group-BL--IyPB.js +0 -150
  744. package/dist/_shared/card-radio-group-BL--IyPB.js.map +0 -1
  745. package/dist/_shared/card-radio-group-Cl5ptR1d.cjs +0 -2
  746. package/dist/_shared/card-radio-group-Cl5ptR1d.cjs.map +0 -1
  747. package/dist/_shared/cards-CMNXFo3Y.js +0 -354
  748. package/dist/_shared/cards-CMNXFo3Y.js.map +0 -1
  749. package/dist/_shared/cards-DQN9fcwo.cjs +0 -2
  750. package/dist/_shared/cards-DQN9fcwo.cjs.map +0 -1
  751. package/dist/_shared/combobox-D0avSXIB.cjs +0 -2
  752. package/dist/_shared/combobox-D0avSXIB.cjs.map +0 -1
  753. package/dist/_shared/combobox-Df0srISK.js +0 -954
  754. package/dist/_shared/combobox-Df0srISK.js.map +0 -1
  755. package/dist/_shared/command-B5BpMgBT.js +0 -39
  756. package/dist/_shared/command-B5BpMgBT.js.map +0 -1
  757. package/dist/_shared/command-en62SpQ7.cjs +0 -2
  758. package/dist/_shared/command-en62SpQ7.cjs.map +0 -1
  759. package/dist/_shared/comments-CfkortDW.js +0 -952
  760. package/dist/_shared/comments-CfkortDW.js.map +0 -1
  761. package/dist/_shared/comments-yVd7QMOu.cjs +0 -2
  762. package/dist/_shared/comments-yVd7QMOu.cjs.map +0 -1
  763. package/dist/_shared/copyable-Cn7tRGL5.js +0 -38
  764. package/dist/_shared/copyable-Cn7tRGL5.js.map +0 -1
  765. package/dist/_shared/copyable-CoKTxMSP.cjs +0 -2
  766. package/dist/_shared/copyable-CoKTxMSP.cjs.map +0 -1
  767. package/dist/_shared/data-display-BG7CD164.js +0 -1873
  768. package/dist/_shared/data-display-BG7CD164.js.map +0 -1
  769. package/dist/_shared/data-display-CXVoX3la.cjs +0 -2
  770. package/dist/_shared/data-display-CXVoX3la.cjs.map +0 -1
  771. package/dist/_shared/date-picker-Bf-nnyi-.js +0 -1361
  772. package/dist/_shared/date-picker-Bf-nnyi-.js.map +0 -1
  773. package/dist/_shared/date-picker-Cox4PAUt.cjs +0 -2
  774. package/dist/_shared/date-picker-Cox4PAUt.cjs.map +0 -1
  775. package/dist/_shared/date-pickers-DbN4q0dn.cjs +0 -2
  776. package/dist/_shared/date-pickers-DbN4q0dn.cjs.map +0 -1
  777. package/dist/_shared/date-pickers-DvrOCP-s.js +0 -329
  778. package/dist/_shared/date-pickers-DvrOCP-s.js.map +0 -1
  779. package/dist/_shared/display-BQijMo37.js +0 -986
  780. package/dist/_shared/display-BQijMo37.js.map +0 -1
  781. package/dist/_shared/display-C0ut-Lew.cjs +0 -2
  782. package/dist/_shared/display-C0ut-Lew.cjs.map +0 -1
  783. package/dist/_shared/forms-BjG7QIb1.cjs +0 -2
  784. package/dist/_shared/forms-BjG7QIb1.cjs.map +0 -1
  785. package/dist/_shared/forms-DljDdyXR.js +0 -3533
  786. package/dist/_shared/forms-DljDdyXR.js.map +0 -1
  787. package/dist/_shared/header-BpFJRINR.cjs +0 -2
  788. package/dist/_shared/header-BpFJRINR.cjs.map +0 -1
  789. package/dist/_shared/header-CKqQF4_r.js +0 -447
  790. package/dist/_shared/header-CKqQF4_r.js.map +0 -1
  791. package/dist/_shared/hooks-DcCkbP1F.js +0 -95
  792. package/dist/_shared/hooks-DcCkbP1F.js.map +0 -1
  793. package/dist/_shared/hooks-RkLytuGj.cjs +0 -2
  794. package/dist/_shared/hooks-RkLytuGj.cjs.map +0 -1
  795. package/dist/_shared/input-Cin0qpjj.js +0 -182
  796. package/dist/_shared/input-Cin0qpjj.js.map +0 -1
  797. package/dist/_shared/input-uuWeiagN.cjs +0 -2
  798. package/dist/_shared/input-uuWeiagN.cjs.map +0 -1
  799. package/dist/_shared/item-CIlSaQg8.js +0 -226
  800. package/dist/_shared/item-CIlSaQg8.js.map +0 -1
  801. package/dist/_shared/item-CSk9Y2qB.cjs +0 -2
  802. package/dist/_shared/item-CSk9Y2qB.cjs.map +0 -1
  803. package/dist/_shared/layout-Cun0HPL4.cjs +0 -2
  804. package/dist/_shared/layout-Cun0HPL4.cjs.map +0 -1
  805. package/dist/_shared/layout-HrU5gwH3.js +0 -261
  806. package/dist/_shared/layout-HrU5gwH3.js.map +0 -1
  807. package/dist/_shared/mentions-BqN82Fon.cjs +0 -2
  808. package/dist/_shared/mentions-BqN82Fon.cjs.map +0 -1
  809. package/dist/_shared/mentions-DV0FT1Th.js +0 -506
  810. package/dist/_shared/mentions-DV0FT1Th.js.map +0 -1
  811. package/dist/_shared/money-display-D5FCRhzB.cjs +0 -2
  812. package/dist/_shared/money-display-D5FCRhzB.cjs.map +0 -1
  813. package/dist/_shared/money-display-FcCAQDCz.js +0 -198
  814. package/dist/_shared/money-display-FcCAQDCz.js.map +0 -1
  815. package/dist/_shared/navigation-CI_Dd8jM.js +0 -436
  816. package/dist/_shared/navigation-CI_Dd8jM.js.map +0 -1
  817. package/dist/_shared/navigation-DUGhCPzJ.cjs +0 -2
  818. package/dist/_shared/navigation-DUGhCPzJ.cjs.map +0 -1
  819. package/dist/_shared/overlays-BRLemLSn.cjs +0 -2
  820. package/dist/_shared/overlays-BRLemLSn.cjs.map +0 -1
  821. package/dist/_shared/overlays-Bef7VNYY.js +0 -735
  822. package/dist/_shared/overlays-Bef7VNYY.js.map +0 -1
  823. package/dist/_shared/popover-menu-CAjhhTfX.js +0 -93
  824. package/dist/_shared/popover-menu-CAjhhTfX.js.map +0 -1
  825. package/dist/_shared/popover-menu-DlkRgOkR.cjs +0 -2
  826. package/dist/_shared/popover-menu-DlkRgOkR.cjs.map +0 -1
  827. package/dist/_shared/rich-text-editor-Bpt3r3J3.js +0 -620
  828. package/dist/_shared/rich-text-editor-Bpt3r3J3.js.map +0 -1
  829. package/dist/_shared/rich-text-editor-DUTX7kBa.cjs +0 -2
  830. package/dist/_shared/rich-text-editor-DUTX7kBa.cjs.map +0 -1
  831. package/dist/_shared/settings-CNT4-6u8.cjs +0 -2
  832. package/dist/_shared/settings-CNT4-6u8.cjs.map +0 -1
  833. package/dist/_shared/settings-CRP6409J.js +0 -143
  834. package/dist/_shared/settings-CRP6409J.js.map +0 -1
  835. package/dist/_shared/sidebar-B0LcBrfI.cjs +0 -2
  836. package/dist/_shared/sidebar-B0LcBrfI.cjs.map +0 -1
  837. package/dist/_shared/sidebar-Bc6JsOTD.js +0 -548
  838. package/dist/_shared/sidebar-Bc6JsOTD.js.map +0 -1
  839. package/dist/_shared/spinner-CVG62sGs.js +0 -67
  840. package/dist/_shared/spinner-CVG62sGs.js.map +0 -1
  841. package/dist/_shared/spinner-VjdonFU2.cjs +0 -2
  842. package/dist/_shared/spinner-VjdonFU2.cjs.map +0 -1
  843. package/dist/_shared/table-_yujELN3.js +0 -1377
  844. package/dist/_shared/table-_yujELN3.js.map +0 -1
  845. package/dist/_shared/table-iV8H1AE0.cjs +0 -2
  846. package/dist/_shared/table-iV8H1AE0.cjs.map +0 -1
  847. package/dist/_shared/textarea-B4zbbqff.cjs +0 -2
  848. package/dist/_shared/textarea-B4zbbqff.cjs.map +0 -1
  849. package/dist/_shared/textarea-Dp0RU-rc.js +0 -118
  850. package/dist/_shared/textarea-Dp0RU-rc.js.map +0 -1
  851. package/dist/_shared/typography-DXvCmE8w.js +0 -201
  852. package/dist/_shared/typography-DXvCmE8w.js.map +0 -1
  853. package/dist/_shared/typography-pzCKaFOc.cjs +0 -2
  854. package/dist/_shared/typography-pzCKaFOc.cjs.map +0 -1
  855. package/dist/_shared/ui-provider-DZWtUXf2.cjs +0 -2
  856. package/dist/_shared/ui-provider-DZWtUXf2.cjs.map +0 -1
  857. package/dist/_shared/ui-provider-Dj6OSOZi.js +0 -81
  858. package/dist/_shared/ui-provider-Dj6OSOZi.js.map +0 -1
  859. package/dist/_shared/workspace-C3U57t2a.cjs +0 -2
  860. package/dist/_shared/workspace-C3U57t2a.cjs.map +0 -1
  861. package/dist/_shared/workspace-Db--ow3r.js +0 -357
  862. package/dist/_shared/workspace-Db--ow3r.js.map +0 -1
  863. package/dist/showcase/assets/AreaChart-DtVzijR8.js +0 -6
  864. package/dist/showcase/assets/CompositeItem-SL6R0H3r.js +0 -1
  865. package/dist/showcase/assets/CompositeRoot-CTygKc2d.js +0 -1
  866. package/dist/showcase/assets/DialogTrigger-m2m9VdXk.js +0 -1
  867. package/dist/showcase/assets/LabelableContext-D6DcOg5I.js +0 -1
  868. package/dist/showcase/assets/PreviewLayout-CHW8F5uE.js +0 -1
  869. package/dist/showcase/assets/RadioGroup-BAOoU1eO.js +0 -1
  870. package/dist/showcase/assets/ScrollAreaCorner-CrCCP65t.js +0 -1
  871. package/dist/showcase/assets/Separator-DMs71Vib.js +0 -1
  872. package/dist/showcase/assets/ToolbarRootContext-DWKxsCxT.js +0 -1
  873. package/dist/showcase/assets/accordion-Clw5XNXP.js +0 -171
  874. package/dist/showcase/assets/accordion-variants-jiwKaPjE.js +0 -1
  875. package/dist/showcase/assets/action-menu-CW8zR6Ne.js +0 -1
  876. package/dist/showcase/assets/actions-Cf7vl3u0.js +0 -310
  877. package/dist/showcase/assets/activities-CyI5sJuS.js +0 -500
  878. package/dist/showcase/assets/activities-feed-card-Gv-Y4BBq.js +0 -1
  879. package/dist/showcase/assets/admin-CQVbTxGD.js +0 -140
  880. package/dist/showcase/assets/ai-Bkp2BY_z.js +0 -207
  881. package/dist/showcase/assets/ai-artifact-Cf1vEdVD.js +0 -2
  882. package/dist/showcase/assets/ai-chat-Bs3x6cK3.js +0 -568
  883. package/dist/showcase/assets/ai-elements-VbMUV2-i.js +0 -387
  884. package/dist/showcase/assets/ai-tool-call-BQYg4QB_.js +0 -1
  885. package/dist/showcase/assets/alert-BUmpNcXV.js +0 -1
  886. package/dist/showcase/assets/alert-CWPNW7eb.js +0 -93
  887. package/dist/showcase/assets/alert-nUwhk3AB.js +0 -62
  888. package/dist/showcase/assets/api-key-list-B1qVywOP.js +0 -73
  889. package/dist/showcase/assets/api-key-list-BI2FGbzV.js +0 -1
  890. package/dist/showcase/assets/app-sidebar-B35a8HWK.js +0 -1
  891. package/dist/showcase/assets/arrow-down-C1w0M8tE.js +0 -1
  892. package/dist/showcase/assets/arrow-left-DtILDtAv.js +0 -1
  893. package/dist/showcase/assets/arrow-right-TnZMfDbP.js +0 -1
  894. package/dist/showcase/assets/arrow-up-BX-KDIDB.js +0 -1
  895. package/dist/showcase/assets/arrow-up-right-CrnWqXwJ.js +0 -1
  896. package/dist/showcase/assets/avatar-C5YI0roK.js +0 -67
  897. package/dist/showcase/assets/avatar-DsnH-Xmz.js +0 -1
  898. package/dist/showcase/assets/avatar-S4vMi7Be.js +0 -57
  899. package/dist/showcase/assets/avatar-q4wqX6yD.js +0 -1
  900. package/dist/showcase/assets/badge-DJacF8-J.js +0 -31
  901. package/dist/showcase/assets/badge-check-DDJtQHcD.js +0 -1
  902. package/dist/showcase/assets/bell-DiXXE8YI.js +0 -1
  903. package/dist/showcase/assets/bot-bONqc_7j.js +0 -1
  904. package/dist/showcase/assets/box-lhUq3Chj.js +0 -1
  905. package/dist/showcase/assets/braces-IKXiJgb3.js +0 -1
  906. package/dist/showcase/assets/brain-DcXlhbJZ.js +0 -1
  907. package/dist/showcase/assets/brand-CramZg2-.js +0 -36
  908. package/dist/showcase/assets/breadcrumb-BL7UjlLh.js +0 -1
  909. package/dist/showcase/assets/breadcrumb-CZRbcf09.js +0 -52
  910. package/dist/showcase/assets/breadcrumbs-DJzvSt_Z.js +0 -1
  911. package/dist/showcase/assets/briefcase-CQQ0m97G.js +0 -1
  912. package/dist/showcase/assets/building-2-BkQcv8WR.js +0 -1
  913. package/dist/showcase/assets/button-K7M0irWq.js +0 -44
  914. package/dist/showcase/assets/button-group-KCGa38c8.js +0 -1
  915. package/dist/showcase/assets/buttons-CvyBMRD6.js +0 -272
  916. package/dist/showcase/assets/calendar-BJHjhWQX.js +0 -1
  917. package/dist/showcase/assets/calendar-ChMVRsNC.js +0 -16
  918. package/dist/showcase/assets/calendar-days-BgkRJVxQ.js +0 -1
  919. package/dist/showcase/assets/calendar-xpHhfGnq.js +0 -1
  920. package/dist/showcase/assets/camera-C67freYi.js +0 -1
  921. package/dist/showcase/assets/card-CfOqXMVz.js +0 -188
  922. package/dist/showcase/assets/card-bLjedjT5.js +0 -1
  923. package/dist/showcase/assets/card-primitives-FUPmQCsu.js +0 -1
  924. package/dist/showcase/assets/card-radio-group-D_QNJ2Hm.js +0 -1
  925. package/dist/showcase/assets/cards-yHZa0kEf.js +0 -353
  926. package/dist/showcase/assets/carousel-DG1cKry4.js +0 -449
  927. package/dist/showcase/assets/cell-renderers-qfJ-7alN.js +0 -1
  928. package/dist/showcase/assets/chart-B_yVfbWJ.js +0 -358
  929. package/dist/showcase/assets/chart-column-CYrVWmMk.js +0 -1
  930. package/dist/showcase/assets/checkbox-NW6EcvtD.js +0 -1
  931. package/dist/showcase/assets/checkbox-pA_L1P-f.js +0 -1
  932. package/dist/showcase/assets/chevron-down-DLrHjdQ6.js +0 -1
  933. package/dist/showcase/assets/chevron-left-B_NQOEWI.js +0 -1
  934. package/dist/showcase/assets/chevron-up-6hst2jwR.js +0 -1
  935. package/dist/showcase/assets/chevrons-up-down-C_pj9oOa.js +0 -1
  936. package/dist/showcase/assets/circle-Cw9qV72m.js +0 -1
  937. package/dist/showcase/assets/circle-alert-D3Vcma6L.js +0 -1
  938. package/dist/showcase/assets/circle-check-DdjJpGc9.js +0 -1
  939. package/dist/showcase/assets/circle-check-big-Dnq-jwtv.js +0 -1
  940. package/dist/showcase/assets/circle-dot-DN8DFgIP.js +0 -1
  941. package/dist/showcase/assets/circle-question-mark-Dzgiv4oS.js +0 -1
  942. package/dist/showcase/assets/circle-x-BzTSkndC.js +0 -1
  943. package/dist/showcase/assets/clock-3-CVwHXCmo.js +0 -1
  944. package/dist/showcase/assets/clock-BIJ9p953.js +0 -1
  945. package/dist/showcase/assets/code-xml-DrU5ziCA.js +0 -1
  946. package/dist/showcase/assets/collapsible-7rdCo71k.js +0 -27
  947. package/dist/showcase/assets/collapsible-DCcTSlEH.js +0 -1
  948. package/dist/showcase/assets/combobox-mx8o5sV1.js +0 -685
  949. package/dist/showcase/assets/command-CKJDGdA9.js +0 -1
  950. package/dist/showcase/assets/command-CzGLPzoO.js +0 -1
  951. package/dist/showcase/assets/comment-composer-CSoEIapl.js +0 -1
  952. package/dist/showcase/assets/comment-item-pjaH53iB.js +0 -1
  953. package/dist/showcase/assets/comments-_ccotzWA.js +0 -357
  954. package/dist/showcase/assets/commerce-BuiQiRsf.js +0 -267
  955. package/dist/showcase/assets/composite-Bghohd0p.js +0 -1
  956. package/dist/showcase/assets/contact-card-CqM2uz_w.js +0 -65
  957. package/dist/showcase/assets/content-container-fC4z98GI.js +0 -1
  958. package/dist/showcase/assets/copyable-BMQK8sID.js +0 -1
  959. package/dist/showcase/assets/copyable-DVR2FAa0.js +0 -96
  960. package/dist/showcase/assets/course-card-Cku2z18g.js +0 -77
  961. package/dist/showcase/assets/cpu-A072t3kq.js +0 -1
  962. package/dist/showcase/assets/credit-card-BGwhx9Zo.js +0 -1
  963. package/dist/showcase/assets/css-variables-BAW_VrGk.js +0 -1205
  964. package/dist/showcase/assets/currency-Da3C0Uzb.js +0 -149
  965. package/dist/showcase/assets/dark-surfaces-BHYLEj80.js +0 -90
  966. package/dist/showcase/assets/data-view--EAYihh0.js +0 -124
  967. package/dist/showcase/assets/data-view-BAMwKzZO.js +0 -4
  968. package/dist/showcase/assets/database-C489WIbr.js +0 -1
  969. package/dist/showcase/assets/date-block-DuNaPSBU.js +0 -1
  970. package/dist/showcase/assets/date-picker-Dq-9L64y.js +0 -1
  971. package/dist/showcase/assets/date-pickers-D0ReMKc9.js +0 -73
  972. package/dist/showcase/assets/dense-info-CXwjqQB1.js +0 -106
  973. package/dist/showcase/assets/design-system-consistency-CGoKv0Vf.js +0 -264
  974. package/dist/showcase/assets/dialog-DIrJcAzq.js +0 -1
  975. package/dist/showcase/assets/dialog-O45UwQJs.js +0 -1
  976. package/dist/showcase/assets/display-utilities-VKOARJyC.js +0 -267
  977. package/dist/showcase/assets/dist-BavkTE-I.js +0 -1
  978. package/dist/showcase/assets/dist-DPxPKIgU.js +0 -45
  979. package/dist/showcase/assets/dollar-sign-CH2fcyek.js +0 -1
  980. package/dist/showcase/assets/download-whAw79X4.js +0 -1
  981. package/dist/showcase/assets/dropdown-menu-PVKwhWds.js +0 -1
  982. package/dist/showcase/assets/dropzone-B9sc8Mwa.js +0 -1
  983. package/dist/showcase/assets/earth-BpkE9LMh.js +0 -1
  984. package/dist/showcase/assets/ellipsis-CEVdIbhD.js +0 -1
  985. package/dist/showcase/assets/ellipsis-vertical-CBIvtUVz.js +0 -1
  986. package/dist/showcase/assets/empty-Dp1eCMIl.js +0 -1
  987. package/dist/showcase/assets/empty-item--dZz4VlJ.js +0 -49
  988. package/dist/showcase/assets/empty-state-ZOiE-hWY.js +0 -190
  989. package/dist/showcase/assets/empty-state-dsivN4CA.js +0 -1
  990. package/dist/showcase/assets/enhanced-activities-BpzUxaof.js +0 -357
  991. package/dist/showcase/assets/enhanced-combobox-D71BOuiX.js +0 -1
  992. package/dist/showcase/assets/esm-DT-TXPCJ.js +0 -2
  993. package/dist/showcase/assets/event-calendar-aVpAFZFq.js +0 -138
  994. package/dist/showcase/assets/event-log-DVcvyQ-P.js +0 -330
  995. package/dist/showcase/assets/example-CzbL5xoH.js +0 -1
  996. package/dist/showcase/assets/external-link-BaLE1QE5.js +0 -1
  997. package/dist/showcase/assets/eye-Dq0mLKrs.js +0 -1
  998. package/dist/showcase/assets/feature-announcement-sWKBC2fs.js +0 -34
  999. package/dist/showcase/assets/file-CgW3NvCL.js +0 -1
  1000. package/dist/showcase/assets/file-text-JGaJQ8Wd.js +0 -1
  1001. package/dist/showcase/assets/filter-layout-jfahl8aJ.js +0 -1
  1002. package/dist/showcase/assets/filters-D7zegZVD.js +0 -139
  1003. package/dist/showcase/assets/flag-H6U1f4wd.js +0 -1
  1004. package/dist/showcase/assets/folder-open-sT96wRxJ.js +0 -1
  1005. package/dist/showcase/assets/form-field-CQuSWnj8.js +0 -1
  1006. package/dist/showcase/assets/format-DGPJ5dDq.js +0 -1
  1007. package/dist/showcase/assets/forms-CdDJkAFt.js +0 -915
  1008. package/dist/showcase/assets/funnel-Bh56GDO0.js +0 -1
  1009. package/dist/showcase/assets/generic-CqSABKHr.js +0 -1
  1010. package/dist/showcase/assets/getPseudoElementBounds-Cgw3-xUB.js +0 -1
  1011. package/dist/showcase/assets/gift-ChVS2ovQ.js +0 -1
  1012. package/dist/showcase/assets/giftcard-cards-CuaGn8-J.js +0 -85
  1013. package/dist/showcase/assets/git-branch-86jQZnz4.js +0 -1
  1014. package/dist/showcase/assets/global-search-C92CjOf8.js +0 -215
  1015. package/dist/showcase/assets/global-search-DpVIWyO9.js +0 -1
  1016. package/dist/showcase/assets/globe-DmGzYOlq.js +0 -1
  1017. package/dist/showcase/assets/gradient-card-BUZzXFdZ.js +0 -58
  1018. package/dist/showcase/assets/hash-pc6IIDge.js +0 -1
  1019. package/dist/showcase/assets/header-DbM4l1Z6.js +0 -1
  1020. package/dist/showcase/assets/header-notifications-CaymUd4n.js +0 -1
  1021. package/dist/showcase/assets/heart-DtfPBlXq.js +0 -1
  1022. package/dist/showcase/assets/hooks-JiLlGOJ-.js +0 -220
  1023. package/dist/showcase/assets/house-CzNWewi5.js +0 -1
  1024. package/dist/showcase/assets/icon-badge-G9Fp891n.js +0 -1
  1025. package/dist/showcase/assets/icon-badge-e8N5BSYf.js +0 -37
  1026. package/dist/showcase/assets/image-9IQW7agU.js +0 -1
  1027. package/dist/showcase/assets/inbox-DU4YaGtc.js +0 -1
  1028. package/dist/showcase/assets/index-CuXjv2p6.css +0 -2
  1029. package/dist/showcase/assets/index-DN09-Vts.js +0 -10
  1030. package/dist/showcase/assets/inertValue-kRQb7jwi.js +0 -1
  1031. package/dist/showcase/assets/info-B9AXwUDF.js +0 -1
  1032. package/dist/showcase/assets/inline-stat-BkLIKCvD.js +0 -1
  1033. package/dist/showcase/assets/inline-stat-XqGHDQrK.js +0 -15
  1034. package/dist/showcase/assets/input-BXHv6p9P.js +0 -1
  1035. package/dist/showcase/assets/input-D_T9s_tn.js +0 -1
  1036. package/dist/showcase/assets/input-group-Bs8dmhR6.js +0 -47
  1037. package/dist/showcase/assets/input-group-CqkASeoV.js +0 -1
  1038. package/dist/showcase/assets/inputs-DY7w_ssI.js +0 -155
  1039. package/dist/showcase/assets/installation-Dg3FdGJ1.js +0 -134
  1040. package/dist/showcase/assets/invoice-header-Ba-Y55Ag.js +0 -36
  1041. package/dist/showcase/assets/invoice-items-CIJ8EfPg.js +0 -36
  1042. package/dist/showcase/assets/invoice-mini-BISFvM7J.js +0 -14
  1043. package/dist/showcase/assets/invoice-table-DcyVZTvl.js +0 -30
  1044. package/dist/showcase/assets/isSameDay-av07hGac.js +0 -1
  1045. package/dist/showcase/assets/isToday-GY5FlPL9.js +0 -1
  1046. package/dist/showcase/assets/italic-Du0n76Xk.js +0 -1
  1047. package/dist/showcase/assets/item-D8Lp4R-T.js +0 -139
  1048. package/dist/showcase/assets/item-DTsZnSJG.js +0 -1
  1049. package/dist/showcase/assets/item-Di7HZF5G.js +0 -1
  1050. package/dist/showcase/assets/kanban-Dcminjsa.js +0 -188
  1051. package/dist/showcase/assets/key-round-BBue3xKx.js +0 -1
  1052. package/dist/showcase/assets/label-dkUEHYaz.js +0 -1
  1053. package/dist/showcase/assets/languages-XxP8Uu82.js +0 -1
  1054. package/dist/showcase/assets/layers-Bi_-RuHS.js +0 -1
  1055. package/dist/showcase/assets/layout-app-shell-Cr6Ep0Zz.js +0 -608
  1056. package/dist/showcase/assets/layout-auth-DffIslnp.js +0 -790
  1057. package/dist/showcase/assets/layout-containers-BuSg6L6o.js +0 -101
  1058. package/dist/showcase/assets/layout-header-DAxSUI18.js +0 -203
  1059. package/dist/showcase/assets/layout-page-CVgVJHf1.js +0 -314
  1060. package/dist/showcase/assets/layout-primitives-q8NXbEld.js +0 -34
  1061. package/dist/showcase/assets/layout-sidebar-bB6AJaGs.js +0 -224
  1062. package/dist/showcase/assets/layout-users-DG5u517t.js +0 -117
  1063. package/dist/showcase/assets/layout-workspace-CKMDUM2b.js +0 -191
  1064. package/dist/showcase/assets/lib-CaQvPpSJ.js +0 -1
  1065. package/dist/showcase/assets/list-checks-Dhr60VvL.js +0 -1
  1066. package/dist/showcase/assets/lock-CYVbyBpM.js +0 -1
  1067. package/dist/showcase/assets/lock-keyhole-TUVID45I.js +0 -1
  1068. package/dist/showcase/assets/mail-DfkwmVKE.js +0 -1
  1069. package/dist/showcase/assets/mail-check-CnBhgH_h.js +0 -1
  1070. package/dist/showcase/assets/map-Ck14_o-F.js +0 -124
  1071. package/dist/showcase/assets/map-pin-Di7TUhai.js +0 -1
  1072. package/dist/showcase/assets/media-library-CzM_to29.js +0 -699
  1073. package/dist/showcase/assets/mention-inline-suggestions-B1RHUfnH.js +0 -1
  1074. package/dist/showcase/assets/mentions-CdaPXOLl.js +0 -138
  1075. package/dist/showcase/assets/menus-DuqcLdg1.js +0 -171
  1076. package/dist/showcase/assets/message-square-DuW3PrFI.js +0 -1
  1077. package/dist/showcase/assets/metadata-list-CCRGSPaS.js +0 -286
  1078. package/dist/showcase/assets/metadata-list-Drvz5mwy.js +0 -1
  1079. package/dist/showcase/assets/metric-BSaXa3Z_.js +0 -1
  1080. package/dist/showcase/assets/metric-bar-CM1Rmk8y.js +0 -1
  1081. package/dist/showcase/assets/metric-grid-BBGxdYNJ.js +0 -1
  1082. package/dist/showcase/assets/metric-trend-chip-C_LrbPyT.js +0 -1
  1083. package/dist/showcase/assets/metrics-analytics-bar-ByvVltQV.js +0 -44
  1084. package/dist/showcase/assets/metrics-analytics-cards-CNGiVG1A.js +0 -50
  1085. package/dist/showcase/assets/metrics-comparison-BLUvtt5N.js +0 -76
  1086. package/dist/showcase/assets/metrics-heatmap-CZWhn4_i.js +0 -27
  1087. package/dist/showcase/assets/metrics-inline-badge-CcPm2_ON.js +0 -17
  1088. package/dist/showcase/assets/metrics-kpi-row-CitG5Aea.js +0 -31
  1089. package/dist/showcase/assets/metrics-micro-grid-CAsplRVI.js +0 -42
  1090. package/dist/showcase/assets/metrics-overview-DSRwW-3j.js +0 -192
  1091. package/dist/showcase/assets/metrics-stat-cards-BTdSpUV_.js +0 -54
  1092. package/dist/showcase/assets/minus-BaXg6nPb.js +0 -1
  1093. package/dist/showcase/assets/money-display-HegN6NVU.js +0 -1
  1094. package/dist/showcase/assets/month-year-picker-DGSalGea.js +0 -1
  1095. package/dist/showcase/assets/navigation-B9kcgNmJ.js +0 -90
  1096. package/dist/showcase/assets/navigation-D4OJbw4T.js +0 -231
  1097. package/dist/showcase/assets/navigation-extras-xm_wzPZr.js +0 -43
  1098. package/dist/showcase/assets/onboarding-checklist-CWuCJKDd.js +0 -119
  1099. package/dist/showcase/assets/overflow-tab-bar-Dq-I4MUu.js +0 -1
  1100. package/dist/showcase/assets/overlays-BHf9SZOh.js +0 -159
  1101. package/dist/showcase/assets/overlays-DziL3nVU.js +0 -408
  1102. package/dist/showcase/assets/overview-Cc69up8i.js +0 -184
  1103. package/dist/showcase/assets/package-Bc-NuFnd.js +0 -1
  1104. package/dist/showcase/assets/package-check-5LQwCfGh.js +0 -1
  1105. package/dist/showcase/assets/page-B2o5HSfY.js +0 -1
  1106. package/dist/showcase/assets/page-action-button-CfS6vsyC.js +0 -1
  1107. package/dist/showcase/assets/page-header-W6quU5pO.js +0 -1
  1108. package/dist/showcase/assets/pagination-Bfs7Zszm.js +0 -1
  1109. package/dist/showcase/assets/pagination-DHs104ji.js +0 -42
  1110. package/dist/showcase/assets/paperclip-CXeiMywc.js +0 -1
  1111. package/dist/showcase/assets/password-input-C61t743N.js +0 -1
  1112. package/dist/showcase/assets/pencil-C1TXsTfP.js +0 -1
  1113. package/dist/showcase/assets/phone-Bh-68R_E.js +0 -1
  1114. package/dist/showcase/assets/plus-CKBaO4jG.js +0 -1
  1115. package/dist/showcase/assets/popover-C_7qLizt.js +0 -1
  1116. package/dist/showcase/assets/popover-hgtHqd0h.js +0 -1
  1117. package/dist/showcase/assets/popover-menu-DmYSBsji.js +0 -1
  1118. package/dist/showcase/assets/products-DSvcQz-Q.js +0 -423
  1119. package/dist/showcase/assets/progress-Chxeo8g4.js +0 -18
  1120. package/dist/showcase/assets/progress-fYPoCyf-.js +0 -1
  1121. package/dist/showcase/assets/props-table-izArO1Pv.js +0 -1
  1122. package/dist/showcase/assets/props.generated-cO7HmIpY.json +0 -41578
  1123. package/dist/showcase/assets/quote-wvfNu9t7.js +0 -1
  1124. package/dist/showcase/assets/receipt-BlXBX4ZJ.js +0 -1
  1125. package/dist/showcase/assets/receipt-text-stSsUTV5.js +0 -1
  1126. package/dist/showcase/assets/refinement-guide-Bri81J9N.js +0 -189
  1127. package/dist/showcase/assets/refresh-cw-tZzNDEGO.js +0 -1
  1128. package/dist/showcase/assets/resolveValueLabel-Cti97iX8.js +0 -1
  1129. package/dist/showcase/assets/resource-B727CTVi.js +0 -139
  1130. package/dist/showcase/assets/resource-DytT_quB.js +0 -1
  1131. package/dist/showcase/assets/resource-selector-card-wNuW382N.js +0 -43
  1132. package/dist/showcase/assets/rich-text-editor-DdK5YD0y.js +0 -143
  1133. package/dist/showcase/assets/rich-text-editor-DqY2H6e0.js +0 -124
  1134. package/dist/showcase/assets/rotate-ccw-Bp4aMDrI.js +0 -1
  1135. package/dist/showcase/assets/route-D2owHMka.js +0 -1
  1136. package/dist/showcase/assets/save-DjC_iy0t.js +0 -1
  1137. package/dist/showcase/assets/schema-form-CQtLwGC1.js +0 -327
  1138. package/dist/showcase/assets/scroll-area-BQlHFfkG.js +0 -32
  1139. package/dist/showcase/assets/scroll-area-D3Rrt85s.js +0 -1
  1140. package/dist/showcase/assets/section-DYfGx1Q5.js +0 -1
  1141. package/dist/showcase/assets/select-BCJGhRpc.js +0 -1
  1142. package/dist/showcase/assets/select-Cf5EigqA.js +0 -1
  1143. package/dist/showcase/assets/send-86Vr11Ys.js +0 -1
  1144. package/dist/showcase/assets/separator-BHjNVb5O.js +0 -1
  1145. package/dist/showcase/assets/separator-BejjbTbO.js +0 -28
  1146. package/dist/showcase/assets/settings-2-DNNVOsjP.js +0 -1
  1147. package/dist/showcase/assets/settings-Bsi5BLx5.js +0 -1
  1148. package/dist/showcase/assets/sheet-BazhMvfb.js +0 -1
  1149. package/dist/showcase/assets/shield-alert-D-Jbocfj.js +0 -1
  1150. package/dist/showcase/assets/shield-check-D9eDVcJ1.js +0 -1
  1151. package/dist/showcase/assets/shield-xI2P9G5d.js +0 -1
  1152. package/dist/showcase/assets/shopping-bag-DOGs3sez.js +0 -1
  1153. package/dist/showcase/assets/showcase-s-5CuLAJ.js +0 -132
  1154. package/dist/showcase/assets/sidebar-Rz44gw_a.js +0 -1
  1155. package/dist/showcase/assets/sidebar.context-Bbcdo3o8.js +0 -1
  1156. package/dist/showcase/assets/skeleton-CY8ieqD-.js +0 -1
  1157. package/dist/showcase/assets/skeleton-CgoH6CPT.js +0 -29
  1158. package/dist/showcase/assets/slider-okW2bgkG.js +0 -1
  1159. package/dist/showcase/assets/smart-card-CVwEPwfI.js +0 -1
  1160. package/dist/showcase/assets/sonner-CixCpxj2.js +0 -22
  1161. package/dist/showcase/assets/sortable.esm-DKcVtGTb.js +0 -5
  1162. package/dist/showcase/assets/sparkles-DDEVdtmy.js +0 -1
  1163. package/dist/showcase/assets/spinner-BVGPoAEv.js +0 -49
  1164. package/dist/showcase/assets/spinner-FURXSp1Q.js +0 -1
  1165. package/dist/showcase/assets/spinner-u6TwJ3Ii.js +0 -30
  1166. package/dist/showcase/assets/square-pen-DVXVT0cQ.js +0 -1
  1167. package/dist/showcase/assets/stacked-avatars-CKOQhAx4.js +0 -1
  1168. package/dist/showcase/assets/star-B3ZPfxuz.js +0 -1
  1169. package/dist/showcase/assets/startOfDay-LwMBRUSU.js +0 -1
  1170. package/dist/showcase/assets/styles-UIKkojWJ.js +0 -1
  1171. package/dist/showcase/assets/suggestions-DbrzKjbi.js +0 -126
  1172. package/dist/showcase/assets/switch-CAw84QpS.js +0 -1
  1173. package/dist/showcase/assets/switch-Cjt2MCgr.js +0 -1
  1174. package/dist/showcase/assets/sync-DWbqfpBH.js +0 -124
  1175. package/dist/showcase/assets/table-Bx5lo5FP.js +0 -686
  1176. package/dist/showcase/assets/table-C2RQulDb.js +0 -1
  1177. package/dist/showcase/assets/table-actions-Clo3WEfM.js +0 -1
  1178. package/dist/showcase/assets/tabs-DRtlcg6b.js +0 -19
  1179. package/dist/showcase/assets/tabs-wMPtvuT5.js +0 -1
  1180. package/dist/showcase/assets/tags-input-D5FpWOWF.js +0 -1
  1181. package/dist/showcase/assets/text-button-Cwh6D6qG.js +0 -1
  1182. package/dist/showcase/assets/text-link-DI1uXdGl.js +0 -1
  1183. package/dist/showcase/assets/textarea-CGbt4gBZ.js +0 -1
  1184. package/dist/showcase/assets/textarea-JPgPLhyk.js +0 -1
  1185. package/dist/showcase/assets/timelines-CkHN08n6.js +0 -200
  1186. package/dist/showcase/assets/toggle-group-BpXkR9uD.js +0 -1
  1187. package/dist/showcase/assets/toggles-DK9iCbki.js +0 -71
  1188. package/dist/showcase/assets/toggles-group-DwzRj0f7.js +0 -32
  1189. package/dist/showcase/assets/tooltip-PtP1suag.js +0 -31
  1190. package/dist/showcase/assets/trash-2-BE4XUI2g.js +0 -1
  1191. package/dist/showcase/assets/trending-up-ByxOf-nR.js +0 -1
  1192. package/dist/showcase/assets/truck-RTOdcRV0.js +0 -1
  1193. package/dist/showcase/assets/typography-BKLgHDxU.js +0 -223
  1194. package/dist/showcase/assets/ui-badge-DIh_3Wmo.js +0 -28
  1195. package/dist/showcase/assets/ui-card-BOdHnZwv.js +0 -30
  1196. package/dist/showcase/assets/ui-table-BW4FCClv.js +0 -42
  1197. package/dist/showcase/assets/upload-tray-CV9_5Lpa.js +0 -138
  1198. package/dist/showcase/assets/use-layout-link-MyeE-CDj.js +0 -1
  1199. package/dist/showcase/assets/useAnchoredPopupScrollLock-DSaog2w5.js +0 -1
  1200. package/dist/showcase/assets/useAriaLabelledBy-DSpPzrxG.js +0 -1
  1201. package/dist/showcase/assets/useCollapsiblePanel-DsuJtES0.js +0 -1
  1202. package/dist/showcase/assets/useCompositeItem-lbAimLrR.js +0 -1
  1203. package/dist/showcase/assets/useCompositeListItem-pRXWGj4x.js +0 -1
  1204. package/dist/showcase/assets/useLabelableId-IRM1zB5m.js +0 -1
  1205. package/dist/showcase/assets/useOpenInteractionType-CHDcTj9f.js +0 -1
  1206. package/dist/showcase/assets/useRender-Ogz5zjeJ.js +0 -1
  1207. package/dist/showcase/assets/useTriggerFocusGuards-Du6btFNB.js +0 -1
  1208. package/dist/showcase/assets/useValueChanged-CXpsR4fl.js +0 -1
  1209. package/dist/showcase/assets/user-plus-CLj8AZe1.js +0 -1
  1210. package/dist/showcase/assets/user-ymdT26JK.js +0 -1
  1211. package/dist/showcase/assets/users-BGba2Xwv.js +0 -1
  1212. package/dist/showcase/assets/vendor-profile-Ci6c9mFC.js +0 -37
  1213. package/dist/showcase/assets/video-BcKa36-p.js +0 -1
  1214. package/dist/showcase/assets/wrench-Cj2hRrih.js +0 -1
  1215. package/dist/showcase/assets/x-iCqjAC2D.js +0 -1
  1216. package/dist/showcase/assets/zap-H4bc_OhS.js +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"header-CKqQF4_r.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 text-xs\"\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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"}
@@ -1,95 +0,0 @@
1
- import { cn as e } from "../lib/utils.js";
2
- import { t } from "./badge-B4oBB5BJ.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-DcCkbP1F.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks-DcCkbP1F.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"}
@@ -1,2 +0,0 @@
1
- const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/utils.cjs"),n=require("./badge-DvUA9Pr2.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-RkLytuGj.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hooks-RkLytuGj.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"}
@@ -1,182 +0,0 @@
1
- import { useStrings as e } from "../lib/strings.js";
2
- import { o as t } from "./ui-provider-Dj6OSOZi.js";
3
- import { cn as n } from "../lib/utils.js";
4
- import { s as r } from "./typography-DXvCmE8w.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-DWjJsQSR.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-sm", 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-sm" : "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-sm" : "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-sm" : "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-Cin0qpjj.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-Cin0qpjj.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-sm',\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-sm' : '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-sm' : '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-sm' : '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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"}
@@ -1,2 +0,0 @@
1
- const e=require("./chunk-CMqjfN_6.cjs"),t=require("../lib/strings.cjs"),n=require("./ui-provider-DZWtUXf2.cjs"),r=require("../lib/utils.cjs"),i=require("./typography-pzCKaFOc.cjs"),a=require("./form-sizing-DJus3nK3.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-sm`,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-sm`:`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-sm`:`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-sm`:`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-uuWeiagN.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input-uuWeiagN.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-sm',\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-sm' : '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-sm' : '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-sm' : '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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"}